package cn.ksource.web.facade.bpbj; import java.util.HashMap; import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Service; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.StringUtil; @Service("OverageLossQueryFacade") public class OverageLossQueryFacadeImpl implements OverageLossQueryFacade { @Resource private BaseDao baseDao; /** * 报损报溢列表信息 * @param pageInfo * @param params * @return */ @Override public PageInfo getOverageLossListData(Map params,PageInfo pageInfo){ StringBuilder sql = new StringBuilder(); Map paramMap = new HashMap(); sql.append("select * from OVERAGE_LOSS where state=3"); String order_code=params.get("order_code"); String order_name=params.get("order_name"); String start_time=params.get("start_time"); String end_time=params.get("end_time"); //业务类型【1报损 2报溢 】 String bus_types=params.get("bus_types"); if (StringUtil.notEmpty(bus_types)) { String[] keys = bus_types.split(","); if (keys.length == 1) { sql.append(" AND BUS_TYPE = :bus_type"); paramMap.put("bus_type", keys[0]); } else { sql.append(" AND BUS_TYPE IN ("); for (int i = 0; i < keys.length; i++) { sql.append(" :pri" + i); sql.append(","); paramMap.put("pri" + i, keys[i]); } sql.deleteCharAt(sql.lastIndexOf(",")); sql.append(")"); } } //工单编号 if (StringUtil.isNotBlank(order_code)) { sql.append(" and order_code like :order_code "); paramMap.put("order_code", "%"+order_code.trim()+"%"); } //工单名称 if (StringUtil.isNotBlank(order_name)) { sql.append(" and order_name like :order_name "); paramMap.put("order_name", "%"+order_name.trim()+"%"); } //开始时间 if(StringUtil.isNotBlank(start_time)){ sql.append(" AND gmt_create>=:start_time"); paramMap.put("start_time", start_time+"000000"); } //结束时间 if(StringUtil.isNotBlank(end_time)){ sql.append(" and gmt_create<=:end_time"); paramMap.put("end_time", end_time+"235959"); } sql.append(" order by gmt_create desc "); return baseDao.queryforSplitPageInfo(pageInfo,sql.toString(), paramMap); } /** * 报损报溢列表数量信息 * @param pageInfo * @param params * @return */ @Override public int getOverageLossListCount(Map params) { StringBuilder sql = new StringBuilder(); Map paramMap = new HashMap(); sql.append("select count(*) from OVERAGE_LOSS where state=3"); String order_code=params.get("order_code"); String order_name=params.get("order_name"); String start_time=params.get("start_time"); String end_time=params.get("end_time"); //业务类型【1报损 2报溢 】 String bus_types=params.get("bus_types"); if (StringUtil.notEmpty(bus_types)) { String[] keys = bus_types.split(","); if (keys.length == 1) { sql.append(" AND BUS_TYPE = :bus_type"); paramMap.put("bus_type", keys[0]); } else { sql.append(" AND BUS_TYPE IN ("); for (int i = 0; i < keys.length; i++) { sql.append(" :pri" + i); sql.append(","); paramMap.put("pri" + i, keys[i]); } sql.deleteCharAt(sql.lastIndexOf(",")); sql.append(")"); } } //工单编号 if (StringUtil.isNotBlank(order_code)) { sql.append(" and order_code like :order_code "); paramMap.put("order_code", "%"+order_code.trim()+"%"); } //工单名称 if (StringUtil.isNotBlank(order_name)) { sql.append(" and order_name like :order_name "); paramMap.put("order_name", "%"+order_name.trim()+"%"); } //开始时间 if(StringUtil.isNotBlank(start_time)){ sql.append(" AND gmt_create>=:start_time"); paramMap.put("start_time", start_time+"000000"); } //结束时间 if(StringUtil.isNotBlank(end_time)){ sql.append(" and gmt_create<=:end_time"); paramMap.put("end_time", end_time+"235959"); } int count = baseDao.queryForInteger(sql.toString(), paramMap); return count; } }