|
@@ -263,26 +263,48 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@DSTransactional
|
|
@DSTransactional
|
|
- public void createOrder(ProductionOrderDto produceOrderDto) {
|
|
+ public void createOrder(ProductionOrderDto dto) {
|
|
- Long contractId = produceOrderDto.getContractId();
|
|
+ Long contractId = dto.getContractId();
|
|
- Assert.notEmpty(produceOrderDto.getContractId(), "合同id不能为空!");
|
|
+ Assert.notEmpty(dto.getContractId(), "合同id不能为空!");
|
|
-
|
|
|
|
-
|
|
|
|
- ProductionOrder one = this.getOne(q -> q.eq(ProductionOrder::getContractId, contractId));
|
|
|
|
- if (ObjectUtil.isNotEmpty(one)) {
|
|
|
|
- produceOrderDto.setId(one.getId());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- SysDept produceCompany = sysDeptService.getById(produceOrderDto.getProduceCompanyId());
|
|
|
|
- Assert.notEmpty(produceCompany, "查询不到生产公司信息");
|
|
|
|
- Long companyId = produceCompany.getDeptId();
|
|
|
|
- produceOrderDto.setCompanyId(companyId);
|
|
|
|
- produceOrderDto.setConfirmStatus(0);
|
|
|
|
-
|
|
|
|
|
|
|
|
Contract contract = contractService.getById(contractId);
|
|
Contract contract = contractService.getById(contractId);
|
|
Assert.notEmpty(contract, "查询不到合同信息!");
|
|
Assert.notEmpty(contract, "查询不到合同信息!");
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ List<Long> pIds = contractProductService.listObject(ContractProduct::getProductId, q -> q.eq(ContractProduct::getContractId, contractId));
|
|
|
|
+ List<Long> pCompanyIds = productInfoService.listObject(ProductInfo::getCompanyId, q -> q.in(ProductInfo::getId, pIds));
|
|
|
|
+ pCompanyIds = pCompanyIds.stream().distinct().collect(Collectors.toList());
|
|
|
|
+ for (Long pCompanyId : pCompanyIds) {
|
|
|
|
+ ProductionOrderDto produceOrderDto = BeanUtil.copyProperties(dto, ProductionOrderDto.class);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ ProductionOrder one = this.getOne(q -> q.eq(ProductionOrder::getContractId, contractId));
|
|
|
|
+ if (ObjectUtil.isNotEmpty(one)) {
|
|
|
|
+ produceOrderDto.setId(one.getId());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ SysDept produceCompany = sysDeptService.getById(pCompanyId);
|
|
|
|
+ Assert.notEmpty(produceCompany, "查询不到生产公司信息");
|
|
|
|
+
|
|
|
|
+ produceOrderDto.setCompanyId(pCompanyId);
|
|
|
|
+ produceOrderDto.setConfirmStatus(0);
|
|
|
|
+
|
|
|
|
+ produceOrderDto.setCode(contract.getCode());
|
|
|
|
+ produceOrderDto.setProduceStatus(0);
|
|
|
|
+ this.saveOrUpdate(produceOrderDto);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ String title = String.format("您有新的生产订单,订单号【%s】,请及时跟进。", produceOrderDto.getCode());
|
|
|
|
+ JSONObject msg = new JSONObject();
|
|
|
|
+ msg.put("business_id", produceOrderDto.getId());
|
|
|
|
+ List<Long> generalManagerIds = UserUtil.getUserIdsByRoleKey("subsidiary_gm", pCompanyId);
|
|
|
|
+ for (Long generalManagerId : generalManagerIds) {
|
|
|
|
+ WebSocketPush.byUser(PushTypeEnum.MESSAGE, generalManagerId, title, PushBusinessTypeEnum.NEW_PRODUCTION_ORDER.getType(), msg.toString());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
contractService.update(q -> q
|
|
contractService.update(q -> q
|
|
.eq(Contract::getId, contractId)
|
|
.eq(Contract::getId, contractId)
|
|
.set(Contract::getOrderDistributeStatus, 1)
|
|
.set(Contract::getOrderDistributeStatus, 1)
|
|
@@ -291,50 +313,8 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
.set(BasePo::getUpdateTime, new Date())
|
|
.set(BasePo::getUpdateTime, new Date())
|
|
.set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
.set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
);
|
|
);
|
|
-
|
|
|
|
- produceOrderDto.setCode(contract.getCode());
|
|
|
|
- produceOrderDto.setProduceStatus(0);
|
|
|
|
- this.saveOrUpdate(produceOrderDto);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- String title = String.format("您有新的生产订单,订单号【%s】,请及时跟进。", produceOrderDto.getCode());
|
|
|
|
- JSONObject msg = new JSONObject();
|
|
|
|
- msg.put("business_id", produceOrderDto.getId());
|
|
|
|
- List<Long> generalManagerIds = UserUtil.getUserIdsByRoleKey("subsidiary_gm", companyId);
|
|
|
|
- for (Long generalManagerId : generalManagerIds) {
|
|
|
|
- WebSocketPush.byUser(PushTypeEnum.MESSAGE, generalManagerId, title, PushBusinessTypeEnum.NEW_PRODUCTION_ORDER.getType(), msg.toString());
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
* 修改投产时间
|
|
* 修改投产时间
|
|
*/
|
|
*/
|