|
@@ -211,13 +211,14 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
Assert.notEmpty(contract, "查询不到合同信息!");
|
|
|
contractService.update(q -> q.eq(Contract::getId, contractId).set(Contract::getOrderDistributeStatus, 1));
|
|
|
|
|
|
- //创建待采购
|
|
|
- createMaterialWaitPurchase(contract);
|
|
|
|
|
|
produceOrderDto.setCode(contract.getCode());
|
|
|
produceOrderDto.setProduceStatus(0);
|
|
|
this.save(produceOrderDto);
|
|
|
|
|
|
+ //创建待采购
|
|
|
+ createMaterialWaitPurchase(produceOrderDto);
|
|
|
+
|
|
|
//创建生产任务
|
|
|
createOrderDetails(produceOrderDto);
|
|
|
}
|
|
@@ -272,22 +273,17 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
/**
|
|
|
* 创建合同产品 物料待采购信息
|
|
|
*/
|
|
|
- private void createMaterialWaitPurchase(Contract contract) {
|
|
|
+ private void createMaterialWaitPurchase(ProductionOrderDto productionOrderDto) {
|
|
|
//根据归属公司将数据赋值给指定公司
|
|
|
- Long companyId = contract.getCompanyId();
|
|
|
- SysDept company = deptService.getById(companyId);
|
|
|
- if (ObjectUtil.isEmpty(company)) {
|
|
|
- throw new ServiceException("归属公司不存在");
|
|
|
- }
|
|
|
+ Long companyId = productionOrderDto.getCompanyId();
|
|
|
+ Long contractId = productionOrderDto.getContractId();
|
|
|
|
|
|
//生成物料待采购数据
|
|
|
- List<ContractProduct> contractProductList = contractProductService.list(q -> q.eq(ContractProduct::getContractId, contract.getId()));
|
|
|
+ List<ContractProduct> contractProductList = contractProductService.list(q -> q.eq(ContractProduct::getContractId, contractId));
|
|
|
|
|
|
//获取物料列表
|
|
|
List<Long> cpIds = contractProductList.stream().map(ContractProduct::getId).collect(Collectors.toList());
|
|
|
- Map<Long, List<ContractProductBom>> cpBMap = contractProductBomService.mapKGroup(ContractProductBom::getContractProductId,
|
|
|
- q -> q.in(ContractProductBom::getContractProductId, cpIds)
|
|
|
- );
|
|
|
+ Map<Long, List<ContractProductBom>> cpBMap = contractProductBomService.mapKGroup(ContractProductBom::getContractProductId, q -> q.in(ContractProductBom::getContractProductId, cpIds));
|
|
|
|
|
|
//待采购列表
|
|
|
List<SubscribeDetail> subscribeDetailList = new ArrayList<>();
|
|
@@ -345,7 +341,7 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
subscribeDetail.setProductId(materialId);
|
|
|
subscribeDetail.setCount(requiredQuantity);
|
|
|
subscribeDetail.setStatus(15);//待采购
|
|
|
- subscribeDetail.setContractId(contract.getId());
|
|
|
+ subscribeDetail.setContractId(contractId);
|
|
|
subscribeDetail.setContractDetailId(contractProduct.getId());
|
|
|
subscribeDetail.setDataType(1);
|
|
|
subscribeDetail.setCompanyId(companyId);
|