近期修改
This commit is contained in:
parent
becc60d2ef
commit
53c7099546
@ -203,11 +203,11 @@ public class ProjectOrderController {
|
||||
//材料成本
|
||||
BigDecimal materialCost;
|
||||
materialCost=processBomService.materialCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
||||
projectOrderDO.setCailiaoCost(materialCost.add(outsourcedProcessingFee));
|
||||
//内部工时费
|
||||
BigDecimal internalLaborCost;
|
||||
internalLaborCost=processBomService.internalLaborCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
||||
projectOrderDO.setNeibuCost(internalLaborCost);
|
||||
projectOrderDO.setCailiaoCost(materialCost.add(outsourcedProcessingFee).add(internalLaborCost));
|
||||
//装配工时费
|
||||
BigDecimal assemblyLaborCost;
|
||||
assemblyLaborCost=processBomService.assemblyLaborCost(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
||||
@ -218,7 +218,7 @@ public class ProjectOrderController {
|
||||
yunFeiCost = deliverOrderService.getListYf(projectOrderDO.getId(),projectOrderDO.getProjectSubId());
|
||||
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);
|
||||
}
|
||||
return success(BeanUtils.toBean(pageResult, ProjectOrderCostRespVO.class));
|
||||
|
||||
@ -8,5 +8,6 @@ import java.math.BigDecimal;
|
||||
public class BubbleFeeResult {
|
||||
private Long bomDetailId;
|
||||
private Long procedureId;
|
||||
private Long dispatchDetailId;
|
||||
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.system.dal.dataobject.user.AdminUserDO;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.Date;
|
||||
@ -391,4 +393,6 @@ public interface ProcessDesignMapper extends BaseMapperX<ProcessDesignDO> {
|
||||
System.out.println(query.getSqlSelect()); // 查看实际执行的 SQL
|
||||
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.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.MapKey;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
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);
|
||||
|
||||
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.setTwoDimDate(planSubDO.getBlankDate());
|
||||
planSubDetailDO.setProjectSubId(planSubDO.getProjectSubId());
|
||||
planSubDetailDO.setProjectPlanId(planSubDO.getProjectPlanId());
|
||||
planSubDetailDO.setProjectPlanSubId(planSubDO.getId());
|
||||
planSubDetailDO.setName(planSubDO.getName());
|
||||
planSubDetailDO.setCode(planSubDO.getProjectCode());
|
||||
planSubDetailDO.setCustomerBrief(planSubDO.getCustomerName());
|
||||
planSubDetailDO.setPlanNo(planSubDO.getPlanNo());
|
||||
planSubDetailDO.setProjectName(planSubDO.getProjectNameSim());
|
||||
planSubDetailDO.setProjectNameSim(planSubDO.getProjectNameSim());
|
||||
|
||||
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.processbom.ProcessBomDetailMapper;
|
||||
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.ProjectOrderSubMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper;
|
||||
@ -144,6 +145,8 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
|
||||
private PlanSubDetailMapper planSubDetailMapper;
|
||||
@Resource
|
||||
private ProcessBomDetailMapper processBomDetailMapper;
|
||||
@Resource
|
||||
private ProcessDesignMapper ProcessDesignMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -226,6 +229,25 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
|
||||
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.eq(ProcessBomDO::getProjectSubId,id);
|
||||
processBomMapper.delete(lambdaUpdateWrapper);
|
||||
@ -326,6 +348,8 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
|
||||
planSubMapper.deleteOrderId( id);
|
||||
//计划明细子表
|
||||
planSubDetailMapper.deleteOrderId( id);
|
||||
//工艺设计表
|
||||
ProcessDesignMapper.deleteOrderId(id);
|
||||
//生产任务单表
|
||||
LambdaQueryWrapper<PlanTaskDO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PlanTaskDO::getProjectId, id);
|
||||
|
||||
@ -896,7 +896,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
||||
.setStartTime(now);
|
||||
if(operateReqVO.getOwnerId()!=null){
|
||||
lastReportDO.setOwner(operateReqVO.getOwnerId());
|
||||
taskDispatchDetailDO.setOwner(operateReqVO.getOwnerId());
|
||||
// taskDispatchDetailDO.setOwner(operateReqVO.getOwnerId());
|
||||
}else{
|
||||
lastReportDO.setOwner(taskDispatchDetailDO.getOwner());
|
||||
}
|
||||
@ -1422,6 +1422,20 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
||||
}
|
||||
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)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return taskDispatchDetailMapper.batchInternalLaborCost(bomDetailIds);
|
||||
List<BubbleFeeResult> batchResults=taskDispatchDetailMapper.batchInternalLaborCost(bomDetailIds);
|
||||
return convertToMap(batchResults);
|
||||
}
|
||||
|
||||
private Map<Long, BigDecimal> getProcessInspectionBatch(List<TaskDispatchDetailDO> details) {
|
||||
@ -1488,8 +1502,8 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
||||
.map(TaskDispatchDetailDO::getId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return taskDispatchDetailMapper.batchProcessInspection(bomDetailIds);
|
||||
List<BubbleFeeResult> batchResults=taskDispatchDetailMapper.batchProcessInspection(bomDetailIds);
|
||||
return convertToMap(batchResults);
|
||||
}
|
||||
|
||||
// 辅助方法
|
||||
|
||||
@ -232,8 +232,8 @@
|
||||
) AS subquery
|
||||
GROUP BY subquery.bomDetailId, subquery.procedureId;
|
||||
</select>
|
||||
<select id="batchInternalLaborCost" resultType="java.util.Map">
|
||||
SELECT t1.id,sum(COALESCE(r.work_time, 0) * p.grade_cost) cost
|
||||
<select id="batchInternalLaborCost" resultType="com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.BubbleFeeResult">
|
||||
SELECT t1.id as dispatchDetailId,sum(COALESCE(r.work_time, 0) * p.grade_cost) cost
|
||||
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_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=",">
|
||||
#{bomDetailId}
|
||||
</foreach>
|
||||
group by t1.id
|
||||
</select>
|
||||
<select id="batchProcessInspection" resultType="java.util.Map">
|
||||
SELECT g.dispatch_detail_id,sum(COALESCE(t.work_time, 0) * p.grade_cost) cost
|
||||
<select id="batchProcessInspection" resultType="com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.BubbleFeeResult">
|
||||
SELECT g.dispatch_detail_id as dispatchDetailId,sum(COALESCE(t.work_time, 0) * p.grade_cost) cost
|
||||
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 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=",">
|
||||
#{bomDetailId}
|
||||
</foreach>
|
||||
group by g.dispatch_detail_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -544,7 +544,7 @@ const handleAddConfirm = () => {
|
||||
return
|
||||
}
|
||||
selectedAddRow.value[0].twoDimDate = null
|
||||
selectedAddRow.value[0].projectPlanSubId = null
|
||||
// selectedAddRow.value[0].projectPlanSubId = null
|
||||
selectedAddRow.value[0].startTwoDimDate = null
|
||||
selectedAddRow.value[0].twoDimOwner = null
|
||||
selectedAddRow.value[0].subType = null
|
||||
|
||||
@ -85,7 +85,7 @@
|
||||
|
||||
<!-- 列表 -->
|
||||
<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="生成日期"-->
|
||||
@ -267,7 +267,7 @@ const getDictLabel = (dictType, value) => {
|
||||
return dict?.label || value // 找不到时显示原始值
|
||||
}
|
||||
const tableRowClassName = ({ row }) => {
|
||||
if (row.paymentDate!=null){
|
||||
if (row.paymentDate!=null&&row.cgTypee!=1){
|
||||
var endTime = new Date(row.paymentDate);
|
||||
|
||||
// 获取当前时间的 Date 对象
|
||||
|
||||
Loading…
Reference in New Issue
Block a user