Browse Source

制品收货任务 按包装进行拆分

master_hella_20240701
陈薪名 1 year ago
parent
commit
f4f434e36f
  1. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/packageMassage/PackageService.java
  2. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/packageMassage/PackageServiceImpl.java
  3. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java
  4. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRequest/ProductreceiptRequestMainServiceImpl.java

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/packageMassage/PackageService.java

@ -132,6 +132,13 @@ public interface PackageService {
List<PackageDO> getPackageListByRequestNumber(String requestNumber);
/**
* 根据 申请单号 + 包装规格
* @param requestNumber
* @return
*/
List<PackageDO> getPackageListByRequestNumberAndPackUnit(String requestNumber, String packUnit);
/**
* 查询父子包装树
* @param pageVO

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/packageMassage/PackageServiceImpl.java

@ -626,8 +626,16 @@ public class PackageServiceImpl implements PackageService {
@Override
public List<PackageDO> getPackageListByRequestNumber(String requestNumber) {
QueryWrapper queryWrapper = new QueryWrapper<>();
QueryWrapper<PackageDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("request_number", requestNumber);
return packageMapper.selectList(queryWrapper);
}
@Override
public List<PackageDO> getPackageListByRequestNumberAndPackUnit(String requestNumber, String packUnit) {
QueryWrapper<PackageDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("request_number", requestNumber);
queryWrapper.eq("pack_unit", packUnit);
return packageMapper.selectList(queryWrapper);
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java

@ -368,16 +368,26 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe
transactionService.createTransaction(transactionCreateReqVOList);
//移除预计入
expectinService.deleteExpectinByJobNumber(productreceiptJobMainDO.getNumber());
// 判断该申请下所有任务是否完成
QueryWrapper<ProductreceiptJobMainDO> productreceiptJobMainDOQueryWrapper = new QueryWrapper<>();
productreceiptJobMainDOQueryWrapper.eq("request_number", productreceiptJobMainDO.getRequestNumber());
List<String> statusList = new ArrayList<>();
statusList.add(JobStatusEnum.PROCESSING.getCode());
statusList.add(JobStatusEnum.PENDING.getCode());
productreceiptJobMainDOQueryWrapper.in("status", statusList);
List<ProductreceiptJobMainDO> productreceiptJobMainDOList = productreceiptJobMainMapper.selectList(productreceiptJobMainDOQueryWrapper);
if (productreceiptJobMainDOList.isEmpty()) {
//更新申请状态为已完成
QueryWrapper queryWrapper = new QueryWrapper<>();
QueryWrapper<ProductreceiptRequestMainDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("number", productreceiptJobMainDO.getRequestNumber());
ProductreceiptRequestMainDO productreceiptRequestMainDO = productreceiptRequestMainMapper.selectOne(queryWrapper);
productreceiptRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
productreceiptRequestMainMapper.updateById(productreceiptRequestMainDO);
}
//变更记录
trendsApi.createTrends(productreceiptJobMainDO.getId(), "productreceiptJob", "执行了制品收货任务", TrendsTypeEnum.UPDATE);
// 根据单据开关判断是否创建 回冲记录
SwitchDO switchDOBack = switchService.selectSwitchExist("CreateProductreceiptRecordAfterProductreceiptRecordCreated");
SwitchDO switchDOBack = switchService.selectSwitchExist("CreateBackflushRecordAfterProductreceiptRecordCreated");
if (switchDOBack.getEffectiveSetValue().equals("TRUE")) {
// 创建 回冲记录(record_productreceipt_detailb)
productreceiptRecordMainService.generateProductreceiptRecordByBom(productreceiptRecordMainDO, productreceiptRecordDetailDOList);

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptRequest/ProductreceiptRequestMainServiceImpl.java

@ -681,6 +681,11 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque
productreceiptRequestMainMapper.updateById(mainDO);
return;
}
for(ProductreceiptRequestDetailDO detailDO: detailDOList) {
// 根据 申请的包装条数 来创建任务
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>();
List<PackageDO> packageDOList = packageService.getPackageListByRequestNumberAndPackUnit(mainDO.getNumber(),detailDO.getPackUnit());
for(PackageDO packageDO: packageDOList) {
// 任务主表信息
ProductreceiptJobMainDO productreceiptJobMainDO = new ProductreceiptJobMainDO();
BeanUtil.copyProperties(mainDO, productreceiptJobMainDO);
@ -716,13 +721,7 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque
productreceiptJobMainDO.setToAreaTypes(businesstypeDO.getInAreaTypes());
productreceiptJobMainDO.setBusinessType(businesstypeDO.getCode());
productreceiptJobMainMapper.insert(productreceiptJobMainDO);
List<ProductreceiptJobDetailDO> productreceiptJobDetailDOList = new ArrayList<>();
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>();
// 根据 创建的包装条数 来创建任务子表
List<PackageDO> packageDOList = packageService.getPackageListByRequestNumber(mainDO.getNumber());
for(PackageDO packageDO: packageDOList) {
for(ProductreceiptRequestDetailDO detailDO: detailDOList) {
if (packageDO.getRequestNumber().equals(mainDO.getNumber()) && packageDO.getItemCode().equals(detailDO.getItemCode())) {
ProductreceiptJobDetailDO productreceiptJobDetailDO = new ProductreceiptJobDetailDO();
BeanUtil.copyProperties(detailDO, productreceiptJobDetailDO);
productreceiptJobDetailDO.setPackingNumber(packageDO.getNumber());
@ -737,7 +736,6 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque
productreceiptJobDetailDO.setCreator(null);
productreceiptJobDetailDO.setUpdateTime(null);
productreceiptJobDetailDO.setUpdater(null);
productreceiptJobDetailDOList.add(productreceiptJobDetailDO);
//预计入
ExpectinCreateReqVO expectinCreateReqVO = new ExpectinCreateReqVO();
BeanUtils.copyProperties(productreceiptJobDetailDO, expectinCreateReqVO);
@ -746,10 +744,8 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque
expectinCreateReqVO.setLocationCode(detailDO.getToLocationCode());
expectinCreateReqVO.setOwnerCode(detailDO.getToOwnerCode());
expectinCreateReqVOList.add(expectinCreateReqVO);
}
}
}
productreceiptJobDetailMapper.insertBatch(productreceiptJobDetailDOList);
productreceiptJobDetailMapper.insert(productreceiptJobDetailDO);
//增加预计入
expectinService.createExpectin(expectinCreateReqVOList);
trendsApi.createTrends(productreceiptJobMainDO.getId(), "productreceiptJob", "制品收货申请生成制品收货任务", TrendsTypeEnum.CREATE);
@ -767,3 +763,5 @@ public class ProductreceiptRequestMainServiceImpl implements ProductreceiptReque
notifyMessageSendApi.sendMessageToRole(notifySendSingleToRoleReqDTO);
}
}
}
}

Loading…
Cancel
Save