From cc46f1e770ccea9f714d89864f17a8475d7ae6e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Fri, 24 Nov 2023 15:56:12 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=94=9F=E6=88=90=E6=94=B6=E6=96=99?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ProductionreceiptRecordMainController.java | 21 +++++-------------- ...ductionreceiptRecordDetailExportReqVO.java | 4 ++++ ...roductionreceiptRecordDetailPageReqVO.java | 3 +++ .../ProductionreceiptRecordMainExcelVO.java | 6 ++++++ .../ProductionreceiptRecordDetailDO.java | 5 +++++ .../ProductionreceiptRecordDetailMapper.java | 2 ++ 6 files changed, 25 insertions(+), 16 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/ProductionreceiptRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/ProductionreceiptRecordMainController.java index 7679f1f2..a5f43612 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/ProductionreceiptRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/ProductionreceiptRecordMainController.java @@ -91,23 +91,12 @@ public class ProductionreceiptRecordMainController { private List getExcelVo(List list, Map mapDropDown) { String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE); - mapDropDown.put(17, locationType); - mapDropDown.put(18, locationType); - String[] areaType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.AREA_TYPE); - mapDropDown.put(24, areaType); - mapDropDown.put(25, areaType); + mapDropDown.put(32, locationType); String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); - mapDropDown.put(26, trueFalse); - mapDropDown.put(27, trueFalse); - mapDropDown.put(28, trueFalse); - mapDropDown.put(29, trueFalse); - mapDropDown.put(30, trueFalse); - mapDropDown.put(31, trueFalse); - mapDropDown.put(32, trueFalse); - mapDropDown.put(33, trueFalse); - mapDropDown.put(34, trueFalse); - mapDropDown.put(35, trueFalse); - mapDropDown.put(36, trueFalse); + mapDropDown.put(19, trueFalse); + mapDropDown.put(20, trueFalse); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(49, uom); List resultList = new ArrayList<>(); // 导出 for(ProductionreceiptRecordMainDO mainDO : list) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordDetailExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordDetailExportReqVO.java index 18d6ebe5..fc916e1f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordDetailExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordDetailExportReqVO.java @@ -112,4 +112,8 @@ public class ProductionreceiptRecordDetailExportReqVO { @Schema(description = "到货主代码") private String toOwnerCode; + @Schema(description = "主表ID") + private String masterId; + + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordDetailPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordDetailPageReqVO.java index 7c73c434..0582256b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordDetailPageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordDetailPageReqVO.java @@ -114,4 +114,7 @@ public class ProductionreceiptRecordDetailPageReqVO extends PageParam { @Schema(description = "到货主代码") private String toOwnerCode; + @Schema(description = "主表ID") + private String masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordMainExcelVO.java index b65c670e..213d953b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptRecord/vo/ProductionreceiptRecordMainExcelVO.java @@ -26,6 +26,9 @@ public class ProductionreceiptRecordMainExcelVO { @ExcelProperty("发料记录单号") private String issueRecordNumber; + @ExcelProperty("收料记录单号") + private String productionreceiptRecordNumber; + @ExcelProperty("任务单号") private String jobNumber; @@ -107,6 +110,9 @@ public class ProductionreceiptRecordMainExcelVO { @ExcelProperty("工位代码") private String workStationCode; + @ExcelProperty("供应商代码") + private String supplierCode; + @ExcelProperty("在途库库位") private String onTheWayLocationCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productionreceiptRecord/ProductionreceiptRecordDetailDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productionreceiptRecord/ProductionreceiptRecordDetailDO.java index 8e5ee5e2..6023dc68 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productionreceiptRecord/ProductionreceiptRecordDetailDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productionreceiptRecord/ProductionreceiptRecordDetailDO.java @@ -161,4 +161,9 @@ public class ProductionreceiptRecordDetailDO extends BaseDO { */ private String toOwnerCode; + /** + * 供应商代码 + */ + private String supplierCode; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreceiptRecord/ProductionreceiptRecordDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreceiptRecord/ProductionreceiptRecordDetailMapper.java index 55bf5ff3..4e9bd6e5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreceiptRecord/ProductionreceiptRecordDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productionreceiptRecord/ProductionreceiptRecordDetailMapper.java @@ -23,6 +23,7 @@ public interface ProductionreceiptRecordDetailMapper extends BaseMapperX selectPage(ProductionreceiptRecordDetailPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ProductionreceiptRecordDetailDO::getMasterId, reqVO.getMasterId()) .eqIfPresent(ProductionreceiptRecordDetailDO::getProductionLineCode, reqVO.getProductionLineCode()) .eqIfPresent(ProductionreceiptRecordDetailDO::getWorkStationCode, reqVO.getWorkStationCode()) .eqIfPresent(ProductionreceiptRecordDetailDO::getOnTheWayLocationCode, reqVO.getOnTheWayLocationCode()) @@ -64,6 +65,7 @@ public interface ProductionreceiptRecordDetailMapper extends BaseMapperX selectList(ProductionreceiptRecordDetailExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProductionreceiptRecordDetailDO::getMasterId, reqVO.getMasterId()) .eqIfPresent(ProductionreceiptRecordDetailDO::getProductionLineCode, reqVO.getProductionLineCode()) .eqIfPresent(ProductionreceiptRecordDetailDO::getWorkStationCode, reqVO.getWorkStationCode()) .eqIfPresent(ProductionreceiptRecordDetailDO::getOnTheWayLocationCode, reqVO.getOnTheWayLocationCode()) From b67a9a353676132f7237ba061f691fd17f22417f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Fri, 24 Nov 2023 15:56:34 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=94=9F=E6=88=90=E6=94=B6=E6=96=99?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ProductionreceiptJobDetailUpdateReqVO.java | 3 + .../ProductionreceiptJobMainServiceImpl.java | 65 +++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptJob/vo/ProductionreceiptJobDetailUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptJob/vo/ProductionreceiptJobDetailUpdateReqVO.java index ef25de46..a1cac2ad 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptJob/vo/ProductionreceiptJobDetailUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionreceiptJob/vo/ProductionreceiptJobDetailUpdateReqVO.java @@ -30,4 +30,7 @@ public class ProductionreceiptJobDetailUpdateReqVO extends ProductionreceiptJobD @Schema(description = "到库位") private String toLocationCode; + @Schema(description = "供应商代码") + private String supplierCode; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptJob/ProductionreceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptJob/ProductionreceiptJobMainServiceImpl.java index 0663a8b3..c8d81731 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptJob/ProductionreceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionreceiptJob/ProductionreceiptJobMainServiceImpl.java @@ -16,13 +16,18 @@ import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.convert.productionreceiptJob.ProductionreceiptJobMainConvert; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordDetailDO; +import com.win.module.wms.dal.dataobject.issueRecord.IssueRecordMainDO; import com.win.module.wms.dal.dataobject.location.LocationDO; +import com.win.module.wms.dal.dataobject.onlinesettlementRecord.OnlinesettlementRecordDetailDO; +import com.win.module.wms.dal.dataobject.onlinesettlementRecord.OnlinesettlementRecordMainDO; import com.win.module.wms.dal.dataobject.production.ProductionDetailDO; import com.win.module.wms.dal.dataobject.productionreceiptJob.ProductionreceiptJobDetailDO; import com.win.module.wms.dal.dataobject.productionreceiptJob.ProductionreceiptJobMainDO; import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.productionreceiptRecord.ProductionreceiptRecordMainDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.mysql.onlinesettlementRecord.OnlinesettlementRecordDetailMapper; +import com.win.module.wms.dal.mysql.onlinesettlementRecord.OnlinesettlementRecordMainMapper; import com.win.module.wms.dal.mysql.productionreceiptJob.ProductionreceiptJobMainMapper; import com.win.module.wms.dal.mysql.productionreceiptRecord.ProductionreceiptRecordDetailMapper; import com.win.module.wms.dal.mysql.productionreceiptRecord.ProductionreceiptRecordMainMapper; @@ -30,6 +35,7 @@ import com.win.module.wms.enums.job.JobStatusState; import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.production.ProductionMainService; +import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.util.JobUtils; import org.springframework.beans.BeanUtils; @@ -55,6 +61,12 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; @Validated public class ProductionreceiptJobMainServiceImpl implements ProductionreceiptJobMainService { + @Resource + private OnlinesettlementRecordDetailMapper onlinesettlementRecordDetailMapper; + @Resource + private SupplieritemService supplieritemService; + @Resource + private OnlinesettlementRecordMainMapper onlinesettlementRecordMainMapper; @Resource private ExpectinService expectinService; @Resource @@ -290,6 +302,7 @@ public class ProductionreceiptJobMainServiceImpl implements ProductionreceiptJob productionreceiptRecordDetailDO.setToContainerNumber(DetailUpdateItem.getToContainerNumber()); productionreceiptRecordDetailDO.setInventoryStatus(DetailUpdateItem.getToInventoryStatus()); productionreceiptRecordDetailDO.setQty(DetailUpdateItem.getHandleQty()); + productionreceiptRecordDetailDO.setSupplierCode(DetailUpdateItem.getSupplierCode()); // 根据 to库位 查询 库位组 库区 LocationDO locationDO = locationService.selectLocation(DetailUpdateItem.getToLocationCode()); productionreceiptRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode()); @@ -327,6 +340,8 @@ public class ProductionreceiptJobMainServiceImpl implements ProductionreceiptJob if(!productionreceiptRecordDetailDOList.isEmpty()) { productionreceiptRecordDetailMapper.insertBatch(productionreceiptRecordDetailDOList); } + // 创建 上线结算记录 + createOnlinesettlementRecord(productionreceiptRecordMainDO,productionreceiptRecordDetailDOList); //增加库存事务 transactionService.createTransaction(transactionCreateReqVOList); //移除预计入 @@ -335,4 +350,54 @@ public class ProductionreceiptJobMainServiceImpl implements ProductionreceiptJob trendsApi.createTrends(productionreceiptJobMainDO.getId(), "productionreceiptJob", "执行了生产收料任务", TrendsTypeEnum.UPDATE); return result; } + + /** + * 创建 上线结算记录 + * @param productionreceiptRecordMainDO + * @param productionreceiptRecordDetailDOList + */ + private void createOnlinesettlementRecord (ProductionreceiptRecordMainDO productionreceiptRecordMainDO, List productionreceiptRecordDetailDOList) { + OnlinesettlementRecordMainDO onlinesettlementRecordMainDO = new OnlinesettlementRecordMainDO(); + BeanUtils.copyProperties(productionreceiptRecordMainDO, onlinesettlementRecordMainDO); + onlinesettlementRecordMainDO.setProductionreceiptRecordNumber(productionreceiptRecordMainDO.getNumber()); + onlinesettlementRecordMainDO.setWarehouseCode(productionreceiptRecordMainDO.getToWarehouseCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.ONLINE_SETTLEMENT_RECORD.getCode()); + onlinesettlementRecordMainDO.setId(null); + onlinesettlementRecordMainDO.setNumber(number); + onlinesettlementRecordMainDO.setBusinessType(""); + onlinesettlementRecordMainDO.setInTransactionType(""); + onlinesettlementRecordMainDO.setOutTransactionType(""); + onlinesettlementRecordMainDO.setRequestNumber(""); + onlinesettlementRecordMainDO.setCreator(null); + onlinesettlementRecordMainDO.setCreateTime(null); + onlinesettlementRecordMainDO.setUpdater(null); + onlinesettlementRecordMainDO.setUpdateTime(null); + onlinesettlementRecordMainMapper.insert(onlinesettlementRecordMainDO); + //上线结算记录子 集合 + List onlinesettlementRecordDetailDOList = new ArrayList<>(); + productionreceiptRecordDetailDOList.forEach(item -> { + OnlinesettlementRecordDetailDO onlinesettlementRecordDetailDO = new OnlinesettlementRecordDetailDO(); + BeanUtils.copyProperties(item, onlinesettlementRecordDetailDO); + onlinesettlementRecordDetailDO.setPackingNumber(item.getToPackingNumber()); + onlinesettlementRecordDetailDO.setContainerNumber(item.getToContainerNumber()); + onlinesettlementRecordDetailDO.setBatch(item.getToBatch()); + onlinesettlementRecordDetailDO.setLocationCode(item.getToLocationCode()); + onlinesettlementRecordDetailDO.setLocationGroupCode(item.getToLocationGroupCode()); + onlinesettlementRecordDetailDO.setAreaCode(item.getToAreaCode()); + onlinesettlementRecordDetailDO.setMasterId(onlinesettlementRecordMainDO.getId()); + onlinesettlementRecordDetailDO.setNumber(number); + onlinesettlementRecordDetailDO.setSupplierCode(item.getSupplierCode()); + // 查询 供应商物品 赋值 供应商物品代码 + onlinesettlementRecordDetailDO.setSupplierItemCode(supplieritemService.selectSupplierItemExist(item.getSupplierCode(),item.getItemCode()).getSupplierItemCode()); + onlinesettlementRecordDetailDO.setId(null); + onlinesettlementRecordDetailDO.setCreator(null); + onlinesettlementRecordDetailDO.setCreateTime(null); + onlinesettlementRecordDetailDO.setUpdater(null); + onlinesettlementRecordDetailDO.setUpdateTime(null); + onlinesettlementRecordDetailDOList.add(onlinesettlementRecordDetailDO); + }); + if(!onlinesettlementRecordDetailDOList.isEmpty()) { + onlinesettlementRecordDetailMapper.insertBatch(onlinesettlementRecordDetailDOList); + } + } } From 3df29f8f5bce030b1ed7258ace34e0538fd0a45d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Fri, 24 Nov 2023 15:56:46 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8F=91=E6=96=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/service/issueJob/IssueJobMainServiceImpl.java | 6 ++++++ .../service/issueRequest/IssueRequestMainServiceImpl.java | 1 + 2 files changed, 7 insertions(+) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobMainServiceImpl.java index ca2ab15b..185a738e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobMainServiceImpl.java @@ -42,6 +42,7 @@ import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.expectout.ExpectoutService; import com.win.module.wms.service.jobsetting.JobsettingService; import com.win.module.wms.service.location.LocationService; +import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.util.JobUtils; import org.springframework.beans.BeanUtils; @@ -74,6 +75,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; @Validated public class IssueJobMainServiceImpl implements IssueJobMainService { + @Resource + private SupplieritemService supplieritemService; @Resource private LocationService locationService; @Resource @@ -447,6 +450,9 @@ public class IssueJobMainServiceImpl implements IssueJobMainService { onlinesettlementRecordDetailDO.setAreaCode(item.getToAreaCode()); onlinesettlementRecordDetailDO.setMasterId(onlinesettlementRecordMainDO.getId()); onlinesettlementRecordDetailDO.setNumber(number); + onlinesettlementRecordDetailDO.setSupplierCode(item.getSupplierCode()); + // 查询 供应商物品 赋值 供应商物品代码 + onlinesettlementRecordDetailDO.setSupplierItemCode(supplieritemService.selectSupplierItemExist(item.getSupplierCode(),item.getItemCode()).getSupplierItemCode()); onlinesettlementRecordDetailDO.setId(null); onlinesettlementRecordDetailDO.setCreator(null); onlinesettlementRecordDetailDO.setCreateTime(null); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java index 00df111e..ea458d02 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java @@ -607,6 +607,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { private void generateJob (IssueRequestMainDO mainDO, List detailDO) { //跳过任务直接生成记录 if("TRUE".equals(mainDO.getDirectCreateRecord())) { +// TODO: 发料申请 跳过任务直接生成记录 未做!! // PurchasereceiptRecordMainCreateReqVO purchasereceiptRecordMainCreateReqVO = new PurchasereceiptRecordMainCreateReqVO(); // BeanUtils.copyProperties(mainDO, purchasereceiptRecordMainCreateReqVO); // purchasereceiptRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());