From 7b8df8a398ff19441aa6ec27d6ff11767495efde Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Thu, 30 Nov 2023 18:20:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=98=E7=82=B9=E6=8E=A5=E5=8F=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wms/enums/DictTypeConstants.java | 1 + .../module/wms/enums/ErrorCodeConstants.java | 8 + .../countJob/CountJobDetailController.java | 95 ++------ .../countJob/CountJobMainController.java | 146 ++++++------ .../countJob/vo/CountJobMainExcelVO.java | 96 +++++--- .../CountRecordDetailController.java | 94 ++------ .../CountRecordMainController.java | 143 ++++++------ .../vo/CountRecordMainExcelVO.java | 94 ++++++-- .../CountRequestDetailController.java | 2 +- .../CountRequestMainController.java | 141 +++++++++--- .../vo/CountRequestMainExcelVO.java | 88 ++++++-- .../vo/CountRequestMainImportVO.java | 9 +- .../convert/countJob/CountJobMainConvert.java | 22 +- .../countRecord/CountRecordMainConvert.java | 21 +- .../countRequest/CountRequestMainConvert.java | 21 +- .../mysql/countJob/CountJobDetailMapper.java | 5 + .../mysql/countJob/CountJobMainMapper.java | 4 + .../countRecord/CountRecordMainMapper.java | 2 +- .../countRequest/CountRequestMainMapper.java | 2 +- .../countJob/CountJobDetailService.java | 54 +---- .../countJob/CountJobDetailServiceImpl.java | 67 +----- .../service/countJob/CountJobMainService.java | 72 +++--- .../countJob/CountJobMainServiceImpl.java | 131 ++++++----- .../countRecord/CountRecordDetailService.java | 58 +---- .../CountRecordDetailServiceImpl.java | 66 +----- .../countRecord/CountRecordMainService.java | 55 +---- .../CountRecordMainServiceImpl.java | 65 +----- .../CountRequestDetailService.java | 10 + .../CountRequestDetailServiceImpl.java | 7 + .../countRequest/CountRequestMainService.java | 64 ++++-- .../CountRequestMainServiceImpl.java | 210 +++++++++++++++--- .../inspectJob/InspectJobMainService.java | 1 - 32 files changed, 984 insertions(+), 870 deletions(-) diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java index c78717cc..56288d2c 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java @@ -81,4 +81,5 @@ public interface DictTypeConstants { String COUNT_TYPE = "count_type"; String JOB_STATUS = "job_status";//任务状态 String JOB_STAGE_STATUS = "job_stage_status";//任务阶段状态 + String COUNT_STAGE = "count_stage"; //阶段 } diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java index bb8bfa30..0d004fa8 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java @@ -902,6 +902,14 @@ public interface ErrorCodeConstants { //盘点申请ErrorCode ErrorCode COUNT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_153_000, "盘点申请主不存在"); ErrorCode COUNT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_153_001, "盘点申请子不存在"); + ErrorCode COUNT_REQUEST_STATUS_NOT_NEW = new ErrorCode(1_000_073_003, "盘点不是新增状态"); + ErrorCode COUNT_REQUEST_JOB_EXISTS = new ErrorCode(1_000_073_004, "盘点存在采购收货任务单"); + ErrorCode COUNT_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_073_005, "盘点状态不支持关闭"); + ErrorCode COUNT_REQUEST_CANNOT_SUBMIT = new ErrorCode(1_000_073_006, "盘点状态不支持提交"); + ErrorCode COUNT_REQUEST_CANNOT_AGREE = new ErrorCode(1_000_073_007, "盘点状态不支持审批同意"); + ErrorCode COUNT_REQUEST_CANNOT_HANDLE = new ErrorCode(1_000_073_008, "盘点状态不支持处理"); + ErrorCode COUNT_REQUEST_CANNOT_ABORT = new ErrorCode(1_000_073_009, "盘点状态不支持审批拒绝"); + ErrorCode COUNT_REQUEST_CANNOT_RE_ADD = new ErrorCode(1_000_073_010, "盘点状态不支持重新添加"); //盘点任务ErrorCode ErrorCode COUNT_JOB_MAIN_NOT_EXISTS = new ErrorCode(1_000_154_000, "盘点任务主不存在"); ErrorCode COUNT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_154_001, "盘点任务子不存在"); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobDetailController.java index 17b67996..511e7004 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobDetailController.java @@ -1,36 +1,26 @@ package com.win.module.wms.controller.countJob; +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.countJob.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.countJob.vo.CountJobDetailPageReqVO; +import com.win.module.wms.controller.countJob.vo.CountJobDetailRespVO; +import com.win.module.wms.convert.countJob.CountJobDetailConvert; +import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; +import com.win.module.wms.service.countJob.CountJobDetailService; 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.countJob.vo.*; -import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; -import com.win.module.wms.convert.countJob.CountJobDetailConvert; -import com.win.module.wms.service.countJob.CountJobDetailService; - @Tag(name = "管理后台 - 盘点任务子") @RestController @RequestMapping("/wms/count-job-detail") @@ -43,48 +33,6 @@ public class CountJobDetailController { @Resource private AdminUserApi userApi; - @PostMapping("/create") - @Operation(summary = "创建盘点任务子") - @PreAuthorize("@ss.hasPermission('wms:count-job-detail:create')") - public CommonResult createCountJobDetail(@Valid @RequestBody CountJobDetailCreateReqVO createReqVO) { - return success(countJobDetailService.createCountJobDetail(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新盘点任务子") - @PreAuthorize("@ss.hasPermission('wms:count-job-detail:update')") - public CommonResult updateCountJobDetail(@Valid @RequestBody CountJobDetailUpdateReqVO updateReqVO) { - countJobDetailService.updateCountJobDetail(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除盘点任务子") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:count-job-detail:delete')") - public CommonResult deleteCountJobDetail(@RequestParam("id") Long id) { - countJobDetailService.deleteCountJobDetail(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得盘点任务子") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')") - public CommonResult getCountJobDetail(@RequestParam("id") Long id) { - CountJobDetailDO countJobDetail = countJobDetailService.getCountJobDetail(id); - return success(CountJobDetailConvert.INSTANCE.convert(countJobDetail)); - } - - @GetMapping("/list") - @Operation(summary = "获得盘点任务子列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')") - public CommonResult> getCountJobDetailList(@RequestParam("ids") Collection ids) { - List list = countJobDetailService.getCountJobDetailList(ids); - return success(CountJobDetailConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得盘点任务子分页") @PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')") @@ -92,6 +40,7 @@ public class CountJobDetailController { PageResult pageResult = countJobDetailService.getCountJobDetailPage(pageVO); return success(CountJobDetailConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得盘点任务子分页") @PreAuthorize("@ss.hasPermission('wms:count-job-detail:query')") @@ -105,21 +54,5 @@ public class CountJobDetailController { } return success(result); } - @GetMapping("/export-excel") - @Operation(summary = "导出盘点任务子 Excel") - @PreAuthorize("@ss.hasPermission('wms:count-job-detail:export')") - @OperateLog(type = EXPORT) - public void exportCountJobDetailExcel(@Valid CountJobDetailExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = countJobDetailService.getCountJobDetailList(exportReqVO); - // 导出 Excel - List datas = CountJobDetailConvert.INSTANCE.convertList02(list); - for(CountJobDetailExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); - } - ExcelUtils.write(response, "盘点任务子.xls", "数据", CountJobDetailExcelVO.class, datas); - } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java index bf0dd4b8..2b41af1d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java @@ -1,43 +1,42 @@ package com.win.module.wms.controller.countJob; +import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CustomConditions; -import com.win.framework.security.core.util.SecurityFrameworkUtils; +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.countJob.vo.*; -import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.convert.countJob.CountJobDetailConvert; +import com.win.module.wms.convert.countJob.CountJobMainConvert; import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; - +import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO; +import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.service.countJob.CountJobDetailService; +import com.win.module.wms.service.countJob.CountJobMainService; import com.win.module.wms.service.rule.RuleService; -import io.swagger.v3.core.util.Json; +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.countJob.CountJobMainDO; -import com.win.module.wms.convert.countJob.CountJobMainConvert; -import com.win.module.wms.service.countJob.CountJobMainService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 盘点任务主") @RestController @@ -57,48 +56,6 @@ public class CountJobMainController { @Resource private AdminUserApi userApi; - @PostMapping("/create") - @Operation(summary = "创建盘点任务主") - @PreAuthorize("@ss.hasPermission('wms:count-job-main:create')") - public CommonResult createCountJobMain(@Valid @RequestBody CountJobMainCreateReqVO createReqVO) { - return success(countJobMainService.createCountJobMain(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新盘点任务主") - @PreAuthorize("@ss.hasPermission('wms:count-job-main:update')") - public CommonResult updateCountJobMain(@Valid @RequestBody CountJobMainUpdateReqVO updateReqVO) { - countJobMainService.updateCountJobMain(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除盘点任务主") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:count-job-main:delete')") - public CommonResult deleteCountJobMain(@RequestParam("id") Long id) { - countJobMainService.deleteCountJobMain(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得盘点任务主") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") - public CommonResult getCountJobMain(@RequestParam("id") Long id) { - CountJobMainDO countJobMain = countJobMainService.getCountJobMain(id); - return success(CountJobMainConvert.INSTANCE.convert(countJobMain)); - } - - @GetMapping("/list") - @Operation(summary = "获得盘点任务主列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") - public CommonResult> getCountJobMainList(@RequestParam("ids") Collection ids) { - List list = countJobMainService.getCountJobMainList(ids); - return success(CountJobMainConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得盘点任务主分页") @PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") @@ -106,6 +63,7 @@ public class CountJobMainController { PageResult pageResult = countJobMainService.getCountJobMainPage(pageVO); return success(CountJobMainConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得盘点任务主分页") @PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") @@ -119,21 +77,27 @@ public class CountJobMainController { } return success(result); } + @GetMapping("/export-excel") @Operation(summary = "导出盘点任务主 Excel") @PreAuthorize("@ss.hasPermission('wms:count-job-main:export')") @OperateLog(type = EXPORT) - public void exportCountJobMainExcel(@Valid CountJobMainExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { + public void exportCountJobMainExcel(@Valid CountJobMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException { List list = countJobMainService.getCountJobMainList(exportReqVO); - // 导出 Excel - List datas = CountJobMainConvert.INSTANCE.convertList02(list); - for(CountJobMainExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); - } - ExcelUtils.write(response, "盘点任务主.xls", "数据", CountJobMainExcelVO.class, datas); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "盘点任务主.xls", "数据", CountJobMainExcelVO.class, resultList, mapDropDown); + } + + @PostMapping("/export-excel-senior") + @Operation(summary = "导出检验任务主 Excel") + @PreAuthorize("@ss.hasPermission('wms:count-job-main:export')") + @OperateLog(type = EXPORT) + public void exportCountJobMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException { + List list = countJobMainService.getCountJobMainList(conditions); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "盘点任务主.xls", "盘点任务数据", CountJobMainExcelVO.class, resultList, mapDropDown); } @GetMapping("/getCountJobById") @@ -169,4 +133,34 @@ public class CountJobMainController { return success(countByStatus); } + private List getExcelVo(List list, Map mapDropDown) { + //组装vo + String[] countStage = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_STAGE); + mapDropDown.put(2, countStage); + String[] requestStatus = RequestStatusEnum.getStatusNameArray(); + mapDropDown.put(7, requestStatus); + String[] jobStageStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.JOB_STAGE_STATUS); + mapDropDown.put(9, jobStageStatus); + String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE); + mapDropDown.put(17, locationType); + mapDropDown.put(18, locationType); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(38, inventoryStatus); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(45, uom); + List resultList = new ArrayList<>(); + // 导出 + for(CountJobMainDO mainDO : list) { + List subList = countJobDetailService.selectList(mainDO.getId()); + for(CountJobDetailDO detailDO : subList) { + CountJobMainExcelVO vo = CountJobMainConvert.INSTANCE.convert(mainDO, detailDO); + AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); + //后端创建个字段作为前端展示的虚拟字段 + vo.setCreator(user.getNickname()); + resultList.add(vo); + } + } + return resultList; + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainExcelVO.java index 8f3ea2d9..4dd47de5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainExcelVO.java @@ -1,19 +1,14 @@ package com.win.module.wms.controller.countJob.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.request.RequestStatusConverter; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; /** @@ -31,7 +26,7 @@ public class CountJobMainExcelVO { private String planNumber; @ExcelProperty(value = "阶段", converter = DictConvert.class) - @DictFormat("count_stage") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.COUNT_STAGE) private String stage; @ExcelProperty("仓库代码") @@ -46,21 +41,14 @@ public class CountJobMainExcelVO { @ExcelProperty("要求截止时间") private LocalDateTime requestDueTime; - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat("job_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @ExcelProperty(value = "状态", converter = RequestStatusConverter.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 枚举类中 + @DictFormat(DictTypeConstants.JOB_STAGE_STATUS) private String jobStageStatus; @ExcelProperty("优先级") @@ -85,11 +73,11 @@ public class CountJobMainExcelVO { 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("单据号") @@ -101,12 +89,6 @@ public class CountJobMainExcelVO { @ExcelProperty("备注") private String remark; - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者id") - private String creator; - @ExcelProperty("地点ID") private String siteId; @@ -140,4 +122,60 @@ public class CountJobMainExcelVO { @ExcelProperty("允许修改箱码") private String allowModifyPackingNumber; + @ExcelProperty("盘点明细号") + private String countDetailNumber; + + @ExcelProperty("货主代码") + private String ownerCode; + + @ExcelProperty("包装号") + private String packingNumber; + + @ExcelProperty("器具号") + private String containerNumber; + + @ExcelProperty("批次") + private String batch; + + @ExcelProperty(value = "库存状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.INVENTORY_STATUS) + private String inventoryStatus; + + @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 detailRemark; + + @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/countRecord/CountRecordDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordDetailController.java index f32291b5..3af0878f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordDetailController.java @@ -1,35 +1,26 @@ package com.win.module.wms.controller.countRecord; +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.countRecord.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.countRecord.vo.CountRecordDetailPageReqVO; +import com.win.module.wms.controller.countRecord.vo.CountRecordDetailRespVO; +import com.win.module.wms.convert.countRecord.CountRecordDetailConvert; +import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; +import com.win.module.wms.service.countRecord.CountRecordDetailService; 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.dal.dataobject.countRecord.CountRecordDetailDO; -import com.win.module.wms.convert.countRecord.CountRecordDetailConvert; -import com.win.module.wms.service.countRecord.CountRecordDetailService; - @Tag(name = "管理后台 - 盘点记录子") @RestController @RequestMapping("/wms/count-record-detail") @@ -42,48 +33,6 @@ public class CountRecordDetailController { @Resource private AdminUserApi userApi; - @PostMapping("/create") - @Operation(summary = "创建盘点记录子") - @PreAuthorize("@ss.hasPermission('wms:count-record-detail:create')") - public CommonResult createCountRecordDetail(@Valid @RequestBody CountRecordDetailCreateReqVO createReqVO) { - return success(countRecordDetailService.createCountRecordDetail(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新盘点记录子") - @PreAuthorize("@ss.hasPermission('wms:count-record-detail:update')") - public CommonResult updateCountRecordDetail(@Valid @RequestBody CountRecordDetailUpdateReqVO updateReqVO) { - countRecordDetailService.updateCountRecordDetail(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除盘点记录子") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:count-record-detail:delete')") - public CommonResult deleteCountRecordDetail(@RequestParam("id") Long id) { - countRecordDetailService.deleteCountRecordDetail(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得盘点记录子") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')") - public CommonResult getCountRecordDetail(@RequestParam("id") Long id) { - CountRecordDetailDO countRecordDetail = countRecordDetailService.getCountRecordDetail(id); - return success(CountRecordDetailConvert.INSTANCE.convert(countRecordDetail)); - } - - @GetMapping("/list") - @Operation(summary = "获得盘点记录子列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')") - public CommonResult> getCountRecordDetailList(@RequestParam("ids") Collection ids) { - List list = countRecordDetailService.getCountRecordDetailList(ids); - return success(CountRecordDetailConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得盘点记录子分页") @PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')") @@ -91,6 +40,7 @@ public class CountRecordDetailController { PageResult pageResult = countRecordDetailService.getCountRecordDetailPage(pageVO); return success(CountRecordDetailConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得盘点记录子分页") @PreAuthorize("@ss.hasPermission('wms:count-record-detail:query')") @@ -104,21 +54,5 @@ public class CountRecordDetailController { } return success(result); } - @GetMapping("/export-excel") - @Operation(summary = "导出盘点记录子 Excel") - @PreAuthorize("@ss.hasPermission('wms:count-record-detail:export')") - @OperateLog(type = EXPORT) - public void exportCountRecordDetailExcel(@Valid CountRecordDetailExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { - List list = countRecordDetailService.getCountRecordDetailList(exportReqVO); - // 导出 Excel - List datas = CountRecordDetailConvert.INSTANCE.convertList02(list); - for(CountRecordDetailExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); - } - ExcelUtils.write(response, "盘点记录子.xls", "数据", CountRecordDetailExcelVO.class, datas); - } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java index f375a887..a98ab6f9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/CountRecordMainController.java @@ -1,35 +1,40 @@ package com.win.module.wms.controller.countRecord; +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.countRecord.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.countRecord.vo.CountRecordMainExcelVO; +import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; +import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; +import com.win.module.wms.controller.countRecord.vo.CountRecordMainRespVO; +import com.win.module.wms.convert.countRecord.CountRecordMainConvert; +import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; +import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; +import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.service.countRecord.CountRecordDetailService; +import com.win.module.wms.service.countRecord.CountRecordMainService; 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.controller.countRecord.vo.*; -import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; -import com.win.module.wms.convert.countRecord.CountRecordMainConvert; -import com.win.module.wms.service.countRecord.CountRecordMainService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 盘点记录主") @RestController @@ -39,52 +44,12 @@ public class CountRecordMainController { @Resource private CountRecordMainService countRecordMainService; + @Resource + private CountRecordDetailService countRecordDetailService; @Resource private AdminUserApi userApi; - @PostMapping("/create") - @Operation(summary = "创建盘点记录主") - @PreAuthorize("@ss.hasPermission('wms:count-record-main:create')") - public CommonResult createCountRecordMain(@Valid @RequestBody CountRecordMainCreateReqVO createReqVO) { - return success(countRecordMainService.createCountRecordMain(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新盘点记录主") - @PreAuthorize("@ss.hasPermission('wms:count-record-main:update')") - public CommonResult updateCountRecordMain(@Valid @RequestBody CountRecordMainUpdateReqVO updateReqVO) { - countRecordMainService.updateCountRecordMain(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除盘点记录主") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:count-record-main:delete')") - public CommonResult deleteCountRecordMain(@RequestParam("id") Long id) { - countRecordMainService.deleteCountRecordMain(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得盘点记录主") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") - public CommonResult getCountRecordMain(@RequestParam("id") Long id) { - CountRecordMainDO countRecordMain = countRecordMainService.getCountRecordMain(id); - return success(CountRecordMainConvert.INSTANCE.convert(countRecordMain)); - } - - @GetMapping("/list") - @Operation(summary = "获得盘点记录主列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") - public CommonResult> getCountRecordMainList(@RequestParam("ids") Collection ids) { - List list = countRecordMainService.getCountRecordMainList(ids); - return success(CountRecordMainConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得盘点记录主分页") @PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") @@ -92,6 +57,7 @@ public class CountRecordMainController { PageResult pageResult = countRecordMainService.getCountRecordMainPage(pageVO); return success(CountRecordMainConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得盘点记录主分页") @PreAuthorize("@ss.hasPermission('wms:count-record-main:query')") @@ -105,21 +71,52 @@ public class CountRecordMainController { } return success(result); } + @GetMapping("/export-excel") @Operation(summary = "导出盘点记录主 Excel") @PreAuthorize("@ss.hasPermission('wms:count-record-main:export')") @OperateLog(type = EXPORT) - public void exportCountRecordMainExcel(@Valid CountRecordMainExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { + public void exportCountRecordMainExcel(@Valid CountRecordMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException { List list = countRecordMainService.getCountRecordMainList(exportReqVO); - // 导出 Excel - List datas = CountRecordMainConvert.INSTANCE.convertList02(list); - for(CountRecordMainExcelVO 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", "数据", CountRecordMainExcelVO.class, resultList, mapDropDown); + } + + @PostMapping("/export-excel-senior") + @Operation(summary = "导出盘点记录主 Excel") + @PreAuthorize("@ss.hasPermission('wms:count-record-main:export')") + @OperateLog(type = EXPORT) + public void exportCountRecordMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException { + List list = countRecordMainService.getCountRecordMainList(conditions); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "检验记录主.xls", "检验记录数据", CountRecordMainExcelVO.class, resultList, mapDropDown); + } + + private List getExcelVo(List list, Map mapDropDown) { + //组装vo + String[] countStage = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_STAGE); + mapDropDown.put(3, countStage); + String[] interfaceType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INTERFACE_TYPE); + mapDropDown.put(12, interfaceType); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(26, inventoryStatus); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(36, uom); + List resultList = new ArrayList<>(); + // 导出 + for(CountRecordMainDO mainDO : list) { + List subList = countRecordDetailService.selectList(mainDO.getId()); + for(CountRecordDetailDO detailDO : subList) { + CountRecordMainExcelVO vo = CountRecordMainConvert.INSTANCE.convert(mainDO, detailDO); + AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); + //后端创建个字段作为前端展示的虚拟字段 + vo.setCreator(user.getNickname()); + resultList.add(vo); + } } - ExcelUtils.write(response, "盘点记录主.xls", "数据", CountRecordMainExcelVO.class, datas); + return resultList; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainExcelVO.java index 9c684b0d..210ddacd 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRecord/vo/CountRecordMainExcelVO.java @@ -1,18 +1,14 @@ package com.win.module.wms.controller.countRecord.vo; -import com.alibaba.excel.annotation.write.style.ColumnWidth; -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.alibaba.excel.annotation.write.style.ColumnWidth; 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; /** @@ -33,7 +29,7 @@ public class CountRecordMainExcelVO { private String planNumber; @ExcelProperty(value = "阶段", converter = DictConvert.class) - @DictFormat("count_stage") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.COUNT_STAGE) private String stage; @ExcelProperty("仓库代码") @@ -61,7 +57,7 @@ public class CountRecordMainExcelVO { private String departmentCode; @ExcelProperty(value = "接口类型", converter = DictConvert.class) - @DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.INTERFACE_TYPE) private String interfaceType; @ExcelProperty("代码") @@ -76,6 +72,77 @@ public class CountRecordMainExcelVO { @ExcelProperty("备注") private String remark; + @ExcelProperty("是否可用") + private String available; + + @ExcelProperty("盘点明细号") + private String countDetailNumber; + + @ExcelProperty("货主代码") + private String ownerCode; + + @ExcelProperty("包装号") + private String packingNumber; + + @ExcelProperty("器具号") + private String containerNumber; + + @ExcelProperty("批次") + private String batch; + + @ExcelProperty("库位代码") + private String locationCode; + + @ExcelProperty("库位组代码") + private String locationGroupCode; + + @ExcelProperty("库区代码") + private String areaCode; + + @ExcelProperty(value = "库存状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.INVENTORY_STATUS) + private String inventoryStatus; + + @ExcelProperty("盘点数量") + private BigDecimal countQty; + + @ExcelProperty("盘点时间") + private LocalDateTime countTime; + + @ExcelProperty("盘点人") + private String countUser; + + @ExcelProperty("盘点描述") + private String countDescription; + + @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 itemCode; + + @ExcelProperty("子备注") + private String detailRemark; + + @ExcelProperty("任务明细ID") + private String jobDetailId; + @ExcelProperty("创建时间") @ColumnWidth(value = 16) private LocalDateTime createTime; @@ -83,7 +150,4 @@ public class CountRecordMainExcelVO { @ExcelProperty("创建者Id") private String creator; - @ExcelProperty("是否可用") - private String available; - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestDetailController.java index 3e009bcc..6e3b986d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestDetailController.java @@ -36,7 +36,6 @@ public class CountRequestDetailController { @Resource private AdminUserApi userApi; - @PostMapping("/create") @Operation(summary = "创建盘点申请子") @PreAuthorize("@ss.hasPermission('wms:count-request-detail:create')") @@ -77,6 +76,7 @@ public class CountRequestDetailController { PageResult pageResult = countRequestDetailService.getCountRequestDetailPage(pageVO); return success(CountRequestDetailConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得盘点申请子分页") @PreAuthorize("@ss.hasPermission('wms:count-request-detail:query')") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java index 0135f95c..af0e35ea 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/CountRequestMainController.java @@ -3,6 +3,7 @@ package com.win.module.wms.controller.countRequest; 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; @@ -10,7 +11,10 @@ import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.wms.controller.countRequest.vo.*; import com.win.module.wms.convert.countRequest.CountRequestMainConvert; +import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; +import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.service.countRequest.CountRequestDetailService; import com.win.module.wms.service.countRequest.CountRequestMainService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -27,7 +31,10 @@ import javax.validation.Valid; import java.io.IOException; import java.time.LocalDateTime; import java.time.ZoneOffset; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static com.win.framework.common.pojo.CommonResult.success; import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @@ -40,6 +47,8 @@ public class CountRequestMainController { @Resource private CountRequestMainService countRequestMainService; + @Resource + private CountRequestDetailService countRequestDetailService; @Resource private AdminUserApi userApi; @@ -56,17 +65,8 @@ public class CountRequestMainController { @Operation(summary = "更新盘点申请主") @PreAuthorize("@ss.hasPermission('wms:count-request-main:update')") public CommonResult updateCountRequestMain(@Valid @RequestBody CountRequestMainUpdateReqVO updateReqVO) { - countRequestMainService.updateCountRequestMain(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除盘点申请主") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:count-request-main:delete')") - public CommonResult deleteCountRequestMain(@RequestParam("id") Long id) { - countRequestMainService.deleteCountRequestMain(id); - return success(true); + int result = countRequestMainService.updateCountRequestMain(updateReqVO); + return success(result > 0); } @GetMapping("/get") @@ -78,15 +78,6 @@ public class CountRequestMainController { return success(CountRequestMainConvert.INSTANCE.convert(countRequestMain)); } - @GetMapping("/list") - @Operation(summary = "获得盘点申请主列表") - @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") - @PreAuthorize("@ss.hasPermission('wms:count-request-main:query')") - public CommonResult> getCountRequestMainList(@RequestParam("ids") Collection ids) { - List list = countRequestMainService.getCountRequestMainList(ids); - return success(CountRequestMainConvert.INSTANCE.convertList(list)); - } - @GetMapping("/page") @Operation(summary = "获得盘点申请主分页") @PreAuthorize("@ss.hasPermission('wms:count-request-main:query')") @@ -94,6 +85,7 @@ public class CountRequestMainController { PageResult pageResult = countRequestMainService.getCountRequestMainPage(pageVO); return success(CountRequestMainConvert.INSTANCE.convertPage(pageResult)); } + @PostMapping("/senior") @Operation(summary = "高级搜索获得盘点申请主分页") @PreAuthorize("@ss.hasPermission('wms:count-request-main:query')") @@ -106,21 +98,51 @@ public class CountRequestMainController { } return success(result); } + @GetMapping("/export-excel") @Operation(summary = "导出盘点申请主 Excel") @PreAuthorize("@ss.hasPermission('wms:count-request-main:export')") @OperateLog(type = EXPORT) - public void exportCountRequestMainExcel(@Valid CountRequestMainExportReqVO exportReqVO, - HttpServletResponse response) throws IOException { + public void exportCountRequestMainExcel(@Valid CountRequestMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException { List list = countRequestMainService.getCountRequestMainList(exportReqVO); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "盘点申请主.xls", "数据", CountRequestMainExcelVO.class, resultList, mapDropDown); + } + + @PostMapping("/export-excel-senior") + @Operation(summary = "导出盘点申请主 Excel") + @PreAuthorize("@ss.hasPermission('wms:count-request-main:export')") + @OperateLog(type = EXPORT) + public void exportCountRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException { + List list = countRequestMainService.getCountRequestMainList(conditions); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "盘点申请主.xls", "盘点申请信息", CountRequestMainExcelVO.class, resultList, mapDropDown); + } + + private List getExcelVo(List list, Map mapDropDown) { + String[] countStage = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_STAGE); + mapDropDown.put(2, countStage); + String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS); + mapDropDown.put(10, requestStatus); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(19, inventoryStatus); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(25, uom); // 导出 Excel - List datas = CountRequestMainConvert.INSTANCE.convertList02(list); - for(CountRequestMainExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); + List resultList = new ArrayList<>(); + for(CountRequestMainDO mainDO : list) { + List subList = countRequestDetailService.selectList(mainDO.getId()); + for(CountRequestDetailDO detailDO : subList) { + CountRequestMainExcelVO vo = CountRequestMainConvert.INSTANCE.convert(mainDO, detailDO); + AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); + //后端创建个字段作为前端展示的虚拟字段 + vo.setCreator(user.getNickname()); + resultList.add(vo); + } } - ExcelUtils.write(response, "盘点申请主.xls", "数据", CountRequestMainExcelVO.class, datas); + return resultList; } @GetMapping("/get-import-template") @@ -129,12 +151,16 @@ public class CountRequestMainController { // 手动创建导出 demo List list = new ArrayList<>(); Map mapDropDown = new HashMap<>(); -// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); -// mapDropDown.put(16, purchaseReturnReason); -// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); -// mapDropDown.put(25, uom); + String[] countStage = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_STAGE); + mapDropDown.put(2, countStage); + String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS); + mapDropDown.put(10, requestStatus); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(19, inventoryStatus); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(25, uom); // 输出 - ExcelUtils.write(response, "要货计划信息导入模板.xlsx", "要货计划信息列表", CountRequestMainImportVO.class, list, mapDropDown); + ExcelUtils.write(response, "盘点申请信息导入模板.xlsx", "盘点申请信息列表", CountRequestMainImportVO.class, list, mapDropDown); } @PostMapping("/import") @@ -156,10 +182,55 @@ public class CountRequestMainController { Map returnMap = new HashMap<>(); returnMap.put("errorCount", errorList.size()); if(!errorList.isEmpty()) { - String url = ExcelUtils.writeLocalFile("要货计划基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList); + String url = ExcelUtils.writeLocalFile("盘点申请信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList); returnMap.put("errorFile", url); } return success(returnMap); } + @PutMapping("/close") + @Operation(summary = "关闭盘点申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:count-request-main:close')") + public CommonResult closeCountRequestMain(@RequestParam("id") Long id) { + Integer count = countRequestMainService.closeCountRequestMain(id); + return success(count > 0); + } + + @PutMapping("/submit") + @Operation(summary = "提交盘点申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:count-request-main:submit')") + public CommonResult submitCountRequestMain(@RequestParam("id") Long id) { + Integer count = countRequestMainService.submitCountRequestMain(id); + return success(count > 0); + } + + @PutMapping("/agree") + @Operation(summary = "审批通过盘点申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:count-request-main:agree')") + public CommonResult agreeCountRequestMain(@RequestParam("id") Long id) { + Integer count = countRequestMainService.agreeCountRequestMain(id); + return success(count > 0); + } + + @PutMapping("/handle") + @Operation(summary = "执行盘点申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:count-request-main:handle')") + public CommonResult handleCountRequestMain(@RequestParam("id") Long id) { + Integer count = countRequestMainService.handleCountRequestMain(id); + return success(count > 0); + } + + @PutMapping("/abort") + @Operation(summary = "审批拒绝盘点申请主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:count-request-main:abort')") + public CommonResult abortCountRequestMain(@RequestParam("id") Long id) { + Integer count = countRequestMainService.abortCountRequestMain(id); + return success(count > 0); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainExcelVO.java index fbf8e689..1bcc1a64 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainExcelVO.java @@ -1,16 +1,13 @@ package com.win.module.wms.controller.countRequest.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; /** @@ -28,7 +25,7 @@ public class CountRequestMainExcelVO { private String planNumber; @ExcelProperty(value = "阶段", converter = DictConvert.class) - @DictFormat("count_stage") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @DictFormat(DictTypeConstants.COUNT_STAGE) private String stage; @ExcelProperty("仓库代码") @@ -43,12 +40,6 @@ public class CountRequestMainExcelVO { @ExcelProperty("备注") private String remark; - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @ExcelProperty("创建者用户名") - private String creator; - @ExcelProperty("申请时间") private LocalDateTime requestTime; @@ -59,15 +50,9 @@ public class CountRequestMainExcelVO { 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("自动提交") private String autoCommit; @@ -80,4 +65,63 @@ public class CountRequestMainExcelVO { @ExcelProperty("直接生成记录") private String directCreateRecord; + @ExcelProperty("盘点明细号") + private String countDetailNumber; + + @ExcelProperty("货主代码") + private String ownerCode; + + @ExcelProperty("批次") + private String batch; + + @ExcelProperty("库位代码") + private String locationCode; + + @ExcelProperty(value = "库存状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.INVENTORY_STATUS) + private String inventoryStatus; + + @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 itemCode; + + @ExcelProperty("从包装号") + private String packingNumber; + + @ExcelProperty("从器具号") + private String containerNumber; + + @ExcelProperty("子备注") + private String detailRemark; + + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @ExcelProperty("创建者用户名") + private String creator; + + @ExcelProperty("最后更新时间") + private LocalDateTime updateTime; + + @ExcelProperty("最后更新者用户名") + private String updater; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainImportVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainImportVO.java index 32220086..2b9d80b0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainImportVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainImportVO.java @@ -31,21 +31,26 @@ public class CountRequestMainImportVO { //子表数据 @ExcelProperty("物品代码") private String itemCode; + @ExcelProperty("包装号") private String fromPackingNumber; + @ExcelProperty("批次") private String batch; + @ExcelProperty("器具号") private String fromContainerNumber; + @ExcelProperty("库位代码") private String locationCode; + @ExcelProperty("库存状态") private String inventoryStatus; + @ExcelProperty("数量") private String qty; + @ExcelProperty("计量单位") private String uom; - - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countJob/CountJobMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countJob/CountJobMainConvert.java index ee09cbcd..1d3c5ffc 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countJob/CountJobMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countJob/CountJobMainConvert.java @@ -1,16 +1,18 @@ package com.win.module.wms.convert.countJob; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.countJob.vo.CountJobMainCreateReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainExcelVO; import com.win.module.wms.controller.countJob.vo.CountJobMainRespVO; import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO; +import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; +import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO; + +import java.util.List; /** * 盘点任务主 Convert @@ -34,4 +36,16 @@ public interface CountJobMainConvert { List convertList02(List list); + @Mappings({ + @Mapping(source = "mainDO.number", target = "number"), + @Mapping(source = "mainDO.siteId", target = "siteId"), + @Mapping(source = "mainDO.remark", target = "remark"), + @Mapping(source = "detailDO.remark", target = "detailRemark"), + @Mapping(source = "mainDO.createTime", target = "createTime"), + @Mapping(source = "mainDO.creator", target = "creator"), + @Mapping(source = "mainDO.updateTime", target = "updateTime"), + @Mapping(source = "mainDO.updater", target = "updater"), + }) + CountJobMainExcelVO convert(CountJobMainDO mainDO, CountJobDetailDO detailDO); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordMainConvert.java index 3a05558a..166de806 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRecord/CountRecordMainConvert.java @@ -1,16 +1,18 @@ package com.win.module.wms.convert.countRecord; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.countRecord.vo.CountRecordMainCreateReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExcelVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainRespVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainUpdateReqVO; +import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; +import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; + +import java.util.List; /** * 盘点记录主 Convert @@ -34,4 +36,15 @@ public interface CountRecordMainConvert { List convertList02(List list); + @Mappings({ + @Mapping(source = "mainDO.code", target = "code"), + @Mapping(source = "mainDO.number", target = "number"), + @Mapping(source = "mainDO.remark", target = "remark"), + @Mapping(source = "mainDO.interfaceType", target = "interfaceType"), + @Mapping(source = "detailDO.remark", target = "detailRemark"), + @Mapping(source = "mainDO.createTime", target = "createTime"), + @Mapping(source = "mainDO.creator", target = "creator"), + }) + CountRecordMainExcelVO convert(CountRecordMainDO mainDO, CountRecordDetailDO detailDO); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestMainConvert.java index 79e942c1..7faf5935 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestMainConvert.java @@ -1,16 +1,18 @@ package com.win.module.wms.convert.countRequest; -import java.util.*; - import com.win.framework.common.pojo.PageResult; - import com.win.module.wms.controller.countRequest.vo.CountRequestMainCreateReqVO; import com.win.module.wms.controller.countRequest.vo.CountRequestMainExcelVO; import com.win.module.wms.controller.countRequest.vo.CountRequestMainRespVO; import com.win.module.wms.controller.countRequest.vo.CountRequestMainUpdateReqVO; +import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO; +import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; -import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; + +import java.util.List; /** * 盘点申请主 Convert @@ -34,4 +36,15 @@ public interface CountRequestMainConvert { List convertList02(List list); + @Mappings({ + @Mapping(source = "mainDO.number", target = "number"), + @Mapping(source = "mainDO.remark", target = "remark"), + @Mapping(source = "detailDO.remark", target = "detailRemark"), + @Mapping(source = "mainDO.createTime", target = "createTime"), + @Mapping(source = "mainDO.creator", target = "creator"), + @Mapping(source = "mainDO.updateTime", target = "updateTime"), + @Mapping(source = "mainDO.updater", target = "updater"), + }) + CountRequestMainExcelVO convert(CountRequestMainDO mainDO, CountRequestDetailDO detailDO); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobDetailMapper.java index 086d4e0a..9725e5c7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobDetailMapper.java @@ -71,4 +71,9 @@ public interface CountJobDetailMapper extends BaseMapperX { return selectList(QueryWrapperUtils.structure(conditions)); } + default List selectList(Long masterId) { + return selectList(new LambdaQueryWrapperX() + .eq(CountJobDetailDO::getMasterId, masterId)); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java index e96f8c3e..1eda058b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countJob/CountJobMainMapper.java @@ -123,6 +123,10 @@ public interface CountJobMainMapper extends BaseMapperX { .eq(CountJobMainDO::getMasterId, masterId)); } + default List selectList(CustomConditions conditions) { + return selectList(QueryWrapperUtils.structure(conditions)); + } + /** *根据类型数组查询任务数量 * @param types diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordMainMapper.java index 8c45df77..670d3416 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRecord/CountRecordMainMapper.java @@ -72,7 +72,7 @@ public interface CountRecordMainMapper extends BaseMapperX { .orderByDesc(CountRecordMainDO::getId)); } - default List selectSeniorList(CustomConditions conditions) { + default List selectList(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/countRequest/CountRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestMainMapper.java index 1589ff87..355080a8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestMainMapper.java @@ -86,7 +86,7 @@ public interface CountRequestMainMapper extends BaseMapperX .orderByDesc(CountRequestMainDO::getId)); } - default List selectSeniorList(CustomConditions conditions) { + default List selectList(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/countJob/CountJobDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailService.java index 343fc2e2..c5b12200 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailService.java @@ -1,15 +1,12 @@ package com.win.module.wms.service.countJob; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.countJob.vo.CountJobDetailCreateReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.countJob.vo.CountJobDetailExportReqVO; import com.win.module.wms.controller.countJob.vo.CountJobDetailPageReqVO; -import com.win.module.wms.controller.countJob.vo.CountJobDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; -import com.win.framework.common.pojo.PageResult; + +import java.util.List; /** * 盘点任务子 Service 接口 @@ -18,44 +15,6 @@ import com.win.framework.common.pojo.PageResult; */ public interface CountJobDetailService { - /** - * 创建盘点任务子 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createCountJobDetail(@Valid CountJobDetailCreateReqVO createReqVO); - - /** - * 更新盘点任务子 - * - * @param updateReqVO 更新信息 - */ - void updateCountJobDetail(@Valid CountJobDetailUpdateReqVO updateReqVO); - - /** - * 删除盘点任务子 - * - * @param id 编号 - */ - void deleteCountJobDetail(Long id); - - /** - * 获得盘点任务子 - * - * @param id 编号 - * @return 盘点任务子 - */ - CountJobDetailDO getCountJobDetail(Long id); - - /** - * 获得盘点任务子列表 - * - * @param ids 编号 - * @return 盘点任务子列表 - */ - List getCountJobDetailList(Collection ids); - /** * 获得盘点任务子分页 * @@ -71,6 +30,13 @@ public interface CountJobDetailService { */ PageResult getCountJobDetailSenior(CustomConditions conditions); + /** + * 根据主表id查询盘点任务 + * @param masterId + * @return + */ + List selectList(Long masterId); + /** * 获得盘点任务子列表, 用于 Excel 导出 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailServiceImpl.java index 1c475428..11a940f4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailServiceImpl.java @@ -1,24 +1,16 @@ package com.win.module.wms.service.countJob; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.countJob.vo.CountJobDetailCreateReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.countJob.vo.CountJobDetailExportReqVO; import com.win.module.wms.controller.countJob.vo.CountJobDetailPageReqVO; -import com.win.module.wms.controller.countJob.vo.CountJobDetailUpdateReqVO; -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.countJob.CountJobDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.countJob.CountJobDetailConvert; import com.win.module.wms.dal.mysql.countJob.CountJobDetailMapper; +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,48 +24,6 @@ public class CountJobDetailServiceImpl implements CountJobDetailService { @Resource private CountJobDetailMapper countJobDetailMapper; - @Override - public Long createCountJobDetail(CountJobDetailCreateReqVO createReqVO) { - // 插入 - CountJobDetailDO countJobDetail = CountJobDetailConvert.INSTANCE.convert(createReqVO); - countJobDetailMapper.insert(countJobDetail); - // 返回 - return countJobDetail.getId(); - } - - @Override - public void updateCountJobDetail(CountJobDetailUpdateReqVO updateReqVO) { - // 校验存在 - validateCountJobDetailExists(updateReqVO.getId()); - // 更新 - CountJobDetailDO updateObj = CountJobDetailConvert.INSTANCE.convert(updateReqVO); - countJobDetailMapper.updateById(updateObj); - } - - @Override - public void deleteCountJobDetail(Long id) { - // 校验存在 - validateCountJobDetailExists(id); - // 删除 - countJobDetailMapper.deleteById(id); - } - - private void validateCountJobDetailExists(Long id) { - if (countJobDetailMapper.selectById(id) == null) { - throw exception(COUNT_JOB_DETAIL_NOT_EXISTS); - } - } - - @Override - public CountJobDetailDO getCountJobDetail(Long id) { - return countJobDetailMapper.selectById(id); - } - - @Override - public List getCountJobDetailList(Collection ids) { - return countJobDetailMapper.selectBatchIds(ids); - } - @Override public PageResult getCountJobDetailPage(CountJobDetailPageReqVO pageReqVO) { return countJobDetailMapper.selectPage(pageReqVO); @@ -82,9 +32,14 @@ public class CountJobDetailServiceImpl implements CountJobDetailService { public PageResult getCountJobDetailSenior(CustomConditions conditions) { return countJobDetailMapper.selectSenior(conditions); } + + @Override + public List selectList(Long masterId) { + return countJobDetailMapper.selectList(masterId); + } + @Override public List getCountJobDetailList(CountJobDetailExportReqVO exportReqVO) { return countJobDetailMapper.selectList(exportReqVO); } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainService.java index bd1bc1d5..8c4facaf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainService.java @@ -1,17 +1,17 @@ package com.win.module.wms.service.countJob; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.countJob.vo.CountJobMainCreateReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.countJob.vo.CountJobMainExportReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainPageReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO; import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO; -import com.win.framework.common.pojo.PageResult; import org.springframework.lang.Nullable; +import java.util.Collection; +import java.util.List; +import java.util.Map; + /** * 盘点任务主 Service 接口 * @@ -19,28 +19,6 @@ import org.springframework.lang.Nullable; */ public interface CountJobMainService { - /** - * 创建盘点任务主 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createCountJobMain(@Valid CountJobMainCreateReqVO createReqVO); - - /** - * 更新盘点任务主 - * - * @param updateReqVO 更新信息 - */ - void updateCountJobMain(@Valid CountJobMainUpdateReqVO updateReqVO); - - /** - * 删除盘点任务主 - * - * @param id 编号 - */ - void deleteCountJobMain(Long id); - /** * 获得盘点任务主 * @@ -49,14 +27,6 @@ public interface CountJobMainService { */ CountJobMainDO getCountJobMain(Long id); - /** - * 获得盘点任务主列表 - * - * @param ids 编号 - * @return 盘点任务主列表 - */ - List getCountJobMainList(Collection ids); - /** * 获得盘点任务主分页 * @@ -73,6 +43,15 @@ public interface CountJobMainService { */ PageResult getCountJobMainSenior(CustomConditions conditions); + + /** + * 获得盘点任务主列表, 用于 Excel 导出 + * + * @param conditions 查询条件 + * @return 盘点任务主列表 + */ + List getCountJobMainList(CustomConditions conditions); + /** * 获得盘点任务主列表, 用于 Excel 导出 * @@ -80,6 +59,7 @@ public interface CountJobMainService { * @return 盘点任务主列表 */ List getCountJobMainList(CountJobMainExportReqVO exportReqVO); + /** * 校验任务状态正确 *@author chenfang @@ -95,4 +75,26 @@ public interface CountJobMainService { * @return */ Map getCountByStatus(@Nullable Collection types); + + /** + * 承接任务 + * @param id + * @return + */ + Integer acceptCountJobMain(Long id); + + /** + * 放弃任务 + * @param id + * @return + */ + Integer abandonCountJobMain(Long id); + + /** + * 执行任务 + * @param countJobMainUpdateReqVO + * @return + */ + String executeCountJobMain(CountJobMainUpdateReqVO countJobMainUpdateReqVO); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java index 27070a59..a65457cd 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java @@ -2,23 +2,29 @@ package com.win.module.wms.service.countJob; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.countJob.vo.CountJobMainCreateReqVO; +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.user.AdminUserApi; +import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.wms.controller.countJob.vo.CountJobMainExportReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainPageReqVO; import com.win.module.wms.controller.countJob.vo.CountJobMainUpdateReqVO; +import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO; +import com.win.module.wms.dal.mysql.countJob.CountJobMainMapper; +import com.win.module.wms.enums.job.JobStatusState; 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.countJob.CountJobMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.countJob.CountJobMainConvert; -import com.win.module.wms.dal.mysql.countJob.CountJobMainMapper; +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; 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,69 +38,44 @@ public class CountJobMainServiceImpl implements CountJobMainService { @Resource private CountJobMainMapper countJobMainMapper; - - @Override - public Long createCountJobMain(CountJobMainCreateReqVO createReqVO) { - // 插入 - CountJobMainDO countJobMain = CountJobMainConvert.INSTANCE.convert(createReqVO); - countJobMainMapper.insert(countJobMain); - // 返回 - return countJobMain.getId(); - } - - @Override - public void updateCountJobMain(CountJobMainUpdateReqVO updateReqVO) { - // 校验存在 - validateCountJobMainExists(updateReqVO.getId()); - // 更新 - CountJobMainDO updateObj = CountJobMainConvert.INSTANCE.convert(updateReqVO); - countJobMainMapper.updateById(updateObj); - } - - @Override - public void deleteCountJobMain(Long id) { - // 校验存在 - validateCountJobMainExists(id); - // 删除 - countJobMainMapper.deleteById(id); - } - - private void validateCountJobMainExists(Long id) { - if (countJobMainMapper.selectById(id) == null) { - throw exception(COUNT_JOB_MAIN_NOT_EXISTS); - } - } + @Resource + private AdminUserApi userApi; + @Resource + private TrendsApi trendsApi; @Override public CountJobMainDO getCountJobMain(Long id) { return countJobMainMapper.selectById(id); } - @Override - public List getCountJobMainList(Collection ids) { - return countJobMainMapper.selectBatchIds(ids); - } - @Override public PageResult getCountJobMainPage(CountJobMainPageReqVO pageReqVO) { return countJobMainMapper.selectPage(pageReqVO); } + @Override public PageResult getCountJobMainSenior(CustomConditions conditions) { return countJobMainMapper.selectSenior(conditions); } + + @Override + public List getCountJobMainList(CustomConditions conditions) { + return countJobMainMapper.selectList(conditions); + } + @Override public List getCountJobMainList(CountJobMainExportReqVO exportReqVO) { return countJobMainMapper.selectList(exportReqVO); } - public CountJobMainDO countJobMainDoStatusRight(String pnumber,String pstatus) { - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("number",pnumber); - queryWrapper.eq("status",pstatus); + + public CountJobMainDO countJobMainDoStatusRight(String pnumber, String pstatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("number", pnumber); + queryWrapper.eq("status", pstatus); CountJobMainDO countJobMainDO = countJobMainMapper.selectOne(queryWrapper); - if(countJobMainDO != null){ + if (countJobMainDO != null) { return countJobMainDO; - }else { + } else { throw exception(COUNT_JOB_MAIN_STATUS_ERROR); } } @@ -107,4 +88,50 @@ public class CountJobMainServiceImpl implements CountJobMainService { map.put("count", l.intValue()); return map; } + + @Override + public Integer acceptCountJobMain(Long id) { + CountJobMainDO countJobMainDO = this.validateCountJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(countJobMainDO.getStatus()); + if(!jobStatusState.accept()) { + throw exception(COUNT_JOB_MAIN_STATUS_ERROR); + } + Long userId = getLoginUserId(); + AdminUserRespDTO userRespDTO = userApi.getUser(userId); + countJobMainDO.setStatus(jobStatusState.getState().getCode()); + countJobMainDO.setAcceptUserId(String.valueOf(userId)); + countJobMainDO.setAcceptUserName(userRespDTO.getNickname()); + countJobMainDO.setAcceptTime(LocalDateTime.now()); + trendsApi.createTrends(id, "countJob", "承接了盘点任务", TrendsTypeEnum.UPDATE); + return countJobMainMapper.updateById(countJobMainDO); + } + + @Override + public Integer abandonCountJobMain(Long id) { + CountJobMainDO countJobMainDO = this.validateCountJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(countJobMainDO.getStatus()); + if(!jobStatusState.cancelAccept()) { + throw exception(INSPECT_JOB_MAIN_STATUS_ERROR); + } + countJobMainDO.setStatus(jobStatusState.getState().getCode()); + countJobMainDO.setAcceptUserId(null); + countJobMainDO.setAcceptUserName(null); + countJobMainDO.setAcceptTime(null); + trendsApi.createTrends(id, "countJob", "取消了盘点任务", TrendsTypeEnum.UPDATE); + return countJobMainMapper.updateById(countJobMainDO); + } + + @Override + public String executeCountJobMain(CountJobMainUpdateReqVO countJobMainUpdateReqVO) { + return null; + } + + private CountJobMainDO validateCountJobMainExists(Long id) { + CountJobMainDO countJobMainDO = countJobMainMapper.selectById(id); + if (countJobMainDO == null) { + throw exception(INSPECT_JOB_MAIN_NOT_EXISTS); + } + return countJobMainDO; + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailService.java index 00702928..2ee8b50b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailService.java @@ -1,15 +1,11 @@ package com.win.module.wms.service.countRecord; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.countRecord.vo.CountRecordDetailCreateReqVO; -import com.win.module.wms.controller.countRecord.vo.CountRecordDetailExportReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailPageReqVO; -import com.win.module.wms.controller.countRecord.vo.CountRecordDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO; -import com.win.framework.common.pojo.PageResult; + +import java.util.List; /** * 盘点记录子 Service 接口 @@ -18,44 +14,6 @@ import com.win.framework.common.pojo.PageResult; */ public interface CountRecordDetailService { - /** - * 创建盘点记录子 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createCountRecordDetail(@Valid CountRecordDetailCreateReqVO createReqVO); - - /** - * 更新盘点记录子 - * - * @param updateReqVO 更新信息 - */ - void updateCountRecordDetail(@Valid CountRecordDetailUpdateReqVO updateReqVO); - - /** - * 删除盘点记录子 - * - * @param id 编号 - */ - void deleteCountRecordDetail(Long id); - - /** - * 获得盘点记录子 - * - * @param id 编号 - * @return 盘点记录子 - */ - CountRecordDetailDO getCountRecordDetail(Long id); - - /** - * 获得盘点记录子列表 - * - * @param ids 编号 - * @return 盘点记录子列表 - */ - List getCountRecordDetailList(Collection ids); - /** * 获得盘点记录子分页 * @@ -63,6 +21,7 @@ public interface CountRecordDetailService { * @return 盘点记录子分页 */ PageResult getCountRecordDetailPage(CountRecordDetailPageReqVO pageReqVO); + /** * 获得用高级搜索盘点记录子分页列表 * @@ -72,11 +31,10 @@ public interface CountRecordDetailService { PageResult getCountRecordDetailSenior(CustomConditions conditions); /** - * 获得盘点记录子列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return 盘点记录子列表 + * 根据主表id查询盘点 + * @param masterId + * @return */ - List getCountRecordDetailList(CountRecordDetailExportReqVO exportReqVO); + List selectList(Long masterId); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailServiceImpl.java index 0c4a62a2..a10188ea 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordDetailServiceImpl.java @@ -1,24 +1,15 @@ package com.win.module.wms.service.countRecord; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.countRecord.vo.CountRecordDetailCreateReqVO; -import com.win.module.wms.controller.countRecord.vo.CountRecordDetailExportReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.countRecord.vo.CountRecordDetailPageReqVO; -import com.win.module.wms.controller.countRecord.vo.CountRecordDetailUpdateReqVO; -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.countRecord.CountRecordDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.countRecord.CountRecordDetailConvert; import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper; +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,48 +23,6 @@ public class CountRecordDetailServiceImpl implements CountRecordDetailService { @Resource private CountRecordDetailMapper countRecordDetailMapper; - @Override - public Long createCountRecordDetail(CountRecordDetailCreateReqVO createReqVO) { - // 插入 - CountRecordDetailDO countRecordDetail = CountRecordDetailConvert.INSTANCE.convert(createReqVO); - countRecordDetailMapper.insert(countRecordDetail); - // 返回 - return countRecordDetail.getId(); - } - - @Override - public void updateCountRecordDetail(CountRecordDetailUpdateReqVO updateReqVO) { - // 校验存在 - validateCountRecordDetailExists(updateReqVO.getId()); - // 更新 - CountRecordDetailDO updateObj = CountRecordDetailConvert.INSTANCE.convert(updateReqVO); - countRecordDetailMapper.updateById(updateObj); - } - - @Override - public void deleteCountRecordDetail(Long id) { - // 校验存在 - validateCountRecordDetailExists(id); - // 删除 - countRecordDetailMapper.deleteById(id); - } - - private void validateCountRecordDetailExists(Long id) { - if (countRecordDetailMapper.selectById(id) == null) { - throw exception(COUNT_RECORD_DETAIL_NOT_EXISTS); - } - } - - @Override - public CountRecordDetailDO getCountRecordDetail(Long id) { - return countRecordDetailMapper.selectById(id); - } - - @Override - public List getCountRecordDetailList(Collection ids) { - return countRecordDetailMapper.selectBatchIds(ids); - } - @Override public PageResult getCountRecordDetailPage(CountRecordDetailPageReqVO pageReqVO) { return countRecordDetailMapper.selectPage(pageReqVO); @@ -82,9 +31,10 @@ public class CountRecordDetailServiceImpl implements CountRecordDetailService { public PageResult getCountRecordDetailSenior(CustomConditions conditions) { return countRecordDetailMapper.selectSenior(conditions); } + @Override - public List getCountRecordDetailList(CountRecordDetailExportReqVO exportReqVO) { - return countRecordDetailMapper.selectList(exportReqVO); + public List selectList(Long masterId) { + return countRecordDetailMapper.selectList(masterId); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java index f4786615..ed203a03 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainService.java @@ -1,15 +1,12 @@ package com.win.module.wms.service.countRecord; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.countRecord.vo.CountRecordMainCreateReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; -import com.win.module.wms.controller.countRecord.vo.CountRecordMainUpdateReqVO; import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; -import com.win.framework.common.pojo.PageResult; + +import java.util.List; /** * 盘点记录主 Service 接口 @@ -18,44 +15,6 @@ import com.win.framework.common.pojo.PageResult; */ public interface CountRecordMainService { - /** - * 创建盘点记录主 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createCountRecordMain(@Valid CountRecordMainCreateReqVO createReqVO); - - /** - * 更新盘点记录主 - * - * @param updateReqVO 更新信息 - */ - void updateCountRecordMain(@Valid CountRecordMainUpdateReqVO updateReqVO); - - /** - * 删除盘点记录主 - * - * @param id 编号 - */ - void deleteCountRecordMain(Long id); - - /** - * 获得盘点记录主 - * - * @param id 编号 - * @return 盘点记录主 - */ - CountRecordMainDO getCountRecordMain(Long id); - - /** - * 获得盘点记录主列表 - * - * @param ids 编号 - * @return 盘点记录主列表 - */ - List getCountRecordMainList(Collection ids); - /** * 获得盘点记录主分页 * @@ -79,4 +38,12 @@ public interface CountRecordMainService { */ List getCountRecordMainList(CountRecordMainExportReqVO exportReqVO); + /** + * 获得检验记录主列表, 用于 Excel 导出 + * + * @param conditions 查询条件 + * @return 盘点记录主列表 + */ + List getCountRecordMainList(CustomConditions conditions); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java index 6d516064..36ef4d47 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRecord/CountRecordMainServiceImpl.java @@ -1,24 +1,16 @@ package com.win.module.wms.service.countRecord; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.countRecord.vo.CountRecordMainCreateReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.countRecord.vo.CountRecordMainExportReqVO; import com.win.module.wms.controller.countRecord.vo.CountRecordMainPageReqVO; -import com.win.module.wms.controller.countRecord.vo.CountRecordMainUpdateReqVO; -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.countRecord.CountRecordMainDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.countRecord.CountRecordMainConvert; import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper; +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,48 +24,6 @@ public class CountRecordMainServiceImpl implements CountRecordMainService { @Resource private CountRecordMainMapper countRecordMainMapper; - @Override - public Long createCountRecordMain(CountRecordMainCreateReqVO createReqVO) { - // 插入 - CountRecordMainDO countRecordMain = CountRecordMainConvert.INSTANCE.convert(createReqVO); - countRecordMainMapper.insert(countRecordMain); - // 返回 - return countRecordMain.getId(); - } - - @Override - public void updateCountRecordMain(CountRecordMainUpdateReqVO updateReqVO) { - // 校验存在 - validateCountRecordMainExists(updateReqVO.getId()); - // 更新 - CountRecordMainDO updateObj = CountRecordMainConvert.INSTANCE.convert(updateReqVO); - countRecordMainMapper.updateById(updateObj); - } - - @Override - public void deleteCountRecordMain(Long id) { - // 校验存在 - validateCountRecordMainExists(id); - // 删除 - countRecordMainMapper.deleteById(id); - } - - private void validateCountRecordMainExists(Long id) { - if (countRecordMainMapper.selectById(id) == null) { - throw exception(COUNT_RECORD_MAIN_NOT_EXISTS); - } - } - - @Override - public CountRecordMainDO getCountRecordMain(Long id) { - return countRecordMainMapper.selectById(id); - } - - @Override - public List getCountRecordMainList(Collection ids) { - return countRecordMainMapper.selectBatchIds(ids); - } - @Override public PageResult getCountRecordMainPage(CountRecordMainPageReqVO pageReqVO) { return countRecordMainMapper.selectPage(pageReqVO); @@ -87,4 +37,9 @@ public class CountRecordMainServiceImpl implements CountRecordMainService { return countRecordMainMapper.selectList(exportReqVO); } + @Override + public List getCountRecordMainList(CustomConditions conditions) { + return countRecordMainMapper.selectList(conditions); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailService.java index f777a3ac..ee9daf5d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailService.java @@ -8,6 +8,7 @@ import com.win.module.wms.controller.countRequest.vo.CountRequestDetailUpdateReq import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO; import javax.validation.Valid; +import java.util.List; /** * 盘点申请子 Service 接口 @@ -46,6 +47,14 @@ public interface CountRequestDetailService { */ CountRequestDetailDO getCountRequestDetail(Long id); + /** + * 获得盘点申请子列表 + * + * @param masterId 父id + * @return 盘点申请子列表 + */ + List selectList(Long masterId); + /** * 获得盘点申请子分页 * @@ -53,6 +62,7 @@ public interface CountRequestDetailService { * @return 盘点申请子分页 */ PageResult getCountRequestDetailPage(CountRequestDetailPageReqVO pageReqVO); + /** * 获得用高级搜索盘点申请子分页列表 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailServiceImpl.java index 3bbbeb93..c1422537 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestDetailServiceImpl.java @@ -15,6 +15,8 @@ import org.springframework.validation.annotation.Validated; 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.COUNT_REQUEST_DETAIL_NOT_EXISTS; @@ -74,6 +76,11 @@ public class CountRequestDetailServiceImpl implements CountRequestDetailService return countRequestDetailMapper.selectById(id); } + @Override + public List selectList(Long masterId) { + return countRequestDetailMapper.selectList(masterId); + } + @Override public PageResult getCountRequestDetailSenior(CustomConditions conditions) { return countRequestDetailMapper.selectSenior(conditions); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java index 1832068a..a549b4cf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainService.java @@ -6,7 +6,6 @@ import com.win.module.wms.controller.countRequest.vo.*; import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; import javax.validation.Valid; -import java.util.Collection; import java.util.List; /** @@ -29,14 +28,7 @@ public interface CountRequestMainService { * * @param updateReqVO 更新信息 */ - void updateCountRequestMain(@Valid CountRequestMainUpdateReqVO updateReqVO); - - /** - * 删除盘点申请主 - * - * @param id 编号 - */ - void deleteCountRequestMain(Long id); + int updateCountRequestMain(@Valid CountRequestMainUpdateReqVO updateReqVO); /** * 获得盘点申请主 @@ -46,14 +38,6 @@ public interface CountRequestMainService { */ CountRequestMainDO getCountRequestMain(Long id); - /** - * 获得盘点申请主列表 - * - * @param ids 编号 - * @return 盘点申请主列表 - */ - List getCountRequestMainList(Collection ids); - /** * 获得盘点申请主分页 * @@ -69,6 +53,14 @@ public interface CountRequestMainService { */ PageResult getCountRequestMainSenior(CustomConditions conditions); + /** + * 获得检验申请主列表, 用于 Excel 导出 + * + * @param conditions 查询条件 + * @return 检验申请主列表 + */ + List getCountRequestMainList(CustomConditions conditions); + /** * 获得盘点申请主列表, 用于 Excel 导出 * @@ -86,4 +78,42 @@ public interface CountRequestMainService { */ List importCountRequestMainList(List datas, Integer mode, boolean updatePart); + /** + * 关闭盘点申请主 + * + * @param id 盘点申请主ID + * @return 更新数量 + */ + Integer closeCountRequestMain(Long id); + + /** + * 提交盘点申请主 + * + * @param id 盘点申请主ID + * @return 更新数量 + */ + Integer submitCountRequestMain(Long id); + + /** + * 审批通过盘点申请主 + * + * @param id 盘点申请主ID + * @return 更新数量 + */ + Integer agreeCountRequestMain(Long id); + + /** + * 处理盘点申请主 + * @param id + * @return + */ + Integer handleCountRequestMain(Long id); + /** + * 审批拒绝盘点申请主 + * + * @param id 盘点申请主ID + * @return 更新数量 + */ + Integer abortCountRequestMain(Long id); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java index 3c637718..1cf7f404 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java @@ -1,20 +1,23 @@ package com.win.module.wms.service.countRequest; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.exceptions.UtilException; import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +import com.win.module.infra.api.trends.TrendsApi; +import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.countRequest.vo.*; import com.win.module.wms.convert.countRequest.CountRequestDetailConvert; import com.win.module.wms.convert.countRequest.CountRequestMainConvert; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; -import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestDetailDO; import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; +import com.win.module.wms.dal.mysql.countJob.CountJobMainMapper; import com.win.module.wms.dal.mysql.countRequest.CountRequestDetailMapper; import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper; import com.win.module.wms.enums.request.RequestStatusEnum; @@ -27,18 +30,17 @@ 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.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Objects; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.COUNT_REQUEST_MAIN_NOT_EXISTS; -import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY; +import static com.win.module.wms.enums.ErrorCodeConstants.*; /** * 盘点申请主 Service 实现类 @@ -68,37 +70,70 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { private RequestsettingService requestsettingService; @Resource private SerialNumberApi serialNumberApi; + @Resource + private TrendsApi trendsApi; + @Resource + private CountJobMainMapper countJobMainMapper; @Override + @Transactional public Long createCountRequestMain(CountRequestMainCreateReqVO createReqVO) { // 插入 - CountRequestMainDO countRequestMain = CountRequestMainConvert.INSTANCE.convert(createReqVO); - countRequestMainMapper.insert(countRequestMain); + CountRequestMainDO mainDO = CountRequestMainConvert.INSTANCE.convert(createReqVO); + countPlanMainService.selectCountPlanExist(mainDO.getPlanNumber()); + List subDOList = CountRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); + for (CountRequestDetailDO detailDO : subDOList) { + this.validateCountRequestDetailCreate(detailDO); + } + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); + mainDO.setNumber(number); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountRequest"); + mainDO.setBusinessType(businesstypeDO.getCode()); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CountRequest"); + RequestStatusState requestStatusState = new RequestStatusState(); + requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute()); + mainDO.setStatus(requestStatusState.getState().getCode()); + mainDO.setAutoCommit(requestsettingDO.getAutoCommit()); + mainDO.setAutoAgree(requestsettingDO.getAutoAgree()); + mainDO.setAutoExecute(requestsettingDO.getAutoExecute()); + mainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); + countRequestMainMapper.insert(mainDO); + for (CountRequestDetailDO detailDO : subDOList) { + detailDO.setMasterId(mainDO.getId()); + detailDO.setNumber(number); + } + countRequestDetailMapper.insertBatch(subDOList); + //增加操作记录 + trendsApi.createTrends(requestsettingDO.getId(), "countRequestMain", "增加了盘点申请", TrendsTypeEnum.CREATE); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { + this.generateJob(mainDO, subDOList); + } // 返回 - return countRequestMain.getId(); + return mainDO.getId(); } @Override - public void updateCountRequestMain(CountRequestMainUpdateReqVO updateReqVO) { + @Transactional + public int updateCountRequestMain(CountRequestMainUpdateReqVO updateReqVO) { // 校验存在 - validateCountRequestMainExists(updateReqVO.getId()); + CountRequestMainDO mainDO = validateCountRequestMainExists(updateReqVO.getId()); + if(!mainDO.getStatus().equals(RequestStatusEnum.NEW.getCode())) { + throw exception(COUNT_REQUEST_STATUS_NOT_NEW); + } // 更新 CountRequestMainDO updateObj = CountRequestMainConvert.INSTANCE.convert(updateReqVO); - countRequestMainMapper.updateById(updateObj); - } - - @Override - public void deleteCountRequestMain(Long id) { - // 校验存在 - validateCountRequestMainExists(id); - // 删除 - countRequestMainMapper.deleteById(id); + //增加操作记录 + trendsApi.createTrends(updateReqVO.getId(), "countRequestMain", mainDO.toString(), TrendsTypeEnum.UPDATE); + return countRequestMainMapper.updateById(updateObj); } - private void validateCountRequestMainExists(Long id) { - if (countRequestMainMapper.selectById(id) == null) { + private CountRequestMainDO validateCountRequestMainExists(Long id) { + CountRequestMainDO mainDO = countRequestMainMapper.selectById(id); + if (mainDO == null) { throw exception(COUNT_REQUEST_MAIN_NOT_EXISTS); } + return mainDO; } @Override @@ -106,11 +141,6 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { return countRequestMainMapper.selectById(id); } - @Override - public List getCountRequestMainList(Collection ids) { - return countRequestMainMapper.selectBatchIds(ids); - } - @Override public PageResult getCountRequestMainPage(CountRequestMainPageReqVO pageReqVO) { return countRequestMainMapper.selectPage(pageReqVO); @@ -121,11 +151,18 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { return countRequestMainMapper.selectSenior(conditions); } + @Override + public List getCountRequestMainList(CustomConditions conditions) { + return countRequestMainMapper.selectList(conditions); + } + @Override public List getCountRequestMainList(CountRequestMainExportReqVO exportReqVO) { return countRequestMainMapper.selectList(exportReqVO); } + @Override + @Transactional public List importCountRequestMainList(List datas, Integer mode, boolean updatePart) { if (CollUtil.isEmpty(datas)) { throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); @@ -183,6 +220,95 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { } return errorList; } + + @Override + @Transactional + public Integer closeCountRequestMain(Long id) { + // 校验存在存在下级单据 + CountRequestMainDO mainDO = validateCountRequestMainExists(id); + Long count = countJobMainMapper.selectByRequestNumber(mainDO.getNumber()); + if(count > 0) { + throw new ServiceException(COUNT_REQUEST_JOB_EXISTS); + } + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.close(); + if(!flag) { + throw new ServiceException(COUNT_REQUEST_CANNOT_CLOSE); + } + mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录 + trendsApi.createTrends(id, "countRequest", "关闭了盘点申请", TrendsTypeEnum.UPDATE); + return countRequestMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer submitCountRequestMain(Long id) { + CountRequestMainDO mainDO = validateCountRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute()); + if(!flag) { + throw new ServiceException(COUNT_REQUEST_CANNOT_SUBMIT); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { + this.generateJob(mainDO, countRequestDetailMapper.selectList(mainDO.getId())); + } + trendsApi.createTrends(id, "countRequest", "提交了盘点申请", TrendsTypeEnum.UPDATE); + return countRequestMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer agreeCountRequestMain(Long id) { + // 校验存在 + CountRequestMainDO mainDO = validateCountRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.agree(mainDO.getAutoExecute()); + if(!flag) { + throw new ServiceException(COUNT_REQUEST_CANNOT_AGREE); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用自动执行方法 + if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { + this.generateJob(mainDO, countRequestDetailMapper.selectList(mainDO.getId())); + } + trendsApi.createTrends(id, "countRequest", "审批同意了盘点申请", TrendsTypeEnum.UPDATE); + return countRequestMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer handleCountRequestMain(Long id) { + // 校验存在 + CountRequestMainDO mainDO = validateCountRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.handle(); + if(!flag) { + throw new ServiceException(COUNT_REQUEST_CANNOT_HANDLE); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + //调用执行方法 + this.generateJob(mainDO, countRequestDetailMapper.selectList(mainDO.getId())); + trendsApi.createTrends(id, "countRequest", "执行了盘点申请", TrendsTypeEnum.UPDATE); + return countRequestMainMapper.updateById(mainDO); + } + + @Override + @Transactional + public Integer abortCountRequestMain(Long id) { + // 校验存在 + CountRequestMainDO mainDO = validateCountRequestMainExists(id); + RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); + boolean flag = requestStatusState.refused(); + if(!flag) { + throw new ServiceException(COUNT_REQUEST_CANNOT_ABORT); + } + mainDO.setStatus(requestStatusState.getState().getCode()); + trendsApi.createTrends(id, "countRequest", "审批拒绝了盘点申请", TrendsTypeEnum.UPDATE); + return countRequestMainMapper.updateById(mainDO); + } + /** * 生成盘点任务,不要改动事务传播方式,否则会有事务问题 * @param mainDO 采购收货主 @@ -191,16 +317,16 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { private void generateJob(CountRequestMainDO mainDO, List detailDOList) { } + /** * 校验导入,并赋值一些参数,未完全实现 - * @param mainDo + * @param mainDO * @return */ - private String validateCountRequestMainImport(CountRequestMainDO mainDo) { + private String validateCountRequestMainImport(CountRequestMainDO mainDO) { StringBuilder message = new StringBuilder(); try { - CountPlanDetailDO countPlanDetailDO = countPlanMainService.selectCountPlanExist(mainDo.getPlanNumber()); - //mainDo.setWarehouseCode(countPlanDetailDO.getW) + countPlanMainService.selectCountPlanExist(mainDO.getPlanNumber()); } catch (ServiceException e) { message.append(e.getMessage()).append(","); } @@ -224,7 +350,7 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { try { ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode()); if (!Objects.equals(itembasicDO.getUom(), detailDO.getUom())) { - message.append("计量单位").append("错误,应该是").append(","); + message.append("计量单位").append(detailDO.getUom()).append("错误,应该是").append(itembasicDO.getUom()).append(","); } else { detailDO.setItemDesc1(itembasicDO.getDesc1()); detailDO.setItemDesc2(itembasicDO.getDesc2()); @@ -245,4 +371,28 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { return message.toString(); } + /** + * 校验导入,并赋值一些参数,未完全实现 + * @param detailDO + * @return + */ + private void validateCountRequestDetailCreate(CountRequestDetailDO detailDO) { + //校验库位基础信息 + locationService.selectLocation(detailDO.getLocationCode()); + // 校验物品基础信息 + ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode()); + if (!Objects.equals(itembasicDO.getUom(), detailDO.getUom())) { + throw new UtilException("计量单位" + detailDO.getUom() + "错误,应该是" + itembasicDO.getUom()); + } else { + detailDO.setItemDesc1(itembasicDO.getDesc1()); + detailDO.setItemDesc2(itembasicDO.getDesc2()); + detailDO.setItemName(itembasicDO.getName()); + detailDO.setProjectCode(itembasicDO.getProject()); + } + // 校验业务类型 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountRequest"); + jobUtils.ifInToLocationType(detailDO.getLocationCode(), businesstypeDO); + jobUtils.ifOutInventoryStatuses(detailDO.getInventoryStatus(), businesstypeDO); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainService.java index 9dcb9bd6..fd5d5946 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainService.java @@ -53,7 +53,6 @@ public interface InspectJobMainService { */ List getInspectJobMainList(InspectJobMainExportReqVO exportReqVO); - /** * 获得检验任务主列表, 用于 Excel 导出 *