黎星凯
2024-04-15 62b6a7fac3f2acde70b578431147c4a01f19c182
consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java
@@ -1,13 +1,5 @@
package com.consum.base.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;
import com.consum.base.core.WhBusinessEnum;
import com.consum.base.core.utils.MapUtils;
import com.consum.base.core.utils.MapperUtil;
@@ -16,6 +8,13 @@
import com.consum.base.service.LWhProcureModelService;
import com.consum.model.po.LWhProcureModel;
import com.walker.jdbc.service.BaseServiceImpl;
import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
 * @ClassName LWhProcureModelService
@@ -37,7 +36,6 @@
    public List<LWhProcureModel> getModelByForm(WhBusinessEnum businessType, Long businessId) {
        StringBuilder sql = new StringBuilder(GET_MODEL_BY_FORM);
        HashMap<String, Object> paramts = new HashMap<>();
        // 项目阶段id
        if (businessType != null) {
            sql.append(" and BUSINESS_TYPE=:businessType ");
            paramts.put("businessType", businessType.getValue());
@@ -65,7 +63,6 @@
    public List<Map<String, Object>> getFfOrderByGoodsIdAndDept(Long goodsTemplateId, Long departmentId) {
        StringBuilder sql = new StringBuilder(GET_FF_ORDER_BY_GOODS_ID_AND_DEPT);
        HashMap<String, Object> paramts = new HashMap<>();
        // 项目阶段id
        if (goodsTemplateId != null) {
            sql.append(" AND baseTemp.ID=:goodsTemplateId ");
            paramts.put("goodsTemplateId", goodsTemplateId);
@@ -85,21 +82,27 @@
     * @return
     */
    private static String GET_GOODS_USE_INFO_BY_FF_ORDER_AND_GOOD_ID =
        "SELECT baseModel.GOODS_TEMPLATES_ID,proModel.BASE_GOODS_MODELS_ID,baseModel.MODEL_NAME,baseModel.UNIT,CONCAT(baseCate.CLASSIFICATION,'类') CLASSIFICATION,modelUser.id MODEL_USER_id,modelUser.NOW_USER_PHONE,modelUser.NOW_USER_NAME,CASE WHEN modelUser.id IS NULL THEN proModel.USE_COUNT ELSE modelUser.USE_COUNT END AS user_Use_Count,CASE WHEN modelUser.id IS NULL THEN proModel.COUNTS ELSE modelUser.GOODS_NUM END AS GOODS_NUM FROM L_WH_PROCURE_MODEL proModel LEFT JOIN BASE_GOODS_MODELS baseModel ON proModel.BASE_GOODS_MODELS_ID=baseModel.id LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseTemp.id=baseModel.GOODS_TEMPLATES_ID LEFT JOIN BASE_CATEGORY baseCate ON baseCate.id=baseTemp.CATEGORY_ID LEFT JOIN L_WH_PROCURE_MODEL_USER modelUser ON modelUser.WH_PROCURE_MODEL_ID=proModel.id WHERE proModel.BUSINESS_TYPE=4 AND proModel.USE_COUNT> 0 ";
        "SELECT baseModel.GOODS_TEMPLATES_ID,proModel.BASE_GOODS_MODELS_ID,baseModel.MODEL_NAME,baseModel.UNIT,CONCAT(baseCate.CLASSIFICATION,'类') CLASSIFICATION,modelUser.id MODEL_USER_id,modelUser.NOW_USER_PHONE,modelUser.NOW_USER_NAME,CASE WHEN modelUser.id IS NULL THEN proModel.USE_COUNT ELSE modelUser.USE_COUNT END AS user_Use_Count,CASE WHEN modelUser.id IS NULL THEN proModel.COUNTS ELSE modelUser.GOODS_NUM END AS GOODS_NUM FROM L_WH_PROCURE_MODEL proModel LEFT JOIN BASE_GOODS_MODELS baseModel ON proModel.BASE_GOODS_MODELS_ID=baseModel.id LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseTemp.id=baseModel.GOODS_TEMPLATES_ID LEFT JOIN BASE_CATEGORY baseCate ON baseCate.id=baseTemp.CATEGORY_ID LEFT JOIN L_WH_PROCURE_MODEL_USER modelUser ON modelUser.WH_PROCURE_MODEL_ID=proModel.id " ;
    private static String GET_GOODS_USE_INFO_BY_FF_ORDER_AND_GOOD_ID_END = "WHERE proModel.BUSINESS_TYPE=4 AND proModel.USE_COUNT> 0 ";
    @Override
    public List<Map<String, Object>> getGoodsUseInfoByFfOrderAndGoodId(Long goodsTemplateId, Long transBusinessId) {
        StringBuilder sql = new StringBuilder(GET_GOODS_USE_INFO_BY_FF_ORDER_AND_GOOD_ID);
        StringBuilder sqlEnd = new StringBuilder(GET_GOODS_USE_INFO_BY_FF_ORDER_AND_GOOD_ID_END);
        HashMap<String, Object> paramts = new HashMap<>();
        if (goodsTemplateId != null) {
            sql.append(" AND baseModel.GOODS_TEMPLATES_ID=:goodsTemplateId ");
            sqlEnd.append(" AND baseModel.GOODS_TEMPLATES_ID=:goodsTemplateId ");
            paramts.put("goodsTemplateId", goodsTemplateId);
        }
        if (transBusinessId != null) {
            sql.append(" AND proModel.BUSINESS_ID=:transBusinessId ");
            sql.append("and modelUser.PROCURE_MODEL_USER_RECORD_ID = (select max(ID) from L_WH_PROCURE_MODEL_USER_RECORD where TRANS_BUSINESS_ID=:recordTransBusinessId)");
            paramts.put("recordTransBusinessId", transBusinessId);
            sqlEnd.append(" AND proModel.BUSINESS_ID=:transBusinessId ");
            paramts.put("transBusinessId", transBusinessId);
        } else {
            sql.append("and modelUser.PROCURE_MODEL_USER_RECORD_ID = (select max(ID) from L_WH_PROCURE_MODEL_USER_RECORD)");
        }
        return select(sql.toString(), paramts, new MapperUtil());
        return select(sql.append(sqlEnd).toString(), paramts, new MapperUtil());
    }
    @Override
@@ -169,4 +172,20 @@
        });
        return goodsModelList;
    }
    @Override
    public List<LWhProcureModel> getModelByForm1(WhBusinessEnum businessType, Long businessId) {
        StringBuilder sql = new StringBuilder("SELECT * FROM L_WH_PROCURE_MODEL WHERE 1=1 ");
        HashMap<String, Object> paramts = new HashMap<>();
        if (businessType != null) {
            sql.append(" and BUSINESS_TYPE=:businessType ");
            paramts.put("businessType", businessType.getValue());
        }
        if (businessId != null) {
            sql.append(" and BUSINESS_ID=:businessId ");
            paramts.put("businessId", businessId);
        }
        List<LWhProcureModel> select = select(sql.toString(), paramts, new LWhProcureModel());
        return select;
    }
}