From 3b1195dd799b8d744769795206b96c223fd34ad6 Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Thu, 21 Dec 2023 09:50:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=8E=A5=E5=8F=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/dict/DictDataServiceImpl.java | 11 ++++--- .../wms/controller/index/IndexController.java | 7 +++++ .../wms/service/balance/BalanceService.java | 20 ++++++++++--- .../service/balance/BalanceServiceImpl.java | 29 +++++++++++++++++-- 4 files changed, 55 insertions(+), 12 deletions(-) diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java index 0c8ea1ae..714a9502 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/dict/DictDataServiceImpl.java @@ -1,8 +1,8 @@ package com.win.module.system.service.dict; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.exceptions.UtilException; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.common.annotations.VisibleForTesting; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.pojo.PageResult; import com.win.framework.common.util.collection.CollectionUtils; @@ -14,7 +14,6 @@ import com.win.module.system.convert.dict.DictDataConvert; import com.win.module.system.dal.dataobject.dict.DictDataDO; import com.win.module.system.dal.dataobject.dict.DictTypeDO; import com.win.module.system.dal.mysql.dict.DictDataMapper; -import com.google.common.annotations.VisibleForTesting; import com.win.module.system.dal.mysql.dict.DictTypeMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -189,11 +188,11 @@ public class DictDataServiceImpl implements DictDataService { //调用公共方法 查询字典项 @Override public DictDataDO selectDictTypeAndLabel(String ptype,String plabel) { - QueryWrapper queryWrapper = new QueryWrapper(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type",ptype); DictTypeDO dictTypeDO = dictTypeMapper.selectOne(queryWrapper); if(dictTypeDO != null && 0 == dictTypeDO.getStatus()){ - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("dict_type",ptype); queryWrapper1.eq("label",plabel); DictDataDO dictDataDO = dictDataMapper.selectOne(queryWrapper1); @@ -209,7 +208,7 @@ public class DictDataServiceImpl implements DictDataService { @Override public DictDataDO selectDictLabel(String plabel){ - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("label",plabel); DictDataDO dictDataDO = dictDataMapper.selectOne(queryWrapper1); if(dictDataDO != null && 0 == dictDataDO.getStatus()){ @@ -220,7 +219,7 @@ public class DictDataServiceImpl implements DictDataService { } @Override public DictDataDO selectDictValue(String value){ - QueryWrapper queryWrapper1 = new QueryWrapper(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("value",value); DictDataDO dictDataDO = dictDataMapper.selectOne(queryWrapper1); if(dictDataDO != null && 0 == dictDataDO.getStatus()){ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java index 1d221d20..273eabc9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java @@ -1,6 +1,7 @@ package com.win.module.wms.controller.index; import com.win.framework.common.pojo.CommonResult; +import com.win.module.wms.service.balance.BalanceService; import com.win.module.wms.service.deliverPlan.DeliverPlanMainService; import com.win.module.wms.service.issueRequest.IssueRequestMainService; import com.win.module.wms.service.location.LocationService; @@ -59,6 +60,8 @@ public class IndexController { private ProductputawayJobDetailService productputawayJobDetailService; @Resource private DeliverPlanMainService deliverPlanMainService; + @Resource + private BalanceService balanceService; @GetMapping("/indexSupplier") @Operation(summary = "供应商首页") @@ -86,6 +89,8 @@ public class IndexController { dataMap.put("issueRequestTodayCount", issueRequestMainService.getIssueRequestToday());//今日叫料请求(已发料) dataMap.put("freeLocationCount", locationService.getFreeLocationCount());//空闲库位数 dataMap.put("totalLocationCount", locationService.getTotalLocationCount());//总库位数 + dataMap.put("stagnantBalanceList", balanceService.getStagnantBalanceList());//呆滞库存预警 + dataMap.put("overdueBalanceList", balanceService.getOverdueBalanceList());//超期库存预警 return success(dataMap); } @@ -94,6 +99,8 @@ public class IndexController { public CommonResult> indexProduct() { Map dataMap = new HashMap<>(); dataMap.put("deliverPlanTodayCount", deliverPlanMainService.getDeliverPlanToday());//今日发货计划(未发货) + dataMap.put("stagnantBalanceList", balanceService.getStagnantBalanceList());//呆滞库存预警 + dataMap.put("overdueBalanceList", balanceService.getOverdueBalanceList());//超期库存预警 return success(dataMap); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceService.java index 7d5d20db..7812eee9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceService.java @@ -4,6 +4,7 @@ import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.balance.vo.BalanceExportReqVO; import com.win.module.wms.controller.balance.vo.BalancePageReqVO; +import com.win.module.wms.controller.balance.vo.BalanceRespVO; import com.win.module.wms.controller.balance.vo.BalanceUpdateReqVO; import com.win.module.wms.dal.dataobject.balance.BalanceDO; @@ -49,7 +50,7 @@ public interface BalanceService { * @param locationCode 库位code * @return */ - public List selectNumber(String itemCode, List inventoryStatus, String locationCode); + List selectNumber(String itemCode, List inventoryStatus, String locationCode); /** * TB2----BY_BATCH * 跟据管理模式查询批次 @@ -60,7 +61,7 @@ public interface BalanceService { * @param locationCode 库位code * @return */ - public List selectBatch(String itemCode, String batch, List inventoryStatus, String locationCode); + List selectBatch(String itemCode, String batch, List inventoryStatus, String locationCode); /** * TB2----BY_PACKAGING * 跟据管理模式查询包装号 @@ -72,7 +73,7 @@ public interface BalanceService { * @param locationCode 库位code * @return */ - public List selectPackaging(String itemCode, String packingNumber, String batch, List inventoryStatus, String locationCode); + List selectPackaging(String itemCode, String packingNumber, String batch, List inventoryStatus, String locationCode); /** * TB2----BY_UNIQUE_ID * 跟据管理模式查询唯一码 @@ -82,7 +83,7 @@ public interface BalanceService { * @param locationCode 库位code * @return */ - public List selectUniqueId(String packingNumber, String locationCode, List inventoryStatus); + List selectUniqueId(String packingNumber, String locationCode, List inventoryStatus); void updateBalance(BalanceUpdateReqVO updateReqVO); /** @@ -93,4 +94,15 @@ public interface BalanceService { PageResult getBalanceItemsPage(BalancePageReqVO pageVO); PageResult getSeniroBalanceItemsPage(CustomConditions conditions); + + /** + * 呆滞库存预警 + * @return 呆滞库存 + */ + List getStagnantBalanceList(); + /** + * 超期库存预警 + * @return 超期库存 + */ + List getOverdueBalanceList(); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java index 178c6dc1..6d7d854b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java @@ -6,14 +6,18 @@ import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.util.MyBatisUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils; +import com.win.module.system.api.dict.DictDataApi; +import com.win.module.system.api.dict.dto.DictDataRespDTO; import com.win.module.system.api.user.AdminUserApi; import com.win.module.wms.controller.balance.vo.BalanceExportReqVO; import com.win.module.wms.controller.balance.vo.BalancePageReqVO; +import com.win.module.wms.controller.balance.vo.BalanceRespVO; import com.win.module.wms.controller.balance.vo.BalanceUpdateReqVO; import com.win.module.wms.controller.packageMassage.vo.PackageUpdateReqVO; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.convert.balance.BalanceConvert; import com.win.module.wms.dal.dataobject.balance.BalanceDO; +import com.win.module.wms.dal.dataobject.packageMassage.PackageDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.packageMassage.PackageMapper; @@ -54,6 +58,8 @@ public class BalanceServiceImpl implements BalanceService { private JobUtils jobUtils; @Resource private BalanceMapper balanceMapper; + @Resource + private DictDataApi dictDataApi; @Override public PageResult getBalancePage(BalancePageReqVO pageReqVO) { @@ -109,7 +115,7 @@ public class BalanceServiceImpl implements BalanceService { public List selectBatch(String itemCode, String batch, List inventoryStatus, String locationCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("item_code", itemCode); - if (batch == null || batch.equals("")) { + if (batch == null || batch.isEmpty()) { queryWrapper.eq("batch", ""); } queryWrapper.in("inventory_status", inventoryStatus); @@ -238,7 +244,7 @@ public class BalanceServiceImpl implements BalanceService { transactionCreateReqVOList.add(transactionCreateReqVOOut); // 更新包装信息 PackageUpdateReqVO packageUpdateReqVO = new PackageUpdateReqVO(); - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("number",balanceDO.getPackingNumber()); packageUpdateReqVO.setId(packageMapper.selectOne(queryWrapper).getId()); packageUpdateReqVO.setNumber(balanceDO.getPackingNumber()); @@ -268,4 +274,23 @@ public class BalanceServiceImpl implements BalanceService { mpPage.setRecords(list); return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); } + + @Override + public List getStagnantBalanceList() { + DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictTypeAndLabel("stagnant_time", "默认时间(天)"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply(" DATEDIFF(NOW(), arrive_date) > {0}", dictDataRespDTO.getValue()); + queryWrapper.last("LIMIT 10"); + List balanceDOList = balanceMapper.selectList(queryWrapper); + return BalanceConvert.INSTANCE.convertList(balanceDOList); + } + + @Override + public List getOverdueBalanceList() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("expire_date>NOW()"); + queryWrapper.last("LIMIT 10"); + List balanceDOList = balanceMapper.selectList(queryWrapper); + return BalanceConvert.INSTANCE.convertList(balanceDOList); + } }