cy
2023-11-21 440cc292045639e6eb885db15b5637bd5ebf2bec
feat: 预警查询
3个文件已添加
169 ■■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/controller/LWhWarningController.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/query/WhWarningQry.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhWarningServiceImpl.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhWarningController.java
New file
@@ -0,0 +1,53 @@
package com.consum.base.controller;
import com.consum.base.BaseController;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.pojo.query.WhWarningQry;
import com.consum.base.service.LWhWarningServiceImpl;
import com.consum.model.po.FinSysTenantUser;
import com.walker.db.page.GenericPager;
import com.walker.web.ResponseValue;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
 * @ClassName LWhWarningConfigController
 * @Author cy
 * @Date 2023/11/20
 * @Description
 * @Version 1.0
 **/
@RestController
@RequestMapping("/pc/warehouse/warning")
@Api(value = "预警查询", tags = "预警查询")
public class LWhWarningController extends BaseController {
    @Resource
    private LWhWarningServiceImpl lWhWarningService;
    @GetMapping("/getList")
    public ResponseValue getList() {
        WhWarningQry param = CommonUtil.getObjFromReq(WhWarningQry.class);
        /*当前登录人只能看到自己机构下的列表*/
        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);
        }
        GenericPager<Map<String, Object>> genericPager = lWhWarningService.getListWithPage(param);
        return ResponseValue.success(genericPager);
    }
}
consum-base/src/main/java/com/consum/base/pojo/query/WhWarningQry.java
New file
@@ -0,0 +1,47 @@
package com.consum.base.pojo.query;
import com.walker.web.param.ParamRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName WhWarningConfigParam
 * @Author cy
 * @Date 2023/11/20
 * @Description
 * @Version 1.0
 **/
@ApiModel(value = "预警设置查询参数")
@Data
public class WhWarningQry extends ParamRequest {
    @ApiModelProperty("物品名称")
    private String goodsTemplateName;
    @ApiModelProperty("规格型号")
    private Long baseGoodsModelsId;
    @ApiModelProperty("分类")
    private Long categoryId;
    @ApiModelProperty("价值类型")
    private Short costType;
    @ApiModelProperty("机构")
    private Long agencyId;
    @ApiModelProperty("仓库类型")
    private Long warehouseType;
    @ApiModelProperty("仓库id")
    private Long baseWarehouseId;
    @ApiModelProperty("状态(1=未查看;2=已查看)")
    private Integer states;
    @ApiModelProperty(value = "每页显示条数")
    private Integer pageSize = 10;
    @ApiModelProperty(value = "当前页数")
    private Integer pageNum = 1;
}
consum-base/src/main/java/com/consum/base/service/LWhWarningServiceImpl.java
New file
@@ -0,0 +1,69 @@
package com.consum.base.service;
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.pojo.query.WhWarningQry;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
 * @ClassName LWhWarningServiceImpl
 * @Author cy
 * @Date 2023/11/21
 * @Description
 * @Version 1.0
 **/
@Service
public class LWhWarningServiceImpl extends BaseServiceImpl {
    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 ";
    public GenericPager<Map<String, Object>> getListWithPage(WhWarningQry param) {
        StringBuilder sql = new StringBuilder(GET_LIST_WITH_PAGE);
        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 left(ware.AGENCY_ID, length(:lengthAgencyId)) = :agencyId");
            paramts.put("lengthAgencyId", param.getAgencyId());
            paramts.put("agencyId", param.getAgencyId());
        }
        //仓库类型
        if (param.getWarehouseType() != null) {
            sql.append(" AND wareWarn.WAREHOUSE_TYPE = :warehouseType");
            paramts.put("warehouseType", param.getWarehouseType());
        }
        if (param.getBaseWarehouseId() != null) {
            sql.append(" AND wareWarn.WAREHOUSE_ID = :warehouseId");
            paramts.put("warehouseId", param.getBaseWarehouseId());
        }
        //物品名称
        if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) {
            sql.append(" AND goodsTemp.GOODS_NAME like :goodsTemplateName");
            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
        }
        //分类
        if (param.getCategoryId() != null) {
            sql.append(" AND cate.id=:categoryId");
            paramts.put("categoryId", param.getCategoryId());
        }
        //价值类型
        if (param.getCostType() != null) {
            // 将数字转换为对应的字符
            char costType = (char) ('A' + param.getCostType() - 1);
            sql.append(" AND cate.CLASSIFICATION=':costType'");
            paramts.put("costType", costType);
        }
        sql.append(" ORDER BY wareWarn.id DESC ");
        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
    }
}