近期修改
This commit is contained in:
parent
becc60d2ef
commit
53c7099546
@ -203,11 +203,11 @@ public class ProjectOrderController {
|
|||||||
//材料成本
|
//材料成本
|
||||||
BigDecimal materialCost;
|
BigDecimal materialCost;
|
||||||
materialCost=processBomService.materialCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
materialCost=processBomService.materialCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
||||||
projectOrderDO.setCailiaoCost(materialCost.add(outsourcedProcessingFee));
|
|
||||||
//内部工时费
|
//内部工时费
|
||||||
BigDecimal internalLaborCost;
|
BigDecimal internalLaborCost;
|
||||||
internalLaborCost=processBomService.internalLaborCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
internalLaborCost=processBomService.internalLaborCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
||||||
projectOrderDO.setNeibuCost(internalLaborCost);
|
projectOrderDO.setNeibuCost(internalLaborCost);
|
||||||
|
projectOrderDO.setCailiaoCost(materialCost.add(outsourcedProcessingFee).add(internalLaborCost));
|
||||||
//装配工时费
|
//装配工时费
|
||||||
BigDecimal assemblyLaborCost;
|
BigDecimal assemblyLaborCost;
|
||||||
assemblyLaborCost=processBomService.assemblyLaborCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
assemblyLaborCost=processBomService.assemblyLaborCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
||||||
@ -218,7 +218,7 @@ public class ProjectOrderController {
|
|||||||
yunFeiCost = deliverOrderService.getListYf(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
yunFeiCost = deliverOrderService.getListYf(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
||||||
projectOrderDO.setYunFeiCost(yunFeiCost);
|
projectOrderDO.setYunFeiCost(yunFeiCost);
|
||||||
|
|
||||||
BigDecimal sum = projectOrderDO.getYunFeiCost().add(projectOrderDO.getCailiaoCost()).add(projectOrderDO.getBiaoZhunJianCost()).add(projectOrderDO.getNeibuCost()).add(projectOrderDO.getZpCost());
|
BigDecimal sum = projectOrderDO.getYunFeiCost().add(projectOrderDO.getCailiaoCost()).add(projectOrderDO.getBiaoZhunJianCost()).add(projectOrderDO.getZpCost());
|
||||||
projectOrderDO.setSumCost(sum);
|
projectOrderDO.setSumCost(sum);
|
||||||
}
|
}
|
||||||
return success(BeanUtils.toBean(pageResult, ProjectOrderCostRespVO.class));
|
return success(BeanUtils.toBean(pageResult, ProjectOrderCostRespVO.class));
|
||||||
|
|||||||
@ -8,5 +8,6 @@ import java.math.BigDecimal;
|
|||||||
public class BubbleFeeResult {
|
public class BubbleFeeResult {
|
||||||
private Long bomDetailId;
|
private Long bomDetailId;
|
||||||
private Long procedureId;
|
private Long procedureId;
|
||||||
|
private Long dispatchDetailId;
|
||||||
private BigDecimal cost;
|
private BigDecimal cost;
|
||||||
}
|
}
|
||||||
@ -15,7 +15,9 @@ import com.chanko.yunxi.mes.module.heli.enums.ProcessDesignTypeEnum;
|
|||||||
import com.chanko.yunxi.mes.module.heli.enums.ProjectPlanStatusEnum;
|
import com.chanko.yunxi.mes.module.heli.enums.ProjectPlanStatusEnum;
|
||||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
|
import org.apache.ibatis.annotations.Delete;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -391,4 +393,6 @@ public interface ProcessDesignMapper extends BaseMapperX<ProcessDesignDO> {
|
|||||||
System.out.println(query.getSqlSelect()); // 查看实际执行的 SQL
|
System.out.println(query.getSqlSelect()); // 查看实际执行的 SQL
|
||||||
return selectPage(reqVO, query);
|
return selectPage(reqVO, query);
|
||||||
}
|
}
|
||||||
|
@Delete("delete from pro_process_design where project_id = #{id}")
|
||||||
|
void deleteOrderId(@Param("id") Long id);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,6 +37,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.plansub.PlanSubMapper;
|
|||||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import org.apache.ibatis.annotations.Delete;
|
import org.apache.ibatis.annotations.Delete;
|
||||||
|
import org.apache.ibatis.annotations.MapKey;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@ -902,7 +903,7 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
|||||||
|
|
||||||
List<BubbleFeeResult> batchMaterialCosts(@Param("bomDetailIds")List<Long> bomDetailIds,@Param("procedureIds") List<Long> procedureIds);
|
List<BubbleFeeResult> batchMaterialCosts(@Param("bomDetailIds")List<Long> bomDetailIds,@Param("procedureIds") List<Long> procedureIds);
|
||||||
|
|
||||||
Map<Long, BigDecimal> batchInternalLaborCost(@Param("bomDetailIds")List<Long> bomDetailIds);
|
List<BubbleFeeResult> batchInternalLaborCost(@Param("bomDetailIds")List<Long> bomDetailIds);
|
||||||
|
|
||||||
Map<Long, BigDecimal> batchProcessInspection(@Param("bomDetailIds")List<Long> bomDetailIds);
|
List<BubbleFeeResult> batchProcessInspection(@Param("bomDetailIds")List<Long> bomDetailIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -211,13 +211,14 @@ public class PlanSubDetailServiceImpl implements PlanSubDetailService {
|
|||||||
planSubDetailDO.setProjectSubCode(planSubDO.getProjectSubCode());
|
planSubDetailDO.setProjectSubCode(planSubDO.getProjectSubCode());
|
||||||
planSubDetailDO.setTwoDimDate(planSubDO.getBlankDate());
|
planSubDetailDO.setTwoDimDate(planSubDO.getBlankDate());
|
||||||
planSubDetailDO.setProjectSubId(planSubDO.getProjectSubId());
|
planSubDetailDO.setProjectSubId(planSubDO.getProjectSubId());
|
||||||
planSubDetailDO.setProjectPlanId(planSubDO.getProjectPlanId());
|
planSubDetailDO.setProjectPlanSubId(planSubDO.getId());
|
||||||
planSubDetailDO.setName(planSubDO.getName());
|
planSubDetailDO.setName(planSubDO.getName());
|
||||||
planSubDetailDO.setCode(planSubDO.getProjectCode());
|
planSubDetailDO.setCode(planSubDO.getProjectCode());
|
||||||
planSubDetailDO.setCustomerBrief(planSubDO.getCustomerName());
|
planSubDetailDO.setCustomerBrief(planSubDO.getCustomerName());
|
||||||
planSubDetailDO.setPlanNo(planSubDO.getPlanNo());
|
planSubDetailDO.setPlanNo(planSubDO.getPlanNo());
|
||||||
planSubDetailDO.setProjectName(planSubDO.getProjectNameSim());
|
planSubDetailDO.setProjectName(planSubDO.getProjectNameSim());
|
||||||
planSubDetailDO.setProjectNameSim(planSubDO.getProjectNameSim());
|
planSubDetailDO.setProjectNameSim(planSubDO.getProjectNameSim());
|
||||||
|
|
||||||
list.add(planSubDetailDO);
|
list.add(planSubDetailDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.plantask.PlanTaskMapper;
|
|||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.plantaskbom.PlanTaskBomMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.plantaskbom.PlanTaskBomMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper;
|
||||||
@ -144,6 +145,8 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
|
|||||||
private PlanSubDetailMapper planSubDetailMapper;
|
private PlanSubDetailMapper planSubDetailMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private ProcessBomDetailMapper processBomDetailMapper;
|
private ProcessBomDetailMapper processBomDetailMapper;
|
||||||
|
@Resource
|
||||||
|
private ProcessDesignMapper ProcessDesignMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@ -226,6 +229,25 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
|
|||||||
return CommonResult.error(400,"子项目已生成BOM明细,不允许删除");
|
return CommonResult.error(400,"子项目已生成BOM明细,不允许删除");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
LambdaQueryWrapper<PlanSubDetailDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.eq(PlanSubDetailDO::getProjectSubId,id);
|
||||||
|
lambdaQueryWrapper.orderByAsc(PlanSubDetailDO::getCreateTime);
|
||||||
|
PlanSubDetailDO planSubDetailDO = planSubDetailMapper.selectOne(lambdaQueryWrapper);
|
||||||
|
if (ObjectUtil.isNotEmpty(planSubDetailDO)){
|
||||||
|
String type="";
|
||||||
|
switch (planSubDetailDO.getSubType()){
|
||||||
|
case "BLUEPRINT_WORKBLANK":
|
||||||
|
type="毛坯";
|
||||||
|
break;
|
||||||
|
case "BLUEPRINT_2D":
|
||||||
|
type="2D";
|
||||||
|
break;
|
||||||
|
case "BLUEPRINT_3D":
|
||||||
|
type="3D";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return CommonResult.error(400,"该子项目已做"+type+"设计,请先前往插活处删除");
|
||||||
|
}
|
||||||
LambdaUpdateWrapper<ProcessBomDO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<ProcessBomDO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
lambdaUpdateWrapper.eq(ProcessBomDO::getProjectSubId,id);
|
lambdaUpdateWrapper.eq(ProcessBomDO::getProjectSubId,id);
|
||||||
processBomMapper.delete(lambdaUpdateWrapper);
|
processBomMapper.delete(lambdaUpdateWrapper);
|
||||||
@ -326,6 +348,8 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
|
|||||||
planSubMapper.deleteOrderId( id);
|
planSubMapper.deleteOrderId( id);
|
||||||
//计划明细子表
|
//计划明细子表
|
||||||
planSubDetailMapper.deleteOrderId( id);
|
planSubDetailMapper.deleteOrderId( id);
|
||||||
|
//工艺设计表
|
||||||
|
ProcessDesignMapper.deleteOrderId(id);
|
||||||
//生产任务单表
|
//生产任务单表
|
||||||
LambdaQueryWrapper<PlanTaskDO> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PlanTaskDO> wrapper = new LambdaQueryWrapper<>();
|
||||||
wrapper.eq(PlanTaskDO::getProjectId, id);
|
wrapper.eq(PlanTaskDO::getProjectId, id);
|
||||||
|
|||||||
@ -896,7 +896,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
.setStartTime(now);
|
.setStartTime(now);
|
||||||
if(operateReqVO.getOwnerId()!=null){
|
if(operateReqVO.getOwnerId()!=null){
|
||||||
lastReportDO.setOwner(operateReqVO.getOwnerId());
|
lastReportDO.setOwner(operateReqVO.getOwnerId());
|
||||||
taskDispatchDetailDO.setOwner(operateReqVO.getOwnerId());
|
// taskDispatchDetailDO.setOwner(operateReqVO.getOwnerId());
|
||||||
}else{
|
}else{
|
||||||
lastReportDO.setOwner(taskDispatchDetailDO.getOwner());
|
lastReportDO.setOwner(taskDispatchDetailDO.getOwner());
|
||||||
}
|
}
|
||||||
@ -1422,6 +1422,20 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
}
|
}
|
||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 转换查询结果为Map
|
||||||
|
*/
|
||||||
|
private Map<Long, BigDecimal> convertToMap(List<BubbleFeeResult> results) {
|
||||||
|
Map<Long, BigDecimal> resultMap = new HashMap<>();
|
||||||
|
if (ObjectUtil.isNotEmpty(results)){
|
||||||
|
for (BubbleFeeResult result : results) {
|
||||||
|
if (ObjectUtil.isNotEmpty(result)){
|
||||||
|
resultMap.put(result.getDispatchDetailId(), ObjectUtil.isEmpty(result.getCost()) ? BigDecimal.ZERO : result.getCost());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 收集所有需要查询的键
|
* 收集所有需要查询的键
|
||||||
*/
|
*/
|
||||||
@ -1475,8 +1489,8 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
.map(TaskDispatchDetailDO::getId)
|
.map(TaskDispatchDetailDO::getId)
|
||||||
.distinct()
|
.distinct()
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
List<BubbleFeeResult> batchResults=taskDispatchDetailMapper.batchInternalLaborCost(bomDetailIds);
|
||||||
return taskDispatchDetailMapper.batchInternalLaborCost(bomDetailIds);
|
return convertToMap(batchResults);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<Long, BigDecimal> getProcessInspectionBatch(List<TaskDispatchDetailDO> details) {
|
private Map<Long, BigDecimal> getProcessInspectionBatch(List<TaskDispatchDetailDO> details) {
|
||||||
@ -1488,8 +1502,8 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
.map(TaskDispatchDetailDO::getId)
|
.map(TaskDispatchDetailDO::getId)
|
||||||
.distinct()
|
.distinct()
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
List<BubbleFeeResult> batchResults=taskDispatchDetailMapper.batchProcessInspection(bomDetailIds);
|
||||||
return taskDispatchDetailMapper.batchProcessInspection(bomDetailIds);
|
return convertToMap(batchResults);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 辅助方法
|
// 辅助方法
|
||||||
|
|||||||
@ -232,8 +232,8 @@
|
|||||||
) AS subquery
|
) AS subquery
|
||||||
GROUP BY subquery.bomDetailId, subquery.procedureId;
|
GROUP BY subquery.bomDetailId, subquery.procedureId;
|
||||||
</select>
|
</select>
|
||||||
<select id="batchInternalLaborCost" resultType="java.util.Map">
|
<select id="batchInternalLaborCost" resultType="com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.BubbleFeeResult">
|
||||||
SELECT t1.id,sum(COALESCE(r.work_time, 0) * p.grade_cost) cost
|
SELECT t1.id as dispatchDetailId,sum(COALESCE(r.work_time, 0) * p.grade_cost) cost
|
||||||
from pro_task_dispatch t
|
from pro_task_dispatch t
|
||||||
left join pro_task_dispatch_detail t1 on t.id=t1.dispatch_id and t1.deleted=0 and t1.tenant_id=2
|
left join pro_task_dispatch_detail t1 on t.id=t1.dispatch_id and t1.deleted=0 and t1.tenant_id=2
|
||||||
left join pro_task_report r on r.dispatch_detail_id=t1.id and r.deleted=0 and r.tenant_id=2
|
left join pro_task_report r on r.dispatch_detail_id=t1.id and r.deleted=0 and r.tenant_id=2
|
||||||
@ -243,9 +243,10 @@
|
|||||||
<foreach collection="bomDetailIds" item="bomDetailId" open="(" close=")" separator=",">
|
<foreach collection="bomDetailIds" item="bomDetailId" open="(" close=")" separator=",">
|
||||||
#{bomDetailId}
|
#{bomDetailId}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
group by t1.id
|
||||||
</select>
|
</select>
|
||||||
<select id="batchProcessInspection" resultType="java.util.Map">
|
<select id="batchProcessInspection" resultType="com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.BubbleFeeResult">
|
||||||
SELECT g.dispatch_detail_id,sum(COALESCE(t.work_time, 0) * p.grade_cost) cost
|
SELECT g.dispatch_detail_id as dispatchDetailId,sum(COALESCE(t.work_time, 0) * p.grade_cost) cost
|
||||||
FROM quality_pg_master_line g
|
FROM quality_pg_master_line g
|
||||||
LEFT JOIN quality_bg_master_line t ON t.zj_mx_id = g.id and t.deleted = 0 and t.tenant_id = 2
|
LEFT JOIN quality_bg_master_line t ON t.zj_mx_id = g.id and t.deleted = 0 and t.tenant_id = 2
|
||||||
left join system_user_post u on u.user_id=t.bg_user and u.deleted=0 and u.tenant_id=2
|
left join system_user_post u on u.user_id=t.bg_user and u.deleted=0 and u.tenant_id=2
|
||||||
@ -254,5 +255,6 @@
|
|||||||
<foreach collection="bomDetailIds" item="bomDetailId" open="(" close=")" separator=",">
|
<foreach collection="bomDetailIds" item="bomDetailId" open="(" close=")" separator=",">
|
||||||
#{bomDetailId}
|
#{bomDetailId}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
group by g.dispatch_detail_id
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -544,7 +544,7 @@ const handleAddConfirm = () => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
selectedAddRow.value[0].twoDimDate = null
|
selectedAddRow.value[0].twoDimDate = null
|
||||||
selectedAddRow.value[0].projectPlanSubId = null
|
// selectedAddRow.value[0].projectPlanSubId = null
|
||||||
selectedAddRow.value[0].startTwoDimDate = null
|
selectedAddRow.value[0].startTwoDimDate = null
|
||||||
selectedAddRow.value[0].twoDimOwner = null
|
selectedAddRow.value[0].twoDimOwner = null
|
||||||
selectedAddRow.value[0].subType = null
|
selectedAddRow.value[0].subType = null
|
||||||
|
|||||||
@ -85,7 +85,7 @@
|
|||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" @row-click="rowClick" :row-class-name="tableRowClassName" highlight-current-row>
|
<el-table v-loading="loading" :data="list" :show-overflow-tooltip="true" @row-click="rowClick" :row-class-name="tableRowClassName" highlight-current-row>
|
||||||
<el-table-column label="项目名称" align="center" prop="projectName" />
|
<el-table-column label="项目名称" align="center" prop="projectName" />
|
||||||
<!-- <el-table-column-->
|
<!-- <el-table-column-->
|
||||||
<!-- label="生成日期"-->
|
<!-- label="生成日期"-->
|
||||||
@ -267,7 +267,7 @@ const getDictLabel = (dictType, value) => {
|
|||||||
return dict?.label || value // 找不到时显示原始值
|
return dict?.label || value // 找不到时显示原始值
|
||||||
}
|
}
|
||||||
const tableRowClassName = ({ row }) => {
|
const tableRowClassName = ({ row }) => {
|
||||||
if (row.paymentDate!=null){
|
if (row.paymentDate!=null&&row.cgTypee!=1){
|
||||||
var endTime = new Date(row.paymentDate);
|
var endTime = new Date(row.paymentDate);
|
||||||
|
|
||||||
// 获取当前时间的 Date 对象
|
// 获取当前时间的 Date 对象
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user