cy
2023-11-27 20c30d26f8bab22a4cb6b6459962fa92d6da490f
consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
@@ -1,5 +1,6 @@
package com.consum.base.service;
import com.consum.base.core.utils.MapperUtil;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import org.apache.commons.lang3.StringUtils;
@@ -260,4 +261,16 @@
        return update(sql.toString(), params.toArray());
    }
    private static String GOODS_NUM_PRICE = "SELECT t.tenantId,count(id) total_Num,count(CASE WHEN STATES=2 THEN 1 END) xia_fa_num,IFNULL(round(sum(PRICE)/1000000,2),0) total_price,IFNULL(ROUND(count(CASE WHEN STATES=2 THEN 1 END)/count(id),4),0)*100 AS zhan_you_percent,count(CASE COST_TYPE WHEN 1 THEN 1 END) a_total_Num,count(CASE COST_TYPE WHEN 2 THEN 1 END) b_total_Num,count(CASE COST_TYPE WHEN 3 THEN 1 END) c_total_Num FROM (SELECT tCangKu.tenantId,tKuCun.id,tKuCun.STATES,tKuCun.COST_TYPE,tKuCun.price FROM (SELECT tenant.id tenantId,tenant.NAME AS org_name,ware.*FROM fin_sys_tenant tenant RIGHT JOIN ( SELECT 0 WAREHOUSE_TYPE,id,AGENCY_ID,WAREHOUSE_NAME FROM BASE_WAREHOUSE UNION ALL SELECT 1 WAREHOUSE_TYPE,id,TENANT_ID AGENCY_ID,`NAME` WAREHOUSE_NAME FROM fin_sys_tenant_department) ware ON tenant.id=ware.AGENCY_ID WHERE 1=1 ";
    private static String GOODS_NUM_PRICE_END = ") tCangKu LEFT JOIN L_WH_GOODS tKuCun ON tCangKu.WAREHOUSE_TYPE=tKuCun.WAREHOUSE_TYPE AND tCangKu.id=tKuCun.WAREHOUSE_ID AND tKuCun.STATES BETWEEN 1 AND 2) t GROUP BY t.tenantId";
    //机构
    public List<Map<String, Object>> getGoodsNumPrice(Long agencyId) {
        StringBuilder sql = new StringBuilder(GOODS_NUM_PRICE);
        Map<String, Object> paramts = new HashMap<>();
        sql.append(" and tenant.id=:agencyId");
        paramts.put("agencyId", agencyId);
        return select(sql.append(GOODS_NUM_PRICE_END).toString(), paramts, new MapperUtil());
    }
}