From 3884e330379c96e7576ada6b7a988a84e8757886 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期一, 18 十二月 2023 16:12:50 +0800 Subject: [PATCH] 修改查询库存的仓库参数 --- consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java | 294 +++++++++------------------------------------------------- 1 files changed, 45 insertions(+), 249 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java b/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java index 32b6f70..26b52b1 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java @@ -1,263 +1,59 @@ package com.consum.base.service; -import com.walker.infrastructure.utils.CollectionUtils; -import com.walker.jdbc.service.BaseServiceImpl; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; +import com.consum.base.pojo.dto.GoodsInfoDTO; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; + +import com.consum.base.pojo.dto.GoodsModelCountDTO; +import com.walker.jdbc.service.BaseService; +import java.util.Set; /** - * @ClassName LWhGoodsService - * @Date 2023/10/24 - * @Description - * @Version 1.0 + * LWhGoodsService + * + * @author asus + * @version 2023/12/05 13:52 **/ -@Service -public class LWhGoodsService extends BaseServiceImpl { +public interface LWhGoodsService extends BaseService { + int queryGoodsModelNum(Integer warehouseType, List<Long> warehouseId, Long baseGoodsModelsId, Integer states, + Integer buyType); + + int queryGoodsModelInWareHouseNum(Integer warehouseType, List<Long> warehouseId, Long baseGoodsModelsId, + Integer states, Integer buyType); + + List<Map<String, Object>> queryOutGoods(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, + Integer states, Integer buyType, Integer goodsModelNum); + + List<Long> queryOutGoodsId(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, + Integer buyType, Integer goodsModelNum); + + long queryGoodsPriceById(List<Long> goodsIds); + + List<Map<String, Object>> queryScrappedGoods(Integer warehouseType, Long warehouseId, Long transBusinessId, + String nowUserName, Long baseGoodsModelsId, Short states, Integer goodsModelNum); + + List<Long> queryScrappedGoodsIds(Integer warehouseType, Long warehouseId, Long transBusinessId, String nowUserName, + Long baseGoodsModelsId, Short states, Integer goodsModelNum); + + int modGoodsTransfering(List<Long> whGoods, Integer warehouseType, Long toWarehouseId, String toWarehouseName, + Integer states); + + // 鎸夋満鏋勭粺璁$墿鍝佷环鍊笺�佹暟閲�/閲戦绛� + List<Map<String, Object>> getGoodsNumPrice(Long agencyId); + + // 鎸夋満鏋勭粺璁$墿鍝佷环鍊笺�佹暟閲�/閲戦绛� + List<Map<String, Object>> getGoodsNumByMonth(Long agencyId); /** - * @param warehouseType 浠撳簱绫诲瀷0鏈烘瀯1閮ㄩ棬 - * @param warehouseId 鎵�灞炰粨搴撲粨搴撶紪鍙� - * @param baseGoodsModelsId 瑙勬牸鍨嬪彿缂栧彿 - * @param states 锛�0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛� - * @param buyType 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� - * @return 鏌ヨ鏌愪釜鍨嬪彿鍦ㄤ粨搴撲腑鐨勬暟閲� - */ - private static String query_Goods_Model_Num = "SELECT COUNT(1) from L_WH_GOODS where 1=1"; - - public int queryGoodsModelNum(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, Integer buyType) { - StringBuilder sql = new StringBuilder(query_Goods_Model_Num); - Map<String, Object> paramts = new HashMap<>(); - - if (warehouseType != null) { - sql.append(" and WAREHOUSE_TYPE=:warehouseType"); - paramts.put("warehouseType", warehouseType); - } - if (warehouseId != null) { - sql.append(" and WAREHOUSE_ID=:warehouseId"); - paramts.put("warehouseId", warehouseId); - } - if (baseGoodsModelsId != null) { - sql.append(" and BASE_GOODS_MODELS_ID=:baseGoodsModelsId"); - paramts.put("baseGoodsModelsId", baseGoodsModelsId); - } - if (states != null) { - sql.append(" and STATES=:states"); - paramts.put("states", states); - } - if (buyType != null) { - sql.append(" and BUY_TYPE=:buyType"); - paramts.put("buyType", buyType); - } - return queryForInt(sql.toString(), paramts); - } - - - /** - * 鍑哄簱鏃跺�欙紝鍏堝叆搴撶殑鍏堝嚭搴擄紝鍚屾椂鍏ュ簱鐨勶紝鎸変环鏍奸珮鐨勫厛鍑哄簱 - * - * @param warehouseId 鎵�灞炰粨搴撲粨搴撶紪鍙� - * @param baseGoodsModelsId 瑙勬牸鍨嬪彿缂栧彿 - * @param states 鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛� - * @param buyType 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� - * @param goodsModelNum 鍙栧嚭鐨勬暟閲� + * 鏍规嵁鍨嬪彿鏌ヨ鍟嗗搧鎬讳环 + * + * @param baseGoodsModelsId + * @param type <br> + * 鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾 4 闆舵槦鍑哄簱 * @return */ - private static String QUERY_OUT_GOODS_ID = "SELECT * FROM L_WH_GOODS WHERE 1=1"; + GoodsModelCountDTO queryGoodsAmount(Long baseGoodsModelsId, Integer type); - public List<Map<String, Object>> queryOutGoods(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, Integer buyType, - Integer goodsModelNum) { - StringBuilder sql = new StringBuilder(QUERY_OUT_GOODS_ID); - Map<String, Object> paramts = new HashMap<>(); - if (warehouseType != null) { - sql.append(" and WAREHOUSE_TYPE=:warehouseType"); - paramts.put("warehouseType", warehouseType); - } - if (warehouseId != null) { - sql.append(" and WAREHOUSE_ID=:warehouseId"); - paramts.put("warehouseId", warehouseId); - } - if (baseGoodsModelsId != null) { - sql.append(" and BASE_GOODS_MODELS_ID=:baseGoodsModelsId"); - paramts.put("baseGoodsModelsId", baseGoodsModelsId); - } - if (states != null) { - sql.append(" and STATES=:states"); - paramts.put("states", states); - } - if (buyType != null) { - sql.append(" and BUY_TYPE=:buyType"); - paramts.put("buyType", buyType); - } - return select(sql.append(" limit ").append(goodsModelNum).toString(), paramts); - } - - - /** - * 鍑哄簱鏃跺�欙紝鍏堝叆搴撶殑鍏堝嚭搴擄紝鍚屾椂鍏ュ簱鐨勶紝鎸変环鏍奸珮鐨勫厛鍑哄簱 - * - * @param warehouseId 鎵�灞炰粨搴撲粨搴撶紪鍙� - * @param baseGoodsModelsId 瑙勬牸鍨嬪彿缂栧彿 - * @param states 鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛� - * @param buyType 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� - * @param goodsModelNum 鍙栧嚭鐨勬暟閲� - * @return - */ - public List<Long> queryOutGoodsId(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, Integer buyType, Integer goodsModelNum) { - List<Map<String, Object>> outGoods = queryOutGoods(warehouseType, warehouseId, baseGoodsModelsId, states, buyType, goodsModelNum); - if (CollectionUtils.isEmpty(outGoods)) { - return null; - } - List<Long> whGoodsIds = outGoods.stream().map(map -> (Long) map.get("id")).collect(Collectors.toList()); - return whGoodsIds; - } - - private static String QUERY_GOODS_PRICE_BY_ID = "SELECT sum(PRICE)totalPrice from L_WH_GOODS goods where 1=1"; - - public long queryGoodsPriceById(List<Long> goodsIds) { - StringBuilder sql = new StringBuilder(QUERY_GOODS_PRICE_BY_ID); - Map<String, Object> paramts = new HashMap<>(); - if (!CollectionUtils.isEmpty(goodsIds)) { - sql.append(" and id in(:goodsIds)"); - paramts.put("goodsIds", goodsIds); - } - List<Map<String, Object>> map = this.select(sql.toString(), paramts); - if (CollectionUtils.isEmpty(map)) { - return 0; - } - BigDecimal totalPrice = (BigDecimal) map.get(0).get("totalPrice"); - return totalPrice.longValue(); - } - - - /** - * 鏌ヨ鎶ュ簾鐗╁搧 榛樿浼樺厛鎶ュ簾鏈�楂樹环鐨勭墿鍝� - * - * @param warehouseType - * @param warehouseId - * @param transBusinessId 璋冩嫧鍗曞彿 - * @param nowUserName 浣跨敤浜哄鍚� - * @param baseGoodsModelsId 鐗╁搧鍨嬪彿 - * @param states 鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾 4 闆舵槦鍑哄簱锛� - * @param goodsModelNum 鍙栧嚭鐨勬暟閲� - * @return - */ - - private static String QUERY_SCRAPPED_GOODS_PREFIX_1 = "SELECT goods.id FROM L_WH_GOODS goods LEFT JOIN L_GOODS_USER_RECORD useRecord ON goods.id=useRecord.WH_GOODS_ID AND useRecord.LAST_RECORD=1 WHERE 1=1 "; - private static String QUERY_SCRAPPED_GOODS_PREFIX_2 = " AND goods.id IN (SELECT lwgrd.WH_GOODS_ID FROM L_WAREHOUSE_FLOW flow LEFT JOIN L_WH_GOODS_RECORD lwgr ON lwgr.WAREHOUSE_FLOW_ID=flow.id LEFT JOIN L_WH_GOODS_RECORD_DETAILS lwgrd ON lwgrd.WH_GOODS_RECORD_ID=lwgr.id WHERE flow.THIS_TYPE=4 AND flow.BUSINESS_FORM_ID=:transBusinessId)"; - private static String QUERY_SCRAPPED_GOODS_END = " ORDER BY goods.PRICE DESC,goods.PROCURE_DATE ASC,goods.id"; - - public List<Map<String, Object>> queryScrappedGoods(Integer warehouseType, - Long warehouseId, - Long transBusinessId, - String nowUserName, - Long baseGoodsModelsId, - Short states, - Integer goodsModelNum) { - if (warehouseType == null) { - warehouseType = 0; - } - StringBuilder sql = new StringBuilder(QUERY_SCRAPPED_GOODS_PREFIX_1); - Map<String, Object> paramts = new HashMap<>(); - if (warehouseType != null) { - sql.append(" AND goods.WAREHOUSE_TYPE=:warehouseType"); - paramts.put("warehouseType", warehouseType); - } - if (warehouseId != null) { - sql.append(" AND goods.WAREHOUSE_ID=:warehouseId"); - paramts.put("warehouseId", warehouseId); - } - if (StringUtils.isNotEmpty(nowUserName)) { - sql.append(" AND useRecord.NOW_USER_NAME=:nowUserName"); - paramts.put("nowUserName", nowUserName); - } - if (baseGoodsModelsId != null) { - sql.append(" AND goods.BASE_GOODS_MODELS_ID=:baseGoodsModelsId"); - paramts.put("baseGoodsModelsId", baseGoodsModelsId); - } - if (states != null) { - sql.append(" AND goods.STATES=:states"); - paramts.put("states", states); - } - if (transBusinessId != null) { - sql.append(QUERY_SCRAPPED_GOODS_PREFIX_2); - paramts.put("transBusinessId", transBusinessId); - } - sql.append(QUERY_SCRAPPED_GOODS_END); - if (goodsModelNum != null) { - sql.append(" limit ").append(goodsModelNum); - } - return select(sql.toString(), paramts); - } - - /** - * 鏌ヨ鎶ュ簾鐗╁搧 榛樿浼樺厛鎶ュ簾鏈�楂樹环鐨勭墿鍝� - * - * @param warehouseType - * @param warehouseId - * @param transBusinessId 璋冩嫧鍗曞彿 - * @param nowUserName 浣跨敤浜哄鍚� - * @param baseGoodsModelsId 鐗╁搧鍨嬪彿 - * @param states 鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾 4 闆舵槦鍑哄簱锛� - * @param goodsModelNum 鍙栧嚭鐨勬暟閲� - * @return - */ - public List<Long> queryScrappedGoodsIds(Integer warehouseType, - Long warehouseId, - Long transBusinessId, - String nowUserName, - Long baseGoodsModelsId, - Short states, - Integer goodsModelNum) { - List<Map<String, Object>> outGoods = queryScrappedGoods(warehouseType, warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, states, - goodsModelNum); - if (CollectionUtils.isEmpty(outGoods)) { - return null; - } - List<Long> whGoodsIds = outGoods.stream().map(map -> (Long) map.get("id")).collect(Collectors.toList()); - return whGoodsIds; - } - - - /** - * 璁剧疆鐗╁搧鐘舵�佷负璋冩嫧涓� - * - * @param whGoods - * @param toWarehouseId - * @param toWarehouseName - * @return - */ - private static String MOD_GOODS_TRANSFERING_PREFIX = "update L_WH_GOODS set "; - - public int modGoodsTransfering(List<Long> whGoods, Integer warehouseType, Long toWarehouseId, String toWarehouseName, Integer states) { - StringBuilder sql = new StringBuilder(MOD_GOODS_TRANSFERING_PREFIX); - ArrayList<Object> params = new ArrayList<>(); - if (toWarehouseId != null) { - sql.append(", WAREHOUSE_TYPE=?"); - params.add(warehouseType); - } - if (toWarehouseId != null) { - sql.append(", WAREHOUSE_ID=?"); - params.add(toWarehouseId); - } - if (toWarehouseName != null) { - sql.append(", WAREHOUSE_NAME=?"); - params.add(toWarehouseName); - } - if (states != null) { - sql.append(", STATES=?"); - params.add(states); - } - sql.deleteCharAt(22); - sql.append(" where id in(").append(StringUtils.join(whGoods, ",")).append(")"); - return update(sql.toString(), params.toArray()); - } - + List<GoodsInfoDTO> queryGoodsInfo(Set<Long> baseModelIds, Set<Long> wareHouseIds); } -- Gitblit v1.9.1