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.getGoodsTemplateId() != null) {
|
sql.append(" AND goodsTemp.id=:goodsTemplateId");
|
paramts.put("goodsTemplateId", param.getGoodsTemplateId()); }
|
//分类
|
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());
|
}
|
}
|