|
@@ -15,13 +15,17 @@ import com.fjhx.mes.entity.production.dto.ProduceOrderSelectDto;
|
|
|
import com.fjhx.mes.entity.production.dto.ProductionOrderDto;
|
|
|
import com.fjhx.mes.entity.production.po.ProductionOrder;
|
|
|
import com.fjhx.mes.entity.production.po.ProductionOrderDetail;
|
|
|
+import com.fjhx.mes.entity.production.po.ProductionTaskProgress;
|
|
|
import com.fjhx.mes.entity.production.vo.ProductionOrderDetailVo;
|
|
|
import com.fjhx.mes.entity.production.vo.ProductionOrderVo;
|
|
|
+import com.fjhx.mes.entity.production.vo.ProductionProcessesVo;
|
|
|
import com.fjhx.mes.entity.work.po.WorkOrder;
|
|
|
import com.fjhx.mes.mapper.production.ProduceOrderMapper;
|
|
|
+import com.fjhx.mes.mapper.production.ProductionProcessesMapper;
|
|
|
import com.fjhx.mes.service.material.MaterialPreparationService;
|
|
|
import com.fjhx.mes.service.production.ProduceOrderDetailService;
|
|
|
import com.fjhx.mes.service.production.ProduceOrderService;
|
|
|
+import com.fjhx.mes.service.production.ProductionTaskProgressService;
|
|
|
import com.fjhx.mes.service.work.WorkOrderService;
|
|
|
import com.fjhx.sale.entity.contract.po.Contract;
|
|
|
import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
@@ -67,6 +71,10 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
private ProductBomDetailService productBomDetailService;
|
|
|
@Autowired
|
|
|
private MaterialPreparationService materialPreparationService;
|
|
|
+ @Autowired
|
|
|
+ private ProductionProcessesMapper productionProcessesMapper;
|
|
|
+ @Autowired
|
|
|
+ private ProductionTaskProgressService productionTaskProgressService;
|
|
|
|
|
|
@Override
|
|
|
public Page<ProductionOrderVo> getPage(ProduceOrderSelectDto dto) {
|
|
@@ -159,14 +167,7 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
ProductInfo productInfo = productInfoMap.get(productId);
|
|
|
Assert.notEmpty(productInfo, "查询不到产品信息");
|
|
|
|
|
|
-// //创建原材料
|
|
|
-// ProductBomDetail productBomDetail = new ProductBomDetail();
|
|
|
-// productBomDetail.setProductId(productInfo.getId());
|
|
|
-// productBomDetail.setMaterialId(productInfo.getRawMaterialId());
|
|
|
-// productBomDetail.setQuantity(BigDecimal.ONE);
|
|
|
List<ProductBomDetail> productBomDetailList = productBomDetailMap.get(productId);
|
|
|
-// productBomDetailList.add(productBomDetail);
|
|
|
-
|
|
|
List<MaterialPreparation> materialPreparationList = new ArrayList<>();
|
|
|
for (ProductBomDetail bomDetail : productBomDetailList) {
|
|
|
BigDecimal multiply = bomDetail.getQuantity().multiply(contractProduct.getQuantity());
|
|
@@ -203,6 +204,22 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
}
|
|
|
}
|
|
|
workOrderService.saveBatch(workOrderList);
|
|
|
+
|
|
|
+ //生成生产任务进度
|
|
|
+ List<ProductionTaskProgress> productionTaskProgressList = new ArrayList<>();
|
|
|
+ List<ProductionProcessesVo> processes = productionProcessesMapper.getProcessesByProductId(IWrapper.getWrapper().in("pi.id", productIds));
|
|
|
+ Map<Long, List<ProductionProcessesVo>> processesMap = processes.stream().collect(Collectors.groupingBy(ProductionProcessesVo::getProductId));
|
|
|
+ for (ProductionOrderDetail productionOrderDetail : productionOrderDetailList) {
|
|
|
+ List<ProductionProcessesVo> productionProcessesVos = processesMap.get(productionOrderDetail.getProductId());
|
|
|
+ for (ProductionProcessesVo productionProcessesVo : productionProcessesVos) {
|
|
|
+ ProductionTaskProgress prodTaskProgress = new ProductionTaskProgress();
|
|
|
+ prodTaskProgress.setTaskId(productionOrderDetail.getId());
|
|
|
+ prodTaskProgress.setProcessesId(productionProcessesVo.getId());
|
|
|
+ prodTaskProgress.setFinishQuantity(BigDecimal.ZERO);
|
|
|
+ productionTaskProgressList.add(prodTaskProgress);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ productionTaskProgressService.saveBatch(productionTaskProgressList);
|
|
|
}
|
|
|
|
|
|
}
|