futian.liu
2023-12-29 e487f1bfa92d9e90dd8f876479bbfced09b4d58c
consum-base/src/main/java/com/consum/base/service/impl/LWhGoodsStatisticsServiceImpl.java
@@ -1,13 +1,17 @@
package com.consum.base.service.impl;
import com.consum.base.service.LWhGoodsStatisticsService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;
import com.consum.base.core.utils.MapUtils;
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.pojo.query.LWhGoodsStatisQry;
import com.consum.base.pojo.response.GoodsStatisticsInfoVO;
import com.consum.base.service.LWhGoodsStatisticsService;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
@@ -21,7 +25,7 @@
@Service
public class LWhGoodsStatisticsServiceImpl extends BaseServiceImpl implements LWhGoodsStatisticsService {
    private String GET_WHGOODS_STATIS_LIST_COLUMN =
        "SELECT tCangKu.org_name,tCangKu.WAREHOUSE_NAME,goodsTemp.GOODS_CODE,tKuCun.GOODS_TEMPLATE_NAME,tKuCun.BASE_GOODS_MODELS_NAME,CASE tKuCun.COST_TYPE WHEN 1 THEN 'A类' WHEN 2 THEN 'B类' WHEN 3 THEN 'C类' END AS cost_Type,tKuCun.total_num,tKuCun.zai_ku_num,tKuCun.diao_bo_num,tKuCun.bao_fei_num FROM ";
        "SELECT tCangKu.org_name,tCangKu.WAREHOUSE_NAME,goodsTemp.GOODS_CODE,tKuCun.GOODS_TEMPLATE_NAME,tKuCun.BASE_GOODS_MODELS_NAME,CASE tKuCun.COST_TYPE WHEN 1 THEN 'A类' WHEN 2 THEN 'B类' WHEN 3 THEN 'C类' END AS cost_Type,tKuCun.zai_ku_num,tKuCun.diao_bo_num,tKuCun.bao_fei_num FROM ";
    private String GET_WHGOODS_STATIS_LIST_T_CANGKU =
        "(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 ";
    private String GET_WHGOODS_STATIS_LIST_T_CANGKU_WHERE = "where 1=1";
@@ -35,6 +39,9 @@
    @Override
    public List getWhGoodsStatisList(LWhGoodsStatisQry param) {
        List<GoodsStatisticsInfoVO> result = Lists.newArrayList();
        StringBuilder sqlColumn = new StringBuilder(GET_WHGOODS_STATIS_LIST_COLUMN);
        StringBuilder sqlCangKu = new StringBuilder(GET_WHGOODS_STATIS_LIST_T_CANGKU);
        StringBuilder sqlCangKuWhere = new StringBuilder(GET_WHGOODS_STATIS_LIST_T_CANGKU_WHERE);
@@ -98,10 +105,18 @@
        StringBuilder sql = new StringBuilder();
        sql.append(sqlColumn).append(sqlCangKu).append(sqlCangKuWhere).append(sqlCangKuEnd).append(sqlKuCun)
            .append(sqlKuCunWhere).append(sqlKuCunGoupBy)
            .append(sqlKuCunWhere).append(sqlKuCunGoupBy).append(sqlEndWhere);
            .append(sqlEndWhere);
        return select(sql.toString(), paramts, new MapperUtil());
        List<Map<String, Object>> select = select(sql.toString(), paramts, new MapperUtil());
        select.forEach(item -> {
            GoodsStatisticsInfoVO goodsStatisticsInfoVO = MapUtils.convertMapToObj(item, GoodsStatisticsInfoVO.class);
            // 统计总数改为:在库数量+报废数量
            if (goodsStatisticsInfoVO.getZaiKuNum() != null && goodsStatisticsInfoVO.getBaoFeiNum() != null) {
                goodsStatisticsInfoVO
                    .setTotalNum(goodsStatisticsInfoVO.getZaiKuNum() + goodsStatisticsInfoVO.getBaoFeiNum());
            }
            result.add(goodsStatisticsInfoVO);
        });
        return result;
    }
}