|
@ -681,89 +681,87 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque |
|
|
productreceiptRequestMainMapper.updateById(mainDO); |
|
|
productreceiptRequestMainMapper.updateById(mainDO); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
// 任务主表信息
|
|
|
for(ProductreceiptRequestDetailDO detailDO: detailDOList) { |
|
|
ProductreceiptJobMainDO productreceiptJobMainDO = new ProductreceiptJobMainDO(); |
|
|
// 根据 申请的包装条数 来创建任务
|
|
|
BeanUtil.copyProperties(mainDO, productreceiptJobMainDO); |
|
|
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>(); |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCT_RECEIPT_JOB.getCode()); |
|
|
List<PackageDO> packageDOList = packageService.getPackageListByRequestNumberAndPackUnit(mainDO.getNumber(),detailDO.getPackUnit()); |
|
|
productreceiptJobMainDO.setNumber(number); |
|
|
for(PackageDO packageDO: packageDOList) { |
|
|
productreceiptJobMainDO.setRequestNumber(mainDO.getNumber()); |
|
|
// 任务主表信息
|
|
|
productreceiptJobMainDO.setWorkShopCode(mainDO.getWorkshopCode()); |
|
|
ProductreceiptJobMainDO productreceiptJobMainDO = new ProductreceiptJobMainDO(); |
|
|
productreceiptJobMainDO.setRequestDueTime(mainDO.getDueTime()); |
|
|
BeanUtil.copyProperties(mainDO, productreceiptJobMainDO); |
|
|
productreceiptJobMainDO.setStatus(JobStatusEnum.PENDING.getCode()); |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCT_RECEIPT_JOB.getCode()); |
|
|
productreceiptJobMainDO.setId(null); |
|
|
productreceiptJobMainDO.setNumber(number); |
|
|
productreceiptJobMainDO.setCreateTime(null); |
|
|
productreceiptJobMainDO.setRequestNumber(mainDO.getNumber()); |
|
|
productreceiptJobMainDO.setCreator(null); |
|
|
productreceiptJobMainDO.setWorkShopCode(mainDO.getWorkshopCode()); |
|
|
productreceiptJobMainDO.setUpdateTime(null); |
|
|
productreceiptJobMainDO.setRequestDueTime(mainDO.getDueTime()); |
|
|
productreceiptJobMainDO.setUpdater(null); |
|
|
productreceiptJobMainDO.setStatus(JobStatusEnum.PENDING.getCode()); |
|
|
productreceiptJobMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString()); |
|
|
productreceiptJobMainDO.setId(null); |
|
|
// 获取任务单据设置
|
|
|
productreceiptJobMainDO.setCreateTime(null); |
|
|
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("ProductReceiptJob"); |
|
|
productreceiptJobMainDO.setCreator(null); |
|
|
productreceiptJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete()); |
|
|
productreceiptJobMainDO.setUpdateTime(null); |
|
|
productreceiptJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation()); |
|
|
productreceiptJobMainDO.setUpdater(null); |
|
|
productreceiptJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty()); |
|
|
productreceiptJobMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString()); |
|
|
productreceiptJobMainDO.setAllowBiggerQty(jobsettingDO.getAllowBiggerQty()); |
|
|
// 获取任务单据设置
|
|
|
productreceiptJobMainDO.setAllowSmallerQty(jobsettingDO.getAllowSmallerQty()); |
|
|
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("ProductReceiptJob"); |
|
|
productreceiptJobMainDO.setAllowModifyInventoryStatus(jobsettingDO.getAllowModifyInventoryStatus()); |
|
|
productreceiptJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete()); |
|
|
productreceiptJobMainDO.setAllowContinuousScanning(jobsettingDO.getAllowContinuousScanning()); |
|
|
productreceiptJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation()); |
|
|
productreceiptJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete()); |
|
|
productreceiptJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty()); |
|
|
productreceiptJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber()); |
|
|
productreceiptJobMainDO.setAllowBiggerQty(jobsettingDO.getAllowBiggerQty()); |
|
|
productreceiptJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach()); |
|
|
productreceiptJobMainDO.setAllowSmallerQty(jobsettingDO.getAllowSmallerQty()); |
|
|
//增加业务类型
|
|
|
productreceiptJobMainDO.setAllowModifyInventoryStatus(jobsettingDO.getAllowModifyInventoryStatus()); |
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductReceiptJob","制品收货任务"); |
|
|
productreceiptJobMainDO.setAllowContinuousScanning(jobsettingDO.getAllowContinuousScanning()); |
|
|
productreceiptJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses()); |
|
|
productreceiptJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete()); |
|
|
productreceiptJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses()); |
|
|
productreceiptJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber()); |
|
|
productreceiptJobMainDO.setFromAreaTypes(businesstypeDO.getOutAreaTypes()); |
|
|
productreceiptJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach()); |
|
|
productreceiptJobMainDO.setToAreaTypes(businesstypeDO.getInAreaTypes()); |
|
|
//增加业务类型
|
|
|
productreceiptJobMainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductReceiptJob","制品收货任务"); |
|
|
productreceiptJobMainMapper.insert(productreceiptJobMainDO); |
|
|
productreceiptJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses()); |
|
|
List<ProductreceiptJobDetailDO> productreceiptJobDetailDOList = new ArrayList<>(); |
|
|
productreceiptJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses()); |
|
|
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>(); |
|
|
productreceiptJobMainDO.setFromAreaTypes(businesstypeDO.getOutAreaTypes()); |
|
|
// 根据 创建的包装条数 来创建任务子表
|
|
|
productreceiptJobMainDO.setToAreaTypes(businesstypeDO.getInAreaTypes()); |
|
|
List<PackageDO> packageDOList = packageService.getPackageListByRequestNumber(mainDO.getNumber()); |
|
|
productreceiptJobMainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
for(PackageDO packageDO: packageDOList) { |
|
|
productreceiptJobMainMapper.insert(productreceiptJobMainDO); |
|
|
for(ProductreceiptRequestDetailDO detailDO: detailDOList) { |
|
|
|
|
|
if (packageDO.getRequestNumber().equals(mainDO.getNumber()) && packageDO.getItemCode().equals(detailDO.getItemCode())) { |
|
|
ProductreceiptJobDetailDO productreceiptJobDetailDO = new ProductreceiptJobDetailDO(); |
|
|
ProductreceiptJobDetailDO productreceiptJobDetailDO = new ProductreceiptJobDetailDO(); |
|
|
BeanUtil.copyProperties(detailDO, productreceiptJobDetailDO); |
|
|
BeanUtil.copyProperties(detailDO, productreceiptJobDetailDO); |
|
|
productreceiptJobDetailDO.setPackingNumber(packageDO.getNumber()); |
|
|
productreceiptJobDetailDO.setPackingNumber(packageDO.getNumber()); |
|
|
productreceiptJobDetailDO.setPackQty(packageDO.getPackQty()); |
|
|
productreceiptJobDetailDO.setPackQty(packageDO.getPackQty()); |
|
|
productreceiptJobDetailDO.setPackUnit(packageDO.getPackUnit()); |
|
|
productreceiptJobDetailDO.setPackUnit(packageDO.getPackUnit()); |
|
|
productreceiptJobDetailDO.setQty(packageDO.getQty()); |
|
|
productreceiptJobDetailDO.setQty(packageDO.getQty()); |
|
|
productreceiptJobDetailDO.setUom(packageDO.getUom()); |
|
|
productreceiptJobDetailDO.setUom(packageDO.getUom()); |
|
|
productreceiptJobDetailDO.setMasterId(productreceiptJobMainDO.getId()); |
|
|
productreceiptJobDetailDO.setMasterId(productreceiptJobMainDO.getId()); |
|
|
productreceiptJobDetailDO.setNumber(number); |
|
|
productreceiptJobDetailDO.setNumber(number); |
|
|
productreceiptJobDetailDO.setId(null); |
|
|
productreceiptJobDetailDO.setId(null); |
|
|
productreceiptJobDetailDO.setCreateTime(null); |
|
|
productreceiptJobDetailDO.setCreateTime(null); |
|
|
productreceiptJobDetailDO.setCreator(null); |
|
|
productreceiptJobDetailDO.setCreator(null); |
|
|
productreceiptJobDetailDO.setUpdateTime(null); |
|
|
productreceiptJobDetailDO.setUpdateTime(null); |
|
|
productreceiptJobDetailDO.setUpdater(null); |
|
|
productreceiptJobDetailDO.setUpdater(null); |
|
|
//预计入
|
|
|
productreceiptJobDetailDOList.add(productreceiptJobDetailDO); |
|
|
ExpectinCreateReqVO expectinCreateReqVO = new ExpectinCreateReqVO(); |
|
|
//预计入
|
|
|
BeanUtils.copyProperties(productreceiptJobDetailDO, expectinCreateReqVO); |
|
|
ExpectinCreateReqVO expectinCreateReqVO = new ExpectinCreateReqVO(); |
|
|
expectinCreateReqVO.setJobNumber(number); |
|
|
BeanUtils.copyProperties(productreceiptJobDetailDO, expectinCreateReqVO); |
|
|
expectinCreateReqVO.setBusinessType(productreceiptJobMainDO.getBusinessType()); |
|
|
expectinCreateReqVO.setJobNumber(number); |
|
|
expectinCreateReqVO.setLocationCode(detailDO.getToLocationCode()); |
|
|
expectinCreateReqVO.setBusinessType(productreceiptJobMainDO.getBusinessType()); |
|
|
expectinCreateReqVO.setOwnerCode(detailDO.getToOwnerCode()); |
|
|
expectinCreateReqVO.setLocationCode(detailDO.getToLocationCode()); |
|
|
expectinCreateReqVOList.add(expectinCreateReqVO); |
|
|
expectinCreateReqVO.setOwnerCode(detailDO.getToOwnerCode()); |
|
|
|
|
|
expectinCreateReqVOList.add(expectinCreateReqVO); |
|
|
productreceiptJobDetailMapper.insert(productreceiptJobDetailDO); |
|
|
} |
|
|
//增加预计入
|
|
|
|
|
|
expectinService.createExpectin(expectinCreateReqVOList); |
|
|
|
|
|
trendsApi.createTrends(productreceiptJobMainDO.getId(), "productreceiptJob", "制品收货申请生成制品收货任务", TrendsTypeEnum.CREATE); |
|
|
|
|
|
//消息通知
|
|
|
|
|
|
NotifySendSingleToRoleReqDTO notifySendSingleToRoleReqDTO = new NotifySendSingleToRoleReqDTO(); |
|
|
|
|
|
notifySendSingleToRoleReqDTO.setRoleId(1L); |
|
|
|
|
|
notifySendSingleToRoleReqDTO.setTemplateCode("createJob"); |
|
|
|
|
|
Map<String, Object> templateParams = new HashMap<>(); |
|
|
|
|
|
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|
|
|
|
|
String dateTime = LocalDateTime.now().format(fmt); |
|
|
|
|
|
templateParams.put("name","制品收货任务"); |
|
|
|
|
|
templateParams.put("dateTime", dateTime); |
|
|
|
|
|
templateParams.put("number", productreceiptJobMainDO.getNumber()); |
|
|
|
|
|
notifySendSingleToRoleReqDTO.setTemplateParams(templateParams); |
|
|
|
|
|
notifyMessageSendApi.sendMessageToRole(notifySendSingleToRoleReqDTO); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
productreceiptJobDetailMapper.insertBatch(productreceiptJobDetailDOList); |
|
|
|
|
|
//增加预计入
|
|
|
|
|
|
expectinService.createExpectin(expectinCreateReqVOList); |
|
|
|
|
|
trendsApi.createTrends(productreceiptJobMainDO.getId(), "productreceiptJob", "制品收货申请生成制品收货任务", TrendsTypeEnum.CREATE); |
|
|
|
|
|
//消息通知
|
|
|
|
|
|
NotifySendSingleToRoleReqDTO notifySendSingleToRoleReqDTO = new NotifySendSingleToRoleReqDTO(); |
|
|
|
|
|
notifySendSingleToRoleReqDTO.setRoleId(1L); |
|
|
|
|
|
notifySendSingleToRoleReqDTO.setTemplateCode("createJob"); |
|
|
|
|
|
Map<String, Object> templateParams = new HashMap<>(); |
|
|
|
|
|
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|
|
|
|
|
String dateTime = LocalDateTime.now().format(fmt); |
|
|
|
|
|
templateParams.put("name","制品收货任务"); |
|
|
|
|
|
templateParams.put("dateTime", dateTime); |
|
|
|
|
|
templateParams.put("number", productreceiptJobMainDO.getNumber()); |
|
|
|
|
|
notifySendSingleToRoleReqDTO.setTemplateParams(templateParams); |
|
|
|
|
|
notifyMessageSendApi.sendMessageToRole(notifySendSingleToRoleReqDTO); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|