| | |
| | | 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.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 |
| | | * @Author cy |
| | | * @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 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(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_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 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(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 = ""; |
| | | |
| | | public int modGoodsTransfering(List<Long> whGoods, Long toWarehouseId, String toWarehouseName) { |
| | | //upda |
| | | return 0; |
| | | } |
| | | List<GoodsInfoDTO> queryGoodsInfo(Set<Long> baseModelIds, Set<Long> wareHouseIds); |
| | | } |