From 1d15ed9fccebc6cc87717ce34950766122fcba7b Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Fri, 15 Dec 2023 15:06:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E7=9B=98=E3=80=81=E7=9B=91=E7=9B=98?= =?UTF-8?q?=E5=92=8Cbug=E4=BF=AE=E5=A4=8D=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CountRequestMainController.java | 8 +++++ .../vo/CountRequestMainBaseVO.java | 12 +++++++ .../vo/CountRequestMainUpdateReqVO.java | 12 +++++++ .../inspectJob/InspectJobMainController.java | 10 +++--- .../inspectJob/vo/InspectJobMainRespVO.java | 2 +- .../CountRequestDetailConvert.java | 2 ++ .../countRequest/CountRequestMainDO.java | 19 +++++++++-- .../CountRequestDetailMapper.java | 31 +++++++++++++++++ .../countRequest/CountRequestMainService.java | 15 ++++++++- .../CountRequestMainServiceImpl.java | 33 +++++++++++++++++++ .../PutawayRequestMainServiceImpl.java | 14 ++++++-- 11 files changed, 146 insertions(+), 12 deletions(-) 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 f6613d1d..c3e9ffd8 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 @@ -233,4 +233,12 @@ public class CountRequestMainController { return success(count > 0); } + @PutMapping("/reCount") + @Operation(summary = "重盘") + @PreAuthorize("@ss.hasPermission('wms:count-request-main:reCount')") + public CommonResult createReCountJob(@Valid @RequestBody CountRequestMainUpdateReqVO updateReqVO) { + int result = countRequestMainService.createReCountJob(updateReqVO); + return success(result > 0); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainBaseVO.java index 67d5f1f4..2db3270f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainBaseVO.java @@ -81,4 +81,16 @@ public class CountRequestMainBaseVO { @Schema(description = "直接生成记录") private String directCreateRecord; + + @Schema(description = "初盘任务状态") + private String jobStatus1; + + @Schema(description = "重盘任务状态") + private String jobStatus2; + + @Schema(description = "监盘任务状态") + private String jobStatus3; + + @Schema(description = "生成盘点调整状态") + private String countAdjustStatus; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainUpdateReqVO.java index 697ad94b..272bc1a4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainUpdateReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countRequest/vo/CountRequestMainUpdateReqVO.java @@ -1,12 +1,24 @@ package com.win.module.wms.controller.countRequest.vo; +import com.win.framework.excel.core.annotations.SubObject; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.util.List; + @Schema(description = "管理后台 - 盘点申请主更新 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class CountRequestMainUpdateReqVO extends CountRequestMainBaseVO { + @Schema(description = "类型") + private String type; + + @Schema(description = "数量") + private Integer count; + + @SubObject + @Schema(description = "子表数据") + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/InspectJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/InspectJobMainController.java index 67c73a24..d07212d0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/InspectJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/InspectJobMainController.java @@ -143,14 +143,14 @@ public class InspectJobMainController { public CommonResult getInspectJobById(@RequestParam("id") Long id) { InspectJobMainDO inspectJobMain = inspectJobMainService.getInspectJobMain(id); InspectJobMainRespVO result = InspectJobMainConvert.INSTANCE.convert(inspectJobMain); - if(result==null) { - return success(result); - }; + if(result == null) { + return success(null); + } InspectJobDetailExportReqVO inspectJobDetailExportReqVO = new InspectJobDetailExportReqVO(); inspectJobDetailExportReqVO.setMasterId(result.getId()); List inspectJobDetailList = inspectJobDetailService.getInspectJobDetailList(inspectJobDetailExportReqVO); - List inspectJobDetailExcelVOS = InspectJobDetailConvert.INSTANCE.convertList02(inspectJobDetailList); - result.setSubList(inspectJobDetailExcelVOS); + List inspectJobDetailRespVOList = InspectJobDetailConvert.INSTANCE.convertList(inspectJobDetailList); + result.setSubList(inspectJobDetailRespVOList); return success(result); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobMainRespVO.java index 1f45fce1..56c01f26 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectJob/vo/InspectJobMainRespVO.java @@ -12,5 +12,5 @@ import java.util.List; public class InspectJobMainRespVO extends InspectJobMainBaseVO { @Schema(description = "检验任务任务子表job_inspect_detail 列表数据", requiredMode = Schema.RequiredMode.REQUIRED) - private List subList; + private List subList; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestDetailConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestDetailConvert.java index 138eb2e7..cd6f9872 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestDetailConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countRequest/CountRequestDetailConvert.java @@ -35,6 +35,8 @@ public interface CountRequestDetailConvert { List convertList03(List list); + List convertList04(List list); + CountRequestDetailCreateReqVO convert1(CountRequestDetailDO bean); @Mappings({ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countRequest/CountRequestMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countRequest/CountRequestMainDO.java index af1d11ac..5385de46 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countRequest/CountRequestMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countRequest/CountRequestMainDO.java @@ -79,8 +79,6 @@ public class CountRequestMainDO extends BaseDO { private String departmentCode; /** * 状态 - * - * 枚举 {@link TODO request_status 对应的类} */ private String status; /** @@ -107,5 +105,20 @@ public class CountRequestMainDO extends BaseDO { * 直接生成记录 */ private String directCreateRecord; - + /** + * 初盘任务状态 + */ + private String jobStatus1; + /** + * 重盘任务状态 + */ + private String jobStatus2; + /** + * 监盘任务状态 + */ + private String jobStatus3; + /** + * 生成盘点调整状态1不可生成2可生成3已生成4不需要生成 + */ + private String countAdjustStatus; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestDetailMapper.java index f1e60168..9f60c100 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestDetailMapper.java @@ -1,5 +1,6 @@ package com.win.module.wms.dal.mysql.countRequest; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; @@ -48,9 +49,39 @@ public interface CountRequestDetailMapper extends BaseMapperX selectList(Long masterId) { return selectList(new LambdaQueryWrapperX() .eq(CountRequestDetailDO::getMasterId, masterId)); } + /** + * 根据主表id随机查询 + * @param masterId 主表id + * @param count 查询数量 + * @return 子表数据 + */ + default List selectList(Long masterId, int count) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("master_id", masterId); + queryWrapper.orderByDesc("RAND()"); + queryWrapper.last("LIMIT " + count); + return selectList(queryWrapper); + } + + /** + * 根据主表id随机查询 + * @param masterId 主表id + * @return 子表数据 + */ + default List selectDifferenceList(Long masterId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("master_id", masterId); + return selectList(queryWrapper); + } + } 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 a549b4cf..7a33caf1 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 @@ -115,5 +115,18 @@ public interface CountRequestMainService { * @return 更新数量 */ Integer abortCountRequestMain(Long id); - + /** + * 生成重盘任务 + * + * @param updateReqVO 盘点申请 + * @return 更新数量 + */ + Integer createReCountJob(CountRequestMainUpdateReqVO updateReqVO); + /** + * 生成监盘务 + * + * @param updateReqVO 盘点申请 + * @return 更新数量 + */ + Integer createSuperviseCountJob(CountRequestMainUpdateReqVO updateReqVO); } 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 f8e7703c..32bc7b64 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 @@ -311,6 +311,7 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { throw new ServiceException(COUNT_REQUEST_CANNOT_HANDLE); } mainDO.setStatus(requestStatusState.getState().getCode()); + mainDO.setJobStatus1("1"); //调用执行方法 this.generateJob(mainDO, countRequestDetailMapper.selectList(mainDO.getId())); trendsApi.createTrends(id, "countRequest", "执行了盘点申请", TrendsTypeEnum.UPDATE); @@ -332,6 +333,38 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { return countRequestMainMapper.updateById(mainDO); } + @Override + public Integer createReCountJob(CountRequestMainUpdateReqVO updateReqVO) { + CountRequestMainDO mainDO = CountRequestMainConvert.INSTANCE.convert(updateReqVO); + mainDO.setStage("RECOUNT");//重盘 + mainDO.setJobStatus2("1"); + List detailDOList; + if(updateReqVO.getType().equals("1")) {//全部 + detailDOList = countRequestDetailMapper.selectList(updateReqVO.getId()); + } else if(updateReqVO.getType().equals("2")) {//差异 + detailDOList = countRequestDetailMapper.selectDifferenceList(updateReqVO.getId()); + } else {//选择 + detailDOList = CountRequestDetailConvert.INSTANCE.convertList04(updateReqVO.getSubList()); + } + this.generateJob(mainDO, detailDOList); + return countRequestMainMapper.updateById(mainDO); + } + + @Override + public Integer createSuperviseCountJob(CountRequestMainUpdateReqVO updateReqVO) { + CountRequestMainDO mainDO = CountRequestMainConvert.INSTANCE.convert(updateReqVO); + mainDO.setStage("AUDIT_COUNT");//监盘 + mainDO.setJobStatus2("1"); + List detailDOList; + if(updateReqVO.getType().equals("1")) {//数量 + detailDOList = countRequestDetailMapper.selectList(updateReqVO.getId(), updateReqVO.getCount()); + } else {//选择 + detailDOList = CountRequestDetailConvert.INSTANCE.convertList04(updateReqVO.getSubList()); + } + this.generateJob(mainDO, detailDOList); + return countRequestMainMapper.updateById(mainDO); + } + /** * 生成盘点任务 * @param mainDO 盘点申请主 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java index 723db45d..af3cbb3b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java @@ -329,7 +329,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService //增加业务类型 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRecord"); putawayRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); - int result = putawayRecordMainMapper.insert(PutawayRecordMainConvert.INSTANCE.convert(putawayRecordMainCreateReqVO)); + putawayRecordMainMapper.insert(PutawayRecordMainConvert.INSTANCE.convert(putawayRecordMainCreateReqVO)); for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) { PutawayRecordDetailCreateReqVO putawayRecordDetailCreateReqVO = new PutawayRecordDetailCreateReqVO(); BeanUtils.copyProperties(putawayRequestDetailDO, putawayRecordDetailCreateReqVO); @@ -359,6 +359,11 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService putawayJobMainDO.setBusinessType(businesstypeDO.getCode()); putawayJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses()); putawayJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses()); + putawayJobMainDO.setId(null); + putawayJobMainDO.setCreateTime(null); + putawayJobMainDO.setCreator(null); + putawayJobMainDO.setUpdateTime(null); + putawayJobMainDO.setUpdater(null); putawayJobMainMapper.insert(putawayJobMainDO); List putawayJobDetailDOList = new ArrayList<>(); for(PutawayRequestDetailDO putawayRequestDetailDO : detailDOList) { @@ -367,7 +372,12 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService LocationDO locationDO = locationService.inspectLocation(groundingRuleRespVO, putawayRequestDetailDO.getItemCode(), putawayJobDetailDO.getBatch(), putawayJobDetailDO.getInventoryStatus()); putawayJobDetailDO.setToLocationCode(locationDO.getCode()); putawayJobDetailDO.setNumber(number); - putawayJobDetailDO.setMasterId(putawayJobDetailDO.getId()); + putawayJobDetailDO.setMasterId(putawayJobMainDO.getId()); + putawayJobDetailDO.setId(null); + putawayJobDetailDO.setCreateTime(null); + putawayJobDetailDO.setCreator(null); + putawayJobDetailDO.setUpdateTime(null); + putawayJobDetailDO.setUpdater(null); putawayJobDetailDOList.add(putawayJobDetailDO); //预计出 ExpectoutCreateReqVO expectoutCreateReqVO = new ExpectoutCreateReqVO();