diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java index bb51bde3..4b73ecd2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java @@ -3,6 +3,9 @@ package com.win.module.wms.controller.index; import com.win.framework.common.pojo.CommonResult; import com.win.module.wms.service.purchase.PurchaseMainService; import com.win.module.wms.service.purchasePlan.PurchasePlanMainService; +import com.win.module.wms.service.purchaseclaimRecord.PurchaseclaimRecordDetailService; +import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordDetailService; +import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordDetailService; import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -29,6 +32,12 @@ public class IndexController { private PurchasePlanMainService purchasePlanMainService; @Resource private SupplierdeliverRecordMainService supplierdeliverRecordMainService; + @Resource + private SupplierdeliverRecordDetailService supplierdeliverRecordDetailService; + @Resource + private PurchasereturnRecordDetailService purchasereturnRecordDetailService; + @Resource + private PurchaseclaimRecordDetailService purchaseclaimRecordDetailService; @GetMapping("/index") @Operation(summary = "开放订单数") @@ -41,6 +50,9 @@ public class IndexController { dataMap.put("takeSupplierdeliverCount", supplierdeliverRecordMainService.getSupplierdeliverCount(true));//已收货订单数 dataMap.put("notTakeSupplierdeliverCount", supplierdeliverRecordMainService.getSupplierdeliverCount(false));//未收货订单数 dataMap.put("supplierdeliverMonthCount", supplierdeliverRecordMainService.getSupplierdeliverMonthCount());//本月发货单趋势 + dataMap.put("supplierdeliverItemMonthTop", supplierdeliverRecordDetailService.getSupplierdeliverItemMonthTop());//本月发货零件TOP10 + dataMap.put("purchasereturnRecordDetailMonth", purchasereturnRecordDetailService.getPurchasereturnRecordDetailMonth());//本月退货明细 + dataMap.put("purchaseclaimRecordDetailMonth", purchaseclaimRecordDetailService.getPurchaseclaimRecordDetailMonth());//本月索赔明细 return success(dataMap); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java index d75d7b91..e43b20c8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/ScrapRecordMainController.java @@ -43,7 +43,7 @@ public class ScrapRecordMainController { @PostMapping("/create") @Operation(summary = "创建报废出库记录主") @PreAuthorize("@ss.hasPermission('wms:scrap-record-main:create')") - public CommonResult createScrapRecordMain(@Valid @RequestBody ScrapRecordMainCreateReqVO createReqVO) { + public CommonResult createScrapRecordMain(@Valid @RequestBody ScrapRecordMainCreateReqVO createReqVO) { return success(scrapRecordMainService.createScrapRecordMain(createReqVO)); } @@ -115,4 +115,12 @@ public class ScrapRecordMainController { ExcelUtils.write(response, "报废出库记录主.xls", "数据", ScrapRecordMainExcelVO.class, datas); } + @GetMapping("/getDetailInfoById") + @Operation(summary = "获取记录根据ID") + @PreAuthorize("@ss.hasPermission('wms:scrap-record-main:query')") + public CommonResult getDetailInfoById(@RequestParam("id") Long id) { + ScrapRecordMainRespVO scrapRecordMainRespVO = scrapRecordMainService.getDetailInfoById(id); + return success(scrapRecordMainRespVO); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailExportReqVO.java index 6483b012..bda79c5b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordDetailExportReqVO.java @@ -92,6 +92,6 @@ public class ScrapRecordDetailExportReqVO { private String jobDetailId; @Schema(description = "主键ID") - private String masterId; + private Long masterId; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainCreateReqVO.java index e063e37b..94823503 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainCreateReqVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.scrapRecord.vo; -import lombok.*; +import com.win.framework.excel.core.annotations.SubObject; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; @Schema(description = "管理后台 - 报废出库记录主创建 Request VO") @Data @@ -9,4 +14,7 @@ import io.swagger.v3.oas.annotations.media.Schema; @ToString(callSuper = true) public class ScrapRecordMainCreateReqVO extends ScrapRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainRespVO.java index 290bacfb..d824e306 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/scrapRecord/vo/ScrapRecordMainRespVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.scrapRecord.vo; +import com.win.framework.excel.core.annotations.SubObject; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; @Schema(description = "管理后台 - 报废出库记录主 Response VO") @Data @@ -9,4 +14,7 @@ import lombok.*; @ToString(callSuper = true) public class ScrapRecordMainRespVO extends ScrapRecordMainBaseVO { + @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/vo/TransferissueRecordMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainBaseVO.java index 28243945..32666b57 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/vo/TransferissueRecordMainBaseVO.java @@ -48,7 +48,6 @@ public class TransferissueRecordMainBaseVO { private String toWarehouseCode; @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") private String code; @Schema(description = "接口类型", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/TransferreceiptRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/TransferreceiptRecordMainController.java index e8550e93..76f52034 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/TransferreceiptRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/TransferreceiptRecordMainController.java @@ -1,34 +1,32 @@ package com.win.module.wms.controller.transferreceiptRecord; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.wms.controller.transferreceiptRecord.vo.*; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; +import com.win.module.wms.convert.transferreceiptRecord.TransferreceiptRecordMainConvert; +import com.win.module.wms.dal.dataobject.transferreceiptRecord.TransferreceiptRecordMainDO; +import com.win.module.wms.service.transferreceiptRecord.TransferreceiptRecordMainService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; +import java.util.Collection; +import java.util.List; -import com.win.framework.common.pojo.PageResult; -import com.win.framework.common.pojo.CommonResult; import static com.win.framework.common.pojo.CommonResult.success; - -import com.win.framework.excel.core.util.ExcelUtils; - -import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; - -import com.win.module.wms.dal.dataobject.transferreceiptRecord.TransferreceiptRecordMainDO; -import com.win.module.wms.convert.transferreceiptRecord.TransferreceiptRecordMainConvert; -import com.win.module.wms.service.transferreceiptRecord.TransferreceiptRecordMainService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 调拨入库记录主") @RestController @@ -123,4 +121,12 @@ public class TransferreceiptRecordMainController { ExcelUtils.write(response, "调拨入库记录主.xls", "数据", TransferreceiptRecordMainExcelVO.class, datas); } + @GetMapping("/getDetailInfoById") + @Operation(summary = "获取记录根据ID") + @PreAuthorize("@ss.hasPermission('wms:transferreceipt-record-main:query')") + public CommonResult getDetailInfoById(@RequestParam("id") Long id) { + TransferreceiptRecordMainRespVO transferreceiptRecordMainRespVO = transferreceiptRecordMainService.getDetailInfoById(id); + return success(transferreceiptRecordMainRespVO); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordDetailExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordDetailExportReqVO.java index 4ab8c938..dd660356 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordDetailExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordDetailExportReqVO.java @@ -104,6 +104,6 @@ public class TransferreceiptRecordDetailExportReqVO { private String toBatch; @Schema(description = "主键ID") - private String masterId; + private Long masterId; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordMainBaseVO.java index 45a8347e..8ff1b30f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordMainBaseVO.java @@ -24,7 +24,6 @@ public class TransferreceiptRecordMainBaseVO { private Long id; @Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "申请单号不能为空") private String requestNumber; @Schema(description = "任务单号") @@ -51,20 +50,16 @@ public class TransferreceiptRecordMainBaseVO { private String toWarehouseCode; @Schema(description = "出库事务类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "出库事务类型不能为空") private String outTransactionType; @Schema(description = "入库事务类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "入库事务类型不能为空") private String inTransactionType; @Schema(description = "执行时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "执行时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime executeTime; @Schema(description = "生效日期", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "生效日期不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime activeDate; @@ -77,35 +72,28 @@ public class TransferreceiptRecordMainBaseVO { private LocalDateTime dueTime; @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "部门不能为空") private String departmentCode; @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") private String code; @Schema(description = "接口类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "接口类型不能为空") private String interfaceType; @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "单据号不能为空") private String number; @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "业务类型不能为空") private String businessType; @Schema(description = "备注") private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime createTime; @Schema(description = "创建者Id", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建者Id不能为空") private String creator; @Schema(description = "从库位类型范围") @@ -124,7 +112,6 @@ public class TransferreceiptRecordMainBaseVO { private String toAreaCodes; @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") private String available; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordMainRespVO.java index 5e02ffe2..f374b4a4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRecord/vo/TransferreceiptRecordMainRespVO.java @@ -1,12 +1,19 @@ package com.win.module.wms.controller.transferreceiptRecord.vo; +import com.win.framework.excel.core.annotations.SubObject; +import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordDetailRespVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.util.List; + @Schema(description = "管理后台 - 调拨入库记录主 Response VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class TransferreceiptRecordMainRespVO extends TransferreceiptRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java index 1f9d3e39..0ae90b3a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferreceiptRequest/vo/TransferreceiptRequestMainBaseVO.java @@ -43,7 +43,6 @@ public class TransferreceiptRequestMainBaseVO { private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime createTime; @@ -59,7 +58,6 @@ public class TransferreceiptRequestMainBaseVO { private LocalDateTime dueTime; @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "部门不能为空") private String departmentCode; @Schema(description = "状态") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/UnplannedissueRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/UnplannedissueRecordMainController.java index f3b5764e..dda70bee 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/UnplannedissueRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/UnplannedissueRecordMainController.java @@ -7,6 +7,7 @@ import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; +import com.win.module.wms.controller.transferreceiptRecord.vo.TransferreceiptRecordMainRespVO; import com.win.module.wms.controller.unplannedissueRecord.vo.*; import com.win.module.wms.convert.unplannedissueRecord.UnplannedissueRecordMainConvert; import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordMainDO; @@ -120,4 +121,12 @@ public class UnplannedissueRecordMainController { ExcelUtils.write(response, "计划外出库记录主.xls", "数据", UnplannedissueRecordMainExcelVO.class, datas); } + @GetMapping("/getDetailInfoById") + @Operation(summary = "获取记录根据ID") + @PreAuthorize("@ss.hasPermission('wms:unplannedissue-record-main:query')") + public CommonResult getDetailInfoById(@RequestParam("id") Long id) { + UnplannedissueRecordMainRespVO transferreceiptRecordMainRespVO = unplannedissueRecordMainService.getDetailInfoById(id); + return success(transferreceiptRecordMainRespVO); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordDetailExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordDetailExportReqVO.java index 1292f1b6..8d768ebe 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordDetailExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordDetailExportReqVO.java @@ -92,6 +92,6 @@ public class UnplannedissueRecordDetailExportReqVO { private String jobDetailId; @Schema(description = "主键ID") - private String masterId; + private Long masterId; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainBaseVO.java index 584dd7fe..2eb0d34f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainBaseVO.java @@ -24,7 +24,6 @@ public class UnplannedissueRecordMainBaseVO { private Long id; @Schema(description = "申请单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "申请单号不能为空") private String requestNumber; @Schema(description = "任务单号") @@ -37,12 +36,10 @@ public class UnplannedissueRecordMainBaseVO { private String inTransactionType; @Schema(description = "执行时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "执行时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime executeTime; @Schema(description = "生效日期", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "生效日期不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime activeDate; @@ -55,35 +52,28 @@ public class UnplannedissueRecordMainBaseVO { private LocalDateTime dueTime; @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "部门不能为空") private String departmentCode; @Schema(description = "接口类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "接口类型不能为空") private String interfaceType; @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "代码不能为空") private String code; @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "单据号不能为空") private String number; @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "业务类型不能为空") private String businessType; @Schema(description = "备注") private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime createTime; @Schema(description = "创建者Id", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建者Id不能为空") private String creator; @@ -100,7 +90,6 @@ public class UnplannedissueRecordMainBaseVO { private String fromDockCode; @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否可用不能为空") private String available; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainCreateReqVO.java index 5e0e66bd..d11455e2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainCreateReqVO.java @@ -1,12 +1,20 @@ package com.win.module.wms.controller.unplannedissueRecord.vo; +import com.win.framework.excel.core.annotations.SubObject; +import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordDetailCreateReqVO; 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 UnplannedissueRecordMainCreateReqVO extends UnplannedissueRecordMainBaseVO { + + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainRespVO.java index 3c42b98d..6e8b9abd 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedissueRecord/vo/UnplannedissueRecordMainRespVO.java @@ -1,8 +1,12 @@ package com.win.module.wms.controller.unplannedissueRecord.vo; +import com.win.framework.excel.core.annotations.SubObject; +import com.win.module.wms.controller.transferreceiptRecord.vo.TransferreceiptRecordDetailRespVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.util.List; + @Schema(description = "管理后台 - 计划外出库记录主 Response VO") @Data @EqualsAndHashCode(callSuper = true) @@ -12,4 +16,8 @@ public class UnplannedissueRecordMainRespVO extends UnplannedissueRecordMainBase @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED) private String creator; + @SubObject + @Schema(description = "子表数据") + private List subList; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/UnplannedreceiptRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/UnplannedreceiptRecordMainController.java index 298fe1bf..5080021c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/UnplannedreceiptRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/UnplannedreceiptRecordMainController.java @@ -54,7 +54,6 @@ public class UnplannedreceiptRecordMainController { unplannedreceiptRecordMainService.updateUnplannedreceiptRecordMain(updateReqVO); return success(true); } - @DeleteMapping("/delete") @Operation(summary = "删除计划外入库记录主") @@ -120,4 +119,12 @@ public class UnplannedreceiptRecordMainController { ExcelUtils.write(response, "计划外入库记录主.xls", "数据", UnplannedreceiptRecordMainExcelVO.class, datas); } + @GetMapping("/getDetailInfoById") + @Operation(summary = "获取记录根据ID") + @PreAuthorize("@ss.hasPermission('wms:unplannedreceipt-record-main:query')") + public CommonResult getDetailInfoById(@RequestParam("id") Long id) { + UnplannedreceiptRecordMainRespVO unplannedreceiptRecordMainRespVO = unplannedreceiptRecordMainService.getDetailInfoById(id); + return success(unplannedreceiptRecordMainRespVO); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailExportReqVO.java index c66a0c93..1e8a95b1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordDetailExportReqVO.java @@ -105,6 +105,6 @@ public class UnplannedreceiptRecordDetailExportReqVO { private String jobDetailId; @Schema(description = "主键ID") - private String masterId; + private Long masterId; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainCreateReqVO.java index a11aa677..6ca28fde 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainCreateReqVO.java @@ -1,12 +1,19 @@ package com.win.module.wms.controller.unplannedreceiptRecord.vo; +import com.win.framework.excel.core.annotations.SubObject; +import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordDetailCreateReqVO; 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 UnplannedreceiptRecordMainCreateReqVO extends UnplannedreceiptRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainRespVO.java index 467739c5..f8375f66 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/unplannedreceiptRecord/vo/UnplannedreceiptRecordMainRespVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.unplannedreceiptRecord.vo; +import com.win.framework.excel.core.annotations.SubObject; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; @Schema(description = "管理后台 - 计划外入库记录主 Response VO") @Data @@ -9,4 +14,7 @@ import lombok.*; @ToString(callSuper = true) public class UnplannedreceiptRecordMainRespVO extends UnplannedreceiptRecordMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailService.java index bed74860..1e93014e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailService.java @@ -1,15 +1,13 @@ package com.win.module.wms.service.purchaseclaimRecord; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailCreateReqVO; -import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailExportReqVO; -import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailPageReqVO; -import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailUpdateReqVO; -import com.win.module.wms.dal.dataobject.purchaseclaimRecord.PurchaseclaimRecordDetailDO; import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.controller.purchaseclaimRecord.vo.*; +import com.win.module.wms.dal.dataobject.purchaseclaimRecord.PurchaseclaimRecordDetailDO; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; /** * 采购索赔记录子 Service 接口 @@ -80,4 +78,9 @@ public interface PurchaseclaimRecordDetailService { */ List getPurchaseclaimRecordDetailList(PurchaseclaimRecordDetailExportReqVO exportReqVO); + /** + * 本月退货明细 + * @return 退货明细 + */ + List getPurchaseclaimRecordDetailMonth(); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailServiceImpl.java index 63637c37..0f2d40fa 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailServiceImpl.java @@ -1,24 +1,22 @@ package com.win.module.wms.service.purchaseclaimRecord; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailCreateReqVO; -import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailExportReqVO; -import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailPageReqVO; -import com.win.module.wms.controller.purchaseclaimRecord.vo.PurchaseclaimRecordDetailUpdateReqVO; -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; - -import java.util.*; - -import com.win.module.wms.dal.dataobject.purchaseclaimRecord.PurchaseclaimRecordDetailDO; import com.win.framework.common.pojo.PageResult; - +import com.win.module.wms.controller.purchaseclaimRecord.vo.*; import com.win.module.wms.convert.purchaseclaimRecord.PurchaseclaimRecordDetailConvert; +import com.win.module.wms.dal.dataobject.purchaseclaimRecord.PurchaseclaimRecordDetailDO; import com.win.module.wms.dal.mysql.purchaseclaimRecord.PurchaseclaimRecordDetailMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.Collection; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_RECORD_DETAIL_NOT_EXISTS; /** * 采购索赔记录子 Service 实现类 @@ -88,4 +86,16 @@ public class PurchaseclaimRecordDetailServiceImpl implements PurchaseclaimRecord return purchaseclaimRecordDetailMapper.selectList(exportReqVO); } + @Override + public List getPurchaseclaimRecordDetailMonth() { + LocalDateTime endTime = LocalDateTime.now(); + LocalDateTime beginTime = endTime.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).withNano(0); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.between("create_time", beginTime, endTime); + queryWrapper.orderByDesc("create_time"); + queryWrapper.last("LIMIT 10"); + List purchasereturnRecordDetailDOList = purchaseclaimRecordDetailMapper.selectList(queryWrapper); + return PurchaseclaimRecordDetailConvert.INSTANCE.convertList(purchasereturnRecordDetailDOList); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailService.java index 2cfcd00f..84d33d4b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailService.java @@ -3,6 +3,7 @@ package com.win.module.wms.service.purchasereturnRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO; +import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailRespVO; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; import java.util.List; @@ -37,4 +38,10 @@ public interface PurchasereturnRecordDetailService { */ List selectList(Long masterId); + /** + * 本月退货明细 + * @return 退货明细 + */ + List getPurchasereturnRecordDetailMonth(); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailServiceImpl.java index d32286a5..6546b136 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailServiceImpl.java @@ -1,14 +1,18 @@ package com.win.module.wms.service.purchasereturnRecord; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO; +import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailRespVO; +import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordDetailConvert; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.List; /** @@ -38,4 +42,16 @@ public class PurchasereturnRecordDetailServiceImpl implements PurchasereturnReco return purchasereturnRecordDetailMapper.selectList(masterId); } + @Override + public List getPurchasereturnRecordDetailMonth() { + LocalDateTime endTime = LocalDateTime.now(); + LocalDateTime beginTime = endTime.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).withNano(0); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.between("create_time", beginTime, endTime); + queryWrapper.orderByDesc("create_time"); + queryWrapper.last("LIMIT 10"); + List purchasereturnRecordDetailDOList = purchasereturnRecordDetailMapper.selectList(queryWrapper); + return PurchasereturnRecordDetailConvert.INSTANCE.convertList(purchasereturnRecordDetailDOList); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailService.java index 8de8aa83..79baa8c7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailService.java @@ -1,15 +1,16 @@ package com.win.module.wms.service.scrapRecord; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailExportReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailPageReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; -import com.win.framework.common.pojo.PageResult; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; /** * 报废出库记录子 Service 接口 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailServiceImpl.java index dc1aacab..c6b0dae6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordDetailServiceImpl.java @@ -1,24 +1,23 @@ package com.win.module.wms.service.scrapRecord; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailExportReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailPageReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailUpdateReqVO; +import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; +import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; +import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; -import java.util.*; - -import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; -import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; +import javax.annotation.Resource; +import java.util.Collection; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.SCRAP_RECORD_DETAIL_NOT_EXISTS; /** * 报废出库记录子 Service 实现类 @@ -57,10 +56,12 @@ public class ScrapRecordDetailServiceImpl implements ScrapRecordDetailService { // 删除 scrapRecordDetailMapper.deleteById(id); } + @Override public PageResult getScrapRecordDetailSenior(CustomConditions conditions) { return scrapRecordDetailMapper.selectSenior(conditions); } + private void validateScrapRecordDetailExists(Long id) { if (scrapRecordDetailMapper.selectById(id) == null) { throw exception(SCRAP_RECORD_DETAIL_NOT_EXISTS); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java index 8008cfca..19643e43 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainService.java @@ -4,10 +4,7 @@ import java.util.*; import javax.validation.*; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainCreateReqVO; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainExportReqVO; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainPageReqVO; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainUpdateReqVO; +import com.win.module.wms.controller.scrapRecord.vo.*; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; import com.win.framework.common.pojo.PageResult; @@ -24,7 +21,7 @@ public interface ScrapRecordMainService { * @param createReqVO 创建信息 * @return 编号 */ - String createScrapRecordMain(@Valid ScrapRecordMainCreateReqVO createReqVO); + Long createScrapRecordMain(@Valid ScrapRecordMainCreateReqVO createReqVO); /** * 获得用高级搜索报废出库记录主分页列表 * @@ -79,4 +76,10 @@ public interface ScrapRecordMainService { */ List getScrapRecordMainList(ScrapRecordMainExportReqVO exportReqVO); + /** + * 获取记录明细 + * @param id 记录主键ID + * @return 记录明细 + */ + ScrapRecordMainRespVO getDetailInfoById(Long id); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java index 7328432c..df9cef6a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRecord/ScrapRecordMainServiceImpl.java @@ -2,21 +2,37 @@ package com.win.module.wms.service.scrapRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainCreateReqVO; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainExportReqVO; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainPageReqVO; -import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainUpdateReqVO; +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.scrapRecord.vo.*; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; import com.win.module.wms.convert.scrapRecord.ScrapRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordMainMapper; +import com.win.module.wms.service.recordsetting.RecordsettingService; +import com.win.module.wms.service.transaction.TransactionService; +import com.win.module.wms.util.JobUtils; +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.time.LocalDateTime; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.module.wms.enums.ErrorCodeConstants.SCRAP_RECORD_MAIN_NOT_EXISTS; /** @@ -30,14 +46,75 @@ public class ScrapRecordMainServiceImpl implements ScrapRecordMainService { @Resource private ScrapRecordMainMapper scrapRecordMainMapper; + @Resource + private ScrapRecordDetailMapper scrapRecordDetailMapper; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private JobUtils jobUtils; + @Resource + private RecordsettingService recordsettingService; + @Resource + private AdminUserApi userApi; + @Resource + private TransactionService transactionService; + @Resource + private TrendsApi trendsApi; + @Transactional @Override - public String createScrapRecordMain(ScrapRecordMainCreateReqVO createReqVO) { - // 插入 - ScrapRecordMainDO scrapRecordMain = ScrapRecordMainConvert.INSTANCE.convert(createReqVO); - scrapRecordMainMapper.insert(scrapRecordMain); - // 返回 - return String.valueOf(scrapRecordMain.getId()); + public Long createScrapRecordMain(ScrapRecordMainCreateReqVO createReqVO) { + ScrapRecordMainDO scrapRecordMainDO = ScrapRecordMainConvert.INSTANCE.convert(createReqVO); + String number = serialNumberApi.generateCode(RuleCodeEnum.SCRAP_RECORD.getCode()); + scrapRecordMainDO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRecord"); + scrapRecordMainDO.setBusinessType(businesstypeDO.getCode()); + scrapRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + scrapRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType()); + String interFaceType = recordsettingService.selectRecordsettingExist("ScrapRecord").getInterfaceType(); + scrapRecordMainDO.setInterfaceType(interFaceType); + scrapRecordMainDO.setExecuteTime(LocalDateTime.now()); + scrapRecordMainDO.setActiveDate(LocalDateTime.now()); + scrapRecordMainDO.setAvailable("TRUE"); + scrapRecordMainDO.setDueTime(null); + scrapRecordMainDO.setId(null); + scrapRecordMainDO.setCreator(null); + scrapRecordMainDO.setCreateTime(LocalDateTime.now()); + scrapRecordMainMapper.insert(scrapRecordMainDO); + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + List subList = createReqVO.getSubList(); + for(ScrapRecordDetailCreateReqVO scrapRecordDetailCreateReqVO : subList) { + ScrapRecordDetailDO recordDetailDO = ScrapRecordDetailConvert.INSTANCE.convert(scrapRecordDetailCreateReqVO); + recordDetailDO.setNumber(number); + recordDetailDO.setMasterId(scrapRecordMainDO.getId()); + recordDetailDO.setId(null); + scrapRecordDetailMapper.insert(recordDetailDO); + + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(scrapRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(recordDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(recordDetailDO.getFromOwnerCode()); + transactionCreateReqVO.setPackingNumber(recordDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(recordDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(scrapRecordMainDO.getFromWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + trendsApi.createTrends(scrapRecordMainDO.getId(), "ScrapRecord", "增加了报废出库记录", TrendsTypeEnum.CREATE); + return scrapRecordMainDO.getId(); } @Override @@ -62,10 +139,12 @@ public class ScrapRecordMainServiceImpl implements ScrapRecordMainService { scrapRecordMainMapper.deleteById(id); } - private void validateScrapRecordMainExists(Long id) { - if (scrapRecordMainMapper.selectById(id) == null) { + private ScrapRecordMainDO validateScrapRecordMainExists(Long id) { + ScrapRecordMainDO scrapRecordMainDO = scrapRecordMainMapper.selectById(id); + if (scrapRecordMainDO == null) { throw exception(SCRAP_RECORD_MAIN_NOT_EXISTS); } + return scrapRecordMainDO; } @Override @@ -88,4 +167,21 @@ public class ScrapRecordMainServiceImpl implements ScrapRecordMainService { return scrapRecordMainMapper.selectList(exportReqVO); } + @Override + public ScrapRecordMainRespVO getDetailInfoById(Long id) { + ScrapRecordMainRespVO scrapRecordMainRespVO = new ScrapRecordMainRespVO(); + ScrapRecordMainDO scrapRecordMainDO = validateScrapRecordMainExists(id); + ScrapRecordDetailExportReqVO reqVO = new ScrapRecordDetailExportReqVO(); + reqVO.setMasterId(id); + List subList = scrapRecordDetailMapper.selectList(reqVO); + BeanUtils.copyProperties(scrapRecordMainDO,scrapRecordMainRespVO); + List detailList = new ArrayList<>(); + for(ScrapRecordDetailDO scrapRecordDetailDO:subList){ + ScrapRecordDetailRespVO scrapRecordDetailRespVO = ScrapRecordDetailConvert.INSTANCE.convert(scrapRecordDetailDO); + detailList.add(scrapRecordDetailRespVO); + } + scrapRecordMainRespVO.setSubList(detailList); + return scrapRecordMainRespVO; + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailService.java index fa74959a..d8ba5446 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailService.java @@ -1,14 +1,16 @@ package com.win.module.wms.service.scrapRequest; -import java.util.*; -import javax.validation.*; + import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailCreateReqVO; import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailExportReqVO; import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailPageReqVO; import com.win.module.wms.controller.scrapRequest.vo.ScrapRequestDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; -import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; /** * 报废出库申请子 Service 接口 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailServiceImpl.java index 284864a0..55b62b40 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestDetailServiceImpl.java @@ -1,31 +1,35 @@ package com.win.module.wms.service.scrapRequest; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; +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.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.scrapRequest.vo.*; -import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert; +import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert; import com.win.module.wms.dal.dataobject.balance.BalanceDO; 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.location.LocationDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; -import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; +import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestDetailMapper; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; -import java.util.*; -import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; -import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert; -import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestDetailMapper; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.SCRAP_REQUEST_DETAIL_NOT_EXISTS; /** * 报废出库申请子 Service 实现类 @@ -38,31 +42,31 @@ public class ScrapRequestDetailServiceImpl implements ScrapRequestDetailService @Resource private ScrapRequestDetailMapper scrapRequestDetailMapper; - @Resource private RequestsettingService requestsettingService; @Resource private LocationService locationService; @Resource private SerialNumberApi serialNumberApi; - @Resource private JobUtils jobUtils; - @Resource private ItembasicService itembasicService; + @Resource + private TrendsApi trendsApi; @Override public Long createScrapRequestDetail(ScrapRequestDetailCreateReqVO createReqVO) { RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("ScrapRequest"); // 插入 ScrapRequestDetailDO scrapRequestDetail = validatorToCreate(createReqVO,requestsettingDO); + trendsApi.createTrends(scrapRequestDetail.getId(), "ScrapRequest", "增加了报废出库申请", TrendsTypeEnum.CREATE); return scrapRequestDetail.getId(); } private ScrapRequestDetailDO validatorToCreate(ScrapRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); - ScrapRequestDetailDO scrapRequestDetailDO = validateDetailMethod(createReqVO, businesstypeDO, requestsettingDO); + ScrapRequestDetailDO scrapRequestDetailDO = validateDetailMethod(createReqVO, businesstypeDO); String number = serialNumberApi.generateCode(RuleCodeEnum.SCRAP_REQUEST.getCode()); scrapRequestDetailDO.setNumber(number); scrapRequestDetailDO.setMasterId(createReqVO.getMasterId()); @@ -78,7 +82,7 @@ public class ScrapRequestDetailServiceImpl implements ScrapRequestDetailService } - private ScrapRequestDetailDO validateDetailMethod(ScrapRequestDetailBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) { + private ScrapRequestDetailDO validateDetailMethod(ScrapRequestDetailBaseVO baseVO, BusinesstypeDO businesstypeDO) { ScrapRequestDetailDO detailDo = ScrapRequestDetailConvert.INSTANCE.convert(baseVO); ItembasicDO itembasic = validatorItembasic(detailDo.getItemCode()); detailDo.setItemDesc1(itembasic.getDesc1()); @@ -95,15 +99,16 @@ public class ScrapRequestDetailServiceImpl implements ScrapRequestDetailService return detailDo; } - - + @Transactional @Override public void updateScrapRequestDetail(ScrapRequestDetailUpdateReqVO updateReqVO) { // 校验存在 validateScrapRequestDetailExists(updateReqVO.getId()); // 更新 - ScrapRequestDetailDO updateObj = ScrapRequestDetailConvert.INSTANCE.convert(updateReqVO); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); + ScrapRequestDetailDO updateObj = validateDetailMethod(updateReqVO, businesstypeDO); scrapRequestDetailMapper.updateById(updateObj); + trendsApi.createTrends(updateObj.getId(), "ScrapRequest", "增加了报废出库申请", TrendsTypeEnum.UPDATE); } @Override diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainService.java index 00511b05..a310eee9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainService.java @@ -4,6 +4,7 @@ import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.scrapRequest.vo.*; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; + import javax.validation.Valid; import java.util.Collection; import java.util.List; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java index fa6cd2e5..28726b90 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java @@ -3,6 +3,7 @@ package com.win.module.wms.service.scrapRequest; import cn.hutool.core.collection.CollUtil; 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.infra.api.trends.TrendsApi; import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.system.api.serialnumber.SerialNumberApi; @@ -10,50 +11,33 @@ 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.productscrapRequest.vo.*; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainCreateReqVO; import com.win.module.wms.controller.scrapRequest.vo.*; -import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordDetailCreateReqVO; -import com.win.module.wms.controller.transferissueRecord.vo.TransferissueRecordMainCreateReqVO; -import com.win.module.wms.controller.transferreceiptRequest.vo.TransferreceiptRequestDetailCreateReqVO; -import com.win.module.wms.controller.transferreceiptRequest.vo.TransferreceiptRequestMainCreateReqVO; -import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestDetailConvert; -import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert; import com.win.module.wms.convert.scrapJob.ScrapJobDetailConvert; import com.win.module.wms.convert.scrapJob.ScrapJobMainConvert; import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; import com.win.module.wms.convert.scrapRecord.ScrapRecordMainConvert; import com.win.module.wms.convert.scrapRequest.ScrapRequestDetailConvert; -import com.win.module.wms.convert.transferissueJob.TransferissueJobDetailConvert; -import com.win.module.wms.convert.transferissueJob.TransferissueJobMainConvert; -import com.win.module.wms.convert.transferissueRecord.TransferissueRecordDetailConvert; -import com.win.module.wms.convert.transferissueRecord.TransferissueRecordMainConvert; +import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert; import com.win.module.wms.dal.dataobject.balance.BalanceDO; 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.jobsetting.JobsettingDO; import com.win.module.wms.dal.dataobject.location.LocationDO; -import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO; -import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobDetailDO; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobMainDO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; -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; -import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO; -import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO; -import com.win.module.wms.dal.dataobject.unplannedissueRequest.UnplannedissueRequestDetailDO; -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; import com.win.module.wms.dal.mysql.scrapJob.ScrapJobDetailMapper; import com.win.module.wms.dal.mysql.scrapJob.ScrapJobMainMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordMainMapper; import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestDetailMapper; +import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestMainMapper; import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusState; @@ -66,17 +50,15 @@ import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.util.JobUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.*; - -import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.scrapRequest.ScrapRequestMainConvert; -import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestMainMapper; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @@ -124,7 +106,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { @Resource private ExpectinService expectinService; - + @Transactional @Override public Long createScrapRequestMain(ScrapRequestMainCreateReqVO createReqVO) { // Setting——>QReqS("ScrapRequest") @@ -267,7 +249,6 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainDO; } - private void validateDetailMethod(ScrapRequestDetailDO detailDo, BusinesstypeDO businesstypeDO, ScrapRequestMainDO mainDo) { // BQ——>QL LocationDO locationDO = validatorLocation(detailDo.getFromLocationCode()); @@ -316,6 +297,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); return mainDo; } + private ScrapRequestMainDO validatorToUpdate(ScrapRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) { BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); ScrapRequestMainDO scrapRequestMainDO = validateMainMethod(updateReqVO,businesstypeDO,requestsettingDO); @@ -346,10 +328,12 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { } trendsApi.createTrends(requestsettingDO.getId(), "ScrapRequest", "增加了报废出库申请", TrendsTypeEnum.CREATE); } + @Override public PageResult getScrapRequestMainSenior(CustomConditions conditions) { return scrapRequestMainMapper.selectSenior(conditions); } + @Override public void deleteScrapRequestMain(Long id) { // 校验存在 @@ -380,16 +364,17 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { public PageResult getScrapRequestMainPage(ScrapRequestMainPageReqVO pageReqVO) { return scrapRequestMainMapper.selectPage(pageReqVO); } + private void validatetime(LocalDateTime durtime){ if(LocalDateTime.now().isAfter(durtime)){ throw exception(TIME_AFTER,LocalDateTime.now(),durtime); } } + private LocationDO validatorLocation(String Location){ return locationService.selectLocation(Location); } - @Override public List getScrapRequestMainList(ScrapRequestMainExportReqVO exportReqVO) { return scrapRequestMainMapper.selectList(exportReqVO); @@ -468,14 +453,13 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return message.toString(); } - - public List importscrapRequestList(List datas, Integer mode, boolean updatePart){ + public List importscrapRequestList(List datas, Integer mode, boolean updatePart) { if (CollUtil.isEmpty(datas)) { throw exception(SCRAP_REQUEST_MAIN_NOT_EXISTS); } List errorList = new ArrayList<>(); datas.forEach(createReqVO -> { - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ScrapRequest"); ScrapRequestMainDO mainDo = ScrapRequestMainConvert.INSTANCE.convert(createReqVO); String messageMain = validateScrapRequestMainImport(mainDo, businesstypeDO); List subList = createReqVO.getSubList(); @@ -484,7 +468,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { boolean flag = true; for (ScrapRequestDetailDO detailDO : subDOList) { String messageDetail = validateScrapvRequestDetailImport(detailDO, mainDo, businesstypeDO); - if (!"".equals(messageMain) ||!"".equals(messageDetail) ) { + if (!"".equals(messageMain) || !"".equals(messageDetail)) { ScrapRequestImportErrorVO importErrorVO = ScrapRequestMainConvert.INSTANCE.convert(createReqVO, detailDO); importErrorVO.setImportStatus("失败"); messageMain = messageMain + messageDetail; @@ -510,12 +494,13 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { }); return errorList; - } + } public List getScrapRequestMainList1(CustomConditions conditions) { return scrapRequestMainMapper.selectSeniorList(conditions); } + @Transactional @Override public Integer closeScrapRequestMain(Long id) { // 校验存在存在下级单据 @@ -534,6 +519,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer reAddScrapRequestMain(Long id) { // 校验存在存在下级单据 @@ -552,6 +538,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer submitScrapRequestMain(Long id) { ScrapRequestMainDO mainDO = this.validateScrapRequestMainExists(id); @@ -570,6 +557,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer abortScrapRequestMain(Long id) { // 校验存在 @@ -584,6 +572,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer agreeScrapRequestMain(Long id) { // 校验存在 @@ -603,6 +592,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } + @Transactional @Override public Integer handleScrapRequestMain(Long id) { // 校验存在 @@ -620,5 +610,4 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { return scrapRequestMainMapper.updateById(mainDO); } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordDetailService.java index 32f2bb36..8169d43e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordDetailService.java @@ -1,13 +1,17 @@ package com.win.module.wms.service.supplierdeliverRecord; -import java.util.*; -import javax.validation.*; + import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailCreateReqVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailExportReqVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailPageReqVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO; -import com.win.framework.common.pojo.PageResult; + +import javax.validation.Valid; +import java.util.Collection; +import java.util.List; +import java.util.Map; /** * 供应商发货记录子 Service 接口 @@ -85,4 +89,9 @@ public interface SupplierdeliverRecordDetailService { */ List selectAllList( String asnNumber); + /** + * 本月发货零件top10 + * @return 当月零件个数 + */ + List> getSupplierdeliverItemMonthTop(); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordDetailServiceImpl.java index fd4e5667..1743d4ae 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordDetailServiceImpl.java @@ -2,31 +2,28 @@ package com.win.module.wms.service.supplierdeliverRecord; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailCreateReqVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailExportReqVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailPageReqVO; import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailUpdateReqVO; - -import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; -import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO; +import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordDetailConvert; +import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO; import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordMainDO; +import com.win.module.wms.dal.mysql.supplierdeliverRecord.SupplierdeliverRecordDetailMapper; import com.win.module.wms.dal.mysql.supplierdeliverRecord.SupplierdeliverRecordMainMapper; import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - import org.springframework.validation.annotation.Validated; -import java.util.*; - -import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordDetailConvert; -import com.win.module.wms.dal.mysql.supplierdeliverRecord.SupplierdeliverRecordDetailMapper; +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.SUPPLIERDELIVER_RECORD_DETAIL_NOT_EXISTS; /** * 供应商发货记录子 Service 实现类 @@ -111,4 +108,17 @@ public class SupplierdeliverRecordDetailServiceImpl implements SupplierdeliverRe return supplierdeliverRecordDetailDOList; } + @Override + public List> getSupplierdeliverItemMonthTop() { + LocalDateTime endTime = LocalDateTime.now(); + LocalDateTime beginTime = endTime.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).withNano(0); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("item_code itemCode", "sum(qty) qty"); + queryWrapper.between("create_time", beginTime, endTime); + queryWrapper.groupBy("itemCode"); + queryWrapper.orderByAsc("qty"); + queryWrapper.last("LIMIT 10"); + return supplierdeliverRecordDetailMapper.selectMaps(queryWrapper); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordMainServiceImpl.java index 9f7d1ed8..70190a6b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRecord/SupplierdeliverRecordMainServiceImpl.java @@ -137,7 +137,7 @@ public class SupplierdeliverRecordMainServiceImpl implements SupplierdeliverReco LocalDateTime endTime = LocalDateTime.now(); LocalDateTime beginTime = endTime.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).withNano(0); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("DATE_FORMAT(create_time, '%Y-%m-%d') `date`", "count(1) c"); + queryWrapper.select("DATE_FORMAT(create_time, '%Y-%m-%d') `date`", "count(1) `count`"); queryWrapper.between("create_time", beginTime, endTime); queryWrapper.groupBy("`date`"); queryWrapper.orderByAsc("`date`"); 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 e2b1dc77..230eeb5d 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 @@ -22,6 +22,7 @@ import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.util.JobUtils; 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; @@ -60,6 +61,7 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa @Resource private TrendsApi trendsApi; + @Transactional @Override public Long createTransferissueRecordMain(TransferissueRecordMainCreateReqVO createReqVO) { TransferissueRecordMainDO transferissueRecordMainDO = TransferissueRecordMainConvert.INSTANCE.convert(createReqVO); @@ -87,6 +89,7 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa TransferissueRecordDetailDO recordDetailDO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO); recordDetailDO.setNumber(number); recordDetailDO.setMasterId(transferissueRecordMainDO.getId()); + recordDetailDO.setId(null); transferissueRecordDetailMapper.insert(recordDetailDO); //添加库存事务list diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainServiceImpl.java index 32aff2e6..e0121a69 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptJob/TransferreceiptJobMainServiceImpl.java @@ -134,6 +134,7 @@ public class TransferreceiptJobMainServiceImpl implements TransferreceiptJobMain public List getTransferreceiptJobMainList(TransferreceiptJobMainExportReqVO exportReqVO) { return transferreceiptJobMainMapper.selectList(exportReqVO); } + @Override public TransferreceiptJobMainDO transferreceiptJobMainDoStatusRight(String pnumber, String pstatus) { QueryWrapper queryWrapper = new QueryWrapper(); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainService.java index f213389b..09f51bde 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainService.java @@ -2,10 +2,7 @@ package com.win.module.wms.service.transferreceiptRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.transferreceiptRecord.vo.TransferreceiptRecordMainCreateReqVO; -import com.win.module.wms.controller.transferreceiptRecord.vo.TransferreceiptRecordMainExportReqVO; -import com.win.module.wms.controller.transferreceiptRecord.vo.TransferreceiptRecordMainPageReqVO; -import com.win.module.wms.controller.transferreceiptRecord.vo.TransferreceiptRecordMainUpdateReqVO; +import com.win.module.wms.controller.transferreceiptRecord.vo.*; import com.win.module.wms.dal.dataobject.transferreceiptRecord.TransferreceiptRecordMainDO; import javax.validation.Valid; @@ -80,4 +77,10 @@ public interface TransferreceiptRecordMainService { */ List getTransferreceiptRecordMainList(TransferreceiptRecordMainExportReqVO exportReqVO); + /** + * 返回记录详情数据 + * @param id 记录主键ID + * @return 调拨入库记录主ResponseVO + */ + TransferreceiptRecordMainRespVO getDetailInfoById(Long id); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainServiceImpl.java index 5af45ec2..d9cee79f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRecord/TransferreceiptRecordMainServiceImpl.java @@ -90,6 +90,7 @@ public class TransferreceiptRecordMainServiceImpl implements TransferreceiptReco TransferreceiptRecordDetailDO recordDetailDO = TransferreceiptRecordDetailConvert.INSTANCE.convert(transferreceiptRecordDetailCreateReqVO); recordDetailDO.setNumber(number); recordDetailDO.setMasterId(transferreceiptRecordMainDO.getId()); + recordDetailDO.setId(null); transferreceiptRecordDetailMapper.insert(recordDetailDO); //添加库存事务list @@ -137,10 +138,12 @@ public class TransferreceiptRecordMainServiceImpl implements TransferreceiptReco transferreceiptRecordMainMapper.deleteById(id); } - private void validateTransferreceiptRecordMainExists(Long id) { - if (transferreceiptRecordMainMapper.selectById(id) == null) { + private TransferreceiptRecordMainDO validateTransferreceiptRecordMainExists(Long id) { + TransferreceiptRecordMainDO transferreceiptRecordMainDO = transferreceiptRecordMainMapper.selectById(id); + if (transferreceiptRecordMainDO == null) { throw exception(TRANSFERRECEIPT_RECORD_MAIN_NOT_EXISTS); } + return transferreceiptRecordMainDO; } @Override @@ -163,4 +166,21 @@ public class TransferreceiptRecordMainServiceImpl implements TransferreceiptReco return transferreceiptRecordMainMapper.selectList(exportReqVO); } + @Override + public TransferreceiptRecordMainRespVO getDetailInfoById(Long id) { + TransferreceiptRecordMainRespVO transferreceiptRecordMainRespVO = new TransferreceiptRecordMainRespVO(); + TransferreceiptRecordMainDO transferissueRecordMainDO = validateTransferreceiptRecordMainExists(id); + TransferreceiptRecordDetailExportReqVO reqVO = new TransferreceiptRecordDetailExportReqVO(); + reqVO.setMasterId(id); + List subList = transferreceiptRecordDetailMapper.selectList(reqVO); + BeanUtils.copyProperties(transferissueRecordMainDO,transferreceiptRecordMainRespVO); + List detailList = new ArrayList<>(); + for(TransferreceiptRecordDetailDO transferreceiptRecordDetailDO:subList){ + TransferreceiptRecordDetailRespVO transferreceiptRecordDetailRespVO = TransferreceiptRecordDetailConvert.INSTANCE.convert(transferreceiptRecordDetailDO); + detailList.add(transferreceiptRecordDetailRespVO); + } + transferreceiptRecordMainRespVO.setSubList(detailList); + return transferreceiptRecordMainRespVO; + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java index 24bd7ca3..f1db6b74 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferreceiptRequest/TransferreceiptRequestMainServiceImpl.java @@ -102,7 +102,7 @@ public class TransferreceiptRequestMainServiceImpl implements TransferreceiptReq @Resource private TransferreceiptRequestDetailService transferreceiptRequestDetailService; - + @Transactional @Override public Long createTransferreceiptRequestMain(TransferreceiptRequestMainCreateReqVO createReqVO) { // Setting-----QReqs @@ -318,7 +318,6 @@ public class TransferreceiptRequestMainServiceImpl implements TransferreceiptReq return transferissueRequestMainDO; } - @Override public void deleteTransferreceiptRequestMain(Long id) { // 校验存在 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java index 34693c54..68e939ef 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java @@ -94,10 +94,12 @@ public class UnplannedissueJobMainServiceImpl implements UnplannedissueJobMainSe UnplannedissueJobMainDO updateObj = UnplannedissueJobMainConvert.INSTANCE.convert(updateReqVO); unplannedissueJobMainMapper.updateById(updateObj); } + @Override public PageResult getUnplannedissueJobMainSenior(CustomConditions conditions) { return unplannedissueJobMainMapper.selectSenior(conditions); } + @Override public void deleteUnplannedissueJobMain(Long id) { // 校验存在 @@ -133,6 +135,7 @@ public class UnplannedissueJobMainServiceImpl implements UnplannedissueJobMainSe public List getUnplannedissueJobMainList(UnplannedissueJobMainExportReqVO exportReqVO) { return unplannedissueJobMainMapper.selectList(exportReqVO); } + @Override public UnplannedissueJobMainDO unplannedissueJobMainDoStatusRight(String pnumber, String pstatus) { QueryWrapper queryWrapper = new QueryWrapper(); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordDetailServiceImpl.java index b2ab31fa..e61cee0e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordDetailServiceImpl.java @@ -56,6 +56,7 @@ public class UnplannedissueRecordDetailServiceImpl implements UnplannedissueReco // 删除 unplannedissueRecordDetailMapper.deleteById(id); } + @Override public PageResult getUnplannedissueRecordDetailSenior(CustomConditions conditions) { return unplannedissueRecordDetailMapper.selectSenior(conditions); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainService.java index e576bc76..8c53b718 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainService.java @@ -2,10 +2,7 @@ package com.win.module.wms.service.unplannedissueRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainCreateReqVO; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainExportReqVO; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainPageReqVO; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainUpdateReqVO; +import com.win.module.wms.controller.unplannedissueRecord.vo.*; import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordMainDO; import javax.validation.Valid; @@ -80,4 +77,10 @@ public interface UnplannedissueRecordMainService { */ List getUnplannedissueRecordMainList(UnplannedissueRecordMainExportReqVO exportReqVO); + /** + * 获取计划外出库记录 + * @param id 计划外出库记录 主键ID + * @return 计划外出库记录主ResponseVO + */ + UnplannedissueRecordMainRespVO getDetailInfoById(Long id); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java index 89b8ab29..01e48b8b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRecord/UnplannedissueRecordMainServiceImpl.java @@ -2,21 +2,37 @@ package com.win.module.wms.service.unplannedissueRecord; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainCreateReqVO; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainExportReqVO; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainPageReqVO; -import com.win.module.wms.controller.unplannedissueRecord.vo.UnplannedissueRecordMainUpdateReqVO; +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.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.controller.unplannedissueRecord.vo.*; +import com.win.module.wms.convert.unplannedissueRecord.UnplannedissueRecordDetailConvert; import com.win.module.wms.convert.unplannedissueRecord.UnplannedissueRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordDetailDO; import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordMainDO; +import com.win.module.wms.dal.mysql.unplannedissueRecord.UnplannedissueRecordDetailMapper; import com.win.module.wms.dal.mysql.unplannedissueRecord.UnplannedissueRecordMainMapper; +import com.win.module.wms.service.recordsetting.RecordsettingService; +import com.win.module.wms.service.transaction.TransactionService; +import com.win.module.wms.util.JobUtils; +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.time.LocalDateTime; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDISSUE_RECORD_MAIN_NOT_EXISTS; /** @@ -30,14 +46,75 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord @Resource private UnplannedissueRecordMainMapper unplannedissueRecordMainMapper; + @Resource + private UnplannedissueRecordDetailMapper unplannedissueRecordDetailMapper; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private JobUtils jobUtils; + @Resource + private RecordsettingService recordsettingService; + @Resource + private AdminUserApi userApi; + @Resource + private TransactionService transactionService; + @Resource + private TrendsApi trendsApi; + @Transactional @Override public Long createUnplannedissueRecordMain(UnplannedissueRecordMainCreateReqVO createReqVO) { - // 插入 - UnplannedissueRecordMainDO unplannedissueRecordMain = UnplannedissueRecordMainConvert.INSTANCE.convert(createReqVO); - unplannedissueRecordMainMapper.insert(unplannedissueRecordMain); - // 返回 - return unplannedissueRecordMain.getId(); + UnplannedissueRecordMainDO unplannedissueRecordMainDO = UnplannedissueRecordMainConvert.INSTANCE.convert(createReqVO); + String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_DELIVER_RECORD.getCode()); + unplannedissueRecordMainDO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedDeliverRecord"); + unplannedissueRecordMainDO.setBusinessType(businesstypeDO.getCode()); + unplannedissueRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + unplannedissueRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType()); + String interFaceType = recordsettingService.selectRecordsettingExist("UnplannedDeliverRecord").getInterfaceType(); + unplannedissueRecordMainDO.setInterfaceType(interFaceType); + unplannedissueRecordMainDO.setExecuteTime(LocalDateTime.now()); + unplannedissueRecordMainDO.setActiveDate(LocalDateTime.now()); + unplannedissueRecordMainDO.setAvailable("TRUE"); + unplannedissueRecordMainDO.setDueTime(null); + unplannedissueRecordMainDO.setId(null); + unplannedissueRecordMainDO.setCreator(null); + unplannedissueRecordMainDO.setCreateTime(LocalDateTime.now()); + unplannedissueRecordMainMapper.insert(unplannedissueRecordMainDO); + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + List subList = createReqVO.getSubList(); + for(UnplannedissueRecordDetailCreateReqVO unplannedissueRecordDetailCreateReqVO : subList) { + UnplannedissueRecordDetailDO recordDetailDO = UnplannedissueRecordDetailConvert.INSTANCE.convert(unplannedissueRecordDetailCreateReqVO); + recordDetailDO.setNumber(number); + recordDetailDO.setMasterId(unplannedissueRecordMainDO.getId()); + recordDetailDO.setId(null); + unplannedissueRecordDetailMapper.insert(recordDetailDO); + + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(unplannedissueRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(recordDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(recordDetailDO.getOwnerCode()); + transactionCreateReqVO.setPackingNumber(recordDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(recordDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(unplannedissueRecordMainDO.getFromWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + trendsApi.createTrends(unplannedissueRecordMainDO.getId(), "UnplannedDeliverRecord", "增加了计划外出库申请记录", TrendsTypeEnum.CREATE); + return unplannedissueRecordMainDO.getId(); } @Override @@ -57,10 +134,12 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord unplannedissueRecordMainMapper.deleteById(id); } - private void validateUnplannedissueRecordMainExists(Long id) { - if (unplannedissueRecordMainMapper.selectById(id) == null) { + private UnplannedissueRecordMainDO validateUnplannedissueRecordMainExists(Long id) { + UnplannedissueRecordMainDO unplannedissueRecordMainDO = unplannedissueRecordMainMapper.selectById(id); + if (unplannedissueRecordMainDO == null) { throw exception(UNPLANNEDISSUE_RECORD_MAIN_NOT_EXISTS); } + return unplannedissueRecordMainDO; } @Override @@ -77,13 +156,32 @@ public class UnplannedissueRecordMainServiceImpl implements UnplannedissueRecord public PageResult getUnplannedissueRecordMainPage(UnplannedissueRecordMainPageReqVO pageReqVO) { return unplannedissueRecordMainMapper.selectPage(pageReqVO); } + @Override public PageResult getUnplannedissueRecordMainSenior(CustomConditions conditions) { return unplannedissueRecordMainMapper.selectSenior(conditions); } + @Override public List getUnplannedissueRecordMainList(UnplannedissueRecordMainExportReqVO exportReqVO) { return unplannedissueRecordMainMapper.selectList(exportReqVO); } + @Override + public UnplannedissueRecordMainRespVO getDetailInfoById(Long id) { + UnplannedissueRecordMainRespVO unplannedissueRecordMainRespVO = new UnplannedissueRecordMainRespVO(); + UnplannedissueRecordMainDO unplannedissueRecordMainDO = validateUnplannedissueRecordMainExists(id); + UnplannedissueRecordDetailExportReqVO reqVO = new UnplannedissueRecordDetailExportReqVO(); + reqVO.setMasterId(id); + List subList = unplannedissueRecordDetailMapper.selectList(reqVO); + BeanUtils.copyProperties(unplannedissueRecordMainDO,unplannedissueRecordMainRespVO); + List detailList = new ArrayList<>(); + for(UnplannedissueRecordDetailDO unplannedissueRecordDetailDO:subList){ + UnplannedissueRecordDetailRespVO unplannedissueRecordDetailRespVO = UnplannedissueRecordDetailConvert.INSTANCE.convert(unplannedissueRecordDetailDO); + detailList.add(unplannedissueRecordDetailRespVO); + } + unplannedissueRecordMainRespVO.setSubList(detailList); + return unplannedissueRecordMainRespVO; + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestDetailServiceImpl.java index 62e4602b..a8b0fff7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestDetailServiceImpl.java @@ -8,11 +8,9 @@ import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.unplannedissueRequest.vo.*; import com.win.module.wms.convert.unplannedissueRequest.UnplannedissueRequestDetailConvert; -import com.win.module.wms.dal.dataobject.balance.BalanceDO; 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.location.LocationDO; -import com.win.module.wms.dal.dataobject.productionreturnRequest.ProductionreturnRequestDetailDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.unplannedissueRequest.UnplannedissueRequestDetailDO; import com.win.module.wms.dal.mysql.unplannedissueRequest.UnplannedissueRequestDetailMapper; @@ -21,6 +19,7 @@ import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.requestsetting.RequestsettingService; 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; @@ -42,38 +41,32 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq @Resource private UnplannedissueRequestDetailMapper unplannedissueRequestDetailMapper; - @Resource private RequestsettingService requestsettingService; - @Resource private JobUtils jobUtils; - @Resource private SerialNumberApi serialNumberApi; @Resource private ItembasicService itembasicService; - @Resource private TrendsApi trendsApi; - @Resource private LocationService locationService; + @Transactional @Override public Long createUnplannedissueRequestDetail(UnplannedissueRequestDetailCreateReqVO createReqVO) { RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("UnplannedDeliverRequest"); // 插入 UnplannedissueRequestDetailDO unplannedissueRequestDetail =validatorToCreate(createReqVO,requestsettingDO); - trendsApi.createTrends(requestsettingDO.getId(), "UnplannedDeliverRequest", "增加了计划外出库申请", TrendsTypeEnum.CREATE); return unplannedissueRequestDetail.getId(); - } private UnplannedissueRequestDetailDO validatorToCreate(UnplannedissueRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedDeliverRequest"); - UnplannedissueRequestDetailDO unplannedissueRequestDetailDO = validateDetailMethod(createReqVO,businesstypeDO,requestsettingDO); + UnplannedissueRequestDetailDO unplannedissueRequestDetailDO = validateDetailMethod(createReqVO,businesstypeDO); unplannedissueRequestDetailDO.setMasterId(createReqVO.getMasterId()); String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_REQUEST.getCode()); unplannedissueRequestDetailDO.setNumber(number); @@ -81,7 +74,7 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq return unplannedissueRequestDetailDO; } - private UnplannedissueRequestDetailDO validateDetailMethod(UnplannedissueRequestDetailBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){ + private UnplannedissueRequestDetailDO validateDetailMethod(UnplannedissueRequestDetailBaseVO baseVO, BusinesstypeDO businesstypeDO){ UnplannedissueRequestDetailDO detailDo = UnplannedissueRequestDetailConvert.INSTANCE.convert(baseVO); validatorLocation(detailDo.getFromLocationCode()); ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode()); @@ -95,7 +88,7 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq String INVENTORY = detailDo.getInventoryStatus(); String[] inventory = INVENTORY.split(","); List inventorystatus = Arrays.asList(inventory); - List balanceDO = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(),detailDo.getPackingNumber(),detailDo.getBatch(), detailDo.getFromLocationCode(),inventorystatus); + jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(),detailDo.getPackingNumber(),detailDo.getBatch(), detailDo.getFromLocationCode(),inventorystatus); return detailDo; } @@ -103,18 +96,22 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq return locationService.selectLocation(Location); } + @Transactional @Override public void updateUnplannedissueRequestDetail(UnplannedissueRequestDetailUpdateReqVO updateReqVO) { // 校验存在 validateUnplannedissueRequestDetailExists(updateReqVO.getId()); // 更新 - UnplannedissueRequestDetailDO updateObj = UnplannedissueRequestDetailConvert.INSTANCE.convert(updateReqVO); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedDeliverRequest"); + UnplannedissueRequestDetailDO updateObj = validateDetailMethod(updateReqVO,businesstypeDO); unplannedissueRequestDetailMapper.updateById(updateObj); } + @Override public PageResult getUnplannedissueRequestDetailSenior(CustomConditions conditions) { return unplannedissueRequestDetailMapper.selectSenior(conditions); } + @Override public void deleteUnplannedissueRequestDetail(Long id) { // 校验存在 @@ -149,5 +146,4 @@ public class UnplannedissueRequestDetailServiceImpl implements UnplannedissueReq return unplannedissueRequestDetailMapper.selectList(exportReqVO); } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java index 4be98b0c..e425ef52 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueRequest/UnplannedissueRequestMainServiceImpl.java @@ -632,7 +632,6 @@ public class UnplannedissueRequestMainServiceImpl implements UnplannedissueReque return errorList; } - @Override public List selectList(Long masterId) { return unplannedissueRequestDetailMapper.selectList(masterId); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java index ed4b9c7e..b65325a0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java @@ -11,15 +11,11 @@ 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.transaction.vo.TransactionCreateReqVO; -import com.win.module.wms.controller.unplannedissueJob.vo.UnplannedissueJobDetailUpdateReqVO; -import com.win.module.wms.controller.unplannedissueJob.vo.UnplannedissueJobMainUpdateReqVO; import com.win.module.wms.controller.unplannedreceiptJob.vo.*; import com.win.module.wms.convert.unplannedreceiptJob.UnplannedreceiptJobMainConvert; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.location.LocationDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; -import com.win.module.wms.dal.dataobject.unplannedissueJob.UnplannedissueJobDetailDO; -import com.win.module.wms.dal.dataobject.unplannedissueJob.UnplannedissueJobMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobDetailDO; import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO; @@ -139,6 +135,7 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa public List getUnplannedreceiptJobMainList(UnplannedreceiptJobMainExportReqVO exportReqVO) { return unplannedreceiptJobMainMapper.selectList(exportReqVO); } + @Override public UnplannedreceiptJobMainDO unplannedreceiptJobMainDoStatusRight(String pnumber, String pstatus) { QueryWrapper queryWrapper = new QueryWrapper(); @@ -312,7 +309,6 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa //变更记录 trendsApi.createTrends(unplannedreceiptJobMainDO.getId(), "UnplannedReceiptJob", "执行计划外入库任务", TrendsTypeEnum.UPDATE); return number; - } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainService.java index 1dfb4e11..08511448 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainService.java @@ -4,10 +4,7 @@ import java.util.*; import javax.validation.*; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainCreateReqVO; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainExportReqVO; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainPageReqVO; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainUpdateReqVO; +import com.win.module.wms.controller.unplannedreceiptRecord.vo.*; import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO; import com.win.framework.common.pojo.PageResult; @@ -80,4 +77,10 @@ public interface UnplannedreceiptRecordMainService { */ List getUnplannedreceiptRecordMainList(UnplannedreceiptRecordMainExportReqVO exportReqVO); + /** + * 计划外入库记录明细 + * @param id 记录主键ID + * @return 记录明细数据 + */ + UnplannedreceiptRecordMainRespVO getDetailInfoById(Long id); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java index cdddc87e..ef6357ae 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRecord/UnplannedreceiptRecordMainServiceImpl.java @@ -1,20 +1,39 @@ package com.win.module.wms.service.unplannedreceiptRecord; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainCreateReqVO; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainExportReqVO; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainPageReqVO; -import com.win.module.wms.controller.unplannedreceiptRecord.vo.UnplannedreceiptRecordMainUpdateReqVO; -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import java.util.*; -import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO; import com.win.framework.common.pojo.PageResult; +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.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.controller.unplannedreceiptRecord.vo.*; +import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordDetailConvert; import com.win.module.wms.convert.unplannedreceiptRecord.UnplannedreceiptRecordMainConvert; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO; +import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO; +import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordDetailMapper; import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordMainMapper; +import com.win.module.wms.service.recordsetting.RecordsettingService; +import com.win.module.wms.service.transaction.TransactionService; +import com.win.module.wms.util.JobUtils; +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.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDRECEIPT_RECORD_MAIN_NOT_EXISTS; /** * 计划外入库记录主 Service 实现类 @@ -27,20 +46,80 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe @Resource private UnplannedreceiptRecordMainMapper unplannedreceiptRecordMainMapper; + @Resource + private UnplannedreceiptRecordDetailMapper unplannedreceiptRecordDetailMapper; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private JobUtils jobUtils; + @Resource + private RecordsettingService recordsettingService; + @Resource + private AdminUserApi userApi; + @Resource + private TransactionService transactionService; + @Resource + private TrendsApi trendsApi; @Override public PageResult getUnplannedreceiptRecordMainSenior(CustomConditions conditions) { return unplannedreceiptRecordMainMapper.selectSenior(conditions); } - + @Transactional @Override public Long createUnplannedreceiptRecordMain(UnplannedreceiptRecordMainCreateReqVO createReqVO) { - // 插入 - UnplannedreceiptRecordMainDO unplannedreceiptRecordMain = UnplannedreceiptRecordMainConvert.INSTANCE.convert(createReqVO); - unplannedreceiptRecordMainMapper.insert(unplannedreceiptRecordMain); - // 返回 - return unplannedreceiptRecordMain.getId(); + UnplannedreceiptRecordMainDO unplannedreceiptRecordMainDO = UnplannedreceiptRecordMainConvert.INSTANCE.convert(createReqVO); + String number = serialNumberApi.generateCode(RuleCodeEnum.UNPLANNED_RECEIPT_RECORD.getCode()); + unplannedreceiptRecordMainDO.setNumber(number); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRecord"); + unplannedreceiptRecordMainDO.setBusinessType(businesstypeDO.getCode()); + unplannedreceiptRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType()); + unplannedreceiptRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType()); + String interFaceType = recordsettingService.selectRecordsettingExist("UnplannedReceiptRecord").getInterfaceType(); + unplannedreceiptRecordMainDO.setInterfaceType(interFaceType); + unplannedreceiptRecordMainDO.setExecuteTime(LocalDateTime.now()); + unplannedreceiptRecordMainDO.setActiveDate(LocalDateTime.now()); + unplannedreceiptRecordMainDO.setAvailable("TRUE"); + unplannedreceiptRecordMainDO.setDueTime(null); + unplannedreceiptRecordMainDO.setId(null); + unplannedreceiptRecordMainDO.setCreator(null); + unplannedreceiptRecordMainDO.setCreateTime(LocalDateTime.now()); + unplannedreceiptRecordMainMapper.insert(unplannedreceiptRecordMainDO); + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + List subList = createReqVO.getSubList(); + for(UnplannedreceiptRecordDetailCreateReqVO unplannedreceiptRecordDetailCreateReqVO : subList) { + UnplannedreceiptRecordDetailDO recordDetailDO = UnplannedreceiptRecordDetailConvert.INSTANCE.convert(unplannedreceiptRecordDetailCreateReqVO); + recordDetailDO.setNumber(number); + recordDetailDO.setMasterId(unplannedreceiptRecordMainDO.getId()); + recordDetailDO.setId(null); + unplannedreceiptRecordDetailMapper.insert(recordDetailDO); + + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(unplannedreceiptRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(recordDetailDO.getToLocationCode()); + transactionCreateReqVO.setOwnerCode(recordDetailDO.getOwnerCode()); + transactionCreateReqVO.setPackingNumber(recordDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(recordDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(unplannedreceiptRecordMainDO.getToWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + trendsApi.createTrends(unplannedreceiptRecordMainDO.getId(), "UnplannedReceiptRecord", "增加了计划外入库申请记录", TrendsTypeEnum.CREATE); + return unplannedreceiptRecordMainDO.getId(); } @Override @@ -60,10 +139,12 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe unplannedreceiptRecordMainMapper.deleteById(id); } - private void validateUnplannedreceiptRecordMainExists(Long id) { - if (unplannedreceiptRecordMainMapper.selectById(id) == null) { + private UnplannedreceiptRecordMainDO validateUnplannedreceiptRecordMainExists(Long id) { + UnplannedreceiptRecordMainDO unplannedreceiptRecordMainDO = unplannedreceiptRecordMainMapper.selectById(id); + if (unplannedreceiptRecordMainDO == null) { throw exception(UNPLANNEDRECEIPT_RECORD_MAIN_NOT_EXISTS); } + return unplannedreceiptRecordMainDO; } @Override @@ -86,4 +167,21 @@ public class UnplannedreceiptRecordMainServiceImpl implements UnplannedreceiptRe return unplannedreceiptRecordMainMapper.selectList(exportReqVO); } + @Override + public UnplannedreceiptRecordMainRespVO getDetailInfoById(Long id) { + UnplannedreceiptRecordMainRespVO unplannedreceiptRecordMainRespVO = new UnplannedreceiptRecordMainRespVO(); + UnplannedreceiptRecordMainDO unplannedreceiptRecordMainDO = validateUnplannedreceiptRecordMainExists(id); + UnplannedreceiptRecordDetailExportReqVO reqVO = new UnplannedreceiptRecordDetailExportReqVO(); + reqVO.setMasterId(id); + List subList = unplannedreceiptRecordDetailMapper.selectList(reqVO); + BeanUtils.copyProperties(unplannedreceiptRecordMainDO,unplannedreceiptRecordMainRespVO); + List detailList = new ArrayList<>(); + for(UnplannedreceiptRecordDetailDO unplannedreceiptRecordDetailDO:subList){ + UnplannedreceiptRecordDetailRespVO unplannedreceiptRecordDetailRespVO = UnplannedreceiptRecordDetailConvert.INSTANCE.convert(unplannedreceiptRecordDetailDO); + detailList.add(unplannedreceiptRecordDetailRespVO); + } + unplannedreceiptRecordMainRespVO.setSubList(detailList); + return unplannedreceiptRecordMainRespVO; + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestDetailServiceImpl.java index a7d15b96..a08861ac 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestDetailServiceImpl.java @@ -1,34 +1,30 @@ package com.win.module.wms.service.unplannedreceiptRequest; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.wms.controller.unplannedreceiptRequest.vo.*; -import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestMainConvert; +import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert; 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.purchasereceiptRequest.PurchasereceiptRequestDetailDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO; -import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; +import com.win.module.wms.dal.mysql.unplannedreceiptRequest.UnplannedreceiptRequestDetailMapper; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.util.JobUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.*; - -import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.unplannedreceiptRequest.UnplannedreceiptRequestDetailConvert; -import com.win.module.wms.dal.mysql.unplannedreceiptRequest.UnplannedreceiptRequestDetailMapper; +import java.util.Collection; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.UNPLANNEDRECEIPT_REQUEST_DETAIL_NOT_EXISTS; /** * 计划外入库申请子 Service 实现类 @@ -41,29 +37,26 @@ public class UnplannedreceiptRequestDetailServiceImpl implements Unplannedreceip @Resource private UnplannedreceiptRequestDetailMapper unplannedreceiptRequestDetailMapper; - @Resource private RequestsettingService requestsettingService; - @Resource private ItembasicService itembasicService; - @Resource private JobUtils jobUtils; - @Resource private TrendsApi trendsApi; + @Transactional @Override public Long createUnplannedreceiptRequestDetail(UnplannedreceiptRequestDetailCreateReqVO createReqVO) { RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("UnplannedReceiptRequest"); // 插入 UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetail = validatorToCreate(createReqVO,requestsettingDO); + trendsApi.createTrends(unplannedreceiptRequestDetail.getId(), "UnplannedReceiptRequest", "增加了计划外入库申请", TrendsTypeEnum.CREATE); return unplannedreceiptRequestDetail.getId(); } - - private UnplannedreceiptRequestDetailDO validatorToCreate(UnplannedreceiptRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { + public UnplannedreceiptRequestDetailDO validatorToCreate(UnplannedreceiptRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRequest"); UnplannedreceiptRequestDetailDO unplannedreceiptRequestDetailDO = validateDetailMethod(createReqVO,businesstypeDO); unplannedreceiptRequestDetailMapper.insert(unplannedreceiptRequestDetailDO); @@ -86,13 +79,16 @@ public class UnplannedreceiptRequestDetailServiceImpl implements Unplannedreceip return detailDo; } + @Transactional @Override public void updateUnplannedreceiptRequestDetail(UnplannedreceiptRequestDetailUpdateReqVO updateReqVO) { // 校验存在 validateUnplannedreceiptRequestDetailExists(updateReqVO.getId()); // 更新 - UnplannedreceiptRequestDetailDO updateObj = UnplannedreceiptRequestDetailConvert.INSTANCE.convert(updateReqVO); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("UnplannedReceiptRequest"); + UnplannedreceiptRequestDetailDO updateObj = validateDetailMethod(updateReqVO,businesstypeDO); unplannedreceiptRequestDetailMapper.updateById(updateObj); + trendsApi.createTrends(updateObj.getId(), "UnplannedReceiptRequest", "更新了计划外入库申请", TrendsTypeEnum.UPDATE); } @Override diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java index c1774db3..ee299a03 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptRequest/UnplannedreceiptRequestMainServiceImpl.java @@ -269,7 +269,6 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR detailDo.setCreateTime(LocalDateTime.now()); } - private UnplannedreceiptRequestMainDO validateMainMethod(UnplannedreceiptRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){ UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = UnplannedreceiptRequestMainConvert.INSTANCE.convert(baseVO); unplannedreceiptRequestMainDO.setRequestTime(LocalDateTime.now()); @@ -426,7 +425,7 @@ public class UnplannedreceiptRequestMainServiceImpl implements UnplannedreceiptR return message.toString(); } - public List getUnplannedreceiptRequestMainList1(CustomConditions conditions) { + public List getUnplannedreceiptRequestMainList1(CustomConditions conditions) { return unplannedreceiptRequestMainMapper.selectSeniorList(conditions); }