From a07434622dfae33914ef6a9a14fe4ee7084ec417 Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Wed, 13 Dec 2023 17:06:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=B6=E5=93=81=E8=BF=94=E4=BF=AE=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wms/enums/ErrorCodeConstants.java | 18 +- .../vo/ProductrepairRecordDetailBaseVO.java | 3 + .../ProductrepairRequestMainController.java | 62 +++ .../vo/ProductrepairRequestBomRespVO.java | 17 + .../vo/ProductrepairRequestDetailaBaseVO.java | 2 +- ...roductrepairRequestDetailaCreateReqVO.java | 6 + ...roductrepairRequestDetailaExportReqVO.java | 2 +- .../ProductrepairRequestDetailaPageReqVO.java | 2 +- .../ProductrepairRequestMainCreateReqVO.java | 7 + .../TransferissueRecordMainController.java | 8 + .../TransferissueRecordMainCreateReqVO.java | 7 + .../ConsumeRecordDetailbConvert.java | 2 + .../ProductrepairRequestDetailaConvert.java | 1 + .../ProductrepairRequestMainConvert.java | 6 +- .../ProductrepairRequestDetailaDO.java | 2 +- .../ProductrepairRequestDetailbDO.java | 2 +- .../ProductrepairRequestMainDO.java | 9 + .../ProductrepairRequestDetailaMapper.java | 8 +- .../ProductrepairRequestDetailbMapper.java | 4 + .../ProductrepairRequestMainService.java | 54 ++- .../ProductrepairRequestMainServiceImpl.java | 437 +++++++++++++++++- .../TransferissueRecordMainService.java | 6 + .../TransferissueRecordMainServiceImpl.java | 55 ++- .../TransferissueRequestMainServiceImpl.java | 30 +- 24 files changed, 709 insertions(+), 41 deletions(-) create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestBomRespVO.java diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java index 970bbf68..ce1a791a 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java @@ -689,20 +689,26 @@ public interface ErrorCodeConstants { //制品拆解记录子ErrorCode ErrorCode PRODUCTDISMANTLE_RECORD_DETAILA_NOT_EXISTS = new ErrorCode(1_001_107_002, "制品拆解记录子不存在"); + //制品返修申请主ErrorCode ErrorCode PRODUCTREPAIR_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_108_000, "制品返修申请主不存在"); - + ErrorCode PRODUCTREPAIR_REQUEST_MAIN_TEAM_NOT_INVALID = new ErrorCode(1_000_108_001, "班组【team】无效"); + ErrorCode PRODUCTREPAIR_REQUEST_MAIN_SHIFT_NOT_INVALID = new ErrorCode(1_001_108_002, "班次【shift】无效"); + ErrorCode PRODUCTREPAIR_REQUEST_MAIN_STATUS_ERROR = new ErrorCode(1_001_102_003, "制品返修申请状态错误"); //制品返修申请子ErrorCode - ErrorCode PRODUCTREPAIR_REQUEST_DETAILA_NOT_EXISTS = new ErrorCode(1_001_108_001, "制品返修申请子不存在"); + ErrorCode PRODUCTREPAIR_REQUEST_DETAILA_NOT_EXISTS = new ErrorCode(1_001_108_101, "制品返修申请子不存在"); + ErrorCode PRODUCTREPAIR_REQUEST_DETAILA_UOM_ERROR = new ErrorCode(1_000_108_102, "记量单位【{}】错误,应该是【{}】"); + ErrorCode PRODUCTREPAIR_REQUEST_DETAILA_BALANCE_ERROR = new ErrorCode(1_000_108_102, "余额校验异常"); + ErrorCode PRODUCTREPAIR_REQUEST_DETAILA_QTY_ERROR = new ErrorCode(1_000_108_102, "返修数量【{}】不能大于库存数量【{}】"); //制品返修申请子ErrorCode - ErrorCode CONSUMERE_REQUEST_DETAILB_NOT_EXISTS = new ErrorCode(1_001_108_001, "制品返修申请子不存在"); + ErrorCode CONSUMERE_REQUEST_DETAILB_NOT_EXISTS = new ErrorCode(1_001_108_201, "制品返修申请子不存在"); + //制品返修记录主ErrorCode ErrorCode PRODUCTREPAIR_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_109_000, "制品返修记录主不存在"); //制品返修申请子ErrorCode - ErrorCode PRODUCTREPAIR_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_001_109_001, "制品返修记录子不存在"); - + ErrorCode PRODUCTREPAIR_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_001_109_101, "制品返修记录子不存在"); //制品返修申请子ErrorCode - ErrorCode CONSUME_RECORD_DETAILB_NOT_EXISTS = new ErrorCode(1_001_109_002, "制品返修记录子不存在"); + ErrorCode CONSUME_RECORD_DETAILB_NOT_EXISTS = new ErrorCode(1_001_109_202, "制品返修记录子不存在"); //制品报废申请主ErrorCode ErrorCode PRODUCTSCRAP_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_110_000, "制品报废申请主不存在"); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ProductrepairRecordDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ProductrepairRecordDetailBaseVO.java index 36068b6c..cff380cf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ProductrepairRecordDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRecord/vo/ProductrepairRecordDetailBaseVO.java @@ -106,4 +106,7 @@ public class ProductrepairRecordDetailBaseVO { @Schema(description = "任务明细ID") private String jobDetailId; + @Schema(description = "主表ID") + private String masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java index 58c53c20..6ad0bdbf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java @@ -121,4 +121,66 @@ public class ProductrepairRequestMainController { return success(result); } + @PutMapping("/close") + @Operation(summary = "关闭") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:close')") + public CommonResult closeProductrepairRequestMain(@RequestParam("id") Long id) { + Integer count = productrepairRequestMainService.closeProductrepairRequestMain(id); + return success(count > 0); + } + + @PutMapping("/reAdd") + @Operation(summary = "重新添加") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:reAdd')") + public CommonResult reAddeProductrepairRequestMain(@RequestParam("id") Long id) { + Integer count = productrepairRequestMainService.reAddeProductrepairRequestMain(id); + return success(count > 0); + } + + @PutMapping("/submit") + @Operation(summary = "提交审批") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:submit')") + public CommonResult submitProductrepairRequestMain(@RequestParam("id") Long id) { + Integer count = productrepairRequestMainService.submitProductrepairRequestMain(id); + return success(count > 0); + } + + @PutMapping("/refused") + @Operation(summary = "驳回") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:refused')") + public CommonResult refusedProductrepairRequestMain(@RequestParam("id") Long id) { + Integer count = productrepairRequestMainService.refusedProductrepairRequestMain(id); + return success(count > 0); + } + + @PutMapping("/agree") + @Operation(summary = "审批通过") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:agree')") + public CommonResult agreeProductrepairRequestMain(@RequestParam("id") Long id) { + Integer count = productrepairRequestMainService.agreeProductrepairRequestMain(id); + return success(count > 0); + } + + @PutMapping("/handle") + @Operation(summary = "处理") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:handle')") + public CommonResult handleProductrepairRequestMain(@RequestParam("id") Long id) { + Integer count = productrepairRequestMainService.handleProductrepairRequestMain(id); + return success(count > 0); + } + + @GetMapping("/bomPage") + @Operation(summary = "获取BOM接口") + @PreAuthorize("@ss.hasPermission('wms:productrepair-request-main:query')") + public CommonResult> getBomInfoPage(ProductrepairRequestDetailaPageReqVO pageVO) { + PageResult pageResult = productrepairRequestMainService.getBomInfoPage(pageVO); + return success(pageResult); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestBomRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestBomRespVO.java new file mode 100644 index 00000000..e2d894db --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestBomRespVO.java @@ -0,0 +1,17 @@ +package com.win.module.wms.controller.productrepairRequest.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 制品返修二级子表主 Response VO") +@Data +@ToString(callSuper = true) +public class ProductrepairRequestBomRespVO { + + private String itemCode; + private String uom; + private String qty; + private String version; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaBaseVO.java index a662f34b..889a44f6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaBaseVO.java @@ -26,7 +26,7 @@ public class ProductrepairRequestDetailaBaseVO { @Schema(description = "生产线代码", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "生产线代码不能为空") - private String productionlineCode; + private String productionLineCode; @Schema(description = "工位代码") private String workStationCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaCreateReqVO.java index d924a42a..9c39547a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaCreateReqVO.java @@ -1,12 +1,18 @@ package com.win.module.wms.controller.productrepairRequest.vo; +import com.win.framework.excel.core.annotations.SubObject; import lombok.*; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; + @Schema(description = "管理后台 - 制品返修申请子创建 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class ProductrepairRequestDetailaCreateReqVO extends ProductrepairRequestDetailaBaseVO { + @SubObject + @Schema(description = "二级子表数据") + private List childList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaExportReqVO.java index 213cd8d1..f29f2b44 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaExportReqVO.java @@ -19,7 +19,7 @@ public class ProductrepairRequestDetailaExportReqVO { private String fromOwnerCode; @Schema(description = "生产线代码") - private String productionlineCode; + private String productionLineCode; @Schema(description = "工位代码") private String workStationCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaPageReqVO.java index f5720316..57ffc838 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaPageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestDetailaPageReqVO.java @@ -21,7 +21,7 @@ public class ProductrepairRequestDetailaPageReqVO extends PageParam { private String fromOwnerCode; @Schema(description = "生产线代码") - private String productionlineCode; + private String productionLineCode; @Schema(description = "工位代码") private String workStationCode; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainCreateReqVO.java index dc7d01ab..89c0bbd8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainCreateReqVO.java @@ -1,12 +1,19 @@ package com.win.module.wms.controller.productrepairRequest.vo; +import com.win.framework.excel.core.annotations.SubObject; +import com.win.module.wms.controller.productreceiptRequest.vo.ProductreceiptRequestDetailCreateReqVO; import lombok.*; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; + @Schema(description = "管理后台 - 制品返修申请主创建 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class ProductrepairRequestMainCreateReqVO extends ProductrepairRequestMainBaseVO { + @SubObject + @Schema(description = "一级子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/TransferissueRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/TransferissueRecordMainController.java index ed7f6092..33eab582 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/TransferissueRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/TransferissueRecordMainController.java @@ -118,4 +118,12 @@ public class TransferissueRecordMainController { ExcelUtils.write(response, "调拨出库记录主.xls", "数据", TransferissueRecordMainExcelVO.class, datas); } + + @PostMapping("/pdaCreate") + @Operation(summary = "PDA创建调拨出库记录") + @PreAuthorize("@ss.hasPermission('wms:transferissue-record-main:create')") + public CommonResult pdaCreateTransferissueRecord(@Valid @RequestBody TransferissueRecordMainCreateReqVO createReqVO) { + Long id = transferissueRecordMainService.pdaCreateTransferissueRecord(createReqVO); + return success(id); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainCreateReqVO.java index e514de0f..8e3bcb89 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainCreateReqVO.java @@ -1,12 +1,19 @@ package com.win.module.wms.controller.transferissueRecord.vo; +import com.win.framework.excel.core.annotations.SubObject; import lombok.*; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; + @Schema(description = "管理后台 - 调拨出库记录主创建 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class TransferissueRecordMainCreateReqVO extends TransferissueRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRecord/ConsumeRecordDetailbConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRecord/ConsumeRecordDetailbConvert.java index a4578d35..b938af74 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRecord/ConsumeRecordDetailbConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRecord/ConsumeRecordDetailbConvert.java @@ -6,6 +6,7 @@ import com.win.module.wms.controller.productrepairRecord.vo.ConsumeRecordDetailb import com.win.module.wms.controller.productrepairRecord.vo.ConsumeRecordDetailbRespVO; import com.win.module.wms.controller.productrepairRecord.vo.ConsumeRecordDetailbUpdateReqVO; import com.win.module.wms.dal.dataobject.productrepairRecord.ConsumeRecordDetailbDO; +import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestDetailbDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -33,4 +34,5 @@ public interface ConsumeRecordDetailbConvert { List convertList02(List list); + ConsumeRecordDetailbDO convert(ProductrepairRequestDetailbDO productrepairRequestDetailbDO); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestDetailaConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestDetailaConvert.java index a9561481..0440f53d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestDetailaConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestDetailaConvert.java @@ -34,4 +34,5 @@ public interface ProductrepairRequestDetailaConvert { List convertList02(List list); + List convertDOList(List subList); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestMainConvert.java index 39002f50..4313d267 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/productrepairRequest/ProductrepairRequestMainConvert.java @@ -4,10 +4,7 @@ import java.util.*; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainCreateReqVO; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainExcelVO; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainRespVO; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainUpdateReqVO; +import com.win.module.wms.controller.productrepairRequest.vo.*; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestMainDO; @@ -34,4 +31,5 @@ public interface ProductrepairRequestMainConvert { List convertList02(List list); + ProductrepairRequestMainDO convert(ProductrepairRequestMainBaseVO baseVO); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailaDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailaDO.java index cf406657..feaaff87 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailaDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailaDO.java @@ -34,7 +34,7 @@ public class ProductrepairRequestDetailaDO extends BaseDO { /** * 生产线代码 */ - private String productionlineCode; + private String productionLineCode; /** * 工位代码 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailbDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailbDO.java index 0c9fe1bd..d236e82e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailbDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestDetailbDO.java @@ -12,7 +12,7 @@ import lombok.*; * * @author 超级管理员 */ -@TableName("request_consumere_detailb") +@TableName("request_consume_detailb") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestMainDO.java index 0252eb3f..79853318 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productrepairRequest/ProductrepairRequestMainDO.java @@ -125,4 +125,13 @@ public class ProductrepairRequestMainDO extends BaseDO { */ private String directCreateRecord; + /** + * 入库库存状态范围 + */ + private String inInventoryStatuses; + + /** + * 出库库存状态范围 + */ + private String outInventoryStatuses; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailaMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailaMapper.java index 449bda88..760f86db 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailaMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailaMapper.java @@ -23,7 +23,7 @@ public interface ProductrepairRequestDetailaMapper extends BaseMapperX selectPage(ProductrepairRequestDetailaPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(ProductrepairRequestDetailaDO::getFromOwnerCode, reqVO.getFromOwnerCode()) - .eqIfPresent(ProductrepairRequestDetailaDO::getProductionlineCode, reqVO.getProductionlineCode()) + .eqIfPresent(ProductrepairRequestDetailaDO::getProductionLineCode, reqVO.getProductionLineCode()) .eqIfPresent(ProductrepairRequestDetailaDO::getWorkStationCode, reqVO.getWorkStationCode()) .eqIfPresent(ProductrepairRequestDetailaDO::getProcessCode, reqVO.getProcessCode()) .eqIfPresent(ProductrepairRequestDetailaDO::getPackingNumber, reqVO.getPackingNumber()) @@ -53,7 +53,7 @@ public interface ProductrepairRequestDetailaMapper extends BaseMapperX selectList(ProductrepairRequestDetailaExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(ProductrepairRequestDetailaDO::getFromOwnerCode, reqVO.getFromOwnerCode()) - .eqIfPresent(ProductrepairRequestDetailaDO::getProductionlineCode, reqVO.getProductionlineCode()) + .eqIfPresent(ProductrepairRequestDetailaDO::getProductionLineCode, reqVO.getProductionLineCode()) .eqIfPresent(ProductrepairRequestDetailaDO::getWorkStationCode, reqVO.getWorkStationCode()) .eqIfPresent(ProductrepairRequestDetailaDO::getProcessCode, reqVO.getProcessCode()) .eqIfPresent(ProductrepairRequestDetailaDO::getPackingNumber, reqVO.getPackingNumber()) @@ -77,4 +77,8 @@ public interface ProductrepairRequestDetailaMapper extends BaseMapperX selectList(Long masterId){ + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProductrepairRequestDetailaDO::getMasterId,masterId)); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailbMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailbMapper.java index 37f87b05..cfd6e252 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailbMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productrepairRequest/ProductrepairRequestDetailbMapper.java @@ -64,4 +64,8 @@ public interface ProductrepairRequestDetailbMapper extends BaseMapperX selectList(Long masterId){ + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProductrepairRequestDetailbDO::getMasterId,masterId)); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java index 0e3e841d..5d8f81e4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java @@ -2,10 +2,7 @@ package com.win.module.wms.service.productrepairRequest; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainCreateReqVO; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainExportReqVO; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainPageReqVO; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainUpdateReqVO; +import com.win.module.wms.controller.productrepairRequest.vo.*; import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestMainDO; import javax.validation.Valid; @@ -80,4 +77,53 @@ public interface ProductrepairRequestMainService { * @return 分页列表 */ PageResult getProductrepairRequestMainSenior(CustomConditions conditions); + + /** + * 关闭 + * @param id 主键ID + * @return 更新数量 + */ + Integer closeProductrepairRequestMain(Long id); + + /** + * 重新添加 + * @param id 主键ID + * @return 更新数量 + */ + Integer reAddeProductrepairRequestMain(Long id); + + /** + * 提交审批 + * @param id 主键ID + * @return 更新数量 + */ + Integer submitProductrepairRequestMain(Long id); + + /** + * 驳回 + * @param id 主键ID + * @return 更新数量 + */ + Integer refusedProductrepairRequestMain(Long id); + + /** + * 审批通过 + * @param id 主键ID + * @return 更新数量 + */ + Integer agreeProductrepairRequestMain(Long id); + + /** + * 处理 + * @param id 主键ID + * @return 更新数量 + */ + Integer handleProductrepairRequestMain(Long id); + + /** + * 分页返回数据 + * @param pageVO + * @return + */ + PageResult getBomInfoPage(ProductrepairRequestDetailaPageReqVO pageVO); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java index 32c20270..8b0fa867 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java @@ -1,24 +1,75 @@ package com.win.module.wms.service.productrepairRequest; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainCreateReqVO; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainExportReqVO; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainPageReqVO; -import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestMainUpdateReqVO; +import com.win.framework.mybatis.core.util.MyBatisUtils; +import com.win.module.infra.api.trends.TrendsApi; +import com.win.module.infra.enums.TrendsTypeEnum; +import com.win.module.system.api.serialnumber.SerialNumberApi; +import com.win.module.system.api.user.AdminUserApi; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.bom.vo.BomExportReqVO; +import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordDetailCreateReqVO; +import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainCreateReqVO; +import com.win.module.wms.controller.productrepairRequest.vo.*; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.convert.productrepairRecord.ConsumeRecordDetailbConvert; +import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordDetailConvert; +import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordMainConvert; +import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestDetailaConvert; +import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestDetailbConvert; import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestMainConvert; -import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; +import com.win.module.wms.dal.dataobject.balance.BalanceDO; +import com.win.module.wms.dal.dataobject.bom.BomDO; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; +import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; +import com.win.module.wms.dal.dataobject.productreceiptRequest.ProductreceiptRequestMainDO; +import com.win.module.wms.dal.dataobject.productrepairRecord.ConsumeRecordDetailbDO; +import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordDetailDO; +import com.win.module.wms.dal.dataobject.productrepairRecord.ProductrepairRecordMainDO; +import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestDetailaDO; +import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestDetailbDO; import com.win.module.wms.dal.dataobject.productrepairRequest.ProductrepairRequestMainDO; +import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; +import com.win.module.wms.dal.dataobject.shift.ShiftDO; +import com.win.module.wms.dal.dataobject.team.TeamDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; +import com.win.module.wms.dal.mysql.productrepairRecord.ConsumeRecordDetailbMapper; +import com.win.module.wms.dal.mysql.productrepairRecord.ProductrepairRecordDetailMapper; +import com.win.module.wms.dal.mysql.productrepairRecord.ProductrepairRecordMainMapper; +import com.win.module.wms.dal.mysql.productrepairRequest.ProductrepairRequestDetailaMapper; +import com.win.module.wms.dal.mysql.productrepairRequest.ProductrepairRequestDetailbMapper; import com.win.module.wms.dal.mysql.productrepairRequest.ProductrepairRequestMainMapper; +import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.enums.request.RequestStatusState; +import com.win.module.wms.service.itembasic.ItembasicService; +import com.win.module.wms.service.productionline.ProductionlineService; +import com.win.module.wms.service.recordsetting.RecordsettingService; +import com.win.module.wms.service.requestsetting.RequestsettingService; +import com.win.module.wms.service.shift.ShiftService; +import com.win.module.wms.service.team.TeamService; +import com.win.module.wms.service.transaction.TransactionService; +import com.win.module.wms.service.workshop.WorkshopService; +import com.win.module.wms.service.workstation.WorkstationService; +import com.win.module.wms.util.JobUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; -import java.util.Collection; -import java.util.List; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.*; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.PRODUCTREPAIR_REQUEST_MAIN_NOT_EXISTS; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; +import static com.win.module.wms.enums.ErrorCodeConstants.*; /** * 制品返修申请主 Service 实现类 @@ -31,23 +82,258 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest @Resource private ProductrepairRequestMainMapper productrepairRequestMainMapper; + @Resource + private RequestsettingService requestsettingService; + @Resource + private JobUtils jobUtils; + @Resource + private WorkshopService workshopService; + @Resource + private TeamService teamService; + @Resource + private ShiftService shiftService; + @Resource + private ProductionlineService productionlineService; + @Resource + private ItembasicService itembasicService; + @Resource + private WorkstationService workstationService; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private AdminUserApi userApi; + @Resource + private ProductrepairRequestDetailaMapper productrepairRequestDetailaMapper; + @Resource + private ProductrepairRequestDetailbMapper productrepairRequestDetailbMapper; + @Resource + private RecordsettingService recordsettingService; + @Resource + private ProductrepairRecordMainMapper productrepairRecordMainMapper; + @Resource + private ProductrepairRecordDetailMapper productrepairRecordDetailMapper; + @Resource + private ConsumeRecordDetailbMapper consumeRecordDetailbMapper; + @Resource + private TrendsApi trendsApi; + @Resource + private TransactionService transactionService; @Override public Long createProductrepairRequestMain(ProductrepairRequestMainCreateReqVO createReqVO) { - // 插入 - ProductrepairRequestMainDO productrepairRequestMain = ProductrepairRequestMainConvert.INSTANCE.convert(createReqVO); - productrepairRequestMainMapper.insert(productrepairRequestMain); - // 返回 - return productrepairRequestMain.getId(); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("ProductRepairRequest"); + ProductrepairRequestMainDO productrepairRequestMainDO = validatorToCreate(createReqVO,requestsettingDO); + if(RequestStatusEnum.HANDLING.getCode().equals(productrepairRequestMainDO.getStatus())) { + List detailaDOList = productrepairRequestDetailaMapper.selectList(productrepairRequestMainDO.getId()); + this.generateJob(productrepairRequestMainDO, detailaDOList); + } + trendsApi.createTrends(productrepairRequestMainDO.getId(), "ProductRepairRequest", "增加了制品返修申请", TrendsTypeEnum.CREATE); + return productrepairRequestMainDO.getId(); + } + + private void generateJob(ProductrepairRequestMainDO mainDO, List detailaDOList) { + //跳过任务直接生成记录 + if("TRUE".equals(mainDO.getDirectCreateRecord())) { + ProductrepairRecordMainCreateReqVO productrepairRecordMainCreateReqVO = new ProductrepairRecordMainCreateReqVO(); + BeanUtils.copyProperties(mainDO, productrepairRecordMainCreateReqVO); + productrepairRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber()); + String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_RECEIPT_RECORD.getCode()); + productrepairRecordMainCreateReqVO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductRepairRecord"); + productrepairRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); + productrepairRecordMainCreateReqVO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + productrepairRecordMainCreateReqVO.setInTransactionType(businesstypeDO.getInTransactionType()); + String interFaceType = recordsettingService.selectRecordsettingExist("ProductRepairRecord").getInterfaceType(); + productrepairRecordMainCreateReqVO.setInterfaceType(interFaceType); + productrepairRecordMainCreateReqVO.setExecuteTime(LocalDateTime.now()); + productrepairRecordMainCreateReqVO.setActiveDate(LocalDateTime.now()); + productrepairRecordMainCreateReqVO.setAvailable("TRUE"); + productrepairRecordMainCreateReqVO.setDueTime(mainDO.getDueTime()); + productrepairRecordMainCreateReqVO.setId(null); + productrepairRecordMainCreateReqVO.setCreator(null); + productrepairRecordMainCreateReqVO.setCreateTime(null); + ProductrepairRecordMainDO productrepairRecordMainDO = ProductrepairRecordMainConvert.INSTANCE.convert(productrepairRecordMainCreateReqVO); + productrepairRecordMainMapper.insert(productrepairRecordMainDO); + + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + for(ProductrepairRequestDetailaDO productrepairRequestDetailaDO : detailaDOList) { + ProductrepairRecordDetailCreateReqVO productrepairRecordDetailCreateReqVO = new ProductrepairRecordDetailCreateReqVO(); + BeanUtils.copyProperties(productrepairRequestDetailaDO, productrepairRecordDetailCreateReqVO); + productrepairRecordDetailCreateReqVO.setNumber(number); + productrepairRecordDetailCreateReqVO.setMasterId(String.valueOf(productrepairRecordMainDO.getId())); + productrepairRecordDetailCreateReqVO.setInventoryStatus(productrepairRequestDetailaDO.getInventoryStatus()); + ProductrepairRecordDetailDO productrepairRecordDetailDO = ProductrepairRecordDetailConvert.INSTANCE.convert(productrepairRecordDetailCreateReqVO); + productrepairRecordDetailMapper.insert(productrepairRecordDetailDO); + // 查询二级子表数据 + List productrepairRequestDetailbDOList = productrepairRequestDetailbMapper.selectList(productrepairRequestDetailaDO.getId()); + for(ProductrepairRequestDetailbDO productrepairRequestDetailbDO:productrepairRequestDetailbDOList){ + ConsumeRecordDetailbDO consumeRecordDetailbDO = ConsumeRecordDetailbConvert.INSTANCE.convert(productrepairRequestDetailbDO); + consumeRecordDetailbDO.setMasterId(String.valueOf(productrepairRecordDetailDO.getId())); + consumeRecordDetailbMapper.insert(consumeRecordDetailbDO); + } + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(productrepairRecordDetailDO, transactionCreateReqVO); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(productrepairRecordMainDO.getBusinessType()); + transactionCreateReqVO.setOwnerCode(productrepairRecordDetailDO.getFromOwnerCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVO.setPackingNumber(productrepairRecordDetailDO.getPackingNumber()); + transactionCreateReqVO.setBatch(productrepairRecordDetailDO.getBatch()); + transactionCreateReqVO.setContainerNumber(productrepairRecordDetailDO.getContainerNumber()); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVO.setWarehouseCode(productrepairRecordMainDO.getFromWarehouseCode()); + transactionCreateReqVO.setLocationCode(productrepairRecordDetailDO.getToLocationCode()); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + } + } + + private ProductrepairRequestMainDO validatorToCreate(ProductrepairRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { + // DBT——>DBT3("ProductRepairRequest") + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductRepairRequest"); + ProductrepairRequestMainDO productrepairRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO); + // 子表处理逻辑 ProductrepairRequestDetailaDO + List subList = createReqVO.getSubList(); + for(ProductrepairRequestDetailaCreateReqVO productrepairRequestDetailaCreateReqVO:subList){ + validateDetailMethod(productrepairRequestMainDO, productrepairRequestDetailaCreateReqVO,businesstypeDO); + } + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); + productrepairRequestMainDO.setNumber(number); + productrepairRequestMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString()); + productrepairRequestMainMapper.insert(productrepairRequestMainDO); + for(ProductrepairRequestDetailaCreateReqVO productrepairRequestDetailaCreateReqVO:subList){ + ProductrepairRequestDetailaDO productrepairRequestDetailaDO = ProductrepairRequestDetailaConvert.INSTANCE.convert(productrepairRequestDetailaCreateReqVO); + productrepairRequestDetailaDO.setMasterId(productrepairRequestMainDO.getId()); + productrepairRequestDetailaDO.setNumber(productrepairRequestMainDO.getNumber()); + productrepairRequestDetailaDO.setInventoryStatus(businesstypeDO.getOutInventoryStatuses()); + productrepairRequestDetailaMapper.insert(productrepairRequestDetailaDO); + List consumereDetailbList = productrepairRequestDetailaCreateReqVO.getChildList(); + List childList = new ArrayList<>(); + for(ProductrepairRequestDetailbCreateReqVO productrepairRequestDetailbCreateReqVO:consumereDetailbList){ + ProductrepairRequestDetailbDO productrepairRequestDetailbDO = ProductrepairRequestDetailbConvert.INSTANCE.convert(productrepairRequestDetailbCreateReqVO); + productrepairRequestDetailbDO.setMasterId(productrepairRequestDetailaDO.getId()); + childList.add(productrepairRequestDetailbDO); + } + productrepairRequestDetailbMapper.insertBatch(childList); + } + return productrepairRequestMainDO; + } + + private void validateDetailMethod(ProductrepairRequestMainDO mainDO, ProductrepairRequestDetailaBaseVO detailDo,BusinesstypeDO businesstypeDO) { + // 校验--生产线基本信息 + ProductionlineDO productionlineDO = productionlineService.productionLineCodeExist(detailDo.getProductionLineCode()); + detailDo.setFromLocationCode(productionlineDO.getRawLocationCode()); + // 校验--物品基本信息 + ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode()); + // 赋值物品Item相关信息 + detailDo.setItemDesc1(itembasicDO.getDesc1()); + detailDo.setItemDesc2(itembasicDO.getDesc2()); + detailDo.setItemName(itembasicDO.getName()); + detailDo.setProjectCode(itembasicDO.getProject()); + if (!itembasicDO.getUom().equals(detailDo.getUom())) { + // 提示:记量单位【uom】错误,应该是【item.uom】 + throw exception(PRODUCTREPAIR_REQUEST_DETAILA_UOM_ERROR,detailDo.getUom(),itembasicDO.getUom()); + } + // 校验--工位基础信息 + if(StringUtils.isNotEmpty(detailDo.getWorkStationCode())){ + WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailDo.getWorkStationCode(), mainDO.getWorkshopCode(), detailDo.getProductionLineCode()); + detailDo.setFromLocationCode(workstationDO.getRawLocationCode()); + } + // 校验--库存余额 TB——>TB1 + validateBalance(detailDo); + // 校验--物品类型 DBT——>DBT2——>IT + jobUtils.selectItembasicExist(itembasicDO.getType(),businesstypeDO); + // 校验--来源库位 DBT——>DBT2——>LO + jobUtils.ifInToLocationType(detailDo.getFromLocationCode(), businesstypeDO); + // 校验--库存状态 DBT——>DBT2——>ISO + jobUtils.ifOutInventoryStatuses(detailDo.getInventoryStatus(),businesstypeDO); + } + + private void validateBalance(ProductrepairRequestDetailaBaseVO detailDo) { + String inventoryStatus = detailDo.getInventoryStatus(); + String[] inventoryArray = inventoryStatus.split(","); + List inventorystatus = Arrays.asList(inventoryArray); + List list = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(),inventorystatus); + if(list != null && list.size() > 0){ + BalanceDO balanceDO = list.get(0); + if(balanceDO.getQty().compareTo(detailDo.getQty()) < 0){ + // 返修数量【qty】不能大于库存数量【banlance.qty】 + throw exception(PRODUCTREPAIR_REQUEST_DETAILA_QTY_ERROR,detailDo.getQty(),balanceDO.getQty()); + } + }else { + // 余额校验异常 + throw exception(PRODUCTREPAIR_REQUEST_DETAILA_BALANCE_ERROR); + } + } + + private ProductrepairRequestMainDO validateMainMethod(ProductrepairRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) { + ProductrepairRequestMainDO productrepairRequestMainDO = ProductrepairRequestMainConvert.INSTANCE.convert(baseVO); + // 校验--车间 + workshopService.selectWorkshopExist(productrepairRequestMainDO.getWorkshopCode()); + // 校验--班组 + if(StringUtils.isNotEmpty(productrepairRequestMainDO.getTeam())){ + TeamDO teamDO = teamService.selectTeamExist(productrepairRequestMainDO.getTeam()); + if(teamDO == null){ + // 提示:班组【team】无效 + throw exception(PRODUCTREPAIR_REQUEST_MAIN_TEAM_NOT_INVALID); + } + } + // 校验--班次 + if(StringUtils.isNotEmpty(productrepairRequestMainDO.getShift())){ + ShiftDO shiftDO = shiftService.selectShiftExist(productrepairRequestMainDO.getShift()); + if(shiftDO == null){ + // 提示:班次【shift】无效 + throw exception(PRODUCTREPAIR_REQUEST_MAIN_SHIFT_NOT_INVALID); + } + } + // 校验--截止时间 + validordurtime(productrepairRequestMainDO.getDueTime()); + // 赋值逻辑 + RequestStatusState requestStatusState = new RequestStatusState(); + requestStatusState.newObject(productrepairRequestMainDO.getAutoCommit(), productrepairRequestMainDO.getAutoAgree(), productrepairRequestMainDO.getAutoExecute()); + productrepairRequestMainDO.setStatus(requestStatusState.getState().getCode()); + productrepairRequestMainDO.setRequestTime(LocalDateTime.now()); + productrepairRequestMainDO.setCreateTime(LocalDateTime.now()); + productrepairRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree()); + productrepairRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit()); + productrepairRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute()); + productrepairRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); + productrepairRequestMainDO.setBusinessType(businesstypeDO.getCode()); + productrepairRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); + productrepairRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); + productrepairRequestMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());//入库库存状态范围 + productrepairRequestMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses());//出库库存状态范围 + return productrepairRequestMainDO; } + private void validordurtime(LocalDateTime durtime){ + if(!durtime.isAfter(LocalDateTime.now())){ + throw exception(TIME_AFTER,LocalDateTime.now(),durtime); + } + } + + @Transactional @Override public void updateProductrepairRequestMain(ProductrepairRequestMainUpdateReqVO updateReqVO) { // 校验存在 validateProductrepairRequestMainExists(updateReqVO.getId()); // 更新 ProductrepairRequestMainDO updateObj = ProductrepairRequestMainConvert.INSTANCE.convert(updateReqVO); + if(RequestStatusEnum.HANDLING.getCode().equals(updateObj.getStatus())) { + List detailaDOList = productrepairRequestDetailaMapper.selectList(updateObj.getId()); + this.generateJob(updateObj, detailaDOList); + } productrepairRequestMainMapper.updateById(updateObj); + trendsApi.createTrends(updateObj.getId(), "ProductRepairRequest", "更新了制品返修申请", TrendsTypeEnum.UPDATE); } @Override @@ -58,10 +344,12 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest productrepairRequestMainMapper.deleteById(id); } - private void validateProductrepairRequestMainExists(Long id) { - if (productrepairRequestMainMapper.selectById(id) == null) { + private ProductrepairRequestMainDO validateProductrepairRequestMainExists(Long id) { + ProductrepairRequestMainDO productrepairRequestMainDO = productrepairRequestMainMapper.selectById(id); + if (productrepairRequestMainDO == null) { throw exception(PRODUCTREPAIR_REQUEST_MAIN_NOT_EXISTS); } + return productrepairRequestMainDO; } @Override @@ -88,4 +376,123 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest public PageResult getProductrepairRequestMainSenior(CustomConditions conditions) { return productrepairRequestMainMapper.selectSenior(conditions); } + + @Transactional + @Override + public Integer closeProductrepairRequestMain(Long id) { + ProductrepairRequestMainDO mainDO = validateProductrepairRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.close(); + if(!flag) { + throw new ServiceException(PRODUCTREPAIR_REQUEST_MAIN_STATUS_ERROR); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //增加操作记录 + trendsApi.createTrends(id, "ProductRepairRequest", "关闭了制品返修申请", TrendsTypeEnum.UPDATE); + return productrepairRequestMainMapper.updateById(mainDO); + } + + @Transactional + @Override + public Integer reAddeProductrepairRequestMain(Long id) { + ProductrepairRequestMainDO mainDO = validateProductrepairRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.reAdd(); + if(!flag) { + throw new ServiceException(PRODUCTREPAIR_REQUEST_MAIN_STATUS_ERROR); + } + mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录 + trendsApi.createTrends(id, "ProductRepairRequest", "打开了制品返修申请", TrendsTypeEnum.UPDATE); + return productrepairRequestMainMapper.updateById(mainDO); + } + + @Transactional + @Override + public Integer submitProductrepairRequestMain(Long id) { + ProductrepairRequestMainDO mainDO = validateProductrepairRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute()); + if(!flag) { + throw new ServiceException(PRODUCTREPAIR_REQUEST_MAIN_STATUS_ERROR); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { + List detailaDOList = productrepairRequestDetailaMapper.selectList(mainDO.getId()); + this.generateJob(mainDO, detailaDOList); + } + trendsApi.createTrends(id, "ProductRepairRequest", "提交了制品返修申请", TrendsTypeEnum.UPDATE); + return productrepairRequestMainMapper.updateById(mainDO); + } + + @Transactional + @Override + public Integer refusedProductrepairRequestMain(Long id) { + ProductrepairRequestMainDO mainDO = validateProductrepairRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.refused(); + if(!flag) { + throw new ServiceException(PRODUCTREPAIR_REQUEST_MAIN_STATUS_ERROR); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + trendsApi.createTrends(id, "ProductRepairRequest", "驳回了制品返修申请", TrendsTypeEnum.UPDATE); + return productrepairRequestMainMapper.updateById(mainDO); + } + + @Transactional + @Override + public Integer agreeProductrepairRequestMain(Long id) { + ProductrepairRequestMainDO mainDO = validateProductrepairRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.agree(mainDO.getAutoAgree()); + if(!flag) { + throw new ServiceException(PRODUCTREPAIR_REQUEST_MAIN_STATUS_ERROR); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { + List detailaDOList = productrepairRequestDetailaMapper.selectList(mainDO.getId()); + this.generateJob(mainDO, detailaDOList); + } + trendsApi.createTrends(id, "ProductRepairRequest", "审批通过了制品返修申请", TrendsTypeEnum.UPDATE); + return productrepairRequestMainMapper.updateById(mainDO); + } + + @Transactional + @Override + public Integer handleProductrepairRequestMain(Long id) { + ProductrepairRequestMainDO mainDO = validateProductrepairRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.handle(); + if(!flag) { + throw new ServiceException(PRODUCTREPAIR_REQUEST_MAIN_STATUS_ERROR); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用执行方法 + List detailaDOList = productrepairRequestDetailaMapper.selectList(mainDO.getId()); + this.generateJob(mainDO, detailaDOList); + trendsApi.createTrends(id, "ProductRepairRequest", "执行了制品返修申请", TrendsTypeEnum.UPDATE); + return productrepairRequestMainMapper.updateById(mainDO); + } + + @Override + public PageResult getBomInfoPage(ProductrepairRequestDetailaPageReqVO pageVO) { + IPage myPage = MyBatisUtils.buildPage(pageVO); + List> list = jobUtils.bomDismantleList(pageVO.getItemCode(),""); + List resultList = new ArrayList<>(); + for(Map map:list){ + ProductrepairRequestBomRespVO productrepairRequestBomRespVO = new ProductrepairRequestBomRespVO(); + productrepairRequestBomRespVO.setItemCode(map.get("itemCode") != null?map.get("itemCode").toString():""); + productrepairRequestBomRespVO.setUom(map.get("uom") != null?map.get("uom").toString():""); + productrepairRequestBomRespVO.setQty(map.get("qty") != null?map.get("qty").toString():""); + productrepairRequestBomRespVO.setVersion(map.get("version") != null?map.get("version").toString():""); + resultList.add(productrepairRequestBomRespVO); + } + myPage.setRecords(resultList); + myPage.setTotal(resultList.size()); + PageResult pageResult = new PageResult(myPage.getRecords(),myPage.getTotal()); + return pageResult; + } + + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainService.java index 51ac1320..c0c6d240 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainService.java @@ -80,4 +80,10 @@ public interface TransferissueRecordMainService { */ List getTransferissueRecordMainList(TransferissueRecordMainExportReqVO exportReqVO); + /** + * PDA创建记录 + * @param createReqVO 记录请参数 + * @return 主表ID + */ + Long pdaCreateTransferissueRecord(TransferissueRecordMainCreateReqVO createReqVO); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java index 75909bbf..82d926f7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java @@ -2,17 +2,24 @@ package com.win.module.wms.service.transferissueRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainCreateReqVO; -import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainExportReqVO; -import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainPageReqVO; -import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainUpdateReqVO; +import com.win.module.system.api.serialnumber.SerialNumberApi; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.transferissueRecord.vo.*; +import com.win.module.wms.convert.transferissueRecord.TransferissueRecordDetailConvert; import com.win.module.wms.convert.transferissueRecord.TransferissueRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordDetailDO; import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordMainDO; +import com.win.module.wms.dal.mysql.transferissueRecord.TransferissueRecordDetailMapper; import com.win.module.wms.dal.mysql.transferissueRecord.TransferissueRecordMainMapper; +import com.win.module.wms.service.recordsetting.RecordsettingService; +import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.Collection; import java.util.List; @@ -30,6 +37,14 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa @Resource private TransferissueRecordMainMapper transferissueRecordMainMapper; + @Resource + private JobUtils jobUtils; + @Resource + private RecordsettingService recordsettingService; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private TransferissueRecordDetailMapper transferissueRecordDetailMapper; @Override public Long createTransferissueRecordMain(TransferissueRecordMainCreateReqVO createReqVO) { @@ -86,4 +101,36 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa return transferissueRecordMainMapper.selectList(exportReqVO); } + @Transactional + @Override + public Long pdaCreateTransferissueRecord(TransferissueRecordMainCreateReqVO createReqVO) { + TransferissueRecordMainDO transferissueRecordMainDO = TransferissueRecordMainConvert.INSTANCE.convert(createReqVO); + String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_DELIVER_RECORD.getCode()); + transferissueRecordMainDO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRecord"); + transferissueRecordMainDO.setBusinessType(businesstypeDO.getCode()); + transferissueRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + transferissueRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType()); + String interFaceType = recordsettingService.selectRecordsettingExist("TransferDeliverRecord").getInterfaceType(); + transferissueRecordMainDO.setInterfaceType(interFaceType); + transferissueRecordMainDO.setExecuteTime(LocalDateTime.now()); + transferissueRecordMainDO.setActiveDate(LocalDateTime.now()); + transferissueRecordMainDO.setAvailable("TRUE"); + transferissueRecordMainDO.setDueTime(null); + transferissueRecordMainDO.setId(null); + transferissueRecordMainDO.setCreator(null); + transferissueRecordMainDO.setCreateTime(null); + transferissueRecordMainMapper.insert(transferissueRecordMainDO); + + List subList = createReqVO.getSubList(); + for(TransferissueRecordDetailCreateReqVO transferissueRecordDetailCreateReqVO : subList) { + TransferissueRecordDetailDO recordDetailDO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO); + recordDetailDO.setNumber(number); + recordDetailDO.setMasterId(String.valueOf(transferissueRecordMainDO.getId())); + transferissueRecordDetailMapper.insert(recordDetailDO); + } + return transferissueRecordMainDO.getId(); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java index 3a7fe43e..3a33cf1c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestMainServiceImpl.java @@ -12,6 +12,7 @@ import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.expectin.vo.ExpectinCreateReqVO; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordDetailCreateReqVO; import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainCreateReqVO; import com.win.module.wms.controller.transferissueRequest.vo.*; @@ -29,6 +30,7 @@ import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.jobsetting.JobsettingDO; import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobDetailDO; import com.win.module.wms.dal.dataobject.transferissueJob.TransferissueJobMainDO; import com.win.module.wms.dal.dataobject.transferissueRecord.TransferissueRecordMainDO; @@ -49,6 +51,7 @@ import com.win.module.wms.service.jobsetting.JobsettingService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.recordsetting.RecordsettingService; import com.win.module.wms.service.requestsetting.RequestsettingService; +import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.service.transferreceiptRequest.TransferreceiptRequestMainService; import com.win.module.wms.util.JobUtils; import lombok.extern.slf4j.Slf4j; @@ -112,7 +115,8 @@ public class TransferissueRequestMainServiceImpl implements TransferissueRequest private RecordsettingService recordsettingService; @Resource private TransferreceiptRequestMainService transferreceiptRequestMainService; - + @Resource + private TransactionService transactionService; @Transactional @Override @@ -598,6 +602,9 @@ public class TransferissueRequestMainServiceImpl implements TransferissueRequest TransferissueRecordMainDO transferissueRecordMainDO = TransferissueRecordMainConvert.INSTANCE.convert(transferissueRecordMainCreateReqVO); transferissueRecordMainMapper.insert(transferissueRecordMainDO); + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + List transferreceiptReqSubList = new ArrayList<>(); for(TransferissueRequestDetailDO transferissueRequestDetailDO : detailDOList) { TransferissueRecordDetailCreateReqVO transferissueRecordDetailCreateReqVO = new TransferissueRecordDetailCreateReqVO(); @@ -615,6 +622,25 @@ public class TransferissueRequestMainServiceImpl implements TransferissueRequest transferissueRecordDetailCreateReqVO.setFromAreaCode(transferissueRequestDetailDO.getFromLocationCode()); transferissueRecordDetailMapper.insert(TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO)); + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(transferissueRecordDetailCreateReqVO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(transferissueRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(transferissueRecordDetailCreateReqVO.getToLocationCode()); + transactionCreateReqVO.setOwnerCode(transferissueRecordDetailCreateReqVO.getFromOwnerCode()); + transactionCreateReqVO.setPackingNumber(transferissueRequestDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(transferissueRequestDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(transferissueRecordMainDO.getToWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); + // 调拨入库数据拼装 TransferreceiptRequestDetailCreateReqVO transferreceiptRequestDetailCreateReqVO = new TransferreceiptRequestDetailCreateReqVO(); BeanUtils.copyProperties(transferissueRequestDetailDO,transferreceiptRequestDetailCreateReqVO); @@ -637,6 +663,8 @@ public class TransferissueRequestMainServiceImpl implements TransferissueRequest createReqVO.setSubList(transferreceiptReqSubList); log.info("请求参数查看:{}",createReqVO); transferreceiptRequestMainService.createTransferreceiptRequestMain(createReqVO); + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); return; } // 任务 主表数据创建