From b5c674ecc259921abf376b36313e0ed0a9c172d6 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Wed, 18 Oct 2023 15:51:04 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=9B=98=E7=82=B9=E4=BB=BB=E5=8A=A1=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/WarehouseTaskApiController.java | 76 ++++++++++++++- .../logpm/warehouse/dto/TaskSearchDTO.java | 2 + .../warehouse/mapper/QuestDetailMapper.java | 2 + .../warehouse/mapper/QuestDetailMapper.xml | 30 ++++++ .../service/IQuestDetailService.java | 4 + .../warehouse/service/ITaskQuestService.java | 4 + .../service/impl/QuestDetailServiceImpl.java | 6 ++ .../service/impl/TaskQuestServiceImpl.java | 97 ++++++++++++++++--- 8 files changed, 209 insertions(+), 12 deletions(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java index a3b368218..f05031eaf 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java @@ -159,6 +159,47 @@ public class WarehouseTaskApiController { } } + + + @GetMapping("/questScanAllcation") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "库位盘点扫描库位", notes = "code,type") + public R questScanAllcation(TaskSearchDTO taskSearchDTO) { + String method = "###########questScanAllcation: "; + log.info(method+"库位明细(定制品) 参数:{}",taskSearchDTO); + Long questId = taskSearchDTO.getQuestId();//任务id + Long allocationId = taskSearchDTO.getAllocationId();//库位id + try{ + //当前登录人选择的仓库 + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + if(Objects.isNull(myCurrentWarehouse)){ + log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse); + return R.fail(403,"仓库信息为空"); + } + taskSearchDTO.setWarehouseId(myCurrentWarehouse.getId()); + + if(Objects.isNull(questId)){ + log.warn(method+"任务id为空 questId={}",questId); + return R.fail(403,"任务id为空"); + } + + if(Objects.isNull(allocationId)){ + log.warn(method+"库位id为空 allocationId={}",allocationId); + return R.fail(403,"库位id为空"); + } + + return taskQuestService.questScanAllcation(taskSearchDTO); + }catch (CustomerException e){ + log.warn(e.message); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常,联系管理员",e); + return R.fail(500,"系统异常,联系管理员"); + } + } + + + /** * 库位明细(定制品) */ @@ -441,6 +482,40 @@ public class WarehouseTaskApiController { } } + @PostMapping("/selectPackageInfo") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "查询包件信息", notes = "code,type") + public R selectPackageInfo(@RequestBody TaskSearchDTO taskSearchDTO) { + String method = "###########selectPackageInfo: "; + log.info(method+"查询包件信息 参数:{}",taskSearchDTO); + String orderPackageCode = taskSearchDTO.getOrderPackageCode();//包件码 + + try{ + //当前登录人选择的仓库 + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + if(Objects.isNull(myCurrentWarehouse)){ + log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse); + return R.fail(403,"仓库信息为空"); + } + taskSearchDTO.setWarehouseId(myCurrentWarehouse.getId()); + + if(StringUtil.isBlank(orderPackageCode)){ + log.warn(method+"包件码为空 orderPackageCode={}",orderPackageCode); + return R.fail(403,"包件码为空"); + } + + return taskQuestService.selectPackageInfo(taskSearchDTO); + }catch (CustomerException e){ + log.warn(e.message); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常,联系管理员",e); + return R.fail(500,"系统异常,联系管理员"); + } + + } + + @PostMapping("/saveNewQuestDetail") @ApiOperationSupport(order = 1) @@ -455,7 +530,6 @@ public class WarehouseTaskApiController { Long allocationId = taskSearchDTO.getAllocationId();//库位 QuestDetailDTO questDetail = taskSearchDTO.getQuestDetail(); - try{ //当前登录人选择的仓库 BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TaskSearchDTO.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TaskSearchDTO.java index 0941869cf..b802f21ad 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TaskSearchDTO.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/TaskSearchDTO.java @@ -129,5 +129,7 @@ public class TaskSearchDTO { private String materialCode; + private String orderPackageCode; + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/QuestDetailMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/QuestDetailMapper.java index 63448d623..703f8b7a1 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/QuestDetailMapper.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/QuestDetailMapper.java @@ -16,6 +16,7 @@ */ package com.logpm.warehouse.mapper; +import com.logpm.warehouse.dto.TaskSearchDTO; import com.logpm.warehouse.entity.QuestDetailEntity; import com.logpm.warehouse.vo.QuestDetailVO; import com.logpm.warehouse.excel.QuestDetailExcel; @@ -51,4 +52,5 @@ public interface QuestDetailMapper extends BaseMapper { */ List exportQuestDetail(@Param("ew") Wrapper queryWrapper); + QuestDetailEntity queryPackageInfo(@Param("param") TaskSearchDTO taskSearchDTO); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/QuestDetailMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/QuestDetailMapper.xml index 0faeb228a..e1cd7834b 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/QuestDetailMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/QuestDetailMapper.xml @@ -42,4 +42,34 @@ SELECT * FROM logpm_quest_detail ${ew.customSqlSegment} + + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IQuestDetailService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IQuestDetailService.java index 2fb2cb508..b812dbbcc 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IQuestDetailService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IQuestDetailService.java @@ -17,6 +17,7 @@ package com.logpm.warehouse.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.logpm.warehouse.dto.TaskSearchDTO; import com.logpm.warehouse.entity.QuestDetailEntity; import com.logpm.warehouse.vo.QuestDetailVO; import com.logpm.warehouse.excel.QuestDetailExcel; @@ -50,4 +51,7 @@ public interface IQuestDetailService extends BaseService { List exportQuestDetail(Wrapper queryWrapper); void saveList(List list, Long questId); + + QuestDetailEntity queryPackageInfo(TaskSearchDTO taskSearchDTO); + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java index bf23a93b5..93f525c42 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java @@ -128,4 +128,8 @@ public interface ITaskQuestService extends BaseService { IPage SelectInventory(IPage page,Long id); IPage SelectZero(IPage page,Long id); + + R questScanAllcation(TaskSearchDTO taskSearchDTO); + + R selectPackageInfo(TaskSearchDTO taskSearchDTO); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/QuestDetailServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/QuestDetailServiceImpl.java index 2c99d4079..fd71cd44e 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/QuestDetailServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/QuestDetailServiceImpl.java @@ -16,6 +16,7 @@ */ package com.logpm.warehouse.service.impl; +import com.logpm.warehouse.dto.TaskSearchDTO; import com.logpm.warehouse.entity.QuestDetailEntity; import com.logpm.warehouse.vo.QuestDetailVO; import com.logpm.warehouse.excel.QuestDetailExcel; @@ -60,4 +61,9 @@ public class QuestDetailServiceImpl extends BaseServiceImpl lsPackage = warehouseUpdownGoodsMapper.allocationDetailByPackage(taskSearchDTO); - List lsZero = warehouseUpdownGoodsMapper.allocationDetailByZero(taskSearchDTO); - List lsStock = warehouseUpdownGoodsMapper.allocationDetailByStock(taskSearchDTO); - Integer size = lsPackage.size() + lsZero.size() + lsStock.size(); - - if(size == 0){ - log.warn("###########allocationDetailByPackage: 未有数据在盘点计划中 questId={}",questId); - throw new CustomerException(403,"未有数据在盘点计划中"); - } - //先查询任务的过滤商场 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("quest_id", questId) @@ -1090,6 +1079,21 @@ public class TaskQuestServiceImpl extends BaseServiceImpl childList = new ArrayList<>(); + childList.add(addQuestDetailChild(stockNum,"10",questDetailId,warehouseId)); + childList.add(addQuestDetailChild(wornNum,"20",questDetailId,warehouseId)); + childList.add(addQuestDetailChild(lossNum,"30",questDetailId,warehouseId)); + childList.add(addQuestDetailChild(noRepairNum,"40",questDetailId,warehouseId)); + childList.add(addQuestDetailChild(deliveNum,"50",questDetailId,warehouseId)); + childList.add(addQuestDetailChild(noReceivedNum,"60",questDetailId,warehouseId)); + questDetailChildService.saveOrUpdateBatch(childList); } @Override @@ -1214,6 +1218,77 @@ public class TaskQuestServiceImpl extends BaseServiceImpl map = new HashMap<>(); + map.put("positionCode",positionCode); + map.put("allocationId",allocationId); + return R.data(map); + } + + @Override + public R selectPackageInfo(TaskSearchDTO taskSearchDTO) { + log.warn("###########selectPackageInfo: 盘点扫码库位 "); + Long warehouseId = taskSearchDTO.getWarehouseId(); + String orderPackageCode = taskSearchDTO.getOrderPackageCode(); + Long questId = taskSearchDTO.getQuestId(); + + verifyTask(questId,warehouseId); + + //先查询任务的过滤商场 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("quest_id", questId) + .eq("is_deleted", 0); + List questChildEntitys = taskQuestChildService.list(queryWrapper); + List marketNames = null; + for (TaskQuestChildEntity childEntity : questChildEntitys) { + if (Objects.isNull(marketNames)) { + marketNames = new ArrayList<>(); + } + marketNames.add(childEntity.getRefName()); + } + taskSearchDTO.setMarketNames(marketNames); + + QuestDetailEntity questDetailEntity = questDetailService.queryPackageInfo(taskSearchDTO); + if(Objects.isNull(questDetailEntity)){ + questDetailEntity = new QuestDetailEntity(); + questDetailEntity.setOrdePackageCode(orderPackageCode); + } + return R.data(questDetailEntity); + } + private QuestDetailChildEntity addQuestDetailChild(Integer num,String cargoName,Long questDetaiId,Long warehouseId){