From d1b9886c7bfcddbfad638fa77258e94ecd950041 Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Mon, 20 Nov 2023 08:47:40 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E6=8E=A5=E5=8F=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../expectout/ExpectoutController.java | 2 +- .../production/ProductionMainController.java | 2 +- ...urchasereceiptRequestDetailController.java | 28 +- .../PurchasereturnJobDetailController.java | 96 +----- .../PurchasereturnJobMainController.java | 153 +++++---- .../vo/PurchasereturnJobMainCreateReqVO.java | 11 +- .../vo/PurchasereturnJobMainExcelVO.java | 140 +++++--- .../vo/PurchasereturnJobMainUpdateReqVO.java | 9 +- .../PurchasereturnRecordDetailController.java | 107 ++---- .../PurchasereturnRecordMainController.java | 140 ++++---- .../vo/PurchasereturnRecordMainExcelVO.java | 130 ++++++-- ...PurchasereturnRequestDetailController.java | 80 ++--- .../PurchasereturnRequestMainController.java | 162 ++++----- .../vo/PurchasereturnRequestMainExcelVO.java | 111 +++++-- .../PutawayRequestMainController.java | 20 +- .../controller/work/WorkMainController.java | 2 +- .../PurchasereturnJobDetailConvert.java | 10 +- .../PurchasereturnJobMainConvert.java | 24 +- .../PurchasereturnRecordMainConvert.java | 21 +- .../PurchasereturnRequestMainConvert.java | 22 +- .../PurchasereturnJobDetailDO.java | 14 +- .../PurchasereturnJobMainDO.java | 19 +- .../PurchasereturnRecordDetailDO.java | 13 +- .../PurchasereceiptRecordMainMapper.java | 6 +- .../PurchasereceiptRequestMainMapper.java | 7 +- .../PurchasereturnJobDetailMapper.java | 35 +- .../PurchasereturnJobMainMapper.java | 37 ++- .../PurchasereturnRecordDetailMapper.java | 46 +-- .../PurchasereturnRecordMainMapper.java | 16 +- .../PurchasereturnRequestDetailMapper.java | 40 +-- .../PurchasereturnRequestMainMapper.java | 17 +- .../PurchasereceiptJobDetailService.java | 16 +- .../PurchasereceiptJobDetailServiceImpl.java | 10 +- .../PurchasereceiptJobMainService.java | 16 +- .../PurchasereceiptJobMainServiceImpl.java | 17 +- ...rchasereceiptRequestDetailServiceImpl.java | 2 +- .../PurchasereceiptRequestMainService.java | 7 - ...PurchasereceiptRequestMainServiceImpl.java | 20 -- .../PurchasereturnJobDetailService.java | 57 +--- .../PurchasereturnJobDetailServiceImpl.java | 67 +--- .../PurchasereturnJobMainService.java | 98 +++--- .../PurchasereturnJobMainServiceImpl.java | 281 ++++++++++++---- .../PurchasereturnRecordDetailService.java | 66 +--- ...PurchasereturnRecordDetailServiceImpl.java | 65 +--- .../PurchasereturnRecordMainService.java | 61 +--- .../PurchasereturnRecordMainServiceImpl.java | 65 +--- .../PurchasereturnRequestDetailService.java | 26 +- ...urchasereturnRequestDetailServiceImpl.java | 87 +++-- .../PurchasereturnRequestMainService.java | 69 +++- .../PurchasereturnRequestMainServiceImpl.java | 313 +++++++++++++----- 50 files changed, 1507 insertions(+), 1356 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectout/ExpectoutController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectout/ExpectoutController.java index ebabfb4a..3a0fced7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectout/ExpectoutController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/expectout/ExpectoutController.java @@ -105,7 +105,7 @@ public class ExpectoutController { ExcelUtils.write(response, "预计出库存.xls", "数据", ExpectoutExcelVO.class, datas); } - @GetMapping("/export-excel-senior") + @PostMapping("/export-excel-senior") @Operation(summary = "导出预计出库存 Excel") @PreAuthorize("@ss.hasPermission('wms:expectout:export')") @OperateLog(type = EXPORT) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/ProductionMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/ProductionMainController.java index 0225a7f2..21cc9263 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/ProductionMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/production/ProductionMainController.java @@ -157,7 +157,7 @@ public class ProductionMainController { ExcelUtils.write(response, "生产计划.xls", "生产计划", ProductionMainExcelVO.class, resultList); } - @GetMapping("/export-excel-senior") + @PostMapping("/export-excel-senior") @Operation(summary = "导出生产计划主 Excel") @PreAuthorize("@ss.hasPermission('wms:production-main:export')") @OperateLog(type = EXPORT) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestDetailController.java index 5e793c6b..d66fced2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestDetailController.java @@ -43,20 +43,6 @@ public class PurchasereceiptRequestDetailController { return success(purchasereceiptRequestDetailService.createPurchasereceiptRequestDetail(createReqVO)); } - @PostMapping("/senior") - @Operation(summary = "高级搜索获得物品基本信息分页") - @PreAuthorize("@ss.hasPermission('wms:PurchasereceiptRequestDetail:query')") - public CommonResult> getPurchasereceiptRequestDetailSenior(@Valid @RequestBody CustomConditions conditions) { - PageResult pageResult = purchasereceiptRequestDetailService.getPurchasereceiptRequestDetailSenior(conditions); - PageResult result = PurchasereceiptRequestDetailConvert.INSTANCE.convertPage(pageResult); - for(PurchasereceiptRequestDetailRespVO vo : result.getList()) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); - } - return success(result); - } - @PutMapping("/update") @Operation(summary = "更新采购收货申请子") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-detail:update')") @@ -91,4 +77,18 @@ public class PurchasereceiptRequestDetailController { return success(PurchasereceiptRequestDetailConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") + @Operation(summary = "高级搜索获得物品基本信息分页") + @PreAuthorize("@ss.hasPermission('wms:PurchasereceiptRequestDetail:query')") + public CommonResult> getPurchasereceiptRequestDetailSenior(@Valid @RequestBody CustomConditions conditions) { + PageResult pageResult = purchasereceiptRequestDetailService.getPurchasereceiptRequestDetailSenior(conditions); + PageResult result = PurchasereceiptRequestDetailConvert.INSTANCE.convertPage(pageResult); + for(PurchasereceiptRequestDetailRespVO vo : result.getList()) { + AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); + //后端创建个字段作为前端展示的虚拟字段 + vo.setCreator(user.getNickname()); + } + return success(result); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobDetailController.java index ffc9e8c2..c6729cdb 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobDetailController.java @@ -1,36 +1,26 @@ package com.win.module.wms.controller.purchasereturnJob; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.wms.controller.purchasereturnJob.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.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO; +import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailRespVO; +import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; +import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobDetailService; import io.swagger.v3.oas.annotations.Operation; +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 java.io.IOException; +import javax.annotation.Resource; +import javax.validation.Valid; -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.controller.purchasereturnJob.vo.*; -import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; -import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert; -import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobDetailService; - @Tag(name = "管理后台 - 采购退货任务子") @RestController @RequestMapping("/wms/purchasereturn-job-detail") @@ -43,48 +33,6 @@ public class PurchasereturnJobDetailController { @Resource private AdminUserApi userApi; - @PostMapping("/create") - @Operation(summary = "创建采购退货任务子") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:create')") - public CommonResult createPurchasereturnJobDetail(@Valid @RequestBody PurchasereturnJobDetailCreateReqVO createReqVO) { - return success(purchasereturnJobDetailService.createPurchasereturnJobDetail(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新采购退货任务子") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:update')") - public CommonResult updatePurchasereturnJobDetail(@Valid @RequestBody PurchasereturnJobDetailUpdateReqVO updateReqVO) { - purchasereturnJobDetailService.updatePurchasereturnJobDetail(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除采购退货任务子") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:delete')") - public CommonResult deletePurchasereturnJobDetail(@RequestParam("id") String id) { - purchasereturnJobDetailService.deletePurchasereturnJobDetail(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得采购退货任务子") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:query')") - public CommonResult getPurchasereturnJobDetail(@RequestParam("id") String id) { - PurchasereturnJobDetailDO purchasereturnJobDetail = purchasereturnJobDetailService.getPurchasereturnJobDetail(id); - return success(PurchasereturnJobDetailConvert.INSTANCE.convert(purchasereturnJobDetail)); - } - - @GetMapping("/list") - @Operation(summary = "获得采购退货任务子列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:query')") - public CommonResult> getPurchasereturnJobDetailList(@RequestParam("ids") Collection ids) { - List list = purchasereturnJobDetailService.getPurchasereturnJobDetailList(ids); - return success(PurchasereturnJobDetailConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得采购退货任务子分页") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:query')") @@ -92,6 +40,7 @@ public class PurchasereturnJobDetailController { PageResult pageResult = purchasereturnJobDetailService.getPurchasereturnJobDetailPage(pageVO); return success(PurchasereturnJobDetailConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得物品基本信息分页") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnJobDetail:query')") @@ -106,21 +55,4 @@ public class PurchasereturnJobDetailController { return success(result); } - @GetMapping("/export-excel") - @Operation(summary = "导出采购退货任务子 Excel") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-detail:export')") - @OperateLog(type = EXPORT) - public void exportPurchasereturnJobDetailExcel(@Valid PurchasereturnJobDetailExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = purchasereturnJobDetailService.getPurchasereturnJobDetailList(exportReqVO); - // 导出 Excel - List datas = PurchasereturnJobDetailConvert.INSTANCE.convertList02(list); - for(PurchasereturnJobDetailExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - - } - ExcelUtils.write(response, "采购退货任务子.xls", "数据", PurchasereturnJobDetailExcelVO.class, datas); - } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobMainController.java index 3faa81b8..b025ba84 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/PurchasereturnJobMainController.java @@ -1,38 +1,41 @@ package com.win.module.wms.controller.purchasereturnJob; +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.dict.core.util.DictFrameworkUtils; +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.purchasereturnJob.vo.*; import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert; +import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert; import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; +import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobDetailService; +import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobMainService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; import jodd.util.StringUtil; -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 io.swagger.v3.oas.annotations.Operation; +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.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; -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.purchasereturnJob.PurchasereturnJobMainDO; -import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert; -import com.win.module.wms.service.purchasereturnJob.PurchasereturnJobMainService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 采购退货任务主") @RestController @@ -47,47 +50,14 @@ public class PurchasereturnJobMainController { @Resource private PurchasereturnJobDetailService purchasereturnJobDetailService; - @PostMapping("/create") - @Operation(summary = "创建采购退货任务主") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:create')") - public CommonResult createPurchasereturnJobMain(@Valid @RequestBody PurchasereturnJobMainCreateReqVO createReqVO) { - return success(purchasereturnJobMainService.createPurchasereturnJobMain(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新采购退货任务主") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:update')") - public CommonResult updatePurchasereturnJobMain(@Valid @RequestBody PurchasereturnJobMainUpdateReqVO updateReqVO) { - purchasereturnJobMainService.updatePurchasereturnJobMain(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除采购退货任务主") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:delete')") - public CommonResult deletePurchasereturnJobMain(@RequestParam("id") String id) { - purchasereturnJobMainService.deletePurchasereturnJobMain(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得采购退货任务主") - @Parameter(name = "id", description = "编号", required = true, example = "1024") + @GetMapping("/page") + @Operation(summary = "获得采购退货任务主分页") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:query')") - public CommonResult getPurchasereturnJobMain(@RequestParam("id") String id) { - PurchasereturnJobMainDO purchasereturnJobMain = purchasereturnJobMainService.getPurchasereturnJobMain(id); - return success(PurchasereturnJobMainConvert.INSTANCE.convert(purchasereturnJobMain)); + public CommonResult> getPurchasereturnJobMainPage(@Valid PurchasereturnJobMainPageReqVO pageVO) { + PageResult pageResult = purchasereturnJobMainService.getPurchasereturnJobMainPage(pageVO); + return success(PurchasereturnJobMainConvert.INSTANCE.convertPage(pageResult)); } - @GetMapping("/list") - @Operation(summary = "获得采购退货任务主列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:query')") - public CommonResult> getPurchasereturnJobMainList(@RequestParam("ids") Collection ids) { - List list = purchasereturnJobMainService.getPurchasereturnJobMainList(ids); - return success(PurchasereturnJobMainConvert.INSTANCE.convertList(list)); - } @PostMapping("/senior") @Operation(summary = "高级搜索获得物品基本信息分页") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnJobMain:query')") @@ -101,13 +71,6 @@ public class PurchasereturnJobMainController { } return success(result); } - @GetMapping("/page") - @Operation(summary = "获得采购退货任务主分页") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:query')") - public CommonResult> getPurchasereturnJobMainPage(@Valid PurchasereturnJobMainPageReqVO pageVO) { - PageResult pageResult = purchasereturnJobMainService.getPurchasereturnJobMainPage(pageVO); - return success(PurchasereturnJobMainConvert.INSTANCE.convertPage(pageResult)); - } @GetMapping("/export-excel") @Operation(summary = "导出采购退货任务主 Excel") @@ -116,9 +79,57 @@ public class PurchasereturnJobMainController { public void exportPurchasereturnJobMainExcel(@Valid PurchasereturnJobMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException { List list = purchasereturnJobMainService.getPurchasereturnJobMainList(exportReqVO); - // 导出 Excel - List datas = PurchasereturnJobMainConvert.INSTANCE.convertList02(list); - ExcelUtils.write(response, "采购退货任务主.xls", "数据", PurchasereturnJobMainExcelVO.class, datas); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "采购退货任务主.xls", "数据", PurchasereturnJobMainExcelVO.class, resultList, mapDropDown); + } + + @PostMapping("/export-excel-senior") + @Operation(summary = "导出采购退货任务主 Excel") + @PreAuthorize("@ss.hasPermission('wms:purchasereturn-job-main:export')") + @OperateLog(type = EXPORT) + public void exportPurchasereturnJobMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException { + List list = purchasereturnJobMainService.getPurchasereturnJobMainList(conditions); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "采购退货任务主.xls", "数据", PurchasereturnJobMainExcelVO.class, resultList, mapDropDown); + } + + private List getExcelVo(List list, Map mapDropDown) { + String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE); + mapDropDown.put(7, transferMode); + String[] status = JobStatusEnum.getStatusNameArray(); + mapDropDown.put(13, status); + String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE); + mapDropDown.put(22, locationType); + mapDropDown.put(23, locationType); + String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); + mapDropDown.put(30, trueFalse); + mapDropDown.put(31, trueFalse); + mapDropDown.put(32, trueFalse); + mapDropDown.put(33, trueFalse); + mapDropDown.put(34, trueFalse); + mapDropDown.put(35, trueFalse); + mapDropDown.put(36, trueFalse); + mapDropDown.put(37, trueFalse); + mapDropDown.put(38, trueFalse); + mapDropDown.put(39, trueFalse); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(47, inventoryStatus); + String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); + mapDropDown.put(50, purchaseReturnReason); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(57, uom); + List resultList = new ArrayList<>(); + // 导出 + for (PurchasereturnJobMainDO mainDO : list) { + List subList = purchasereturnJobDetailService.selectList(mainDO.getId()); + for (PurchasereturnJobDetailDO detailDO : subList) { + PurchasereturnJobMainExcelVO vo = PurchasereturnJobMainConvert.INSTANCE.convert(mainDO, detailDO); + resultList.add(vo); + } + } + return resultList; } @GetMapping("/getReturnJobById") @@ -130,10 +141,8 @@ public class PurchasereturnJobMainController { PurchasereturnJobMainRespVO result = PurchasereturnJobMainConvert.INSTANCE.convert(purchasereturnJobMain); if(result==null) { return success(result); - }; - PurchasereturnJobDetailExportReqVO purchasereturnJobDetailExportReqVO = new PurchasereturnJobDetailExportReqVO(); - purchasereturnJobDetailExportReqVO.setMasterId(result.getId()); - List purchasereturnJobDetailList = purchasereturnJobDetailService.getPurchasereturnJobDetailList(purchasereturnJobDetailExportReqVO); + } + List purchasereturnJobDetailList = purchasereturnJobDetailService.selectList(result.getId()); List purchasereturnJobDetailExcelVOS = PurchasereturnJobDetailConvert.INSTANCE.convertList02(purchasereturnJobDetailList); result.setSubList(purchasereturnJobDetailExcelVOS); return success(result); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainCreateReqVO.java index f801f9fe..1672f930 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainCreateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainCreateReqVO.java @@ -1,7 +1,13 @@ package com.win.module.wms.controller.purchasereturnJob.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 javax.validation.Valid; +import java.util.List; @Schema(description = "管理后台 - 采购退货任务主创建 Request VO") @Data @@ -9,4 +15,7 @@ import io.swagger.v3.oas.annotations.media.Schema; @ToString(callSuper = true) public class PurchasereturnJobMainCreateReqVO extends PurchasereturnJobMainBaseVO { + @SubObject + @Schema(description = "子表数据") + private List<@Valid PurchasereturnJobDetailCreateReqVO> subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainExcelVO.java index 3f331d53..30a673e3 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainExcelVO.java @@ -1,19 +1,14 @@ package com.win.module.wms.controller.purchasereturnJob.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; - import com.alibaba.excel.annotation.ExcelProperty; import com.win.framework.excel.core.annotations.DictFormat; import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.enums.job.JobStatusConverter; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; /** @@ -46,11 +41,10 @@ public class PurchasereturnJobMainExcelVO { private String carrierCode; @ExcelProperty(value = "运输方式", converter = DictConvert.class) - @DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRANSFER_MODE) private String transferMode; - @ExcelProperty(value = "车牌号", converter = DictConvert.class) - @DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @ExcelProperty(value = "车牌号") private String vehiclePlateNumber; @ExcelProperty("从仓库代码") @@ -65,23 +59,12 @@ public class PurchasereturnJobMainExcelVO { @ExcelProperty("要求截止时间") private LocalDateTime requestDueTime; - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat("job_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @ExcelProperty(value = "状态", converter = JobStatusConverter.class) private String status; @ExcelProperty("过期时间") private LocalDateTime expiredTime; - @ExcelProperty("最后更新时间") - private LocalDateTime updateTime; - - @ExcelProperty("最后更新者Id") - private String updater; - - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat("job_stage_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String jobStageStatus; - @ExcelProperty("优先级") private Integer priority; @@ -104,11 +87,11 @@ public class PurchasereturnJobMainExcelVO { private LocalDateTime completeTime; @ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) - @DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.LOCATION_TYPE) private String fromLocationTypes; @ExcelProperty(value = "到库位类型范围", converter = DictConvert.class) - @DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.LOCATION_TYPE) private String toLocationTypes; @ExcelProperty("单据号") @@ -120,12 +103,6 @@ public class PurchasereturnJobMainExcelVO { @ExcelProperty("备注") private String remark; - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者id") - private String creator; - @ExcelProperty("从库区代码范围") private String fromAreaCodes; @@ -136,43 +113,118 @@ public class PurchasereturnJobMainExcelVO { private String fromDockCode; @ExcelProperty(value = "自动完成", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String autoComplete; @ExcelProperty(value = "允许修改库位", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String allowModifyLocation; @ExcelProperty(value = "允许修改数量", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String allowModifyQty; @ExcelProperty(value = "允许大于推荐数量", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String allowBiggerQty; @ExcelProperty(value = "允许小于推荐数量", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String allowSmallerQty; @ExcelProperty(value = "允许修改库存状态", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String allowModifyInventoryStatus; @ExcelProperty(value = "允许连续扫描", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String allowContinuousScanning; @ExcelProperty(value = "允许部分完成", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String allowPartialComplete; @ExcelProperty(value = "允许修改批次", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String allowModifyBatch; @ExcelProperty(value = "允许修改箱码", converter = DictConvert.class) - @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRUE_FALSE) private String allowModifyPackingNumber; + @ExcelProperty("从货主代码") + private String fromOwnerCode; + + @ExcelProperty("包装号") + private String packingNumber; + + @ExcelProperty("器具号") + private String containerNumber; + + @ExcelProperty("批次") + private String batch; + + @ExcelProperty("替代批次") + private String altBatch; + + @ExcelProperty("从库位代码") + private String fromLocationCode; + + @ExcelProperty("到库位代码") + private String toLocationCode; + + @ExcelProperty(value = "库存状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.INVENTORY_STATUS) + private String inventoryStatus; + + @ExcelProperty("订单号") + private String poNumber; + + @ExcelProperty("订单行") + private String poLine; + + @ExcelProperty(value = "原因", converter = DictConvert.class) + @DictFormat(DictTypeConstants.PURCHASE_RETURN_REASON) + private String reason; + + @ExcelProperty("物品代码") + private String itemCode; + + @ExcelProperty("物品名称") + private String itemName; + + @ExcelProperty("物品描述1") + private String itemDesc1; + + @ExcelProperty("物品描述2") + private String itemDesc2; + + @ExcelProperty("项目代码") + private String projectCode; + + @ExcelProperty("数量") + private BigDecimal qty; + + @ExcelProperty(value = "计量单位", converter = DictConvert.class) + @DictFormat(DictTypeConstants.UOM) + private String uom; + + @ExcelProperty("子备注") + private String remarkDetail; + + @ExcelProperty("到货主代码") + private String toOwnerCode; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者id") + private String creator; + + @ExcelProperty("最后更新时间") + private LocalDateTime updateTime; + + @ExcelProperty("最后更新者Id") + private String updater; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainUpdateReqVO.java index dce5272a..818d7594 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobMainUpdateReqVO.java @@ -1,7 +1,12 @@ package com.win.module.wms.controller.purchasereturnJob.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.validation.Valid; +import java.util.List; @Schema(description = "管理后台 - 采购退货任务主更新 Request VO") @Data @@ -9,4 +14,6 @@ import lombok.*; @ToString(callSuper = true) public class PurchasereturnJobMainUpdateReqVO extends PurchasereturnJobMainBaseVO { + @Schema(description = "子表数据") + private List<@Valid PurchasereturnJobDetailUpdateReqVO> subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordDetailController.java index b3ad85ca..2e3a7d73 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordDetailController.java @@ -1,36 +1,26 @@ package com.win.module.wms.controller.purchasereturnRecord; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -import com.win.module.wms.controller.purchasereturnRecord.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.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.service.purchasereturnRecord.PurchasereturnRecordDetailService; import io.swagger.v3.oas.annotations.Operation; +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 java.io.IOException; +import javax.annotation.Resource; +import javax.validation.Valid; -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.controller.purchasereturnRecord.vo.*; -import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; -import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordDetailConvert; -import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordDetailService; - @Tag(name = "管理后台 - 采购退货记录子") @RestController @RequestMapping("/wms/purchasereturn-record-detail") @@ -43,12 +33,14 @@ public class PurchasereturnRecordDetailController { @Resource private AdminUserApi userApi; - @PostMapping("/create") - @Operation(summary = "创建采购退货记录子") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:create')") - public CommonResult createPurchasereturnRecordDetail(@Valid @RequestBody PurchasereturnRecordDetailCreateReqVO createReqVO) { - return success(purchasereturnRecordDetailService.createPurchasereturnRecordDetail(createReqVO)); + @GetMapping("/page") + @Operation(summary = "获得采购退货记录子分页") + @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:query')") + public CommonResult> getPurchasereturnRecordDetailPage(@Valid PurchasereturnRecordDetailPageReqVO pageVO) { + PageResult pageResult = purchasereturnRecordDetailService.getPurchasereturnRecordDetailPage(pageVO); + return success(PurchasereturnRecordDetailConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得采购退货记录子信息分页") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnRecordDetail:query')") @@ -62,64 +54,5 @@ public class PurchasereturnRecordDetailController { } return success(result); } - @PutMapping("/update") - @Operation(summary = "更新采购退货记录子") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:update')") - public CommonResult updatePurchasereturnRecordDetail(@Valid @RequestBody PurchasereturnRecordDetailUpdateReqVO updateReqVO) { - purchasereturnRecordDetailService.updatePurchasereturnRecordDetail(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除采购退货记录子") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:delete')") - public CommonResult deletePurchasereturnRecordDetail(@RequestParam("id") Long id) { - purchasereturnRecordDetailService.deletePurchasereturnRecordDetail(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得采购退货记录子") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:query')") - public CommonResult getPurchasereturnRecordDetail(@RequestParam("id") Long id) { - PurchasereturnRecordDetailDO purchasereturnRecordDetail = purchasereturnRecordDetailService.getPurchasereturnRecordDetail(id); - return success(PurchasereturnRecordDetailConvert.INSTANCE.convert(purchasereturnRecordDetail)); - } - - @GetMapping("/list") - @Operation(summary = "获得采购退货记录子列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:query')") - public CommonResult> getPurchasereturnRecordDetailList(@RequestParam("ids") Collection ids) { - List list = purchasereturnRecordDetailService.getPurchasereturnRecordDetailList(ids); - return success(PurchasereturnRecordDetailConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得采购退货记录子分页") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:query')") - public CommonResult> getPurchasereturnRecordDetailPage(@Valid PurchasereturnRecordDetailPageReqVO pageVO) { - PageResult pageResult = purchasereturnRecordDetailService.getPurchasereturnRecordDetailPage(pageVO); - return success(PurchasereturnRecordDetailConvert.INSTANCE.convertPage(pageResult)); - } - - @GetMapping("/export-excel") - @Operation(summary = "导出采购退货记录子 Excel") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-detail:export')") - @OperateLog(type = EXPORT) - public void exportPurchasereturnRecordDetailExcel(@Valid PurchasereturnRecordDetailExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = purchasereturnRecordDetailService.getPurchasereturnRecordDetailList(exportReqVO); - // 导出 Excel - List datas = PurchasereturnRecordDetailConvert.INSTANCE.convertList02(list); - for(PurchasereturnRecordDetailExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); - } - ExcelUtils.write(response, "采购退货记录子.xls", "数据", PurchasereturnRecordDetailExcelVO.class, datas); - } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordMainController.java index 4c1b9ee0..4acf6764 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/PurchasereturnRecordMainController.java @@ -1,34 +1,40 @@ package com.win.module.wms.controller.purchasereturnRecord; +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.dict.core.util.DictFrameworkUtils; +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.purchasereturnRecord.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.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExcelVO; +import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO; +import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO; +import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainRespVO; +import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordMainConvert; +import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO; +import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordDetailService; +import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordMainService; import io.swagger.v3.oas.annotations.Operation; +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.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; -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.purchasereturnRecord.PurchasereturnRecordMainDO; -import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordMainConvert; -import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordMainService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 采购退货记录主") @RestController @@ -38,16 +44,20 @@ public class PurchasereturnRecordMainController { @Resource private PurchasereturnRecordMainService purchasereturnRecordMainService; + @Resource + private PurchasereturnRecordDetailService purchasereturnRecordDetailService; @Resource private AdminUserApi userApi; - @PostMapping("/create") - @Operation(summary = "创建采购退货记录主") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:create')") - public CommonResult createPurchasereturnRecordMain(@Valid @RequestBody PurchasereturnRecordMainCreateReqVO createReqVO) { - return success(purchasereturnRecordMainService.createPurchasereturnRecordMain(createReqVO)); + @GetMapping("/page") + @Operation(summary = "获得采购退货记录主分页") + @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:query')") + public CommonResult> getPurchasereturnRecordMainPage(@Valid PurchasereturnRecordMainPageReqVO pageVO) { + PageResult pageResult = purchasereturnRecordMainService.getPurchasereturnRecordMainPage(pageVO); + return success(PurchasereturnRecordMainConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得物品基本信息分页") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnRecordMain:query')") @@ -61,48 +71,6 @@ public class PurchasereturnRecordMainController { } return success(result); } - @PutMapping("/update") - @Operation(summary = "更新采购退货记录主") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:update')") - public CommonResult updatePurchasereturnRecordMain(@Valid @RequestBody PurchasereturnRecordMainUpdateReqVO updateReqVO) { - purchasereturnRecordMainService.updatePurchasereturnRecordMain(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除采购退货记录主") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:delete')") - public CommonResult deletePurchasereturnRecordMain(@RequestParam("id") Long id) { - purchasereturnRecordMainService.deletePurchasereturnRecordMain(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得采购退货记录主") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:query')") - public CommonResult getPurchasereturnRecordMain(@RequestParam("id") Long id) { - PurchasereturnRecordMainDO purchasereturnRecordMain = purchasereturnRecordMainService.getPurchasereturnRecordMain(id); - return success(PurchasereturnRecordMainConvert.INSTANCE.convert(purchasereturnRecordMain)); - } - - @GetMapping("/list") - @Operation(summary = "获得采购退货记录主列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:query')") - public CommonResult> getPurchasereturnRecordMainList(@RequestParam("ids") Collection ids) { - List list = purchasereturnRecordMainService.getPurchasereturnRecordMainList(ids); - return success(PurchasereturnRecordMainConvert.INSTANCE.convertList(list)); - } - - @GetMapping("/page") - @Operation(summary = "获得采购退货记录主分页") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-record-main:query')") - public CommonResult> getPurchasereturnRecordMainPage(@Valid PurchasereturnRecordMainPageReqVO pageVO) { - PageResult pageResult = purchasereturnRecordMainService.getPurchasereturnRecordMainPage(pageVO); - return success(PurchasereturnRecordMainConvert.INSTANCE.convertPage(pageResult)); - } @GetMapping("/export-excel") @Operation(summary = "导出采购退货记录主 Excel") @@ -111,14 +79,36 @@ public class PurchasereturnRecordMainController { public void exportPurchasereturnRecordMainExcel(@Valid PurchasereturnRecordMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException { List list = purchasereturnRecordMainService.getPurchasereturnRecordMainList(exportReqVO); - // 导出 Excel - List datas = PurchasereturnRecordMainConvert.INSTANCE.convertList02(list); - for(PurchasereturnRecordMainExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "采购退货记录主.xls", "数据", PurchasereturnRecordMainExcelVO.class, resultList, mapDropDown); + } + + private List getExcelVo(List list, Map mapDropDown) { + //组装vo + String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE); + mapDropDown.put(8, transferMode); + String[] interfaceType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INTERFACE_TYPE); + mapDropDown.put(19, interfaceType); + String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE); + mapDropDown.put(24, locationType); + mapDropDown.put(25, locationType); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(40, inventoryStatus); + String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); + mapDropDown.put(43, purchaseReturnReason); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(53, uom); + List resultList = new ArrayList<>(); + // 导出 + for(PurchasereturnRecordMainDO mainDO : list) { + List subList = purchasereturnRecordDetailService.selectList(mainDO.getId()); + for(PurchasereturnRecordDetailDO detailDO : subList) { + PurchasereturnRecordMainExcelVO vo = PurchasereturnRecordMainConvert.INSTANCE.convert(mainDO, detailDO); + resultList.add(vo); + } } - ExcelUtils.write(response, "采购退货记录主.xls", "数据", PurchasereturnRecordMainExcelVO.class, datas); + return resultList; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/vo/PurchasereturnRecordMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/vo/PurchasereturnRecordMainExcelVO.java index ffa44949..e8c3937a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/vo/PurchasereturnRecordMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRecord/vo/PurchasereturnRecordMainExcelVO.java @@ -1,17 +1,13 @@ package com.win.module.wms.controller.purchasereturnRecord.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; - import com.alibaba.excel.annotation.ExcelProperty; import com.win.framework.excel.core.annotations.DictFormat; import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.wms.enums.DictTypeConstants; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; /** @@ -47,11 +43,10 @@ public class PurchasereturnRecordMainExcelVO { private String carrierCode; @ExcelProperty(value = "运输方式", converter = DictConvert.class) - @DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRANSFER_MODE) private String transferMode; - @ExcelProperty(value = "车牌号", converter = DictConvert.class) - @DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @ExcelProperty(value = "车牌号") private String vehiclePlateNumber; @ExcelProperty("从仓库代码") @@ -82,7 +77,7 @@ public class PurchasereturnRecordMainExcelVO { private String departmentCode; @ExcelProperty(value = "接口类型", converter = DictConvert.class) - @DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.INTERFACE_TYPE) private String interfaceType; @ExcelProperty("单据号") @@ -94,21 +89,15 @@ public class PurchasereturnRecordMainExcelVO { @ExcelProperty("备注") private String remark; - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者Id") - private String creator; - @ExcelProperty("代码") private String code; @ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) - @DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.LOCATION_TYPE) private String fromLocationTypes; @ExcelProperty(value = "到库位类型范围", converter = DictConvert.class) - @DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.LOCATION_TYPE) private String toLocationTypes; @ExcelProperty("从库区代码范围") @@ -120,4 +109,103 @@ public class PurchasereturnRecordMainExcelVO { @ExcelProperty("是否可用") private String available; + @ExcelProperty("从包装号") + private String fromPackingNumber; + + @ExcelProperty("到包装号") + private String toPackingNumber; + + @ExcelProperty("从器具号") + private String fromContainerNumber; + + @ExcelProperty("从批次") + private String fromBatch; + + @ExcelProperty("替代批次") + private String altBatch; + + @ExcelProperty("从库位代码") + private String fromLocationCode; + + @ExcelProperty("从库位组代码") + private String fromLocationGroupCode; + + @ExcelProperty("从库区代码") + private String fromAreaCode; + + @ExcelProperty("到库位代码") + private String toLocationCode; + + @ExcelProperty("到库位组代码") + private String toLocationGroupCode; + + @ExcelProperty("到库区代码") + private String toAreaCode; + + @ExcelProperty(value = "库存状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.INVENTORY_STATUS) + private String inventoryStatus; + + @ExcelProperty("订单号") + private String poNumber; + + @ExcelProperty("订单行") + private String poLine; + + @ExcelProperty(value = "原因", converter = DictConvert.class) + @DictFormat(DictTypeConstants.PURCHASE_RETURN_REASON) + private String reason; + + @ExcelProperty("单价") + private BigDecimal singlePrice; + + @ExcelProperty("金额") + private BigDecimal amount; + + @ExcelProperty("物品代码") + private String itemCode; + + @ExcelProperty("子备注") + private String remarkDetail; + + @ExcelProperty("物品名称") + private String itemName; + + @ExcelProperty("物品描述1") + private String itemDesc1; + + @ExcelProperty("物品描述2") + private String itemDesc2; + + @ExcelProperty("项目代码") + private String projectCode; + + @ExcelProperty("数量") + private BigDecimal qty; + + @ExcelProperty(value = "计量单位", converter = DictConvert.class) + @DictFormat(DictTypeConstants.UOM) + private String uom; + + @ExcelProperty("任务明细ID") + private String jobDetailId; + + @ExcelProperty("到器具号") + private String toContainerNumber; + + @ExcelProperty("从货主代码") + private String fromOwnerCode; + + @ExcelProperty("到货主代码") + private String toOwnerCode; + + @ExcelProperty("到批次") + private String toBatch; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者Id") + private String creator; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestDetailController.java index b3f493b8..983b56fe 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestDetailController.java @@ -1,35 +1,29 @@ package com.win.module.wms.controller.purchasereturnRequest; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; -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.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO; +import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO; +import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailRespVO; +import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO; +import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert; +import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; +import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService; 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 java.io.IOException; +import javax.annotation.Resource; +import javax.validation.Valid; -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.controller.purchasereturnRequest.vo.*; -import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; -import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert; -import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService; - @Tag(name = "管理后台 - 采购退货申请子") @RestController @RequestMapping("/wms/purchasereturn-request-detail") @@ -48,19 +42,7 @@ public class PurchasereturnRequestDetailController { public CommonResult createPurchasereturnRequestDetail(@Valid @RequestBody PurchasereturnRequestDetailCreateReqVO createReqVO) { return success(purchasereturnRequestDetailService.createPurchasereturnRequestDetail(createReqVO)); } - @PostMapping("/senior") - @Operation(summary = "高级搜索获得采购退货申请子信息分页") - @PreAuthorize("@ss.hasPermission('wms:PurchasereturnRequestDetail:query')") - public CommonResult> getPurchasereturnRequestDetailSenior(@Valid @RequestBody CustomConditions conditions) { - PageResult pageResult = purchasereturnRequestDetailService.getPurchasereturnRequestDetailSenior(conditions); - PageResult result = PurchasereturnRequestDetailConvert.INSTANCE.convertPage(pageResult); - for(PurchasereturnRequestDetailRespVO vo : result.getList()) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); - } - return success(result); - } + @PutMapping("/update") @Operation(summary = "更新采购退货申请子") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:update')") @@ -87,15 +69,6 @@ public class PurchasereturnRequestDetailController { return success(PurchasereturnRequestDetailConvert.INSTANCE.convert(purchasereturnRequestDetail)); } - @GetMapping("/list") - @Operation(summary = "获得采购退货申请子列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:query')") - public CommonResult> getPurchasereturnRequestDetailList(@RequestParam("ids") Collection ids) { - List list = purchasereturnRequestDetailService.getPurchasereturnRequestDetailList(ids); - return success(PurchasereturnRequestDetailConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得采购退货申请子分页") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:query')") @@ -104,21 +77,18 @@ public class PurchasereturnRequestDetailController { return success(PurchasereturnRequestDetailConvert.INSTANCE.convertPage(pageResult)); } - @GetMapping("/export-excel") - @Operation(summary = "导出采购退货申请子 Excel") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-detail:export')") - @OperateLog(type = EXPORT) - public void exportPurchasereturnRequestDetailExcel(@Valid PurchasereturnRequestDetailExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = purchasereturnRequestDetailService.getPurchasereturnRequestDetailList(exportReqVO); - // 导出 Excel - List datas = PurchasereturnRequestDetailConvert.INSTANCE.convertList02(list); - for(PurchasereturnRequestDetailExcelVO vo : datas) { + @PostMapping("/senior") + @Operation(summary = "高级搜索获得采购退货申请子信息分页") + @PreAuthorize("@ss.hasPermission('wms:PurchasereturnRequestDetail:query')") + public CommonResult> getPurchasereturnRequestDetailSenior(@Valid @RequestBody CustomConditions conditions) { + PageResult pageResult = purchasereturnRequestDetailService.getPurchasereturnRequestDetailSenior(conditions); + PageResult result = PurchasereturnRequestDetailConvert.INSTANCE.convertPage(pageResult); + for (PurchasereturnRequestDetailRespVO vo : result.getList()) { AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); //后端创建个字段作为前端展示的虚拟字段 vo.setCreator(user.getNickname()); } - ExcelUtils.write(response, "采购退货申请子.xls", "数据", PurchasereturnRequestDetailExcelVO.class, datas); + return success(result); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java index 8f6dacce..e9764a49 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/PurchasereturnRequestMainController.java @@ -1,44 +1,44 @@ package com.win.module.wms.controller.purchasereturnRequest; +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.dict.core.util.DictFrameworkUtils; import com.win.framework.excel.core.util.ConvertUtil; +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.purchasereturnRequest.vo.*; -import com.win.module.wms.enums.DictTypeConstants; -import io.swagger.v3.oas.annotations.Parameters; import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert; +import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; +import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestDetailService; -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.service.purchasereturnRequest.PurchasereturnRequestMainService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +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 org.springframework.web.multipart.MultipartFile; -import javax.validation.*; -import javax.servlet.http.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; import java.time.LocalDateTime; import java.time.ZoneOffset; -import java.util.*; -import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; -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.purchasereturnRequest.PurchasereturnRequestMainDO; -import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert; -import com.win.module.wms.service.purchasereturnRequest.PurchasereturnRequestMainService; -import org.springframework.web.multipart.MultipartFile; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 采购退货申请主") @RestController @@ -70,33 +70,6 @@ public class PurchasereturnRequestMainController { return success(true); } - @DeleteMapping("/delete") - @Operation(summary = "删除采购退货申请主") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:delete')") - public CommonResult deletePurchasereturnRequestMain(@RequestParam("id") Long id) { - purchasereturnRequestMainService.deletePurchasereturnRequestMain(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得采购退货申请主") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:query')") - public CommonResult getPurchasereturnRequestMain(@RequestParam("id") Long id) { - PurchasereturnRequestMainDO purchasereturnRequestMain = purchasereturnRequestMainService.getPurchasereturnRequestMain(id); - return success(PurchasereturnRequestMainConvert.INSTANCE.convert(purchasereturnRequestMain)); - } - - @GetMapping("/list") - @Operation(summary = "获得采购退货申请主列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:query')") - public CommonResult> getPurchasereturnRequestMainList(@RequestParam("ids") Collection ids) { - List list = purchasereturnRequestMainService.getPurchasereturnRequestMainList(ids); - return success(PurchasereturnRequestMainConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得采购退货申请主分页") @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:query')") @@ -104,13 +77,14 @@ public class PurchasereturnRequestMainController { PageResult pageResult = purchasereturnRequestMainService.getPurchasereturnRequestMainPage(pageVO); return success(PurchasereturnRequestMainConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得物品基本信息分页") @PreAuthorize("@ss.hasPermission('wms:PurchasereturnRequestMain:query')") public CommonResult> getPurchasereturnRequestMainSenior(@Valid @RequestBody CustomConditions conditions) { PageResult pageResult = purchasereturnRequestMainService.getPurchasereturnRequestMainSenior(conditions); PageResult result = PurchasereturnRequestMainConvert.INSTANCE.convertPage(pageResult); - for(PurchasereturnRequestMainRespVO vo : result.getList()) { + for (PurchasereturnRequestMainRespVO vo : result.getList()) { AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); //后端创建个字段作为前端展示的虚拟字段 vo.setCreator(user.getNickname()); @@ -123,16 +97,51 @@ public class PurchasereturnRequestMainController { @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:export')") @OperateLog(type = EXPORT) public void exportPurchasereturnRequestMainExcel(@Valid PurchasereturnRequestMainExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { + HttpServletResponse response) throws IOException { List list = purchasereturnRequestMainService.getPurchasereturnRequestMainList(exportReqVO); - // 导出 Excel - List datas = PurchasereturnRequestMainConvert.INSTANCE.convertList02(list); - for(PurchasereturnRequestMainExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, resultList, mapDropDown); + } + + @PostMapping("/export-excel-senior") + @Operation(summary = "导出采购退货申请主 Excel") + @PreAuthorize("@ss.hasPermission('wms:purchasereturn-request-main:export')") + @OperateLog(type = EXPORT) + public void exportPurchasereturnRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException { + List list = purchasereturnRequestMainService.getPurchasereturnRequestMainList(conditions); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, resultList, mapDropDown); + } + + private List getExcelVo(List list, Map mapDropDown) { + String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE); + mapDropDown.put(4, transferMode); + String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE); + mapDropDown.put(7, locationType); + mapDropDown.put(8, locationType); + String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS); + mapDropDown.put(18, requestStatus); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(31, inventoryStatus); + String[] packUnit = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PACK_UNIT); + mapDropDown.put(36, packUnit); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(38, uom); + mapDropDown.put(47, uom); + List resultList = new ArrayList<>(); + // 导出 + for(PurchasereturnRequestMainDO mainDO : list) { + List subList = purchasereturnRequestDetailService.selectList(mainDO.getId()); + for(PurchasereturnRequestDetailDO detailDO : subList) { + PurchasereturnRequestMainExcelVO vo = PurchasereturnRequestMainConvert.INSTANCE.convert(mainDO, detailDO); + AdminUserRespDTO user = userApi.getUser(Long.valueOf(mainDO.getCreator())); + vo.setCreator(user.getNickname()); + resultList.add(vo); + } } - ExcelUtils.write(response, "采购退货申请主.xls", "数据", PurchasereturnRequestMainExcelVO.class, datas); + return resultList; } @GetMapping("/get-import-template") @@ -141,19 +150,23 @@ public class PurchasereturnRequestMainController { // 手动创建导出 demo List list = new ArrayList<>(); Map mapDropDown = new HashMap<>(); - String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); - mapDropDown.put(10, uom); + String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE); + mapDropDown.put(4, transferMode); + String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE); + mapDropDown.put(7, locationType); + mapDropDown.put(8, locationType); + String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS); + mapDropDown.put(18, requestStatus); String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); - mapDropDown.put(11, inventoryStatus); - String[] reason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); - mapDropDown.put(13, reason); - String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); - mapDropDown.put(15, transferMode); - // 输出 + mapDropDown.put(31, inventoryStatus); + String[] packUnit = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PACK_UNIT); + mapDropDown.put(36, packUnit); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(38, uom); + mapDropDown.put(47, uom); ExcelUtils.write(response, "采购退货信息导入模板.xlsx", "采购退货信息列表", PurchasereturnRequestImportVO.class, list, mapDropDown); } - @PostMapping("/import") @Operation(summary = "导入采购退货基本信息") @Parameters({ @@ -172,12 +185,13 @@ public class PurchasereturnRequestMainController { List errorList = purchasereturnRequestMainService.importPurchasereturnRequestList(createReqVOList, mode, updatePart); Map returnMap = new HashMap<>(); returnMap.put("errorCount", errorList.size()); - if(!errorList.isEmpty()) { + if (!errorList.isEmpty()) { String url = ExcelUtils.writeLocalFile("采购退货基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList); returnMap.put("errorFile", url); } return success(returnMap); } + @GetMapping("/getPurchasereturnRequestById") @Operation(summary = "APP获得采购退货申请主子表明细列表") @Parameter(name = "id", description = "编号", required = true, example = "1024") @@ -185,12 +199,10 @@ public class PurchasereturnRequestMainController { public CommonResult getPurchasereturnRequestById(@RequestParam("id") Long id) { PurchasereturnRequestMainDO purchasereturnRequestMain = purchasereturnRequestMainService.getPurchasereturnRequestMain(id); PurchasereturnRequestMainRespVO result = PurchasereturnRequestMainConvert.INSTANCE.convert(purchasereturnRequestMain); - if(result==null) { + if (result == null) { return success(result); - }; - PurchasereturnRequestDetailExportReqVO reqVO = new PurchasereturnRequestDetailExportReqVO(); - reqVO.setMasterId(result.getId()); - List list = purchasereturnRequestDetailService.getPurchasereturnRequestDetailList(reqVO); + } + List list = purchasereturnRequestDetailService.selectList(result.getId()); List vos = PurchasereturnRequestDetailConvert.INSTANCE.convertList02(list); result.setSubList(vos); return success(result); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainExcelVO.java index 449b737b..89934e1c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnRequest/vo/PurchasereturnRequestMainExcelVO.java @@ -1,16 +1,13 @@ package com.win.module.wms.controller.purchasereturnRequest.vo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; - import com.alibaba.excel.annotation.ExcelProperty; import com.win.framework.excel.core.annotations.DictFormat; import com.win.framework.excel.core.convert.DictConvert; +import com.win.module.wms.enums.DictTypeConstants; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; /** @@ -37,11 +34,10 @@ public class PurchasereturnRequestMainExcelVO { private String carrierCode; @ExcelProperty(value = "运输方式", converter = DictConvert.class) - @DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.TRANSFER_MODE) private String transferMode; - @ExcelProperty(value = "车牌号", converter = DictConvert.class) - @DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @ExcelProperty(value = "车牌号") private String vehiclePlateNumber; @ExcelProperty("从仓库代码") @@ -59,12 +55,6 @@ public class PurchasereturnRequestMainExcelVO { @ExcelProperty("备注") private String remark; - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者用户名") - private String creator; - @ExcelProperty("申请时间") private LocalDateTime requestTime; @@ -75,17 +65,11 @@ public class PurchasereturnRequestMainExcelVO { private String departmentCode; @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat("request_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.REQUEST_STATUS) private String status; - @ExcelProperty("最后更新时间") - private LocalDateTime updateTime; - - @ExcelProperty("最后更新者用户名") - private String updater; - @ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) - @DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.LOCATION_TYPE) private String fromLocationTypes; @ExcelProperty("从库区代码范围") @@ -95,7 +79,7 @@ public class PurchasereturnRequestMainExcelVO { private String fromDockCode; @ExcelProperty(value = "到库位类型范围", converter = DictConvert.class) - @DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.LOCATION_TYPE) private String toLocationTypes; @ExcelProperty("到库区代码范围") @@ -113,4 +97,79 @@ public class PurchasereturnRequestMainExcelVO { @ExcelProperty("直接生成记录") private String directCreateRecord; + @ExcelProperty("包装号") + private String packingNumber; + + @ExcelProperty("器具号") + private String containerNumber; + + @ExcelProperty("批次") + private String batch; + + @ExcelProperty( "来源库位") + private String fromLocationCode; + + @ExcelProperty("替代批次") + private String altBatch; + + @ExcelProperty("到库位代码") + private String toLocationCode; + + @ExcelProperty(value = "库存状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.INVENTORY_STATUS) + private String inventoryStatus; + + @ExcelProperty("订单号") + private String poNumber; + + @ExcelProperty("订单行") + private String poLine; + + @ExcelProperty(value = "原因", converter = DictConvert.class) + @DictFormat(DictTypeConstants.PURCHASE_RETURN_REASON) + private String reason; + + @ExcelProperty("物品代码") + private String itemCode; + + @ExcelProperty("子备注") + private String remarkDetail; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者用户名") + private String creator; + + @ExcelProperty("物品名称") + private String itemName; + + @ExcelProperty("物品描述1") + private String itemDesc1; + + @ExcelProperty("物品描述2") + private String itemDesc2; + + @ExcelProperty("项目代码") + private String projectCode; + + @ExcelProperty("数量") + private BigDecimal qty; + + @ExcelProperty(value = "计量单位", converter = DictConvert.class) + @DictFormat(DictTypeConstants.UOM) + private String uom; + + @ExcelProperty("最后更新时间") + private LocalDateTime updateTime; + + @ExcelProperty("最后更新者用户名") + private String updater; + + @ExcelProperty("从货主代码") + private String fromOwnerCode; + + @ExcelProperty("到货主代码") + private String toOwnerCode; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java index 622b7012..17db95cd 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/PutawayRequestMainController.java @@ -119,8 +119,7 @@ public class PutawayRequestMainController { List resultList = this.getExcelVo(list, mapDropDown); ExcelUtils.write(response, "上架申请主.xls", "上架申请数据", PutawayRequestMainExcelVO.class, resultList, mapDropDown); } - - @GetMapping("/export-excel-senior") + @PostMapping("/export-excel-senior") @Operation(summary = "导出上架申请主 Excel") @PreAuthorize("@ss.hasPermission('wms:putaway-request-main:export')") @OperateLog(type = EXPORT) @@ -167,11 +166,20 @@ public class PutawayRequestMainController { // 手动创建导出 demo List list = new ArrayList<>(); Map mapDropDown = new HashMap<>(); - String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); - mapDropDown.put(8, inventoryStatus); + String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE); + mapDropDown.put(6, locationType); + String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS); + mapDropDown.put(11, requestStatus); + String[] inspectType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INSPECT_TYPE); + mapDropDown.put(15, inspectType); + String[] nextAction = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.NEXT_ACTION); + mapDropDown.put(16, nextAction); + String[] sampleMethod = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.SAMPLE_METHOD); + mapDropDown.put(17, sampleMethod); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); - mapDropDown.put(10, uom); - // 输出 + mapDropDown.put(18, uom); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(28, inventoryStatus); ExcelUtils.write(response, "上架申请信息导入模板.xlsx", "上架申请信息列表", PutawayRequestImportVO.class, list, mapDropDown); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java index ab26fc4e..aa9717ea 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java @@ -137,7 +137,7 @@ public class WorkMainController { ExcelUtils.write(response, "生产订单.xls", "数据", WorkMainExcelVO.class, resultList, mapDropDown); } - @GetMapping("/export-excel-senior") + @PostMapping("/export-excel-senior") @Operation(summary = "导出生产订单 Excel") @PreAuthorize("@ss.hasPermission('wms:work-main:export')") @OperateLog(type = EXPORT) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobDetailConvert.java index b3a1a00b..3bfb61dc 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobDetailConvert.java @@ -1,16 +1,16 @@ package com.win.module.wms.convert.purchasereturnJob; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailCreateReqVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExcelVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailRespVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; + +import java.util.List; /** * 采购退货任务子 Convert @@ -34,4 +34,6 @@ public interface PurchasereturnJobDetailConvert { List convertList02(List list); + PurchasereturnJobDetailDO convert(PurchasereturnRequestDetailDO bean); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobMainConvert.java index 505b3e8a..c174e878 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnJob/PurchasereturnJobMainConvert.java @@ -1,16 +1,19 @@ package com.win.module.wms.convert.purchasereturnJob; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainCreateReqVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainExcelVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainRespVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; +import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; + +import java.util.List; /** * 采购退货任务主 Convert @@ -34,4 +37,17 @@ public interface PurchasereturnJobMainConvert { List convertList02(List list); + PurchasereturnJobMainDO convert(PurchasereturnRequestMainDO bean); + + @Mappings({ + @Mapping(source = "mainDO.number", target = "number"), + @Mapping(source = "mainDO.remark", target = "remark"), + @Mapping(source = "detailDO.remark", target = "remarkDetail"), + @Mapping(source = "mainDO.createTime", target = "createTime"), + @Mapping(source = "mainDO.creator", target = "creator"), + @Mapping(source = "mainDO.updateTime", target = "updateTime"), + @Mapping(source = "mainDO.updater", target = "updater"), + }) + PurchasereturnJobMainExcelVO convert(PurchasereturnJobMainDO mainDO, PurchasereturnJobDetailDO detailDO); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRecord/PurchasereturnRecordMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRecord/PurchasereturnRecordMainConvert.java index 6fc505d2..e84b6982 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRecord/PurchasereturnRecordMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRecord/PurchasereturnRecordMainConvert.java @@ -1,16 +1,18 @@ package com.win.module.wms.convert.purchasereturnRecord; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainCreateReqVO; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExcelVO; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainRespVO; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainUpdateReqVO; +import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO; + +import java.util.List; /** * 采购退货记录主 Convert @@ -34,4 +36,15 @@ public interface PurchasereturnRecordMainConvert { List convertList02(List list); + @Mappings({ + @Mapping(source = "mainDO.number", target = "number"), + @Mapping(source = "mainDO.interfaceType", target = "interfaceType"), + @Mapping(source = "mainDO.code", target = "code"), + @Mapping(source = "mainDO.remark", target = "remark"), + @Mapping(source = "detailDO.remark", target = "remarkDetail"), + @Mapping(source = "mainDO.createTime", target = "createTime"), + @Mapping(source = "mainDO.creator", target = "creator"), + }) + PurchasereturnRecordMainExcelVO convert(PurchasereturnRecordMainDO mainDO, PurchasereturnRecordDetailDO detailDO); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRequest/PurchasereturnRequestMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRequest/PurchasereturnRequestMainConvert.java index 3d4e0743..dcd414d9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRequest/PurchasereturnRequestMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/purchasereturnRequest/PurchasereturnRequestMainConvert.java @@ -1,19 +1,15 @@ package com.win.module.wms.convert.purchasereturnRequest; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestImportErrorVO; -import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestMainCreateReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.*; -import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; + +import java.util.List; /** * 采购退货申请主 Convert @@ -36,10 +32,22 @@ public interface PurchasereturnRequestMainConvert { PageResult convertPage(PageResult page); List convertList02(List list); + @Mappings({ @Mapping(source = "mainVo.number", target = "number"), }) PurchasereturnRequestImportErrorVO convert(PurchasereturnRequestMainCreateReqVO mainVo, PurchasereturnRequestDetailDO detailDo); + @Mappings({ + @Mapping(source = "mainDO.number", target = "number"), + @Mapping(source = "mainDO.remark", target = "remark"), + @Mapping(source = "detailDO.remark", target = "remarkDetail"), + @Mapping(source = "mainDO.createTime", target = "createTime"), + @Mapping(source = "mainDO.creator", target = "creator"), + @Mapping(source = "mainDO.updateTime", target = "updateTime"), + @Mapping(source = "mainDO.updater", target = "updater"), + }) + PurchasereturnRequestMainExcelVO convert(PurchasereturnRequestMainDO mainDO, PurchasereturnRequestDetailDO detailDO); + PurchasereturnRequestMainDO convert(PurchasereturnRequestMainBaseVO baseVO); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobDetailDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobDetailDO.java index ffaddb96..6a72820c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobDetailDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobDetailDO.java @@ -1,11 +1,13 @@ package com.win.module.wms.dal.dataobject.purchasereturnJob; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.sun.xml.bind.v2.TODO; +import com.win.framework.mybatis.core.dataobject.BaseDO; import lombok.*; -import java.util.*; + import java.math.BigDecimal; -import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; -import com.win.framework.mybatis.core.dataobject.BaseDO; /** * 采购退货任务子 DO @@ -24,8 +26,8 @@ public class PurchasereturnJobDetailDO extends BaseDO { /** * id */ - @TableId(type = IdType.INPUT) - private String id; + @TableId(type = IdType.AUTO) + private Long id; /** * 从货主代码 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobMainDO.java index be10622b..94af2d8a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnJob/PurchasereturnJobMainDO.java @@ -1,16 +1,13 @@ package com.win.module.wms.dal.dataobject.purchasereturnJob; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.sun.xml.bind.v2.TODO; +import com.win.framework.mybatis.core.dataobject.BaseDO; import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; + import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; -import com.win.framework.mybatis.core.dataobject.BaseDO; /** * 采购退货任务主 DO @@ -29,8 +26,8 @@ public class PurchasereturnJobMainDO extends BaseDO { /** * id */ - @TableId(type = IdType.INPUT) - private String id; + @TableId(type = IdType.AUTO) + private Long id; /** * 申请单号 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnRecord/PurchasereturnRecordDetailDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnRecord/PurchasereturnRecordDetailDO.java index dcb46e71..4c242d9f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnRecord/PurchasereturnRecordDetailDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereturnRecord/PurchasereturnRecordDetailDO.java @@ -1,13 +1,12 @@ package com.win.module.wms.dal.dataobject.purchasereturnRecord; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.sun.xml.bind.v2.TODO; +import com.win.framework.mybatis.core.dataobject.BaseDO; import lombok.*; -import java.util.*; -import java.math.BigDecimal; -import java.math.BigDecimal; -import java.time.LocalDateTime; + import java.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.*; -import com.win.framework.mybatis.core.dataobject.BaseDO; /** * 采购退货记录子 DO @@ -103,7 +102,7 @@ public class PurchasereturnRecordDetailDO extends BaseDO { /** * 主表ID */ - private String masterId; + private Long masterId; /** * 单据号 */ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordMainMapper.java index f3d6bcb2..42b4625d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRecord/PurchasereceiptRecordMainMapper.java @@ -51,8 +51,7 @@ public interface PurchasereceiptRecordMainMapper extends BaseMapperX selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(conditions)); @@ -88,8 +87,7 @@ public interface PurchasereceiptRecordMainMapper extends BaseMapperX selectSeniorList(CustomConditions conditions) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java index 1abd85d4..1a726baa 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptRequest/PurchasereceiptRequestMainMapper.java @@ -49,17 +49,12 @@ public interface PurchasereceiptRequestMainMapper extends BaseMapperX selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(conditions)); } - default PurchasereceiptRequestMainDO selectBySupplierCode(String supplierCode) { - return selectOne(PurchasereceiptRequestMainDO::getSupplierCode,supplierCode); - } - default PurchasereceiptRequestMainDO selectByNumber(String number) { return selectOne(PurchasereceiptRequestMainDO::getNumber, number); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobDetailMapper.java index fc166008..91757a98 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobDetailMapper.java @@ -1,17 +1,16 @@ package com.win.module.wms.dal.mysql.purchasereturnJob; -import java.util.*; - import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; -import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExportReqVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO; import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 采购退货任务子 Mapper * @@ -52,33 +51,9 @@ public interface PurchasereturnJobDetailMapper extends BaseMapperX selectList(PurchasereturnJobDetailExportReqVO reqVO) { + default List selectList(Long masterId) { return selectList(new LambdaQueryWrapperX() - .eqIfPresent(PurchasereturnJobDetailDO::getMasterId, reqVO.getMasterId()) - .eqIfPresent(PurchasereturnJobDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode()) - .eqIfPresent(PurchasereturnJobDetailDO::getPackingNumber, reqVO.getPackingNumber()) - .eqIfPresent(PurchasereturnJobDetailDO::getContainerNumber, reqVO.getContainerNumber()) - .eqIfPresent(PurchasereturnJobDetailDO::getBatch, reqVO.getBatch()) - .eqIfPresent(PurchasereturnJobDetailDO::getAltBatch, reqVO.getAltBatch()) - .eqIfPresent(PurchasereturnJobDetailDO::getFromLocationCode, reqVO.getFromLocationCode()) - .eqIfPresent(PurchasereturnJobDetailDO::getToLocationCode, reqVO.getToLocationCode()) - .eqIfPresent(PurchasereturnJobDetailDO::getInventoryStatus, reqVO.getInventoryStatus()) - .eqIfPresent(PurchasereturnJobDetailDO::getPoNumber, reqVO.getPoNumber()) - .eqIfPresent(PurchasereturnJobDetailDO::getPoLine, reqVO.getPoLine()) - .eqIfPresent(PurchasereturnJobDetailDO::getReason, reqVO.getReason()) - .eqIfPresent(PurchasereturnJobDetailDO::getItemCode, reqVO.getItemCode()) - .likeIfPresent(PurchasereturnJobDetailDO::getItemName, reqVO.getItemName()) - .eqIfPresent(PurchasereturnJobDetailDO::getItemDesc1, reqVO.getItemDesc1()) - .eqIfPresent(PurchasereturnJobDetailDO::getItemDesc2, reqVO.getItemDesc2()) - .eqIfPresent(PurchasereturnJobDetailDO::getProjectCode, reqVO.getProjectCode()) - .eqIfPresent(PurchasereturnJobDetailDO::getQty, reqVO.getQty()) - .eqIfPresent(PurchasereturnJobDetailDO::getUom, reqVO.getUom()) - .eqIfPresent(PurchasereturnJobDetailDO::getNumber, reqVO.getNumber()) - .eqIfPresent(PurchasereturnJobDetailDO::getRemark, reqVO.getRemark()) - .betweenIfPresent(PurchasereturnJobDetailDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(PurchasereturnJobDetailDO::getCreator, reqVO.getCreator()) - .eqIfPresent(PurchasereturnJobDetailDO::getToOwnerCode, reqVO.getToOwnerCode()) - .orderByDesc(PurchasereturnJobDetailDO::getId)); + .eq(PurchasereturnJobDetailDO::getMasterId, masterId)); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobMainMapper.java index 8f421124..edfeac52 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnJob/PurchasereturnJobMainMapper.java @@ -1,17 +1,19 @@ package com.win.module.wms.dal.mysql.purchasereturnJob; -import java.util.*; - import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainExportReqVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainPageReqVO; import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; +import com.win.module.wms.enums.order.OrderStatusEnum; import org.apache.ibatis.annotations.Mapper; +import java.util.Collection; +import java.util.List; + /** * 采购退货任务主 Mapper * @@ -67,12 +69,19 @@ public interface PurchasereturnJobMainMapper extends BaseMapperX selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(conditions)); } + + default Long selectByRequestNumber(String requestNumber) { + return selectCount(new LambdaQueryWrapperX() + .eq(PurchasereturnJobMainDO::getRequestNumber, requestNumber) + .ne(PurchasereturnJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode())); + } + default List selectList(PurchasereturnJobMainExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(PurchasereturnJobMainDO::getRequestNumber, reqVO.getRequestNumber()) @@ -122,6 +131,7 @@ public interface PurchasereturnJobMainMapper extends BaseMapperX selectSeniorList(CustomConditions conditions) { + return selectList(QueryWrapperUtils.structure(conditions)); + } + + /** + * 根据类型数和申请单号组查询任务数量 + * @param types + * @param requestNumber + * @return + */ + default Long selectListCount(Collection types, String requestNumber) { + return selectCount(new LambdaQueryWrapperX() + .in(PurchasereturnJobMainDO::getStatus, types) + .eq(PurchasereturnJobMainDO::getRequestNumber, requestNumber)); + + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java index b21cecb5..60b5dd43 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordDetailMapper.java @@ -1,17 +1,16 @@ package com.win.module.wms.dal.mysql.purchasereturnRecord; -import java.util.*; - import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailExportReqVO; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 采购退货记录子 Mapper * @@ -62,44 +61,9 @@ public interface PurchasereturnRecordDetailMapper extends BaseMapperX selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(conditions)); } - default List selectList(PurchasereturnRecordDetailExportReqVO reqVO) { + default List selectList(Long masterId) { return selectList(new LambdaQueryWrapperX() - .eqIfPresent(PurchasereturnRecordDetailDO::getFromPackingNumber, reqVO.getFromPackingNumber()) - .eqIfPresent(PurchasereturnRecordDetailDO::getToPackingNumber, reqVO.getToPackingNumber()) - .eqIfPresent(PurchasereturnRecordDetailDO::getFromContainerNumber, reqVO.getFromContainerNumber()) - .eqIfPresent(PurchasereturnRecordDetailDO::getFromBatch, reqVO.getFromBatch()) - .eqIfPresent(PurchasereturnRecordDetailDO::getAltBatch, reqVO.getAltBatch()) - .eqIfPresent(PurchasereturnRecordDetailDO::getFromLocationCode, reqVO.getFromLocationCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getFromLocationGroupCode, reqVO.getFromLocationGroupCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getFromAreaCode, reqVO.getFromAreaCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getToLocationCode, reqVO.getToLocationCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getToLocationGroupCode, reqVO.getToLocationGroupCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getToAreaCode, reqVO.getToAreaCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getInventoryStatus, reqVO.getInventoryStatus()) - .eqIfPresent(PurchasereturnRecordDetailDO::getPoNumber, reqVO.getPoNumber()) - .eqIfPresent(PurchasereturnRecordDetailDO::getPoLine, reqVO.getPoLine()) - .eqIfPresent(PurchasereturnRecordDetailDO::getReason, reqVO.getReason()) - .eqIfPresent(PurchasereturnRecordDetailDO::getSinglePrice, reqVO.getSinglePrice()) - .eqIfPresent(PurchasereturnRecordDetailDO::getAmount, reqVO.getAmount()) - .eqIfPresent(PurchasereturnRecordDetailDO::getNumber, reqVO.getNumber()) - .eqIfPresent(PurchasereturnRecordDetailDO::getItemCode, reqVO.getItemCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getRemark, reqVO.getRemark()) - .betweenIfPresent(PurchasereturnRecordDetailDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(PurchasereturnRecordDetailDO::getCreator, reqVO.getCreator()) - .likeIfPresent(PurchasereturnRecordDetailDO::getItemName, reqVO.getItemName()) - .eqIfPresent(PurchasereturnRecordDetailDO::getItemDesc1, reqVO.getItemDesc1()) - .eqIfPresent(PurchasereturnRecordDetailDO::getItemDesc2, reqVO.getItemDesc2()) - .eqIfPresent(PurchasereturnRecordDetailDO::getProjectCode, reqVO.getProjectCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getQty, reqVO.getQty()) - .eqIfPresent(PurchasereturnRecordDetailDO::getUom, reqVO.getUom()) - .eqIfPresent(PurchasereturnRecordDetailDO::getCode, reqVO.getCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getInterfaceType, reqVO.getInterfaceType()) - .eqIfPresent(PurchasereturnRecordDetailDO::getJobDetailId, reqVO.getJobDetailId()) - .eqIfPresent(PurchasereturnRecordDetailDO::getToContainerNumber, reqVO.getToContainerNumber()) - .eqIfPresent(PurchasereturnRecordDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getToOwnerCode, reqVO.getToOwnerCode()) - .eqIfPresent(PurchasereturnRecordDetailDO::getToBatch, reqVO.getToBatch()) - .orderByDesc(PurchasereturnRecordDetailDO::getId)); + .eq(PurchasereturnRecordDetailDO::getMasterId, masterId)); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordMainMapper.java index 2b7aa207..e45434b6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRecord/PurchasereturnRecordMainMapper.java @@ -1,17 +1,17 @@ package com.win.module.wms.dal.mysql.purchasereturnRecord; -import java.util.*; - import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 采购退货记录主 Mapper * @@ -52,8 +52,7 @@ public interface PurchasereturnRecordMainMapper extends BaseMapperX selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(conditions)); @@ -90,8 +89,11 @@ public interface PurchasereturnRecordMainMapper extends BaseMapperX selectSeniorList(CustomConditions conditions) { + return selectList(QueryWrapperUtils.structure(conditions)); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestDetailMapper.java index ff15e106..51f619df 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestDetailMapper.java @@ -1,17 +1,16 @@ package com.win.module.wms.dal.mysql.purchasereturnRequest; -import java.util.*; - import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; -import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailExportReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 采购退货申请子 Mapper * @@ -46,41 +45,14 @@ public interface PurchasereturnRequestDetailMapper extends BaseMapperX selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(conditions)); } - default List selectList(PurchasereturnRequestDetailExportReqVO reqVO) { + default List selectList(Long masterId) { return selectList(new LambdaQueryWrapperX() - .eqIfPresent(PurchasereturnRequestDetailDO::getMasterId, reqVO.getMasterId()) - .eqIfPresent(PurchasereturnRequestDetailDO::getPackingNumber, reqVO.getPackingNumber()) - .eqIfPresent(PurchasereturnRequestDetailDO::getContainerNumber, reqVO.getContainerNumber()) - .eqIfPresent(PurchasereturnRequestDetailDO::getBatch, reqVO.getBatch()) - .eqIfPresent(PurchasereturnRequestDetailDO::getFromLocationCode, reqVO.getFromLocationCode()) - .eqIfPresent(PurchasereturnRequestDetailDO::getAltBatch, reqVO.getAltBatch()) - .eqIfPresent(PurchasereturnRequestDetailDO::getToLocationCode, reqVO.getToLocationCode()) - .eqIfPresent(PurchasereturnRequestDetailDO::getInventoryStatus, reqVO.getInventoryStatus()) - .eqIfPresent(PurchasereturnRequestDetailDO::getPoNumber, reqVO.getPoNumber()) - .eqIfPresent(PurchasereturnRequestDetailDO::getPoLine, reqVO.getPoLine()) - .eqIfPresent(PurchasereturnRequestDetailDO::getReason, reqVO.getReason()) - .eqIfPresent(PurchasereturnRequestDetailDO::getNumber, reqVO.getNumber()) - .eqIfPresent(PurchasereturnRequestDetailDO::getItemCode, reqVO.getItemCode()) - .eqIfPresent(PurchasereturnRequestDetailDO::getRemark, reqVO.getRemark()) - .betweenIfPresent(PurchasereturnRequestDetailDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(PurchasereturnRequestDetailDO::getCreator, reqVO.getCreator()) - .likeIfPresent(PurchasereturnRequestDetailDO::getItemName, reqVO.getItemName()) - .eqIfPresent(PurchasereturnRequestDetailDO::getItemDesc1, reqVO.getItemDesc1()) - .eqIfPresent(PurchasereturnRequestDetailDO::getItemDesc2, reqVO.getItemDesc2()) - .eqIfPresent(PurchasereturnRequestDetailDO::getProjectCode, reqVO.getProjectCode()) - .eqIfPresent(PurchasereturnRequestDetailDO::getQty, reqVO.getQty()) - .eqIfPresent(PurchasereturnRequestDetailDO::getUom, reqVO.getUom()) - .betweenIfPresent(PurchasereturnRequestDetailDO::getUpdateTime, reqVO.getUpdateTime()) - .eqIfPresent(PurchasereturnRequestDetailDO::getUpdater, reqVO.getUpdater()) - .eqIfPresent(PurchasereturnRequestDetailDO::getFromOwnerCode, reqVO.getFromOwnerCode()) - .eqIfPresent(PurchasereturnRequestDetailDO::getToOwnerCode, reqVO.getToOwnerCode()) - .orderByDesc(PurchasereturnRequestDetailDO::getId)); + .eq(PurchasereturnRequestDetailDO::getMasterId, masterId)); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestMainMapper.java index a1f4ba09..51eb5dda 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereturnRequest/PurchasereturnRequestMainMapper.java @@ -1,19 +1,17 @@ package com.win.module.wms.dal.mysql.purchasereturnRequest; -import java.util.*; - import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestMainExportReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestMainPageReqVO; - -import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 采购退货申请主 Mapper * @@ -55,12 +53,13 @@ public interface PurchasereturnRequestMainMapper extends BaseMapperX selectSenior(CustomConditions conditions) { return selectPage(conditions, QueryWrapperUtils.structure(conditions)); } - default PurchasereturnRequestMainDO selectRecordNumberAndSupplierCode(String purchaseReceiptRecordNumber, String supplierCode) { - return selectOne(PurchasereturnRequestMainDO::getPurchaseReceiptRecordNumber, purchaseReceiptRecordNumber,PurchasereturnRequestMainDO::getSupplierCode,supplierCode); + default PurchasereturnRequestMainDO selectByNumber(String number) { + return selectOne(PurchasereturnRequestMainDO::getNumber, number); } default List selectList(PurchasereturnRequestMainExportReqVO reqVO) { @@ -97,4 +96,8 @@ public interface PurchasereturnRequestMainMapper extends BaseMapperX selectSeniorList(CustomConditions conditions) { + return selectList(QueryWrapperUtils.structure(conditions)); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailService.java index b16c1d4a..33d120f8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailService.java @@ -14,14 +14,6 @@ import java.util.List; */ public interface PurchasereceiptJobDetailService { - /** - * 获得用高级搜索采购收货任务子分页列表 - * - * @param conditions 分页、排序和自定义条件 - * @return 分页列表 - */ - PageResult getPurchasereceiptJobDetailSenior(CustomConditions conditions); - /** * 获得采购收货任务子分页 * @@ -30,6 +22,14 @@ public interface PurchasereceiptJobDetailService { */ PageResult getPurchasereceiptJobDetailPage(PurchasereceiptJobDetailPageReqVO pageReqVO); + /** + * 获得用高级搜索采购收货任务子分页列表 + * + * @param conditions 分页、排序和自定义条件 + * @return 分页列表 + */ + PageResult getPurchasereceiptJobDetailSenior(CustomConditions conditions); + /** * 根据主表id查询 * @param masterId diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailServiceImpl.java index fc8813c6..fe325d8a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobDetailServiceImpl.java @@ -23,6 +23,11 @@ public class PurchasereceiptJobDetailServiceImpl implements PurchasereceiptJobDe @Resource private PurchasereceiptJobDetailMapper purchasereceiptJobDetailMapper; + @Override + public PageResult getPurchasereceiptJobDetailPage(PurchasereceiptJobDetailPageReqVO pageReqVO) { + return purchasereceiptJobDetailMapper.selectPage(pageReqVO); + } + @Override public PageResult getPurchasereceiptJobDetailSenior(CustomConditions conditions) { return purchasereceiptJobDetailMapper.selectSenior(conditions); @@ -33,9 +38,4 @@ public class PurchasereceiptJobDetailServiceImpl implements PurchasereceiptJobDe return purchasereceiptJobDetailMapper.selectList(masterId); } - @Override - public PageResult getPurchasereceiptJobDetailPage(PurchasereceiptJobDetailPageReqVO pageReqVO) { - return purchasereceiptJobDetailMapper.selectPage(pageReqVO); - } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java index c5923318..f24c14db 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java @@ -20,14 +20,6 @@ import java.util.Map; */ public interface PurchasereceiptJobMainService { - /** - * 获得用高级搜索户分页列表 - * - * @param conditions 分页、排序和自定义条件 - * @return 分页列表 - */ - PageResult getPurchasereceiptJobMainSenior(CustomConditions conditions); - /** * 获得采购收货任务主 * @@ -44,6 +36,14 @@ public interface PurchasereceiptJobMainService { */ PageResult getPurchasereceiptJobMainPage(PurchasereceiptJobMainPageReqVO pageReqVO); + /** + * 获得用高级搜索户分页列表 + * + * @param conditions 分页、排序和自定义条件 + * @return 分页列表 + */ + PageResult getPurchasereceiptJobMainSenior(CustomConditions conditions); + /** * 获得采购收货任务主列表, 用于 Excel 导出 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java index 3598ba6b..e6b6ef42 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java @@ -108,14 +108,6 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain return purchasereceiptJobMainMapper.selectSenior(conditions); } - private PurchasereceiptJobMainDO validatePurchasereceiptJobMainExists(Long id) { - PurchasereceiptJobMainDO purchasereceiptJobMainDO = purchasereceiptJobMainMapper.selectById(id); - if (purchasereceiptJobMainDO == null) { - throw exception(PURCHASERECEIPT_JOB_MAIN_NOT_EXISTS); - } - return purchasereceiptJobMainDO; - } - @Override public PurchasereceiptJobMainDO getPurchasereceiptJobMain(Long id) { return purchasereceiptJobMainMapper.selectById(id); @@ -399,4 +391,13 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain trendsApi.createTrends(purchasereceiptJobMainDO.getId(), "purchasereceiptJob", "执行了采购收货任务", TrendsTypeEnum.UPDATE); return result; } + + private PurchasereceiptJobMainDO validatePurchasereceiptJobMainExists(Long id) { + PurchasereceiptJobMainDO purchasereceiptJobMainDO = purchasereceiptJobMainMapper.selectById(id); + if (purchasereceiptJobMainDO == null) { + throw exception(PURCHASERECEIPT_JOB_MAIN_NOT_EXISTS); + } + return purchasereceiptJobMainDO; + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailServiceImpl.java index d4d15bb4..6310a888 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestDetailServiceImpl.java @@ -114,7 +114,7 @@ public class PurchasereceiptRequestDetailServiceImpl implements PurchasereceiptR */ private void validatePurchasereceiptRequestDetailCreate(PurchasereceiptRequestDetailDO detailDo) { ItembasicDO itembasicDO = this.validateItem(detailDo); - if(!itembasicDO.getUom().equals(itembasicDO.getUom())) { + if(!itembasicDO.getUom().equals(detailDo.getUom())) { throw exception(ITEMBASIC_UOM_EXCEPTION, itembasicDO.getUom(), itembasicDO.getUom()); } this.validateItemPacking(detailDo); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java index 578d3e8d..0c406c5d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java @@ -39,13 +39,6 @@ public interface PurchasereceiptRequestMainService { */ Integer updatePurchasereceiptRequestMain(@Valid PurchasereceiptRequestMainUpdateReqVO updateReqVO); - /** - * 删除采购收货申请主 - * - * @param id 编号 - */ - Integer deletePurchasereceiptRequestMain(Long id); - /** * 获得采购收货申请主 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java index e61cf8f5..1973dba4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java @@ -169,26 +169,6 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq return purchasereceiptRequestMainMapper.selectSenior(conditions); } - @Override - @Transactional - public Integer deletePurchasereceiptRequestMain(Long id) { - // 校验存在 - PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = validatePurchasereceiptRequestMainExists(id); - Long count = purchasereceiptJobMainMapper.selectByRequestNumber(existPurchasereceiptRequestMainDO.getNumber()); - if(count > 0) { - throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS); - } - //增加操作记录 - trendsApi.createTrends(id, "purchasereceiptRequestMain", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.DELETE); - // 删除子表数据 - Map map = new HashMap<>(); - map.put("master_id", id); - //删除子表 - purchasereceiptRequestDetailMapper.deleteByMap(map); - // 删除主表 - return purchasereceiptRequestMainMapper.deleteById(id); - } - private PurchasereceiptRequestMainDO validatePurchasereceiptRequestMainExists(Long id) { PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectById(id); if (existPurchasereceiptRequestMainDO == null) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailService.java index 0bebb6a8..789052b6 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailService.java @@ -1,15 +1,11 @@ package com.win.module.wms.service.purchasereturnJob; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailCreateReqVO; -import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExportReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO; -import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; -import com.win.framework.common.pojo.PageResult; + +import java.util.List; /** * 采购退货任务子 Service 接口 @@ -18,14 +14,6 @@ import com.win.framework.common.pojo.PageResult; */ public interface PurchasereturnJobDetailService { - /** - * 创建采购退货任务子 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - String createPurchasereturnJobDetail(@Valid PurchasereturnJobDetailCreateReqVO createReqVO); - /** * 获得用高级搜索采购退货任务子分页列表 * @@ -34,36 +22,6 @@ public interface PurchasereturnJobDetailService { */ PageResult getPurchasereturnJobDetailSenior(CustomConditions conditions); - /** - * 更新采购退货任务子 - * - * @param updateReqVO 更新信息 - */ - void updatePurchasereturnJobDetail(@Valid PurchasereturnJobDetailUpdateReqVO updateReqVO); - - /** - * 删除采购退货任务子 - * - * @param id 编号 - */ - void deletePurchasereturnJobDetail(String id); - - /** - * 获得采购退货任务子 - * - * @param id 编号 - * @return 采购退货任务子 - */ - PurchasereturnJobDetailDO getPurchasereturnJobDetail(String id); - - /** - * 获得采购退货任务子列表 - * - * @param ids 编号 - * @return 采购退货任务子列表 - */ - List getPurchasereturnJobDetailList(Collection ids); - /** * 获得采购退货任务子分页 * @@ -73,11 +31,10 @@ public interface PurchasereturnJobDetailService { PageResult getPurchasereturnJobDetailPage(PurchasereturnJobDetailPageReqVO pageReqVO); /** - * 获得采购退货任务子列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 采购退货任务子列表 + * 获得采购退货任务子列表, + * @param masterId + * @return */ - List getPurchasereturnJobDetailList(PurchasereturnJobDetailExportReqVO exportReqVO); + List selectList(Long masterId); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailServiceImpl.java index 98866b0a..7c25ecd2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobDetailServiceImpl.java @@ -1,24 +1,15 @@ package com.win.module.wms.service.purchasereturnJob; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailCreateReqVO; -import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailExportReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailPageReqVO; -import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailUpdateReqVO; -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.purchasereturnJob.PurchasereturnJobDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert; import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobDetailMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; -import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import javax.annotation.Resource; +import java.util.List; /** * 采购退货任务子 Service 实现类 @@ -33,58 +24,18 @@ public class PurchasereturnJobDetailServiceImpl implements PurchasereturnJobDeta private PurchasereturnJobDetailMapper purchasereturnJobDetailMapper; @Override - public String createPurchasereturnJobDetail(PurchasereturnJobDetailCreateReqVO createReqVO) { - // 插入 - PurchasereturnJobDetailDO purchasereturnJobDetail = PurchasereturnJobDetailConvert.INSTANCE.convert(createReqVO); - purchasereturnJobDetailMapper.insert(purchasereturnJobDetail); - // 返回 - return purchasereturnJobDetail.getId(); + public PageResult getPurchasereturnJobDetailPage(PurchasereturnJobDetailPageReqVO pageReqVO) { + return purchasereturnJobDetailMapper.selectPage(pageReqVO); } - @Override - public void updatePurchasereturnJobDetail(PurchasereturnJobDetailUpdateReqVO updateReqVO) { - // 校验存在 - validatePurchasereturnJobDetailExists(updateReqVO.getId().toString()); - // 更新 - PurchasereturnJobDetailDO updateObj = PurchasereturnJobDetailConvert.INSTANCE.convert(updateReqVO); - purchasereturnJobDetailMapper.updateById(updateObj); - } @Override public PageResult getPurchasereturnJobDetailSenior(CustomConditions conditions) { return purchasereturnJobDetailMapper.selectSenior(conditions); } - @Override - public void deletePurchasereturnJobDetail(String id) { - // 校验存在 - validatePurchasereturnJobDetailExists(id); - // 删除 - purchasereturnJobDetailMapper.deleteById(id); - } - - private void validatePurchasereturnJobDetailExists(String id) { - if (purchasereturnJobDetailMapper.selectById(id) == null) { - throw exception(PURCHASERETURN_JOB_DETAIL_NOT_EXISTS); - } - } - - @Override - public PurchasereturnJobDetailDO getPurchasereturnJobDetail(String id) { - return purchasereturnJobDetailMapper.selectById(id); - } - - @Override - public List getPurchasereturnJobDetailList(Collection ids) { - return purchasereturnJobDetailMapper.selectBatchIds(ids); - } - - @Override - public PageResult getPurchasereturnJobDetailPage(PurchasereturnJobDetailPageReqVO pageReqVO) { - return purchasereturnJobDetailMapper.selectPage(pageReqVO); - } @Override - public List getPurchasereturnJobDetailList(PurchasereturnJobDetailExportReqVO exportReqVO) { - return purchasereturnJobDetailMapper.selectList(exportReqVO); + public List selectList(Long masterId) { + return purchasereturnJobDetailMapper.selectList(masterId); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainService.java index 98903de2..4cb7685e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainService.java @@ -1,14 +1,17 @@ package com.win.module.wms.service.purchasereturnJob; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchasereturnJob.vo.*; -import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainExportReqVO; +import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainPageReqVO; +import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; import org.springframework.lang.Nullable; +import java.util.Collection; +import java.util.List; +import java.util.Map; + /** * 采购退货任务主 Service 接口 * @@ -17,19 +20,13 @@ import org.springframework.lang.Nullable; public interface PurchasereturnJobMainService { /** - * 创建采购退货任务主 + * 获得采购退货任务主分页 * - * @param createReqVO 创建信息 - * @return 编号 + * @param pageReqVO 分页查询 + * @return 采购退货任务主分页 */ - String createPurchasereturnJobMain(@Valid PurchasereturnJobMainCreateReqVO createReqVO); + PageResult getPurchasereturnJobMainPage(PurchasereturnJobMainPageReqVO pageReqVO); - /** - * 更新采购退货任务主 - * - * @param updateReqVO 更新信息 - */ - void updatePurchasereturnJobMain(@Valid PurchasereturnJobMainUpdateReqVO updateReqVO); /** * 获得用高级搜索采购退货任务主分页列表 * @@ -38,37 +35,6 @@ public interface PurchasereturnJobMainService { */ PageResult getPurchasereturnJobMainSenior(CustomConditions conditions); - /** - * 删除采购退货任务主 - * - * @param id 编号 - */ - void deletePurchasereturnJobMain(String id); - - /** - * 获得采购退货任务主 - * - * @param id 编号 - * @return 采购退货任务主 - */ - PurchasereturnJobMainDO getPurchasereturnJobMain(String id); - - /** - * 获得采购退货任务主列表 - * - * @param ids 编号 - * @return 采购退货任务主列表 - */ - List getPurchasereturnJobMainList(Collection ids); - - /** - * 获得采购退货任务主分页 - * - * @param pageReqVO 分页查询 - * @return 采购退货任务主分页 - */ - PageResult getPurchasereturnJobMainPage(PurchasereturnJobMainPageReqVO pageReqVO); - /** * 获得采购退货任务主列表, 用于 Excel 导出 * @@ -76,6 +42,7 @@ public interface PurchasereturnJobMainService { * @return 采购退货任务主列表 */ List getPurchasereturnJobMainList(PurchasereturnJobMainExportReqVO exportReqVO); + /** * 校验任务状态正确 *@author chenfang @@ -85,6 +52,14 @@ public interface PurchasereturnJobMainService { */ public PurchasereturnJobMainDO purchasereturnJobMainDoStatusRight(String pnumber, String pstatus); + /** + * 获得校验任务主列表, 用于 Excel 导出 + * + * @param conditions 查询条件 + * @return 校验申请主列表 + */ + List getPurchasereturnJobMainList(CustomConditions conditions); + /** * 获得采购退货任务主 * @@ -94,9 +69,38 @@ public interface PurchasereturnJobMainService { PurchasereturnJobMainDO getPurchasereturnJobMain(Long id); /** - *根据任务状态获取任务数量 + * 根据任务状态获取任务数量 * @param types 任务状态数组 * @return */ Map getCountByStatus(@Nullable Collection types); + + /** + * 承接任务 + * @param id + * @return + */ + Integer acceptPurchasereturnJobMain(Long id); + + /** + * 取消承接任务 + * @param id + * @return + */ + Integer abandonPurchasereturnJobMain(Long id); + + /** + * 关闭任务 + * @param id + * @return + */ + Integer closePurchasereturnJobMain(Long id); + + /** + * 执行任务 + * @param purchasereturnJobMainUpdateReqVO + * @return + */ + Integer executePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO purchasereturnJobMainUpdateReqVO); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java index 5c31222d..7c42ff5c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java @@ -1,23 +1,52 @@ package com.win.module.wms.service.purchasereturnJob; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchasereturnJob.vo.*; +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.api.user.dto.AdminUserRespDTO; +import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobDetailUpdateReqVO; +import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainExportReqVO; +import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainPageReqVO; +import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; +import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO; +import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobMainMapper; +import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper; +import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper; +import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestMainMapper; +import com.win.module.wms.enums.job.JobStatusEnum; +import com.win.module.wms.enums.job.JobStatusState; +import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.service.documentSwitch.SwitchService; +import com.win.module.wms.service.expectout.ExpectoutService; +import com.win.module.wms.service.purchase.PurchaseMainService; import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; +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 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.purchasereturnJob.PurchasereturnJobMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert; -import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobMainMapper; - 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.*; /** @@ -32,51 +61,36 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe @Resource private PurchasereturnJobMainMapper purchasereturnJobMainMapper; @Resource + private PurchasereturnJobDetailService purchasereturnJobDetailService; + @Resource private SupplierdeliverRecordMainService supplierdeliverRecordMainService; - @Override - public String createPurchasereturnJobMain(PurchasereturnJobMainCreateReqVO createReqVO) { - // 插入 - PurchasereturnJobMainDO purchasereturnJobMain = PurchasereturnJobMainConvert.INSTANCE.convert(createReqVO); - purchasereturnJobMainMapper.insert(purchasereturnJobMain); - // 返回 - return purchasereturnJobMain.getId(); - } - - @Override - public void updatePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO updateReqVO) { - // 校验存在 - validatePurchasereturnJobMainExists(updateReqVO.getId().toString()); - // 更新 - PurchasereturnJobMainDO updateObj = PurchasereturnJobMainConvert.INSTANCE.convert(updateReqVO); - purchasereturnJobMainMapper.updateById(updateObj); - } + @Resource + private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper; + @Resource + private PurchasereturnRecordDetailMapper purchasereturnRecordDetailMapper; + @Resource + private PurchasereturnRequestMainMapper purchasereturnRequestMainMapper; + @Resource + private TransactionService transactionService; + @Resource + private PurchaseMainService purchaseMainService; + @Resource + private SwitchService switchService; + @Resource + private ExpectoutService expectoutService; + @Resource + private AdminUserApi userApi; + @Resource + private TrendsApi trendsApi; + @Resource + private SerialNumberApi serialNumberApi; + @Resource + private JobUtils jobUtils; - @Override - public void deletePurchasereturnJobMain(String id) { - // 校验存在 - validatePurchasereturnJobMainExists(id); - // 删除 - purchasereturnJobMainMapper.deleteById(id); - } @Override public PageResult getPurchasereturnJobMainSenior(CustomConditions conditions) { return purchasereturnJobMainMapper.selectSenior(conditions); } - private void validatePurchasereturnJobMainExists(String id) { - if (purchasereturnJobMainMapper.selectById(id) == null) { - throw exception(PURCHASERETURN_JOB_MAIN_NOT_EXISTS); - } - } - - @Override - public PurchasereturnJobMainDO getPurchasereturnJobMain(String id) { - return purchasereturnJobMainMapper.selectById(id); - } - - @Override - public List getPurchasereturnJobMainList(Collection ids) { - return purchasereturnJobMainMapper.selectBatchIds(ids); - } @Override public PageResult getPurchasereturnJobMainPage(PurchasereturnJobMainPageReqVO pageReqVO) { @@ -87,36 +101,43 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe public List getPurchasereturnJobMainList(PurchasereturnJobMainExportReqVO exportReqVO) { return purchasereturnJobMainMapper.selectList(exportReqVO); } + /** * 调用校验供应商发货记录方法 * - * @param pasnNumber 发货单号 - * @param pitemCode 物品代码 - * @param ppoNumber 订单号 - * @param ppoLine 订单行 + * @param psupplierCode 发货单号 + * @param pitemCode 物品代码 + * @param ppoNumber 订单号 + * @param ppoLine 订单行 * @return 供应商发货记录子 */ - public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordDetailDoExist(String psupplierCode,String pnumber, String pitemCode, String ppoNumber, String ppoLine) { - SupplierdeliverRecordDetailDO supplierdeliverRecordDetailDO = supplierdeliverRecordMainService.selectSupplierdeliverRecordMainDO(psupplierCode,pnumber, pitemCode, ppoNumber, ppoLine); - if(supplierdeliverRecordDetailDO != null){ + public SupplierdeliverRecordDetailDO selectSupplierdeliverRecordDetailDoExist(String psupplierCode, String pnumber, String pitemCode, String ppoNumber, String ppoLine) { + SupplierdeliverRecordDetailDO supplierdeliverRecordDetailDO = supplierdeliverRecordMainService.selectSupplierdeliverRecordMainDO(psupplierCode, pnumber, pitemCode, ppoNumber, ppoLine); + if (supplierdeliverRecordDetailDO != null) { return supplierdeliverRecordDetailDO; - }else { + } else { throw exception(SUPPLIERDELIVER_RECORD_DETAIL_NOT_EXISTS); } } + @Override public PurchasereturnJobMainDO purchasereturnJobMainDoStatusRight(String pnumber, String pstatus) { - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("number",pnumber); - queryWrapper.eq("status",pstatus); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("number", pnumber); + queryWrapper.eq("status", pstatus); PurchasereturnJobMainDO purchasereturnJobMainDO = purchasereturnJobMainMapper.selectOne(queryWrapper); - if(purchasereturnJobMainDO != null){ + if (purchasereturnJobMainDO != null) { return purchasereturnJobMainDO; - }else { + } else { throw exception(PURCHASERETURN_JOB_MAIN_STATUS_ERROR); } } + @Override + public List getPurchasereturnJobMainList(CustomConditions conditions) { + return purchasereturnJobMainMapper.selectSeniorList(conditions); + } + @Override public PurchasereturnJobMainDO getPurchasereturnJobMain(Long id) { return purchasereturnJobMainMapper.selectById(id); @@ -131,4 +152,144 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe return map; } + @Override + @Transactional + public Integer acceptPurchasereturnJobMain(Long id) { + PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus()); + if(!jobStatusState.accept()) { + throw exception(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR); + } + Long userId = getLoginUserId(); + AdminUserRespDTO userRespDTO = userApi.getUser(userId); + purchasereturnJobMainDO.setStatus(jobStatusState.getState().getCode()); + purchasereturnJobMainDO.setAcceptUserId(String.valueOf(userId)); + purchasereturnJobMainDO.setAcceptUserName(userRespDTO.getNickname()); + purchasereturnJobMainDO.setAcceptTime(LocalDateTime.now()); + trendsApi.createTrends(id, "purchasereturnJob", "承接了采购退货任务", TrendsTypeEnum.UPDATE); + return purchasereturnJobMainMapper.updateById(purchasereturnJobMainDO); + } + + @Override + @Transactional + public Integer abandonPurchasereturnJobMain(Long id) { + PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus()); + if(!jobStatusState.cancelAccept()) { + throw exception(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR); + } + purchasereturnJobMainDO.setStatus(jobStatusState.getState().getCode()); + purchasereturnJobMainDO.setAcceptUserId(null); + purchasereturnJobMainDO.setAcceptUserName(null); + purchasereturnJobMainDO.setAcceptTime(null); + trendsApi.createTrends(id, "purchasereturnJob", "取消了采购退货任务", TrendsTypeEnum.UPDATE); + return purchasereturnJobMainMapper.updateById(purchasereturnJobMainDO); + } + + @Override + @Transactional + public Integer closePurchasereturnJobMain(Long id) { + PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus()); + if(!jobStatusState.close()) { + throw exception(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR); + } + purchasereturnJobMainDO.setStatus(jobStatusState.getState().getCode()); + trendsApi.createTrends(id, "purchasereturnJob", "关闭了采购退货任务", TrendsTypeEnum.UPDATE); + return purchasereturnJobMainMapper.updateById(purchasereturnJobMainDO); + } + + @Override + @Transactional + public Integer executePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO purchasereturnJobMainUpdateReqVO) { + //查询数据 + PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(purchasereturnJobMainUpdateReqVO.getId()); + List subList = purchasereturnJobDetailService.selectList(purchasereturnJobMainDO.getId()); + JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus()); + boolean flag = jobStatusState.execute(); + if(!flag) { + throw new ServiceException(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR); + } + //更新完成信息 + Long userId = getLoginUserId(); + AdminUserRespDTO userRespDTO = userApi.getUser(userId); + purchasereturnJobMainDO.setStatus(jobStatusState.getState().getCode()); + purchasereturnJobMainDO.setCompleteTime(LocalDateTime.now()); + purchasereturnJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId())); + purchasereturnJobMainDO.setCompleteUserName(userRespDTO.getNickname()); + //更新任务表状态 + int result = purchasereturnJobMainMapper.updateById(purchasereturnJobMainDO); + //创建采购收货记录主表 + PurchasereturnRecordMainDO purchasereturnRecordMainDO = new PurchasereturnRecordMainDO(); + BeanUtils.copyProperties(purchasereturnJobMainDO, purchasereturnRecordMainDO); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_RECORD.getCode()); + purchasereturnRecordMainDO.setNumber(number); + purchasereturnRecordMainDO.setJobNumber(purchasereturnJobMainDO.getNumber()); + purchasereturnRecordMainDO.setId(null); + purchasereturnRecordMainMapper.insert(purchasereturnRecordMainDO); + List purchasereturnJobDetailUpdateReqVOList = purchasereturnJobMainUpdateReqVO.getSubList(); + //退货记录子 + List purchasereturnRecordDetailDOList = new ArrayList<>(); + //库存事务 + List transactionCreateReqVOList = new ArrayList<>(); + for(PurchasereturnJobDetailDO purchasereturnJobDetailDO : subList) { + PurchasereturnRecordDetailDO purchasereturnRecordDetailDO = new PurchasereturnRecordDetailDO(); + BeanUtils.copyProperties(purchasereturnJobDetailDO, purchasereturnRecordDetailDO); + purchasereturnRecordDetailDO.setMasterId(purchasereturnRecordMainDO.getId()); + purchasereturnRecordDetailDO.setNumber(number); + purchasereturnRecordDetailDO.setJobDetailId(String.valueOf(purchasereturnJobDetailDO.getId())); + purchasereturnRecordDetailDO.setFromBatch(purchasereturnJobDetailDO.getBatch()); + purchasereturnRecordDetailDO.setToBatch(purchasereturnJobDetailDO.getBatch()); + purchasereturnRecordDetailDO.setFromPackingNumber(purchasereturnJobDetailDO.getPackingNumber()); + purchasereturnRecordDetailDO.setToPackingNumber(purchasereturnJobDetailDO.getPackingNumber()); + purchasereturnRecordDetailDO.setId(null); + purchasereturnRecordDetailDOList.add(purchasereturnRecordDetailDO); + //更新采购订单明细的退货数量 + purchaseMainService.updateOrderPurchaseReturnQty(purchasereturnRecordDetailDO.getPoNumber(), purchasereturnRecordDetailDO.getPoLine(), purchasereturnRecordDetailDO.getItemCode(), purchasereturnRecordDetailDO.getQty()); + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(purchasereturnRecordDetailDO, transactionCreateReqVO); + //增加业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReurnJob"); + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(purchasereturnRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(purchasereturnJobDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(purchasereturnRecordDetailDO.getFromOwnerCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); + } + purchasereturnRecordDetailMapper.insertBatch(purchasereturnRecordDetailDOList); + List typeList = new ArrayList<>(); + typeList.add(JobStatusEnum.PENDING.getCode()); + typeList.add(JobStatusEnum.PROCESSING.getCode()); + Long count = purchasereturnJobMainMapper.selectListCount(typeList, purchasereturnJobMainDO.getRequestNumber()); + PurchasereturnRequestMainDO purchasereturnRequestMainDO = purchasereturnRequestMainMapper.selectByNumber(purchasereturnJobMainDO.getRequestNumber()); + //申请单下所有任务全部完成 + if(count == 0) { + purchasereturnRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + purchasereturnRequestMainMapper.updateById(purchasereturnRequestMainDO); + } else if(purchasereturnRequestMainDO.getStatus().equals(RequestStatusEnum.HANDLING.getCode())) {//部分完成 + purchasereturnRequestMainDO.setStatus(RequestStatusEnum.PARTIAL.getCode()); + purchasereturnRequestMainMapper.updateById(purchasereturnRequestMainDO); + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + //移除预计出 + expectoutService.deleteExpectoutByJobNumber(purchasereturnJobMainDO.getNumber()); + //变更记录 + trendsApi.createTrends(purchasereturnJobMainDO.getId(), "purchasereturnJob", "执行了采购退货任务", TrendsTypeEnum.UPDATE); + return result; + } + + private PurchasereturnJobMainDO validatePurchasereturnJobMainExists(Long id) { + PurchasereturnJobMainDO purchasereturnJobMainDO = purchasereturnJobMainMapper.selectById(id); + if (purchasereturnJobMainDO == null) { + throw exception(PURCHASERETURN_JOB_MAIN_NOT_EXISTS); + } + return purchasereturnJobMainDO; + } } 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 4aec4104..2cfcd00f 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 @@ -1,15 +1,11 @@ package com.win.module.wms.service.purchasereturnRecord; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailCreateReqVO; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailExportReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordDetailDO; -import com.win.framework.common.pojo.PageResult; + +import java.util.List; /** * 采购退货记录子 Service 接口 @@ -19,27 +15,12 @@ import com.win.framework.common.pojo.PageResult; public interface PurchasereturnRecordDetailService { /** - * 创建采购退货记录子 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createPurchasereturnRecordDetail(@Valid PurchasereturnRecordDetailCreateReqVO createReqVO); - - /** - * 更新采购退货记录子 - * - * @param updateReqVO 更新信息 - */ - void updatePurchasereturnRecordDetail(@Valid PurchasereturnRecordDetailUpdateReqVO updateReqVO); - - /** - * 删除采购退货记录子 + * 获得采购退货记录子分页 * - * @param id 编号 + * @param pageReqVO 分页查询 + * @return 采购退货记录子分页 */ - void deletePurchasereturnRecordDetail(Long id); - + PageResult getPurchasereturnRecordDetailPage(PurchasereturnRecordDetailPageReqVO pageReqVO); /** * 获得用高级搜索采购退货记录子分页列表 @@ -50,35 +31,10 @@ public interface PurchasereturnRecordDetailService { PageResult getPurchasereturnRecordDetailSenior(CustomConditions conditions); /** - * 获得采购退货记录子 - * - * @param id 编号 - * @return 采购退货记录子 - */ - PurchasereturnRecordDetailDO getPurchasereturnRecordDetail(Long id); - - /** - * 获得采购退货记录子列表 - * - * @param ids 编号 - * @return 采购退货记录子列表 - */ - List getPurchasereturnRecordDetailList(Collection ids); - - /** - * 获得采购退货记录子分页 - * - * @param pageReqVO 分页查询 - * @return 采购退货记录子分页 - */ - PageResult getPurchasereturnRecordDetailPage(PurchasereturnRecordDetailPageReqVO pageReqVO); - - /** - * 获得采购退货记录子列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 采购退货记录子列表 + * 根据主表id查询 + * @param masterId + * @return */ - List getPurchasereturnRecordDetailList(PurchasereturnRecordDetailExportReqVO exportReqVO); + List selectList(Long masterId); } 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 f5f724c9..d32286a5 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,24 +1,15 @@ package com.win.module.wms.service.purchasereturnRecord; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailCreateReqVO; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailExportReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailPageReqVO; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordDetailUpdateReqVO; -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.purchasereturnRecord.PurchasereturnRecordDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordDetailConvert; import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; -import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import javax.annotation.Resource; +import java.util.List; /** * 采购退货记录子 Service 实现类 @@ -32,59 +23,19 @@ public class PurchasereturnRecordDetailServiceImpl implements PurchasereturnReco @Resource private PurchasereturnRecordDetailMapper purchasereturnRecordDetailMapper; - @Override - public Long createPurchasereturnRecordDetail(PurchasereturnRecordDetailCreateReqVO createReqVO) { - // 插入 - PurchasereturnRecordDetailDO purchasereturnRecordDetail = PurchasereturnRecordDetailConvert.INSTANCE.convert(createReqVO); - purchasereturnRecordDetailMapper.insert(purchasereturnRecordDetail); - // 返回 - return purchasereturnRecordDetail.getId(); - } - - @Override - public void updatePurchasereturnRecordDetail(PurchasereturnRecordDetailUpdateReqVO updateReqVO) { - // 校验存在 - validatePurchasereturnRecordDetailExists(updateReqVO.getId()); - // 更新 - PurchasereturnRecordDetailDO updateObj = PurchasereturnRecordDetailConvert.INSTANCE.convert(updateReqVO); - purchasereturnRecordDetailMapper.updateById(updateObj); - } - - @Override - public void deletePurchasereturnRecordDetail(Long id) { - // 校验存在 - validatePurchasereturnRecordDetailExists(id); - // 删除 - purchasereturnRecordDetailMapper.deleteById(id); - } - - private void validatePurchasereturnRecordDetailExists(Long id) { - if (purchasereturnRecordDetailMapper.selectById(id) == null) { - throw exception(PURCHASERETURN_RECORD_DETAIL_NOT_EXISTS); - } - } - - @Override - public PurchasereturnRecordDetailDO getPurchasereturnRecordDetail(Long id) { - return purchasereturnRecordDetailMapper.selectById(id); - } - - @Override - public List getPurchasereturnRecordDetailList(Collection ids) { - return purchasereturnRecordDetailMapper.selectBatchIds(ids); - } @Override public PageResult getPurchasereturnRecordDetailSenior(CustomConditions conditions) { return purchasereturnRecordDetailMapper.selectSenior(conditions); } + @Override public PageResult getPurchasereturnRecordDetailPage(PurchasereturnRecordDetailPageReqVO pageReqVO) { return purchasereturnRecordDetailMapper.selectPage(pageReqVO); } @Override - public List getPurchasereturnRecordDetailList(PurchasereturnRecordDetailExportReqVO exportReqVO) { - return purchasereturnRecordDetailMapper.selectList(exportReqVO); + public List selectList(Long masterId) { + return purchasereturnRecordDetailMapper.selectList(masterId); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainService.java index bdc792de..910283cf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainService.java @@ -1,15 +1,12 @@ package com.win.module.wms.service.purchasereturnRecord; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainCreateReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainUpdateReqVO; import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO; -import com.win.framework.common.pojo.PageResult; + +import java.util.List; /** * 采购退货记录主 Service 接口 @@ -19,12 +16,12 @@ import com.win.framework.common.pojo.PageResult; public interface PurchasereturnRecordMainService { /** - * 创建采购退货记录主 + * 获得采购退货记录主分页 * - * @param createReqVO 创建信息 - * @return 编号 + * @param pageReqVO 分页查询 + * @return 采购退货记录主分页 */ - Long createPurchasereturnRecordMain(@Valid PurchasereturnRecordMainCreateReqVO createReqVO); + PageResult getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO); /** * 获得用高级搜索采购退货记录主分页列表 @@ -35,49 +32,19 @@ public interface PurchasereturnRecordMainService { PageResult getPurchasereturnRecordMainSenior(CustomConditions conditions); /** - * 更新采购退货记录主 - * - * @param updateReqVO 更新信息 - */ - void updatePurchasereturnRecordMain(@Valid PurchasereturnRecordMainUpdateReqVO updateReqVO); - - /** - * 删除采购退货记录主 - * - * @param id 编号 - */ - void deletePurchasereturnRecordMain(Long id); - - /** - * 获得采购退货记录主 - * - * @param id 编号 - * @return 采购退货记录主 - */ - PurchasereturnRecordMainDO getPurchasereturnRecordMain(Long id); - - /** - * 获得采购退货记录主列表 + * 获得采购退货记录主列表, 用于 Excel 导出 * - * @param ids 编号 + * @param exportReqVO 查询条件 * @return 采购退货记录主列表 */ - List getPurchasereturnRecordMainList(Collection ids); - - /** - * 获得采购退货记录主分页 - * - * @param pageReqVO 分页查询 - * @return 采购退货记录主分页 - */ - PageResult getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO); + List getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO); /** - * 获得采购退货记录主列表, 用于 Excel 导出 + * 获得采购收货记录主列表, 用于 Excel 导出 * - * @param exportReqVO 查询条件 - * @return 采购退货记录主列表 + * @param conditions 查询条件 + * @return 采购收货申请主列表 */ - List getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO); + List getPurchasereturnRecordMainList(CustomConditions conditions); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java index 4ed9f1d9..a6435902 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordMainServiceImpl.java @@ -1,24 +1,16 @@ package com.win.module.wms.service.purchasereturnRecord; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainCreateReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainExportReqVO; import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainPageReqVO; -import com.win.module.wms.controller.purchasereturnRecord.vo.PurchasereturnRecordMainUpdateReqVO; -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.purchasereturnRecord.PurchasereturnRecordMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.purchasereturnRecord.PurchasereturnRecordMainConvert; import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; -import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import javax.annotation.Resource; +import java.util.List; /** * 采购退货记录主 Service 实现类 @@ -33,58 +25,23 @@ public class PurchasereturnRecordMainServiceImpl implements PurchasereturnRecord private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper; @Override - public Long createPurchasereturnRecordMain(PurchasereturnRecordMainCreateReqVO createReqVO) { - // 插入 - PurchasereturnRecordMainDO purchasereturnRecordMain = PurchasereturnRecordMainConvert.INSTANCE.convert(createReqVO); - purchasereturnRecordMainMapper.insert(purchasereturnRecordMain); - // 返回 - return purchasereturnRecordMain.getId(); + public PageResult getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO) { + return purchasereturnRecordMainMapper.selectPage(pageReqVO); } - @Override - public void updatePurchasereturnRecordMain(PurchasereturnRecordMainUpdateReqVO updateReqVO) { - // 校验存在 - validatePurchasereturnRecordMainExists(updateReqVO.getId()); - // 更新 - PurchasereturnRecordMainDO updateObj = PurchasereturnRecordMainConvert.INSTANCE.convert(updateReqVO); - purchasereturnRecordMainMapper.updateById(updateObj); - } @Override public PageResult getPurchasereturnRecordMainSenior(CustomConditions conditions) { return purchasereturnRecordMainMapper.selectSenior(conditions); } - @Override - public void deletePurchasereturnRecordMain(Long id) { - // 校验存在 - validatePurchasereturnRecordMainExists(id); - // 删除 - purchasereturnRecordMainMapper.deleteById(id); - } - - private void validatePurchasereturnRecordMainExists(Long id) { - if (purchasereturnRecordMainMapper.selectById(id) == null) { - throw exception(PURCHASERETURN_RECORD_MAIN_NOT_EXISTS); - } - } - - @Override - public PurchasereturnRecordMainDO getPurchasereturnRecordMain(Long id) { - return purchasereturnRecordMainMapper.selectById(id); - } @Override - public List getPurchasereturnRecordMainList(Collection ids) { - return purchasereturnRecordMainMapper.selectBatchIds(ids); - } - - @Override - public PageResult getPurchasereturnRecordMainPage(PurchasereturnRecordMainPageReqVO pageReqVO) { - return purchasereturnRecordMainMapper.selectPage(pageReqVO); + public List getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO) { + return purchasereturnRecordMainMapper.selectList(exportReqVO); } @Override - public List getPurchasereturnRecordMainList(PurchasereturnRecordMainExportReqVO exportReqVO) { - return purchasereturnRecordMainMapper.selectList(exportReqVO); + public List getPurchasereturnRecordMainList(CustomConditions conditions) { + return purchasereturnRecordMainMapper.selectSeniorList(conditions); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailService.java index 6388451a..694d8609 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailService.java @@ -1,15 +1,14 @@ package com.win.module.wms.service.purchasereturnRequest; -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.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO; -import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailExportReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; -import com.win.framework.common.pojo.PageResult; + +import javax.validation.Valid; +import java.util.List; /** * 采购退货申请子 Service 接口 @@ -25,6 +24,7 @@ public interface PurchasereturnRequestDetailService { * @return 编号 */ Long createPurchasereturnRequestDetail(@Valid PurchasereturnRequestDetailCreateReqVO createReqVO); + /** * 获得用高级搜索采购退货申请子分页列表 * @@ -55,14 +55,6 @@ public interface PurchasereturnRequestDetailService { */ PurchasereturnRequestDetailDO getPurchasereturnRequestDetail(Long id); - /** - * 获得采购退货申请子列表 - * - * @param ids 编号 - * @return 采购退货申请子列表 - */ - List getPurchasereturnRequestDetailList(Collection ids); - /** * 获得采购退货申请子分页 * @@ -72,11 +64,11 @@ public interface PurchasereturnRequestDetailService { PageResult getPurchasereturnRequestDetailPage(PurchasereturnRequestDetailPageReqVO pageReqVO); /** - * 获得采购退货申请子列表, 用于 Excel 导出 + * 根据主表id查询 * - * @param exportReqVO 查询条件 - * @return 采购退货申请子列表 + * @param masterId 主表id + * @return */ - List getPurchasereturnRequestDetailList(PurchasereturnRequestDetailExportReqVO exportReqVO); + List selectList(Long masterId); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailServiceImpl.java index 40440075..0835729f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestDetailServiceImpl.java @@ -1,24 +1,29 @@ package com.win.module.wms.service.purchasereturnRequest; 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.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO; -import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailExportReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailPageReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailUpdateReqVO; +import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert; +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.purchasereturnRequest.PurchasereturnRequestDetailDO; +import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestDetailMapper; +import com.win.module.wms.service.itembasic.ItembasicService; +import com.win.module.wms.service.itempackaging.ItempackagingService; +import com.win.module.wms.util.JobUtils; 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.purchasereturnRequest.PurchasereturnRequestDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert; -import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestDetailMapper; +import javax.annotation.Resource; +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.ITEMBASIC_UOM_EXCEPTION; +import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASERETURN_REQUEST_DETAIL_NOT_EXISTS; /** * 采购退货申请子 Service 实现类 @@ -31,14 +36,24 @@ public class PurchasereturnRequestDetailServiceImpl implements PurchasereturnReq @Resource private PurchasereturnRequestDetailMapper purchasereturnRequestDetailMapper; + @Resource + private TrendsApi trendsApi; + @Resource + private JobUtils jobUtils; + @Resource + private ItembasicService itembasicService; + @Resource + private ItempackagingService itempackagingService; @Override public Long createPurchasereturnRequestDetail(PurchasereturnRequestDetailCreateReqVO createReqVO) { // 插入 - PurchasereturnRequestDetailDO purchasereturnRequestDetail = PurchasereturnRequestDetailConvert.INSTANCE.convert(createReqVO); - purchasereturnRequestDetailMapper.insert(purchasereturnRequestDetail); + PurchasereturnRequestDetailDO purchasereturnRequestDetailDO = PurchasereturnRequestDetailConvert.INSTANCE.convert(createReqVO); + validatePurchasereturnRequestDetailCreate(purchasereturnRequestDetailDO); + purchasereturnRequestDetailMapper.insert(purchasereturnRequestDetailDO); + trendsApi.createTrends(purchasereturnRequestDetailDO.getId(), "purchasereturnRequestDetail", "增加了采购退货子表", TrendsTypeEnum.CREATE); // 返回 - return purchasereturnRequestDetail.getId(); + return purchasereturnRequestDetailDO.getId(); } @Override @@ -69,14 +84,22 @@ public class PurchasereturnRequestDetailServiceImpl implements PurchasereturnReq } } - @Override - public PurchasereturnRequestDetailDO getPurchasereturnRequestDetail(Long id) { - return purchasereturnRequestDetailMapper.selectById(id); + /** + * 校验创建,并赋值一些参数 + * @param detailDo + * @return + */ + private void validatePurchasereturnRequestDetailCreate(PurchasereturnRequestDetailDO detailDo) { + ItembasicDO itembasicDO = this.validateItem(detailDo); + if(!itembasicDO.getUom().equals(detailDo.getUom())) { + throw exception(ITEMBASIC_UOM_EXCEPTION, itembasicDO.getUom(), itembasicDO.getUom()); + } + this.validateBusinesstype(itembasicDO.getType()); } @Override - public List getPurchasereturnRequestDetailList(Collection ids) { - return purchasereturnRequestDetailMapper.selectBatchIds(ids); + public PurchasereturnRequestDetailDO getPurchasereturnRequestDetail(Long id) { + return purchasereturnRequestDetailMapper.selectById(id); } @Override @@ -85,8 +108,32 @@ public class PurchasereturnRequestDetailServiceImpl implements PurchasereturnReq } @Override - public List getPurchasereturnRequestDetailList(PurchasereturnRequestDetailExportReqVO exportReqVO) { - return purchasereturnRequestDetailMapper.selectList(exportReqVO); + public List selectList(Long masterId) { + return purchasereturnRequestDetailMapper.selectList(masterId); + } + + /** + * 校验物品信息并赋值 + * @param detailDO + * @return + */ + private ItembasicDO validateItem(PurchasereturnRequestDetailDO detailDO) { + ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode()); + detailDO.setItemName(itembasicDO.getName()); + detailDO.setItemDesc1(itembasicDO.getDesc1()); + detailDO.setItemDesc2(itembasicDO.getDesc2()); + detailDO.setProjectCode(itembasicDO.getProject()); + return itembasicDO; + } + + /** + * 校验业务类型 + * @param itemType + * @return + */ + private void validateBusinesstype(String itemType) { + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRequest"); + jobUtils.ifInType(itemType, businesstypeDO); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainService.java index 9e99fb18..a44a5581 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainService.java @@ -1,12 +1,12 @@ package com.win.module.wms.service.purchasereturnRequest; -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.purchasereturnRequest.vo.*; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; -import com.win.framework.common.pojo.PageResult; + +import javax.validation.Valid; +import java.util.List; /** * 采购退货申请主 Service 接口 @@ -22,6 +22,7 @@ public interface PurchasereturnRequestMainService { * @return 编号 */ Long createPurchasereturnRequestMain(@Valid PurchasereturnRequestMainCreateReqVO createReqVO); + /** * 获得用高级搜索采购退货申请主分页列表 * @@ -29,6 +30,7 @@ public interface PurchasereturnRequestMainService { * @return 分页列表 */ PageResult getPurchasereturnRequestMainSenior(CustomConditions conditions); + /** * 更新采购退货申请主 * @@ -36,13 +38,6 @@ public interface PurchasereturnRequestMainService { */ void updatePurchasereturnRequestMain(@Valid PurchasereturnRequestMainUpdateReqVO updateReqVO); - /** - * 删除采购退货申请主 - * - * @param id 编号 - */ - void deletePurchasereturnRequestMain(Long id); - /** * 获得采购退货申请主 * @@ -54,10 +49,10 @@ public interface PurchasereturnRequestMainService { /** * 获得采购退货申请主列表 * - * @param ids 编号 + * @param conditions 条件 * @return 采购退货申请主列表 */ - List getPurchasereturnRequestMainList(Collection ids); + List getPurchasereturnRequestMainList(CustomConditions conditions); /** * 获得采购退货申请主分页 @@ -82,6 +77,52 @@ public interface PurchasereturnRequestMainService { * @param updatePart 是否支持更新 * @return 导入结果 */ - public List importPurchasereturnRequestList(List datas, Integer mode, boolean updatePart); + List importPurchasereturnRequestList(List datas, Integer mode, boolean updatePart); + + /** + * 关闭退货申请主 + * + * @param id 退货申请主ID + * @return 更新数量 + */ + Integer closePurchasereturnRequestMain(Long id); + + /** + * 重新添加退货申请主 + * + * @param id 退货申请主ID + * @return 更新数量 + */ + Integer reAddPurchasereturnRequestMain(Long id); + + /** + * 提交退货申请主 + * + * @param id 退货申请主ID + * @return 更新数量 + */ + Integer submitPurchasereturnRequestMain(Long id); + + /** + * 审批通过退货申请主 + * + * @param id 退货申请主ID + * @return 更新数量 + */ + Integer agreePurchasereturnRequestMain(Long id); + + /** + * 处理退货申请主 + * @param id + * @return + */ + Integer handlePurchasereturnRequestMain(Long id); + /** + * 审批拒绝退货申请主 + * + * @param id 退货申请主ID + * @return 更新数量 + */ + Integer refusedPurchasereturnRequestMain(Long id); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java index 7536f35e..ac7789e2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java @@ -1,8 +1,9 @@ package com.win.module.wms.service.purchasereturnRequest; import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.validation.ValidationUtils; import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.module.infra.api.trends.TrendsApi; @@ -10,39 +11,51 @@ import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.system.api.dict.DictDataApi; import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; +import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO; import com.win.module.wms.controller.purchasereturnRequest.vo.*; +import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert; +import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobMainConvert; import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestDetailConvert; +import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert; 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.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; +import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnRecordMainDO; import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestDetailDO; +import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordMainMapper; +import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobDetailMapper; +import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobMainMapper; +import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper; import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestDetailMapper; +import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestMainMapper; import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.enums.request.RequestStatusState; +import com.win.module.wms.service.expectout.ExpectoutService; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.purchasereceiptRecord.PurchasereceiptRecordMainService; +import com.win.module.wms.service.purchasereturnRecord.PurchasereturnRecordMainService; 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 javax.validation.Validator; - +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; +import javax.validation.Validator; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.*; - -import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.purchasereturnRequest.PurchasereturnRequestMainConvert; -import com.win.module.wms.dal.mysql.purchasereturnRequest.PurchasereturnRequestMainMapper; +import java.util.ArrayList; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.module.wms.enums.ErrorCodeConstants.*; @@ -58,81 +71,69 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque @Resource private PurchasereturnRequestMainMapper purchasereturnRequestMainMapper; - @Resource private PurchasereturnRequestDetailMapper purchasereturnRequestDetailMapper; - + @Resource + private PurchasereturnJobMainMapper purchasereturnJobMainMapper; + @Resource + private PurchasereturnJobDetailMapper purchasereturnJobDetailMapper; + @Resource + private PurchasereceiptRecordMainService purchasereceiptRecordMainService; + @Resource + private PurchasereceiptRecordMainMapper purchasereceiptRecordMainMapper; @Resource private Validator validator; @Resource private ItembasicService itembasicService; - @Resource private DictDataApi dictDataApi; - @Resource private JobUtils jobUtils; - @Resource - private PurchasereceiptRecordMainService purchasereceiptRecordMainService; - + private PurchasereturnRecordMainService purchasereturnRecordMainService; @Resource - private PurchasereceiptRecordMainMapper purchasereceiptRecordMainMapper; - + private PurchasereturnRecordMainMapper purchasereturnRecordMainMapper; + @Resource + private ExpectoutService expectoutService; @Resource private SerialNumberApi serialNumberApi; - @Resource private RequestsettingService requestsettingService; - @Resource private LocationService locationService; @Resource private TrendsApi trendsApi; + @Override public Long createPurchasereturnRequestMain(PurchasereturnRequestMainCreateReqVO createReqVO) { - RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest"); // 插入 PurchasereturnRequestMainDO purchasereturnRequestMain = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO); - PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToCreate(createReqVO,requestsettingDO); + PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToCreate(createReqVO); //调用自动执行方法 - if(RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) { + if (RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) { } - trendsApi.createTrends(requestsettingDO.getId(), "PurchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE); + trendsApi.createTrends(purchasereturnRequestMain.getId(), "purchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE); // 返回 return purchasereturnRequestMain.getId(); } @Override public void updatePurchasereturnRequestMain(PurchasereturnRequestMainUpdateReqVO updateReqVO) { - RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest"); // 校验存在 validatePurchasereturnRequestMainExists(updateReqVO.getId()); // 更新主表 - PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO); - if(RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) { + PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorToUpdate(updateReqVO); + if (RequestStatusEnum.HANDLING.getCode().equals(purchasereturnRequestMainDO.getStatus())) { } - trendsApi.createTrends(requestsettingDO.getId(), "PurchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE); + trendsApi.createTrends(purchasereturnRequestMainDO.getId(), "purchasereturnRequest", "增加了采购退货申请", TrendsTypeEnum.CREATE); } + @Override public PageResult getPurchasereturnRequestMainSenior(CustomConditions conditions) { return purchasereturnRequestMainMapper.selectSenior(conditions); } - @Override - public void deletePurchasereturnRequestMain(Long id) { - // 校验存在 - validatePurchasereturnRequestMainExists(id); - // 删除 - purchasereturnRequestMainMapper.deleteById(id); - } - - private void validatePurchasereturnRequestMainExists(Long id) { - if (purchasereturnRequestMainMapper.selectById(id) == null) { - throw exception(PURCHASERETURN_REQUEST_MAIN_NOT_EXISTS); - } - } @Override public PurchasereturnRequestMainDO getPurchasereturnRequestMain(Long id) { @@ -140,8 +141,8 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque } @Override - public List getPurchasereturnRequestMainList(Collection ids) { - return purchasereturnRequestMainMapper.selectBatchIds(ids); + public List getPurchasereturnRequestMainList(CustomConditions conditions) { + return purchasereturnRequestMainMapper.selectSeniorList(conditions); } @Override @@ -154,8 +155,6 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque return purchasereturnRequestMainMapper.selectList(exportReqVO); } - - @Override public List importPurchasereturnRequestList(List datas, Integer mode, boolean updatePart) { if (CollUtil.isEmpty(datas)) { @@ -164,7 +163,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque List errorList = new ArrayList<>(); datas.forEach(createReqVO -> { BusinesstypeDO businesstypeDO = new BusinesstypeDO(); - PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO(); + PurchasereturnRecordMainDO purchasereturnRecordMainDO = new PurchasereturnRecordMainDO(); PurchasereturnRequestMainDO mainDo = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO); String messageMain = validatorPurchasereturnRequestMainImport(mainDo); List subList = createReqVO.getSubList(); @@ -172,7 +171,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque // 是否有错误数据 boolean flag = true; for (PurchasereturnRequestDetailDO detailDO : subDOList) { - String messageDetail = validatorPurchasereturnRequestDetailImport(detailDO, mainDo,businesstypeDO); + String messageDetail = validatorPurchasereturnRequestDetailImport(detailDO, mainDo, businesstypeDO); if (!messageMain.isEmpty() || messageDetail.isEmpty()) { PurchasereturnRequestImportErrorVO importErrorVO = PurchasereturnRequestMainConvert.INSTANCE.convert(createReqVO, detailDO); importErrorVO.setImportStatus("失败"); @@ -187,8 +186,8 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); mainDo.setNumber(number); mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); - mainDo.setPpNumber(purchasereceiptRecordMainDO.getPpNumber()); - mainDo.setAsnNumber(purchasereceiptRecordMainDO.getAsnNumber()); + mainDo.setPpNumber(purchasereturnRecordMainDO.getPpNumber()); + mainDo.setAsnNumber(purchasereturnRecordMainDO.getAsnNumber()); mainDo.setRequestTime(LocalDateTime.now()); purchasereturnRequestMainMapper.insert(mainDo); for (PurchasereturnRequestDetailDO detailDO : subDOList) { @@ -202,29 +201,175 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque return errorList; } - private void ifUomSuccess(String itemUom,String uom) { - if(!itemUom.equals(uom)){ - throw exception(UOM_EXCEPTION,"提示单位"+ uom + "错误,应该是" + itemUom); + private void ifUomSuccess(String itemUom, String uom) { + if (!itemUom.equals(uom)) { + throw exception(UOM_EXCEPTION, "提示单位" + uom + "错误,应该是" + itemUom); } } private void ifdetailQtyBigThanQty(BigDecimal detailQty, BigDecimal qty) { - if(detailQty.compareTo(qty) > 0){ - throw exception(QTY_EXCEPTION,"退货数量"+ qty + "不能大于于收货数量" + detailQty); + if (detailQty.compareTo(qty) > 0) { + throw exception(QTY_EXCEPTION, "退货数量" + qty + "不能大于于收货数量" + detailQty); } } - private ItembasicDO validatorItembasic(String itemCode){ + + private ItembasicDO validatorItembasic(String itemCode) { return itembasicService.selectItembasic(itemCode); } - private void validatorIfInType(String itemType,BusinesstypeDO businesstypeDO){ + private void validatorIfInType(String itemType, BusinesstypeDO businesstypeDO) { jobUtils.ifInType(itemType, businesstypeDO); } - private void validatorIfInToLocationType(String fromLocationCode,BusinesstypeDO businesstypeDO){ + + private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) { jobUtils.ifInToLocationType(fromLocationCode, businesstypeDO); } - private void validatorLocation(String fromLocationCode){ + @Override + @Transactional + public Integer closePurchasereturnRequestMain(Long id) { + // 校验存在存在下级单据 + PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id); + Long count = purchasereturnJobMainMapper.selectByRequestNumber(mainDO.getNumber()); + if(count > 0) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS); + } + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.close(); + if(!flag) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); + } + mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录 + trendsApi.createTrends(id, "purchasereturnRequest", "关闭了采购收货申请", TrendsTypeEnum.UPDATE); + return purchasereturnRequestMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer reAddPurchasereturnRequestMain(Long id) { + // 校验存在存在下级单据 + PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id); + Long count = purchasereturnJobMainMapper.selectByRequestNumber(mainDO.getNumber()); + if(count > 0) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS); + } + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.reAdd(); + if(!flag) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_RE_ADD); + } + mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录 + trendsApi.createTrends(id, "purchasereturnRequest", "打开了采购收货申请", TrendsTypeEnum.UPDATE); + return purchasereturnRequestMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer submitPurchasereturnRequestMain(Long id) { + PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute()); + if(!flag) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_SUBMIT); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { + this.generateJob(mainDO, purchasereturnRequestDetailMapper.selectList(mainDO.getId())); + } + trendsApi.createTrends(id, "purchasereturnRequest", "提交了采购收货申请", TrendsTypeEnum.UPDATE); + return purchasereturnRequestMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer agreePurchasereturnRequestMain(Long id) { + // 校验存在 + PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.agree(mainDO.getAutoExecute()); + if(!flag) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_AGREE); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { + this.generateJob(mainDO, purchasereturnRequestDetailMapper.selectList(mainDO.getId())); + } + trendsApi.createTrends(id, "purchasereturnRequest", "审批同意了采购收货申请", TrendsTypeEnum.UPDATE); + return purchasereturnRequestMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer handlePurchasereturnRequestMain(Long id) { + // 校验存在 + PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.handle(); + if(!flag) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_HANDLE); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用执行方法 + this.generateJob(mainDO, purchasereturnRequestDetailMapper.selectList(mainDO.getId())); + trendsApi.createTrends(id, "purchasereturnRequest", "执行了采购收货申请", TrendsTypeEnum.UPDATE); + return purchasereturnRequestMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer refusedPurchasereturnRequestMain(Long id) { + // 校验存在 + PurchasereturnRequestMainDO mainDO = validatePurchasereturnRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.refused(); + if(!flag) { + throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_ABORT); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + trendsApi.createTrends(id, "purchasereturnRequest", "审批拒绝了采购收货申请", TrendsTypeEnum.UPDATE); + return purchasereturnRequestMainMapper.updateById(mainDO); + } + + /** + * 生成采购收货任务,不要改动事务传播方式,否则会有事务问题 + * @param mainDO 采购收货主 + * @param detailDOList 采购收货子 + */ + private void generateJob(PurchasereturnRequestMainDO mainDO, List detailDOList) { + PurchasereturnJobMainDO purchasereturnJobMainDO = PurchasereturnJobMainConvert.INSTANCE.convert(mainDO); + purchasereturnJobMainDO.setRequestNumber(mainDO.getNumber()); + purchasereturnJobMainDO.setStatus(JobStatusEnum.PENDING.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_JOB.getCode()); + purchasereturnJobMainDO.setNumber(number); + purchasereturnJobMainDO.setId(null); + purchasereturnJobMainMapper.insert(purchasereturnJobMainDO); + List expectoutCreateReqVOList = new ArrayList<>(); + List purchasereturnJobDetailDOList = new ArrayList<>(); + for(PurchasereturnRequestDetailDO purchasereturnRequestDetailDO : detailDOList) { + PurchasereturnJobDetailDO purchasereturnJobDetailDO = PurchasereturnJobDetailConvert.INSTANCE.convert(purchasereturnRequestDetailDO); + purchasereturnJobDetailDO.setToLocationCode(purchasereturnRequestDetailDO.getToLocationCode()); + purchasereturnJobDetailDO.setNumber(number); + purchasereturnJobDetailDO.setId(null); + purchasereturnJobDetailDO.setMasterId(purchasereturnJobMainDO.getId()); + purchasereturnJobDetailDOList.add(purchasereturnJobDetailDO); + //预计出 + ExpectoutCreateReqVO expectoutCreateReqVO = new ExpectoutCreateReqVO(); + BeanUtils.copyProperties(purchasereturnJobDetailDO, expectoutCreateReqVO); + expectoutCreateReqVO.setJobNumber(number); + expectoutCreateReqVO.setBusinessType(purchasereturnJobMainDO.getBusinessType()); + expectoutCreateReqVO.setLocationCode(purchasereturnJobDetailDO.getFromLocationCode()); + expectoutCreateReqVO.setOwnerCode(purchasereturnJobDetailDO.getFromOwnerCode()); + expectoutCreateReqVOList.add(expectoutCreateReqVO); + } + purchasereturnJobDetailMapper.insertBatch(purchasereturnJobDetailDOList); + //增加预计出 + expectoutService.createExpectout(expectoutCreateReqVOList); + trendsApi.createTrends(purchasereturnJobMainDO.getId(), "purchasereturnJob", "采购退货申请生成采购退货任务", TrendsTypeEnum.CREATE); + } + + private void validatorLocation(String fromLocationCode) { locationService.selectLocation(fromLocationCode); } @@ -241,23 +386,25 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes()); } - private BigDecimal validatorBalance(PurchasereturnRequestDetailDO detailDo,PurchasereturnRequestMainDO mainDO){ - ArrayList inventoryStatus = new ArrayList(); + + private BigDecimal validatorBalance(PurchasereturnRequestDetailDO detailDo, PurchasereturnRequestMainDO mainDO) { + ArrayList inventoryStatus = new ArrayList<>(); inventoryStatus.add(detailDo.getInventoryStatus()); BigDecimal bigDecimal = new BigDecimal(0); - List banlance = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); - if(banlance != null) { - for (BalanceDO balanceDO : banlance) { + List balance = jobUtils.selectlocationReturnManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); + if (balance != null) { + for (BalanceDO balanceDO : balance) { bigDecimal = bigDecimal.add(balanceDO.getQty()); mainDO.setFromWarehouseCode(balanceDO.getWarehouseCode()); } } return bigDecimal; } + // 新增校验 - private PurchasereturnRequestMainDO validatorToCreate(PurchasereturnRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { + private PurchasereturnRequestMainDO validatorToCreate(PurchasereturnRequestMainCreateReqVO createReqVO) { PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO(); - PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorMainMethod(createReqVO,purchasereceiptRecordMainDO); + PurchasereturnRequestMainDO purchasereturnRequestMainDO = validatorMainMethod(createReqVO); //子表校验 List subList = createReqVO.getSubList(); List subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList03(subList); @@ -275,9 +422,9 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque } //修改校验 - private PurchasereturnRequestMainDO validatorToUpdate(PurchasereturnRequestMainUpdateReqVO updateReqVO, RequestsettingDO requestsettingDO) { + private PurchasereturnRequestMainDO validatorToUpdate(PurchasereturnRequestMainUpdateReqVO updateReqVO) { PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = new PurchasereceiptRecordMainDO(); - PurchasereturnRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO,purchasereceiptRecordMainDO); + PurchasereturnRequestMainDO purchaseclaimRequestMainDO = validatorMainMethod(updateReqVO); //子表校验 List subList = updateReqVO.getSubList(); List subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList05(subList); @@ -288,14 +435,24 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque purchasereturnRequestDetailMapper.updateBatch(subDOList); return purchaseclaimRequestMainDO; } + + private PurchasereturnRequestMainDO validatePurchasereturnRequestMainExists(Long id) { + PurchasereturnRequestMainDO purchasereturnRequestMainDO = purchasereturnRequestMainMapper.selectById(id); + if (purchasereturnRequestMainDO == null) { + throw exception(PURCHASERETURN_REQUEST_MAIN_NOT_EXISTS); + } + return purchasereturnRequestMainDO; + } + //校验主表公共方法(适用于新增/修改) - private PurchasereturnRequestMainDO validatorMainMethod(PurchasereturnRequestMainBaseVO baseVO,PurchasereceiptRecordMainDO purchasereceiptRecordMainDO){ + private PurchasereturnRequestMainDO validatorMainMethod(PurchasereturnRequestMainBaseVO baseVO){ PurchasereturnRequestMainDO mainDo = PurchasereturnRequestMainConvert.INSTANCE.convert(baseVO); requestsettingAndBusinesstypeSet(mainDo); return mainDo; } + //校验子表公共方法(适用于新增/修改) - private void validatorDetailMethod(PurchasereturnRequestDetailDO detailDo,PurchasereturnRequestMainDO mainDo,PurchasereceiptRecordMainDO purchasereceiptRecordMainDO) { + private void validatorDetailMethod(PurchasereturnRequestDetailDO detailDo, PurchasereturnRequestMainDO mainDo, PurchasereceiptRecordMainDO purchasereceiptRecordMainDO) { ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); detailDo.setItemDesc1(itembasicDO.getDesc1()); detailDo.setItemDesc2(itembasicDO.getDesc2()); @@ -304,9 +461,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom()); validatorLocation(detailDo.getFromLocationCode()); PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode()); - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("id", purchasereceiptRecordDetailDO.getMasterId()); - purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapper); + purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId()); ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty()); BigDecimal bigDecimal = validatorBalance(detailDo,mainDo); ifdetailQtyBigThanQty(detailDo.getQty(),bigDecimal); @@ -323,8 +478,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasereturnRequest"); if (requestsettingDO == null) { message.append("未查找到采购退货申请的相关申请设置"); - } - else { + } else { mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); @@ -333,8 +487,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReturnRequest"); if (businesstypeDO == null) { message.append("根据单据设置未查找到采购退货申请的相关业务类型"); - } - else { + } else { mainDo.setBusinessType(businesstypeDO.getCode()); mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes()); @@ -388,9 +541,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque } try { PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode()); - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("id", purchasereceiptRecordDetailDO.getMasterId()); - PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapper); + PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId()); try { ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty()); } catch (Exception ex) { From 4af07b970821d7c5acc5d0f98942fa90243c3ced Mon Sep 17 00:00:00 2001 From: yejiaxing <591141169@qq.com> Date: Mon, 20 Nov 2023 08:51:41 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=A6=81=E8=B4=A7=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchasePlanMainController.java | 56 +++++++ .../purchase/PurchaseMainServiceImpl.java | 11 +- .../purchasePlan/PurchasePlanMainService.java | 49 ++++++ .../PurchasePlanMainServiceImpl.java | 147 +++++++++++++++--- 4 files changed, 232 insertions(+), 31 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java index 05b5d3eb..b3d03566 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java @@ -162,4 +162,60 @@ public class PurchasePlanMainController { return success(returnMap); } + + @PostMapping("/close") + @Operation(summary = "关闭要货计划主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchase-main:close')") + public CommonResult closePurchasePlanMain(@RequestParam("id") Long id) { + Integer count = purchasePlanMainService.closePurchasePlanMain(id); + return success(count > 0); + } + + @PostMapping("/open") + @Operation(summary = "打开要货计划主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchase-main:open')") + public CommonResult openPurchasePlanMain(@RequestParam("id") Long id) { + Integer count = purchasePlanMainService.openPurchasePlanMain(id); + return success(count > 0); + } + + @PostMapping("/publish") + @Operation(summary = "发布要货计划主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchase-main:publish')") + public CommonResult publishPurchasePlanMain(@RequestParam("id") Long id) { + Integer count = purchasePlanMainService.publishPurchasePlanMain(id); + return success(count > 0); + } + + @PostMapping("/wit") + @Operation(summary = "下架要货计划主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchase-main:wit')") + public CommonResult witPurchasePlanMain(@RequestParam("id") Long id) { + Integer count = purchasePlanMainService.witPurchasePlanMain(id); + return success(count > 0); + } + + @PostMapping("/acc") + @Operation(summary = "接受要货计划主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchase-main:wit')") + public CommonResult accPurchasePlanMain(@RequestParam("id") Long id) { + Integer count = purchasePlanMainService.accPurchasePlanMain(id); + return success(count > 0); + } + + @PostMapping("/rej") + @Operation(summary = "驳回要货计划主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:purchase-main:rej')") + public CommonResult rejPurchasePlanMain(@RequestParam("id") Long id) { + Integer count = purchasePlanMainService.rejPurchasePlanMain(id); + return success(count > 0); + } + + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java index e081943c..90e72aaa 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java @@ -341,7 +341,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { throw new ServiceException(PURCHASE_MAIN_CANNOT_CLOSE); } mainDO.setStatus(OrderStatusEnum.CLOSED.getCode());//增加操作记录 - trendsApi.createTrends(id, "plan_purchase_main", "关闭了采购订单申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "order_purchase_main", "关闭了采购订单申请", TrendsTypeEnum.UPDATE); return purchaseMainMapper.updateById(mainDO); } @@ -360,7 +360,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { // throw new ServiceException(PURCHASE_MAIN_CANNOT_CLOSE); // } mainDO.setStatus(OrderStatusEnum.READY.getCode());//增加操作记录 - trendsApi.createTrends(id, "plan_purchase_main", "打开了采购订单申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "order_purchase_main", "打开了采购订单申请", TrendsTypeEnum.UPDATE); return purchaseMainMapper.updateById(mainDO); } @@ -420,7 +420,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { } } mainDO.setStatus(OrderStatusEnum.PUBLISHED.getCode());//增加操作记录 - trendsApi.createTrends(id, "plan_purchase_main", "发布了采购订单申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "order_purchase_main", "发布了采购订单申请", TrendsTypeEnum.UPDATE); res = purchaseMainMapper.updateById(mainDO); return res; } @@ -451,7 +451,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { } } mainDO.setStatus(OrderStatusEnum.READY.getCode());//增加操作记录 - trendsApi.createTrends(id, "plan_purchase_main", "下架了采购订单申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "order_purchase_main", "下架了采购订单申请", TrendsTypeEnum.UPDATE); return purchaseMainMapper.updateById(mainDO); } @@ -486,7 +486,6 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { throw new ServiceException(PURCHASE_MAIN_NUMBERNO); } } - //更新采购订单表的已收货数量 @Override @Transactional @@ -535,8 +534,6 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { throw new ServiceException(PURCHASE_MAIN_NUMBERNO); } } - - //更新采购订单表的已发货数量 @Override @Transactional diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainService.java index 966f356f..8fcefbeb 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainService.java @@ -96,4 +96,53 @@ public interface PurchasePlanMainService { * @return 导入结果 */ public List importPurchasePlanMainList(List datas, Integer mode, boolean updatePart); + + /** + * 关闭要货计划主 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + Integer closePurchasePlanMain(Long id); + + /** + * 打开要货计划主 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + Integer openPurchasePlanMain(Long id); + + /** + * 发布要货计划主 + * + * @param id 采购订单申请主ID + * @return 更新数量 + */ + Integer publishPurchasePlanMain(Long id); + + /** + * 接受要货计划主 + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + Integer witPurchasePlanMain(Long id); + + /** + * 接受要货计划主 + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + Integer accPurchasePlanMain(Long id); + /** + * 驳回要货计划主 + * + * @param id 采采购订单申请主ID + * @return 更新数量 + */ + Integer rejPurchasePlanMain(Long id); + + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java index 201bad7c..d5e29b57 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java @@ -7,6 +7,8 @@ import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.framework.dict.core.util.DictFrameworkUtils; +import com.win.module.infra.api.trends.TrendsApi; +import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.wms.controller.purchasePlan.vo.*; import com.win.module.wms.convert.purchasePlan.PurchasePlanDetailConvert; import com.win.module.wms.convert.purchasePlan.PurchasePlanMainConvert; @@ -19,12 +21,14 @@ import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; import com.win.module.wms.dal.mysql.purchasePlan.PurchasePlanDetailMapper; import com.win.module.wms.dal.mysql.purchasePlan.PurchasePlanMainMapper; import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.enums.plan.PlanStatusEnum; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.shift.ShiftService; import com.win.module.wms.service.supplieritem.SupplieritemService; 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.transaction.interceptor.TransactionAspectSupport; import org.springframework.validation.annotation.Validated; @@ -35,7 +39,7 @@ import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY; -import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASE_PLAN_MAIN_NOT_EXISTS; +import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS; /** * 要货计划主 Service 实现类 @@ -58,6 +62,9 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { private SupplieritemService supplieritemService; @Resource private JobUtils jobUtils; + @Resource + private TrendsApi trendsApi; + @Override public Long createPurchasePlanMain(PurchasePlanMainCreateReqVO createReqVO) { @@ -76,6 +83,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { PurchasePlanMainDO updateObj = PurchasePlanMainConvert.INSTANCE.convert(updateReqVO); purchasePlanMainMapper.updateById(updateObj); } + @Override public PageResult getPurchasePlanMainSenior(CustomConditions conditions) { return purchasePlanMainMapper.selectSenior(conditions); @@ -89,12 +97,16 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { purchasePlanMainMapper.deleteById(id); } - private void validatePurchasePlanMainExists(Long id) { - if (purchasePlanMainMapper.selectById(id) == null) { - throw exception(PURCHASE_PLAN_MAIN_NOT_EXISTS); + private PurchasePlanMainDO validatePurchasePlanMainExists(Long id) { + PurchasePlanMainDO purchasePlanMainDO = purchasePlanMainMapper.selectById(id); + if (purchasePlanMainDO == null) { + throw exception(PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS); } + return purchasePlanMainDO; } + + @Override public PurchasePlanMainDO getPurchasePlanMain(Long id) { return purchasePlanMainMapper.selectById(id); @@ -114,34 +126,35 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { public List getPurchasePlanMainList(PurchasePlanMainExportReqVO exportReqVO) { return purchasePlanMainMapper.selectList(exportReqVO); } + @Override - public PurchasePlanDetailDO selectPurchasePlan(String pnubmer,String psupplierCode,String ppoNumber,String ppoLine,String pitemCode){ + public PurchasePlanDetailDO selectPurchasePlan(String pnubmer, String psupplierCode, String ppoNumber, String ppoLine, String pitemCode) { QueryWrapper queryWrapperMain = new QueryWrapper(); - queryWrapperMain.eq("number",pnubmer); - queryWrapperMain.eq("supplier_code",psupplierCode); + queryWrapperMain.eq("number", pnubmer); + queryWrapperMain.eq("supplier_code", psupplierCode); PurchasePlanMainDO purchasePlanMainDO = purchasePlanMainMapper.selectOne(queryWrapperMain); - if(purchasePlanMainDO != null && "TRUE".equals(purchasePlanMainDO.getAvailable())){ - if(!"CLOSED".equals(purchasePlanMainDO.getStatus())){ + if (purchasePlanMainDO != null && "TRUE".equals(purchasePlanMainDO.getAvailable())) { + if (!"CLOSED".equals(purchasePlanMainDO.getStatus())) { QueryWrapper queryWrapperDetail = new QueryWrapper(); - queryWrapperDetail.eq("master_id",purchasePlanMainDO.getId()); - queryWrapperDetail.eq("number",ppoNumber); - queryWrapperDetail.eq("po_line",ppoLine); - queryWrapperDetail.eq("item_code",pitemCode); + queryWrapperDetail.eq("master_id", purchasePlanMainDO.getId()); + queryWrapperDetail.eq("number", ppoNumber); + queryWrapperDetail.eq("po_line", ppoLine); + queryWrapperDetail.eq("item_code", pitemCode); PurchasePlanDetailDO purchasePlanDetailDO = purchasePlanDetailMapper.selectOne(queryWrapperDetail); - if(purchasePlanDetailDO != null && "TRUE".equals(purchasePlanDetailDO.getAvailable())){ + if (purchasePlanDetailDO != null && "TRUE".equals(purchasePlanDetailDO.getAvailable())) { return purchasePlanDetailDO; - }else { - throw new UtilException( "要货计划明细:订单号" + ppoNumber + "、订单行" + ppoLine + "、零件号" + pitemCode + "、无效"); + } else { + throw new UtilException("要货计划明细:订单号" + ppoNumber + "、订单行" + ppoLine + "、零件号" + pitemCode + "、无效"); } - }else { - throw new UtilException( "要货计划" + pnubmer + "已经关闭"); + } else { + throw new UtilException("要货计划" + pnubmer + "已经关闭"); } - }else { - throw new UtilException( "根据计划单号" + pnubmer + ",供应商代码" + psupplierCode + "未查找到要货计划"); + } else { + throw new UtilException("根据计划单号" + pnubmer + ",供应商代码" + psupplierCode + "未查找到要货计划"); } } - public List importPurchasePlanMainList(List datas, Integer mode, boolean updatePart) { + public List importPurchasePlanMainList(List datas, Integer mode, boolean updatePart) { if (CollUtil.isEmpty(datas)) { throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); } @@ -180,7 +193,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { } PurchasePlanDetailCreateReqVO purchasePlanDetailCreateReqVO = PurchasePlanDetailConvert.INSTANCE.convert1(purchasePlanDetailDO); - PurchasePlanMainImportErrorVO importVO = PurchasePlanDetailConvert.INSTANCE.convert(createReqVO, purchasePlanDetailCreateReqVO); + PurchasePlanMainImportErrorVO importVO = PurchasePlanDetailConvert.INSTANCE.convert(createReqVO, purchasePlanDetailCreateReqVO); //进行子表的错误统计 //主表没有错误 写入库里 if (!messageMain.equals("") || !messageDetail.equals("")) { @@ -195,7 +208,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { if (errorList.isEmpty()) { // 判断如果不存在,在进行插入 - PurchasePlanMainDO existPurchaseclaimRequestMainDO = purchasePlanMainMapper.selectByNumber(createReqVO.getNumber()); + PurchasePlanMainDO existPurchaseclaimRequestMainDO = purchasePlanMainMapper.selectByNumber(createReqVO.getNumber()); if (existPurchaseclaimRequestMainDO == null && mode != 3) { createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePlan"); @@ -218,10 +231,96 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { } }); //错误不为空并非部分更新,手工回滚 - if(!errorList.isEmpty() && !updatePart) { + if (!errorList.isEmpty() && !updatePart) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } return errorList; } + @Override + @Transactional + public Integer closePurchasePlanMain(Long id) { + PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); + mainDO.setStatus(PlanStatusEnum.CLOSED.getCode());//增加操作记录 + trendsApi.createTrends(id, "plan_purchase_main", "关闭了要货计划申请", TrendsTypeEnum.UPDATE); + return purchasePlanMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer openPurchasePlanMain(Long id) { + PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); + mainDO.setStatus(PlanStatusEnum.NEW.getCode());//增加操作记录 + trendsApi.createTrends(id, "plan_purchase_main", "打开了要货计划申请", TrendsTypeEnum.UPDATE); + return purchasePlanMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer publishPurchasePlanMain(Long id) { + PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); + mainDO.setStatus(PlanStatusEnum.PUBLISHED.getCode());//增加操作记录 + trendsApi.createTrends(id, "plan_purchase_main", "发布了要货计划申请", TrendsTypeEnum.UPDATE); + return purchasePlanMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer witPurchasePlanMain(Long id) { + PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); + mainDO.setStatus(PlanStatusEnum.NEW.getCode());//增加操作记录 + trendsApi.createTrends(id, "plan_purchase_main", "下架了要货计划申请", TrendsTypeEnum.UPDATE); + return purchasePlanMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer accPurchasePlanMain(Long id) { + PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); + mainDO.setStatus(PlanStatusEnum.AGREED.getCode());//增加操作记录 + trendsApi.createTrends(id, "plan_purchase_main", "接受了要货计划申请", TrendsTypeEnum.UPDATE); + return purchasePlanMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer rejPurchasePlanMain(Long id) { + PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); + mainDO.setStatus(PlanStatusEnum.REFUSED.getCode());//增加操作记录 + trendsApi.createTrends(id, "plan_purchase_main", "驳回了要货计划申请", TrendsTypeEnum.UPDATE); + return purchasePlanMainMapper.updateById(mainDO); + } + + //更新要货计划的已发货数量 +// @Override +// @Transactional +// public void updatePlanPurchaseShippedQty(String number, String poNumber,String poLine, String itemCode, BigDecimal shippedQty) { +// QueryWrapper purchaseMainDOQueryWrapper = new QueryWrapper(); +// purchaseMainDOQueryWrapper.eq("number", poNumber); +// purchaseMainDOQueryWrapper.eq("status", OrderStatusEnum.PUBLISHED.getCode()); +// List purchaseMainDOList = purchaseMainMapper.selectList(purchaseMainDOQueryWrapper); +// if (purchaseMainDOList != null && purchaseMainDOList.size() > 0) { +// for (PurchaseMainDO purchaseMainDO : purchaseMainDOList) { +// QueryWrapper purchaseDetailDOQueryWrapper = new QueryWrapper(); +// purchaseDetailDOQueryWrapper.eq("number", poNumber); +// purchaseDetailDOQueryWrapper.eq("line_number", poNumber); +// purchaseDetailDOQueryWrapper.eq("item_code", poNumber); +// purchaseDetailDOQueryWrapper.eq("available", "TRUE"); +// List purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper); +// for (PurchaseDetailDO purchaseDetailDO : purchaseDetailDOList) { +// //如果是离散单 +// if ("DISCRETE".equals(purchaseMainDO.getType())) { +// purchaseDetailDO.setPlannedQty(purchaseDetailDO.getPlannedQty().add(planQty)); +// } else { +// purchaseDetailDO.setPlannedQty(planQty); +// } +// trendsApi.createTrends(purchaseDetailDO.getId(), "plan_purchase_detail", "修改了采购订单申请子", TrendsTypeEnum.UPDATE); +// purchaseDetailMapper.updateById(purchaseDetailDO); +// } +// } +// } else { +// throw new ServiceException(PURCHASE_MAIN_NUMBERNO); +// } +// } + } From 73fff5f2c8668e12810c8739539648d75348b4db Mon Sep 17 00:00:00 2001 From: zhang_li <2235006734@qqq.com> Date: Mon, 20 Nov 2023 09:04:01 +0800 Subject: [PATCH 3/4] bug --- .../wms/service/itempackaging/ItempackagingServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java index 0d1d6667..d0a0f438 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itempackaging/ItempackagingServiceImpl.java @@ -49,7 +49,7 @@ public class ItempackagingServiceImpl implements ItempackagingService { @Override public void updateItempackaging(ItempackagingUpdateReqVO updateReqVO) { - validateItempackagingForCreateOrUpdate(null,updateReqVO.getItemCode(),updateReqVO.getUom(),updateReqVO.getStdPackUnit(),updateReqVO.getStdPackQty(),updateReqVO.getAvailable()); + validateItempackagingForCreateOrUpdate(updateReqVO.getId(),updateReqVO.getItemCode(),updateReqVO.getUom(),updateReqVO.getStdPackUnit(),updateReqVO.getStdPackQty(),updateReqVO.getAvailable()); // 校验存在 validateItempackagingExists(updateReqVO.getId()); // 更新 From fcaabeb5dd6d66356aed73464f484ed4af343182 Mon Sep 17 00:00:00 2001 From: chenfang Date: Mon, 20 Nov 2023 09:36:15 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BC=98=E5=8C=96equals=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wms/dal/mysql/packageMassage/PackageMapper.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/packageMassage/PackageMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/packageMassage/PackageMapper.java index 91298309..6ad2ce51 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/packageMassage/PackageMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/packageMassage/PackageMapper.java @@ -25,12 +25,12 @@ public interface PackageMapper extends BaseMapperX { lambdaQueryWrapperX.eqIfPresent(PackageDO::getNumber, reqVO.getNumber()); lambdaQueryWrapperX.eqIfPresent(PackageDO::getItemCode, reqVO.getItemCode()); lambdaQueryWrapperX.eqIfPresent(PackageDO::getBatch, reqVO.getBatch()); - if(reqVO.getRegularParams().equals("procure")) { + if("procure".equals(reqVO.getRegularParams())) { lambdaQueryWrapperX.isNotNull(PackageDO::getToWarehouseCode); - } else if(reqVO.getRegularParams().equals("manufacture")) { + } else if("manufacture".equals(reqVO.getRegularParams())) { lambdaQueryWrapperX.isNotNull(PackageDO::getWoNumber); lambdaQueryWrapperX.ne(PackageDO::getWoNumber,""); - } else if(reqVO.getRegularParams().equals("utensil")) { + } else if("utensil".equals(reqVO.getRegularParams())) { lambdaQueryWrapperX.isNotNull(PackageDO::getCustomerCode); } return selectPage(reqVO, lambdaQueryWrapperX);