|
@@ -2,11 +2,13 @@ package com.fjhx.mes.service.production.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.common.utils.Assert;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
|
|
@@ -86,6 +88,8 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
|
|
|
private ProductionProcessesService productionProcessesService;
|
|
|
@Autowired
|
|
|
private ProductionTaskDetailRecordService productionTaskDetailRecordService;
|
|
|
+ @Autowired
|
|
|
+ private ProductionTaskProcessesDetailService productionTaskProcessesDetailService;
|
|
|
|
|
|
@Override
|
|
|
public Page<ProductionTaskVo> getPage(ProductionTaskSelectDto dto) {
|
|
@@ -160,7 +164,7 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
|
|
|
bomDetailList = BeanUtil.copyToList(workOrderBomList, BomDetail.class);
|
|
|
} else {
|
|
|
//查询BOM信息
|
|
|
- BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion,1));
|
|
|
+ BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion, 1));
|
|
|
if (ObjectUtil.isEmpty(bomInfo)) {
|
|
|
throw new ServiceException("查询不到产品的BOM信息");
|
|
|
}
|
|
@@ -235,8 +239,8 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
|
|
|
}
|
|
|
productionProcessesId = workOrderProductionProcesses.get(0).getId();
|
|
|
//赋值下一工序id
|
|
|
- if(workOrderProductionProcesses.size()>1){
|
|
|
- nextProductionProcessesId = workOrderProductionProcesses.get(1).getId();
|
|
|
+ if (workOrderProductionProcesses.size() > 1) {
|
|
|
+ nextProductionProcessesId = workOrderProductionProcesses.get(1).getId();
|
|
|
}
|
|
|
} else {
|
|
|
ApplicableProducts applicableProducts = applicableProductsService.getOne(q -> q.eq(ApplicableProducts::getProductId, workOrder.getProductId()));
|
|
@@ -254,8 +258,8 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
|
|
|
String[] split = processRoute.split(",");
|
|
|
productionProcessesId = Long.valueOf(split[0]);
|
|
|
//赋值下一工序id
|
|
|
- if(split.length>1){
|
|
|
- nextProductionProcessesId = Long.valueOf(split[1]);
|
|
|
+ if (split.length > 1) {
|
|
|
+ nextProductionProcessesId = Long.valueOf(split[1]);
|
|
|
}
|
|
|
}
|
|
|
//创建任务明细
|
|
@@ -282,6 +286,27 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
|
|
|
}
|
|
|
productionTaskDetailService.saveBatch(productionTaskDetailList);
|
|
|
productionTaskDetailRecordService.saveBatch(productionTaskDetailRecordList);
|
|
|
+
|
|
|
+ //添加任务对每一个工序的用户绑定
|
|
|
+ List<ProductionTaskProcessesDetail> productionTaskProcessesDetailList = new ArrayList<>();
|
|
|
+ Map<Long,List<Long>> taskProcessesUserMap = JSONObject.parseObject(productionTaskDto.getTaskProcessesUser(),Map.class);
|
|
|
+ List<WorkOrderProductionProcesses> productionProcessesList = workOrderService.getProductionProcessesList(workOrder);
|
|
|
+ for (WorkOrderProductionProcesses workOrderProductionProcesses : productionProcessesList) {
|
|
|
+ Long processesId = workOrderProductionProcesses.getId();
|
|
|
+ List<Long> userIds = taskProcessesUserMap.get(processesId);
|
|
|
+ if(ObjectUtil.isEmpty(userIds)){
|
|
|
+ throw new ServiceException(String.format("工序 %s 未配置用户",workOrderProductionProcesses.getName()));
|
|
|
+ }
|
|
|
+ for (Long userId : userIds) {
|
|
|
+ ProductionTaskProcessesDetail productionTaskProcessesDetail = new ProductionTaskProcessesDetail();
|
|
|
+ productionTaskProcessesDetail.setProductionTaskId(productionTaskDto.getId());
|
|
|
+ productionTaskProcessesDetail.setProductionProcessesId(processesId);
|
|
|
+ productionTaskProcessesDetail.setUserId(userId);
|
|
|
+ productionTaskProcessesDetailList.add(productionTaskProcessesDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ productionTaskProcessesDetailService.saveBatch(productionTaskProcessesDetailList);
|
|
|
+ throw new ServiceException("111111111111");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -335,7 +360,7 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
|
|
|
productionTaskDetail.setCumulativeTime(formattedResult);
|
|
|
|
|
|
//判断是否完工
|
|
|
- if(productionTaskDetail.getFinishStatus()==1){
|
|
|
+ if (productionTaskDetail.getFinishStatus() == 1) {
|
|
|
productionTaskDetail.setProductionProcessesName("已完成");
|
|
|
}
|
|
|
}
|