cy
2023-11-29 2b20f8284d8c59549ebcb9dabca36b5bd5b35702
feat: 首页统计预警条数;部门台账物品查询导出
11个文件已修改
278 ■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/controller/FinWarehouseLedgerController.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhWarningController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/CodeGeneratorEnum.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/query/LWhLedgerQry.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/FinWarehouseLedgerServiceImpl.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhWarningServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
deploy-jar-single/src/main/resources/import/depTaiZhangExpTemp.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/FinWarehouseLedgerController.java
@@ -21,6 +21,7 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -61,6 +62,7 @@
            param.setAgencyId(Long.valueOf(tenantId));
        }
        param.setStates((short) 1);
        param.setWarehouseType((short) 0);
        GenericPager pager = finWarehouseLedgerService.ledgerList(param);
        return ResponseValue.success(pager);
    }
@@ -83,6 +85,7 @@
            param.setAgencyId(Long.valueOf(tenantId));
        }
        param.setStates((short) 1);
        param.setWarehouseType((short) 0);
        param.setPageNum(1);
        param.setPageSize(Integer.MAX_VALUE);
        GenericPager<Map<String, Object>> pager = finWarehouseLedgerService.ledgerList(param);
@@ -107,4 +110,83 @@
        }
    }
    /**
     * @Description 分页列表查询
     * @Author wh
     * @Date 2023/7/11 13:59
     */
    @RequestMapping("/getDeptLedgerList")
    public ResponseValue getDeptLedgerList() {
        LWhLedgerQry param = CommonUtil.getObjFromReq(LWhLedgerQry.class);
        LWhLedgerQry query = new LWhLedgerQry();
        CommonUtil.copyProperties(param, query);
        param = query;
        S_user_core currentUser = this.getCurrentUser();
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
        }
        /*当前登录人只能看到自己机构下的列表*/
        FinSysTenantUser sysInfo = this.getSysInfo();
        String tenantId = sysInfo.getTenantId();
        Long paramAgencyId = param.getAgencyId();
        if (paramAgencyId == null || !paramAgencyId.toString().startsWith(tenantId)) {
            param.setAgencyId(Long.valueOf(tenantId));
        }
        ArrayList<Short> statesList = new ArrayList<>();
        statesList.add((short)1);
        statesList.add((short)2);
        param.setStatesList(statesList);
        param.setWarehouseType((short) 1);
        GenericPager pager = finWarehouseLedgerService.depLedgerList(param);
        return ResponseValue.success(pager);
    }
    @RequestMapping("/getDeptListExport")
    public void getDeptListExport(HttpServletResponse response) throws Exception {
        LWhLedgerQry param = CommonUtil.getObjFromReq(LWhLedgerQry.class);
        LWhLedgerQry query = new LWhLedgerQry();
        CommonUtil.copyProperties(param, query);
        param = query;
        S_user_core currentUser = this.getCurrentUser();
        if (currentUser == null) {
            return;
        }
        /*当前登录人只能看到自己机构下的列表*/
        FinSysTenantUser sysInfo = this.getSysInfo();
        String tenantId = sysInfo.getTenantId();
        Long paramAgencyId = param.getAgencyId();
        if (paramAgencyId == null || !paramAgencyId.toString().startsWith(tenantId)) {
            param.setAgencyId(Long.valueOf(tenantId));
        }
        ArrayList<Short> statesList = new ArrayList<>();
        statesList.add((short)1);
        statesList.add((short)2);
        param.setStatesList(statesList);
        param.setWarehouseType((short) 1);
        param.setPageNum(1);
        param.setPageSize(Integer.MAX_VALUE);
        GenericPager<Map<String, Object>> pager = finWarehouseLedgerService.depLedgerList(param);
        List<Map<String, Object>> datas = pager.getDatas();
        org.springframework.core.io.Resource resource = new ClassPathResource("import/depTaiZhangExpTemp.xlsx");
        // 获取文件输入流
        InputStream inputStream = resource.getInputStream();
        Workbook wb = new XSSFWorkbook(inputStream);
        TemplateExportParams params = new TemplateExportParams();
        params.setTemplateWb(wb);
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("dataList", datas);
        Workbook workbook = ExcelExportUtil.exportExcel(params, map);
        // 设置响应头
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
        response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("库存查询.xlsx", "utf-8"));
        try (OutputStream outputStream = response.getOutputStream()) {
            workbook.write(outputStream);
            workbook.close();
        }
    }
}
consum-base/src/main/java/com/consum/base/controller/LWhWarningController.java
@@ -32,6 +32,28 @@
    @Resource
    private LWhWarningServiceImpl lWhWarningService;
    @GetMapping("/getWarningTypeNum")
    public ResponseValue getWarningTypeNum() {
        WhWarningQry param = CommonUtil.getObjFromReq(WhWarningQry.class);
        WhWarningQry param2 = new WhWarningQry();
        CommonUtil.copyProperties(param, param2);
        param = param2;
        /*当前登录人只能看到自己机构下的列表*/
        FinSysTenantUser sysInfo = this.getSysInfo();
        String tenantId = sysInfo.getTenantId();
        Long paramAgencyId = param.getAgencyId();
        if (paramAgencyId == null || !paramAgencyId.toString().startsWith(tenantId)) {
            param.setAgencyId(Long.valueOf(tenantId));
        }
        if (param.getStates() == null) {
            param.setStates(1);
        } else if (param.getStates() == 0) {
            param.setStates(null);
        }
        return ResponseValue.success(lWhWarningService.getWarningTypeNum(param));
    }
    @GetMapping("/getList")
    public ResponseValue getList() {
        WhWarningQry param = CommonUtil.getObjFromReq(WhWarningQry.class);
consum-base/src/main/java/com/consum/base/core/CodeGeneratorEnum.java
@@ -24,6 +24,15 @@
    Transfer("DB"),
    /**
     * 分发
     */
    Distribute("FF"),
    /**
     * 退回
     */
    GOBACK("TH"),
    /**
     * 报废
     */
    Scrapped("BF"),
consum-base/src/main/java/com/consum/base/pojo/query/LWhLedgerQry.java
@@ -5,6 +5,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @ClassName LWhLedgerQry
 * @Author cy
@@ -17,6 +19,9 @@
public class LWhLedgerQry extends ParamRequest {
    @ApiModelProperty("机构")
    private Long agencyId;
    @ApiModelProperty("部门ID")
    private Long departmentId;
    @ApiModelProperty("仓库类型")
    private Short warehouseType;
@@ -36,6 +41,7 @@
    @ApiModelProperty("状态(0=在途调拨;1=入库未分发;2=已下发;3=报废 4 零星出库)")
    private Short states;
    private List<Short> statesList;
    @ApiModelProperty(value = "每页显示条数")
    private Integer pageSize = 10;
consum-base/src/main/java/com/consum/base/service/FinWarehouseLedgerServiceImpl.java
@@ -3,6 +3,7 @@
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.pojo.query.LWhLedgerQry;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import org.springframework.stereotype.Service;
@@ -69,6 +70,64 @@
        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
    }
 private String DEPT_LEDGER_LIST_QUERY_PREFIX = "SELECT tenant.`name` AS AGENCY_NAME,ware.`name` depart_name,goodsTemp.CATEGORY_NAME,CASE goods.COST_TYPE WHEN 1 THEN 'A类' WHEN 2 THEN 'B类' WHEN 3 THEN 'C类' END AS cost_Type,goods.GOODS_TEMPLATE_NAME,goods.BASE_GOODS_MODELS_NAME,goods.UNIT unit,COUNt(goods.id) kucun FROM L_WH_GOODS goods LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON goods.BASE_GOODS_TEMPLATE_ID=goodsTemp.id LEFT JOIN fin_sys_tenant_department ware ON ware.id=goods.WAREHOUSE_ID LEFT JOIN fin_sys_tenant tenant ON ware.TENANT_ID=tenant.id WHERE 1=1 ";
    private String DEPT_LEDGER_LIST_QUERY_GROUP = " GROUP BY tenant.`name`,ware.`name`,goodsTemp.CATEGORY_NAME,goods.COST_TYPE,goods.GOODS_TEMPLATE_NAME,goods.BASE_GOODS_MODELS_NAME,goods.UNIT";
    public GenericPager<Map<String, Object>> depLedgerList(LWhLedgerQry param) {
        StringBuilder sql = new StringBuilder(DEPT_LEDGER_LIST_QUERY_PREFIX);
        Map<String, Object> paramts = new HashMap<>();
        //状态(0=在途调拨;1=入库未分发;2=已下发;3=报废 4 零星出库)
        if (param.getStates() != null) {
            sql.append(" and goods.states = :states");
            paramts.put("states", param.getStates());
        }
        if (!CollectionUtils.isEmpty(param.getStatesList())){
            sql.append(" and goods.states in(:statesList)");
            paramts.put("statesList", param.getStatesList());
        }
        //机构
        if (param.getAgencyId() != null) {
            sql.append(" and ware.TENANT_ID= :agencyId");
            paramts.put("lengthAgencyId", param.getAgencyId());
            paramts.put("agencyId", param.getAgencyId());
        }
        // 部门
        if (param.getDepartmentId() != null) {
            sql.append(" and goods.WAREHOUSE_ID= :departmentId");
            paramts.put("departmentId", param.getDepartmentId());
        }
        //仓库类型
        if (param.getWarehouseType() != null) {
            sql.append(" AND goods.WAREHOUSE_TYPE = :warehouseType");
            paramts.put("warehouseType", param.getWarehouseType());
        }
//        if (param.getWarehouseId() != null) {
//            sql.append(" AND goods.WAREHOUSE_ID = :warehouseId");
//            paramts.put("warehouseId", param.getWarehouseId());
//        }
        //物品名称
        if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) {
            sql.append(" AND goods.GOODS_TEMPLATE_NAME like :goodsTemplateName");
            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
        }
        if (param.getGoodsTemplateId() != null) {
            sql.append(" AND goods.BASE_GOODS_TEMPLATE_ID=:goodsTemplateId");
            paramts.put("goodsTemplateId", param.getGoodsTemplateId());
        }
        //分类
        if (param.getCategoryId() != null) {
            sql.append(" AND goodsTemp.CATEGORY_ID=:categoryId");
            paramts.put("categoryId", param.getCategoryId());
        }
        //价值类型
        if (param.getCostType() != null) {
            sql.append(" AND goods.COST_TYPE=:costType");
            paramts.put("costType", param.getCostType());
        }
        sql.append(DEPT_LEDGER_LIST_QUERY_GROUP);
        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
    }
    private String DEPART_LEDGER_LIST_QUERY_PREFIX = "SELECT tenant.id tenantId,tenant.NAME AS AGENCY_NAME,ware.NAME AS depart_name,goodsTemp.CATEGORY_NAME,CASE goods.COST_TYPE WHEN 1 THEN 'A类' WHEN 2 THEN 'B类' WHEN 3 THEN 'C类' END AS cost_Type,goods.GOODS_TEMPLATE_NAME,goods.BASE_GOODS_MODELS_NAME,goods.UNIT unit,COUNt(goods.id) kucun FROM L_WH_GOODS goods LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON goods.BASE_GOODS_TEMPLATE_ID=goodsTemp.id LEFT JOIN fin_sys_tenant_department ware ON ware.id=goods.WAREHOUSE_ID AND goods.WAREHOUSE_TYPE=1 LEFT JOIN fin_sys_tenant tenant ON tenant.id=ware.TENANT_ID WHERE 1=1 ";
    private String DEPART_LEDGER_LIST_QUERY_GROUP = " GROUP BY tenant.id,tenant.NAME,ware.NAME,goodsTemp.CATEGORY_NAME,goods.COST_TYPE,goods.GOODS_TEMPLATE_NAME,goods.BASE_GOODS_MODELS_NAME,goods.UNIT";
consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
@@ -21,9 +21,6 @@
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils;
@@ -31,6 +28,10 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @Description 盘点
@@ -337,9 +338,9 @@
        mapGenericPager.getDatas().forEach(item -> {
            FormInventoryDetailVO formInventoryDetailVO = MapUtils.convertMapToObj(item, FormInventoryDetailVO.class);
            formInventoryDetailVO.setInventoryResultType(
                formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "盘盈" : "盘亏"));
                    formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "盘盈" : "盘亏"));
            formInventoryDetailVO.setInventoryType(
                formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "盘盈入库" : "盘亏出库"));
                    formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "盘盈入库" : "盘亏出库"));
            formInventoryDetailVO.setWarehouseFormCode(formInventoryDetailVO.getWarehouseFormCode());
            result.add(formInventoryDetailVO);
        });
@@ -350,8 +351,8 @@
    public List<FormInventoryGoodsVO> selectDetailById(Long id) {
        String sql = "select fig.id, fig.BASE_GOODS_TEMPLATE_ID,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME,"
            + "fig.INIT_COUNTS inventoryCount,fig.INVENTORY_COUNTS realNum,fig.INVENTORY_RESULT status,fig.unit,bgt.CLASSIFICATION type from "
            + "l_wh_form_inventory_goods fig left join base_goods_template bgt on bgt.id =fig.BASE_GOODS_TEMPLATE_ID  where fig.WH_FORM_INVENTORY_ID = :id";
                + "fig.INIT_COUNTS inventoryCount,fig.INVENTORY_COUNTS realNum,fig.INVENTORY_RESULT status,fig.unit,bgt.CLASSIFICATION type from "
                + "l_wh_form_inventory_goods fig left join base_goods_template bgt on bgt.id =fig.BASE_GOODS_TEMPLATE_ID  where fig.WH_FORM_INVENTORY_ID = :id";
        HashMap<String, Object> param = new HashMap<>();
        param.put("id", id);
        List<Map<String, Object>> select = select(sql, param, new MapperUtil());
@@ -381,9 +382,9 @@
        formInventoryVO.setWarehouseName(inventory.getWarehouseName());
        String sql =
            "select bgm.id,bgt.id baseGoodsTemplateId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,bgt.CLASSIFICATION type,bgm.UNIT "
                + "from base_goods_models bgm left join base_goods_template bgt on bgm.GOODS_TEMPLATES_ID = bgt.id "
                + "where bgt.AGENCY_ID = :agencyId";
                "select bgm.id,bgt.id baseGoodsTemplateId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,bgt.CLASSIFICATION type,bgm.UNIT "
                        + "from base_goods_models bgm left join base_goods_template bgt on bgm.GOODS_TEMPLATES_ID = bgt.id "
                        + "where bgt.AGENCY_ID = :agencyId";
        HashMap<String, Object> param = new HashMap<>();
        param.put("agencyId", inventory.getAgencyId());
        List<Map<String, Object>> result = this.select(sql, param, new MapperUtil());
consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
@@ -14,30 +14,20 @@
import com.consum.base.pojo.response.FormScrappedGoodsVO;
import com.consum.base.pojo.response.GoodsModelVO;
import com.consum.base.pojo.response.LWhFormScrappedExtendVO;
import com.consum.model.po.BaseGoodsModels;
import com.consum.model.po.BaseGoodsTemplate;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.FinSysTenantDepartment;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormScrapped;
import com.consum.model.po.LWhFormScrappedGoods;
import com.consum.model.po.SDictData;
import com.consum.model.po.*;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @Description 报废单
@@ -190,7 +180,7 @@
                scrappedGoodsList.add(scrappedGoods);
            }
            int flag2 = this.scrappedGoodsService.insert(scrappedGoodsList);
            int flag2 = this.scrappedGoodsService.insertBatch(scrappedGoodsList);
            if (flag2 != scrappedGoodsList.size()) {
                log.error("新增报废单物品记录 失败");
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -396,4 +386,5 @@
//        }
//        return scrappedExtend;
//    }
}
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
@@ -14,17 +14,7 @@
import com.consum.base.pojo.response.FormTransferGoodsVO;
import com.consum.base.pojo.response.GoodsModelVO;
import com.consum.base.pojo.response.LWHFromTransferExtendVO;
import com.consum.model.po.BaseGoodsModels;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.BaseWarehouseManager;
import com.consum.model.po.FinSysTenant;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormOutput;
import com.consum.model.po.LWhFormTransfer;
import com.consum.model.po.LWhGoodsRecord;
import com.consum.model.po.LWhProcureModel;
import com.consum.model.po.LWhProcureModelUser;
import com.consum.model.po.LWhProcureModelUserRecord;
import com.consum.model.po.*;
import com.consum.model.vo.LWhFormOutputVo;
import com.consum.model.vo.LWhGoodsRecordVo;
import com.iplatform.model.po.S_user_core;
@@ -32,17 +22,14 @@
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import java.util.*;
/**
 * @Description 调拨管理
@@ -99,8 +86,16 @@
        // 单据类型。0仓库调拨;1部门分发;2部门物品回退
        // TODO 枚举字典
        lWhFormTransfer.setBusinessType(businessType);
        CodeGeneratorEnum codeGeneratorEnum = null;
        if (businessType == 0){
            codeGeneratorEnum = CodeGeneratorEnum.Transfer;
        } else if (businessType == 1){
            codeGeneratorEnum = CodeGeneratorEnum.Distribute;
        } else if (businessType == 2){
            codeGeneratorEnum = CodeGeneratorEnum.GOBACK;
        }
        lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Transfer));
        lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(codeGeneratorEnum));
        Long warehouseId = param.getInWarehouseId();
        // 调拨类型单据
@@ -287,7 +282,7 @@
        }
        //状态
        if (param.getStates() != null) {
            sql.append(" and states =:states ");
            sql.append(" and ft.states =:states ");
            paramts.put("states", param.getStates());
        }
        //创建人
consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
@@ -275,7 +275,7 @@
    private static String GET_GOODS_NUM_BY_MONTH = "SELECT monthT.month_Num,IFNULL(datat.total_Num,0) total_Num,IFNULL(datat.add_total_Num,0) add_total_Num,IFNULL(datat.reduce_total_Num,0) reduce_total_Num FROM (SELECT monthT.month_Num FROM (SELECT ( SELECT 1) month_Num UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10 UNION SELECT 11 UNION SELECT 12) monthT) monthT LEFT JOIN ( SELECT t.tenantId,count(t.THIS_COUNT) total_Num,count(CASE t.THIS_TYPE WHEN 1 THEN t.THIS_COUNT END) add_total_Num,count(CASE t.THIS_TYPE WHEN 2 THEN t.THIS_COUNT END) reduce_total_Num,SUBSTR(DEAL_TIME,5,2) data_month FROM ( SELECT tCangKu.tenantId,tKuCun.id,tKuCun.THIS_TYPE,tKuCun.THIS_COUNT,tKuCun.DEAL_TIME 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 GET_GOODS_NUM_BY_MONTH_END = ")tCangKu LEFT JOIN L_WH_GOODS_RECORD tKuCun ON tCangKu.WAREHOUSE_TYPE=tKuCun.WAREHOUSE_TYPE AND tCangKu.id=tKuCun.WAREHOUSE_ID) t GROUP BY t.tenantId,SUBSTR(DEAL_TIME,5,2)) datat ON datat.data_month=monthT.month_Num ORDER BY monthT.month_Num ASC";
    private static String GET_GOODS_NUM_BY_MONTH_END = ")tCangKu LEFT JOIN L_WH_GOODS_RECORD tKuCun ON tCangKu.WAREHOUSE_TYPE=tKuCun.WAREHOUSE_TYPE AND tCangKu.id=tKuCun.WAREHOUSE_ID and tKuCun.DEAL_TIME between cast(CONCAT(DATE_FORMAT(NOW(), '%Y'),'1231240000') as UNSIGNED) and  cast(CONCAT(DATE_FORMAT(NOW(), '%Y'),'0101000000') as UNSIGNED)) t GROUP BY t.tenantId,SUBSTR(DEAL_TIME,5,2)) datat ON datat.data_month=monthT.month_Num ORDER BY monthT.month_Num ASC";
    //按机构统计物品价值、数量/金额等
    public List<Map<String, Object>> getGoodsNumByMonth(Long agencyId) {
consum-base/src/main/java/com/consum/base/service/LWhWarningServiceImpl.java
@@ -21,6 +21,31 @@
 **/
@Service
public class LWhWarningServiceImpl extends BaseServiceImpl {
    private static String GET_WARNING_TYPE_NUM = "SELECT COUNT(1) AS total_num,count(CASE WHEN wareWarn.WARNING_TYPE=1 THEN 1 ELSE NULL END) AS up_num,count(CASE WHEN wareWarn.WARNING_TYPE=2 THEN 1 ELSE NULL END) AS low_num FROM WH_WARNING wareWarn LEFT JOIN BASE_WAREHOUSE ware ON ware.id=wareWarn.BASE_WAREHOUSE_ID WHERE 1=1 ";
    public Map<String, Object> getWarningTypeNum(WhWarningQry param) {
        StringBuilder sql = new StringBuilder(GET_WARNING_TYPE_NUM);
        HashMap<String, Object> paramts = new HashMap<>();
        if (param.getStates() != null) {
            sql.append(" AND wareWarn.states = :states");
            paramts.put("states", param.getStates());
        }
        //机构
        if (param.getAgencyId() != null) {
            sql.append(" and ware.AGENCY_ID=:agencyId");
            paramts.put("agencyId", param.getAgencyId());
        }
        List<Map<String, Object>> mapList = select(sql.toString(), paramts, new MapperUtil());
        if (CollectionUtils.isEmpty(mapList)) {
            Map<String, Object> rtnMap = new HashMap<>();
            rtnMap.put("totalNum", 0);
            rtnMap.put("upNum", 0);
            rtnMap.put("lowNum", 0);
            return rtnMap;
        }
        return mapList.get(0);
    }
    private static String GET_LIST_WITH_PAGE = "SELECT wareWarn.*,ware.WAREHOUSE_NAME,goodsTemp.CATEGORY_NAME,CONCAT(cate.CLASSIFICATION,'类') cost_Type,goodsTemp.GOODS_NAME,baseModel.MODEL_NAME,basemodel.UNIT FROM WH_WARNING wareWarn LEFT JOIN BASE_GOODS_MODELS baseModel ON baseModel.ID=wareWarn.BASE_GOODS_MODELS_ID LEFT JOIN BASE_GOODS_TEMPLATE goodsTemp ON wareWarn.BASE_GOODS_TEMPLATE_ID=goodsTemp.id LEFT JOIN BASE_CATEGORY cate ON cate.id=goodsTemp.CATEGORY_ID LEFT JOIN BASE_WAREHOUSE ware ON ware.id=wareWarn.BASE_WAREHOUSE_ID WHERE 1=1 ";
deploy-jar-single/src/main/resources/import/depTaiZhangExpTemp.xlsx
Binary files differ