From 584a165a8d4c0c82479663c9df988fc20226b714 Mon Sep 17 00:00:00 2001 From: luqingyang <lqy5492@163.com> Date: 星期五, 27 十月 2023 17:23:27 +0800 Subject: [PATCH] 出入库管理 相关代码 --- consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 114 insertions(+), 3 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 16b81eb..25bf8ac 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,7 +1,14 @@ package com.consum.base.service; +import com.walker.infrastructure.utils.CollectionUtils; import com.walker.jdbc.service.BaseServiceImpl; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @ClassName LWhGoodsService @@ -18,13 +25,117 @@ * @param warehouseId 鎵�灞炰粨搴撲粨搴撶紪鍙� * @param baseGoodsModelsId 瑙勬牸鍨嬪彿缂栧彿 * @param states 锛�0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛� + * @param buyType 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� * @return 鏌ヨ鏌愪釜鍨嬪彿鍦ㄤ粨搴撲腑鐨勬暟閲� */ - private static String query_Goods_Model_Num = ""; + private static String query_Goods_Model_Num = "SELECT COUNT(1) from L_WH_GOODS where 1=1"; - public int queryGoodsModelNum(long warehouseId, long baseGoodsModelsId, Short states) { + public int queryGoodsModelNum(Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType) { + StringBuilder sql = new StringBuilder(query_Goods_Model_Num); + Map<String, Object> paramts = new HashMap<>(); + + 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); + } - return 0; + /** + * 鍑哄簱鏃跺�欙紝鍏堝叆搴撶殑鍏堝嚭搴擄紝鍚屾椂鍏ュ簱鐨勶紝鎸変环鏍奸珮鐨勫厛鍑哄簱 + * + * @param warehouseId 鎵�灞炰粨搴撲粨搴撶紪鍙� + * @param baseGoodsModelsId 瑙勬牸鍨嬪彿缂栧彿 + * @param states 鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛� + * @param buyType 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� + * @param goodsModelNum 鍙栧嚭鐨勬暟閲� + * @return + */ + private static String QUERY_OUT_GOODS_ID = "SELECT*FROM L_WH_GOODS WHERE 1=1"; + + public List<Map<String, Object>> queryOutGoods(Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType, Integer goodsModelNum) { + StringBuilder sql = new StringBuilder(QUERY_OUT_GOODS_ID); + Map<String, Object> paramts = new HashMap<>(); + if (warehouseId != null) { + sql.append(" and WAREHOUSE_ID=:warehouseId"); + paramts.put("warehouseId", warehouseId); + } + if (baseGoodsModelsId != null) { + sql.append(" and BASE_GOODS_TEMPLATE_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(Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType, Integer goodsModelNum) { + List<Map<String, Object>> outGoods = queryOutGoods(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; + } + + /** + * 璁剧疆鐗╁搧鐘舵�佷负璋冩嫧涓� + * + * @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, Long toWarehouseId, String toWarehouseName, Short states) { + StringBuilder sql = new StringBuilder(MOD_GOODS_TRANSFERING_PREFIX); + ArrayList<Object> params = new ArrayList<>(); + 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(?)"); + params.add(whGoods); + return update(sql.toString(), params.toArray()); } } -- Gitblit v1.9.1