consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
@@ -1,51 +1,59 @@
package com.consum.base.service;
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;
/**
 * @ClassName LWhGoodsService
 * @Author cy
 * @Date 2023/10/24
 * @Description
 * @Version 1.0
 **/
@Service
public class LWhGoodsService extends BaseServiceImpl {
import com.consum.base.pojo.dto.GoodsModelCountDTO;
import com.walker.jdbc.service.BaseService;
import java.util.Set;
/**
 * LWhGoodsService
 *
 * @author asus
 * @version 2023/12/05 13:52
 **/
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 查询某个型号在仓库中的数量
     * 根据型号查询商品总价
     *
     * @param baseGoodsModelsId
     * @param type <br>
     *            状态(0=在途调拨;1=入库未分发;2=已下发;3=报废 4 零星出库
     * @return
     */
    private static String query_Goods_Model_Num = "SELECT COUNT(1) from L_WH_GOODS where 1=1";
    GoodsModelCountDTO queryGoodsAmount(Long baseGoodsModelsId, Integer type);
    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=:businessId");
            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);
    }
    List<GoodsInfoDTO> queryGoodsInfo(Set<Long> baseModelIds);
}