修改成先分页后字典查询

main
bmpandlcm 11 months ago
parent 063d21ef1f
commit a6c65a2a97

@ -34,97 +34,6 @@ public class DivOutPortDroadController {
@Autowired
public IDivOutPortDroadSerive divOutPortDroadSerive;
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
@PostMapping(value="/getmPayDivoutPortDroudSql")
public ResultData<List> getDivDatasTableSql(HttpServletRequest request, @RequestBody(required = false) Object req) throws SQLException {
String classDate=df.format(new Date());
Integer start=0;
Integer end=0;
Integer pageSize=0;//每页条数
Integer pageNum=0;//当前页码
String status="";//拆分结果
String vecheClass="";//车种
String vecheType="";
//查询条件
String sPassId="";
String enSTANAME="";
String exSTANAME="";
String sVEHICLEID="";
String sVecheClass="";//车种
String sVecheType="";//车型
String sExitfeeType="";//出口计费方式
String SENSTANAMEID="";//入口站ID
String SEXSTANAMEID="";//出口站ID
String sStatus="";//拆分状态
String sBak1 = "";//数据显示类型 w(未知状态) b(本省核验数据) k(跨省核验) v(车种核验)
List exitType = new ArrayList();//计费类型,多选
String specialEvent = "";//特情类型,单选
String queryFilter = "";//计费类型和特情 过滤条件符号 1 等于 2 不等于
if(!PubTools.isEmpty(req)){
if(req instanceof Map){
classDate=(!PubTools.isEmpty(((Map<String,Object>) req).get("dataTime"))?((Map<String,Object>) req).get("dataTime").toString():"");
pageSize= !PubTools.isEmpty(((Map<String,Object>) req).get("pageSize"))?Integer.parseInt(((Map<String,Object>) req).get("pageSize").toString()):0;
pageNum= !PubTools.isEmpty(((Map<String,Object>) req).get("pageNum"))?Integer.parseInt(((Map<String,Object>) req).get("pageNum").toString()):0;
sPassId=!PubTools.isEmpty(((Map<String,Object>) req).get("SPASSID"))?((Map<String,Object>) req).get("SPASSID").toString():"";
enSTANAME=!PubTools.isEmpty(((Map<String,Object>) req).get("ENSTANAME"))?((Map<String,Object>) req).get("ENSTANAME").toString():"";
exSTANAME=!PubTools.isEmpty(((Map<String,Object>) req).get("EXSTANAME"))?((Map<String,Object>) req).get("EXSTANAME").toString():"";
sVEHICLEID=!PubTools.isEmpty(((Map<String,Object>) req).get("SVEHICLEID"))?((Map<String,Object>) req).get("SVEHICLEID").toString():"";
sVecheClass=!PubTools.isEmpty(((Map<String,Object>) req).get("SVECHECLASS"))?((Map<String,Object>) req).get("SVECHECLASS").toString():"";
sVecheType=!PubTools.isEmpty(((Map<String,Object>) req).get("SVECHETYPE"))?((Map<String,Object>) req).get("SVECHETYPE").toString():"";
sExitfeeType=!PubTools.isEmpty(((Map<String,Object>) req).get("SEXITFEETYPE"))?((Map<String,Object>) req).get("SEXITFEETYPE").toString():"";
SENSTANAMEID=!PubTools.isEmpty(((Map<String,Object>) req).get("SENSTANAMEID"))?((Map<String,Object>) req).get("SENSTANAMEID").toString():"";
SEXSTANAMEID=!PubTools.isEmpty(((Map<String,Object>) req).get("SEXSTANAMEID"))?((Map<String,Object>) req).get("SEXSTANAMEID").toString():"";
sStatus=!PubTools.isEmpty(((Map<String,Object>) req).get("SSTATUS"))?((Map<String,Object>) req).get("SSTATUS").toString():"";
sBak1 = !PubTools.isEmpty(((Map<String, Object>) req).get("SBAK1")) ? ((Map<String, Object>) req).get("SBAK1").toString() : "";
exitType = !PubTools.isEmpty(((Map<String, Object>) req).get("SEXITTYPE")) ? (ArrayList) (((Map<String, Object>) req).get("SEXITTYPE")) : new ArrayList();
specialEvent = !PubTools.isEmpty(((Map<String, Object>) req).get("SPECIALEVENT")) ? ((Map<String, Object>) req).get("SPECIALEVENT").toString() : "";
queryFilter = !PubTools.isEmpty(((Map<String, Object>) req).get("SQUERYFILTER")) ? ((Map<String, Object>) req).get("SQUERYFILTER").toString() : "";
}else if(req instanceof JSONObject){
classDate= !PubTools.isEmpty(((JSONObject) req).get("dataTime"))?((JSONObject) req).get("dataTime").toString():"";
pageSize= !PubTools.isEmpty(((JSONObject) req).get("pageSize"))?Integer.parseInt(((JSONObject) req).get("pageSize").toString()):0;
pageNum= !PubTools.isEmpty(((JSONObject) req).get("pageNum"))?Integer.parseInt(((JSONObject) req).get("pageNum").toString()):0;
sPassId=!PubTools.isEmpty(((JSONObject) req).get("SPASSID"))?((JSONObject) req).get("SPASSID").toString():"";
enSTANAME=!PubTools.isEmpty(((JSONObject) req).get("ENSTANAME"))?((JSONObject) req).get("ENSTANAME").toString():"";
exSTANAME=!PubTools.isEmpty(((JSONObject) req).get("EXSTANAME"))?((JSONObject) req).get("EXSTANAME").toString():"";
sVEHICLEID=!PubTools.isEmpty(((JSONObject) req).get("SVEHICLEID"))?((JSONObject) req).get("SVEHICLEID").toString():"";
sVecheClass=!PubTools.isEmpty(((JSONObject) req).get("SVECHECLASS"))?((JSONObject) req).get("SVECHECLASS").toString():"";
sVecheType=!PubTools.isEmpty(((JSONObject) req).get("SVECHETYPE"))?((JSONObject) req).get("SVECHETYPE").toString():"";
sExitfeeType=!PubTools.isEmpty(((JSONObject) req).get("SEXITFEETYPE"))?((JSONObject) req).get("SEXITFEETYPE").toString():"";
SENSTANAMEID=!PubTools.isEmpty(((JSONObject) req).get("SENSTANAMEID"))?((JSONObject) req).get("SENSTANAMEID").toString():"";
SEXSTANAMEID=!PubTools.isEmpty(((JSONObject) req).get("SEXSTANAMEID"))?((JSONObject) req).get("SEXSTANAMEID").toString():"";
sStatus = !PubTools.isEmpty(((JSONObject) req).get("SSTATUS")) ? ((JSONObject) req).get("SSTATUS").toString() : "";
sBak1 = !PubTools.isEmpty(((JSONObject) req).get("SBAK1")) ? ((JSONObject) req).get("SBAK1").toString() : "";
exitType = !PubTools.isEmpty(((JSONObject) req).get("SEXITTYPE")) ? (ArrayList) (((JSONObject) req).get("SEXITTYPE")) : new ArrayList();
specialEvent = !PubTools.isEmpty(((JSONObject) req).get("SPECIALEVENT")) ? ((JSONObject) req).get("SPECIALEVENT").toString() : "";
queryFilter = !PubTools.isEmpty(((JSONObject) req).get("SQUERYFILTER")) ? ((JSONObject) req).get("SQUERYFILTER").toString() : "";
}
}
String whereParams="[{\"colName\":\"sPassId\",\"value\":\""+sPassId+"\"},{\"colName\":\"enSTANAME\",\"value\":\""+enSTANAME+"\"}," +
"{\"colName\":\"exSTANAME\",\"value\":\""+exSTANAME+"\"},{\"colName\":\"sVEHICLEID\",\"value\":\""+sVEHICLEID+"\"}," +
"{\"colName\":\"sVecheClass\",\"value\":\""+sVecheClass+"\"},{\"colName\":\"sVecheType\",\"value\":\""+sVecheType+"\"}," +
"{\"colName\":\"sExitfeeType\",\"value\":\""+sExitfeeType+"\"},{\"colName\":\"SENSTANAMEID\",\"value\":\""+SENSTANAMEID+"\"}," +
"{\"colName\":\"SEXSTANAMEID\",\"value\":\"" + SEXSTANAMEID + "\"},{\"colName\":\"sStatus\",\"value\":\"" + sStatus + "\"}," +
"{\"colName\":\"sBak1\",\"value\":\"" + sBak1 + "\"},{\"colName\":\"exitType\",\"value\":" + exitType + "},{\"colName\":\"specialEvent\",\"value\":\"" + specialEvent + "\"}]";
if (!PubTools.isNull(sPassId)) {
whereParams = "[{\"colName\":\"sPassId\",\"value\":\"" + sPassId + "\"}]";
classDate = "";
}
start=(pageNum-1)*pageSize+1;
end=pageNum*pageSize;
Integer totalCount=0;
List list = divOutPortDroadaImpl.getDivDataTableListSql(classDate, queryFilter, start, end, JSONArray.parseArray(whereParams));
List listTotal = divOutPortDroadaImpl.getDivDataTableListSql(classDate, queryFilter, 0, 0, JSONArray.parseArray(whereParams));
if (PubTools.isEmpty(listTotal) || list.size() < 0) {
return ResultData.fail(-1,"数据查询失败");
}
if(listTotal.size()>0){
Map map=(Map)listTotal.get(0);
totalCount=Integer.parseInt(map.get("TOTALCOUNT").toString());
}
return ResultData.success("成功",list,totalCount);
}
@PostMapping(value="/getmPayDivoutPortDroud")
public Object getDivDatasTable(HttpServletRequest request, @RequestBody(required = false) Map<String, Object> req) throws SQLException {
Page<DivOutPortDroad> divDataTableList =null;
@ -138,4 +47,10 @@ public class DivOutPortDroadController {
}
return divDataTableList;
}
@PostMapping(value = "/getDivDetail")
public ResultData<List> getDivDetail(HttpServletRequest request, @RequestBody(required = false) Map<String, Object> req) throws SQLException {
List divDataTableList = divOutPortDroadSerive.getDivDetail(req);
return ResultData.success(divDataTableList);
}
}

@ -12,19 +12,10 @@
t.splitprovince,t.exitfeetype,t.otherid,t.issuerid,
t.datasrc,t.cleardate,t.result,t.divdate,t.transnum,
t.divdetail,t.divtype,t.vehicletype,
CONCAT(substr( t.VEHICLEID, 1, length(t.VEHICLEID)-1),pt.TEXT) as vehicleid,t.cardid,
t.VEHICLEID as vehicleid,t.cardid,
t.mediatype,t.mediano,t.vehicleclass,t.droadno,t.droadfee/100 AS droadfee,
t.bak1,t.bak2,t.bak3,t.bak4,t.bak5,t.bak6,
vt.text as vehicleclassName,
ttd.text AS vehicletypeName,
d2.TEXT AS exitfeetypeName,
rt.ROADNAME AS roadName
t.bak1,t.bak2,t.bak3,t.bak4,t.bak5,t.bak6
FROM DIV_OUT_PORT_DROAD t
LEFT JOIN VEHICLECLASS_TEXT vt ON ( t.VEHICLECLASS = vt.value )
LEFT JOIN type_text ttd ON ( t.VEHICLETYPE = ttd.value )
left join exitfeetype_text d2 on(t.exitfeetype = d2.value)
left join ROAD_TABLE rt on(t.DROADNO = rt.ROADNO)
left join PLATECOLOR_TEXT pt on(pt.value = substr( t.VEHICLEID, length(t.VEHICLEID)))
<where>
<if test="params.SPASSID != null and params.SPASSID != ''">
AND t.PASSID = #{params.SPASSID}
@ -62,7 +53,6 @@
AND t.EXITFEETYPE = #{params.SEXITTYPE}
</if>
</where>
order by rt.ROADNAME
</select>
<update id="update" parameterType="String">

@ -3,8 +3,11 @@ package com.nmgs.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.DivOutPortDroad;
import java.util.List;
import java.util.Map;
public interface IDivOutPortDroadSerive {
Page<DivOutPortDroad> getDivDataTableList(Map<String, Object> params);
List getDivDetail(Map<String, Object> mapParam);
}

@ -0,0 +1,7 @@
package com.nmgs.service;
import java.util.Map;
public interface ISelectData {
public String getSelect(String selectType, String value);
}

@ -7,6 +7,7 @@ import com.nmgs.entity.DivOutPortDroad;
import com.nmgs.mapper.DivOutPortDroadMapper;
import com.nmgs.mapper.Mapper;
import com.nmgs.service.IDivOutPortDroadSerive;
import com.nmgs.service.ISelectData;
import com.nmgs.util.LogUtil;
import com.nmgs.util.PropertiesUtil;
import com.nmgs.util.PubTools;
@ -24,6 +25,8 @@ public class DivOutPortDroadaImpl implements IDivOutPortDroadSerive {
public DivOutPortDroadMapper divOutPortDroadMapper;
@Autowired
public Mapper mapperI;
@Autowired
public ISelectData iSelectData;
@Override
public Page<DivOutPortDroad> getDivDataTableList(Map<String, Object> params) {
//从配置文件中读取数据库连接类型
@ -33,249 +36,83 @@ public class DivOutPortDroadaImpl implements IDivOutPortDroadSerive {
Integer pageSize = (Integer) params.get("pageSize");
Page<DivOutPortDroad> page = new Page<>(pageNum,pageSize);
page = divOutPortDroadMapper.getDivDataTableList(page,params);
//获取数据
List<DivOutPortDroad> records = page.getRecords();
//解析里面字典数据
for (DivOutPortDroad divOutPortDroad : records) {
String vehicleId = divOutPortDroad.getVehicleid().toString();
divOutPortDroad.setVehicleclassName(iSelectData.getSelect("VECHECLASS", divOutPortDroad.getVehicleclass()));
divOutPortDroad.setVehicletypeName(iSelectData.getSelect("VECHETYPE", divOutPortDroad.getVehicletype().toString()));
divOutPortDroad.setExitfeetypeName(iSelectData.getSelect("EXITFEETYPE", divOutPortDroad.getExitfeetype().toString()));
divOutPortDroad.setRoadName(iSelectData.getSelect("ROAD", divOutPortDroad.getDroadno().toString()));
if (!PubTools.isNull(vehicleId)) {
divOutPortDroad.setVehicleid(vehicleId.substring(0, vehicleId.length() - 1) + iSelectData.getSelect("PLATECOLOR", vehicleId.substring(vehicleId.length() - 1)));
}
}
page.setRecords(records);
return page;
}
public List getDivDataTableListSql(String classDate, String queryFilter, Integer start, Integer end,
JSONArray whereParams) {
List list=new ArrayList();
List listRet=new ArrayList();
String sql="";
String dbType = PropertiesUtil.getValue("DBType");
String resultSql = "SELECT \n" +
"\ttt.rn,\n" +
"\ttt.ID,\n" +
"\ttt.PASSID,\n" +
"\t tt.PAYFEE AS PAYFEE,\n" +
"\ttt.FEE AS FEE,\n" +
"\ttt.DISCOUNTFEE,\n" +
"\ttt.SPLITFEE AS SPLITFEE,\n" +
"\ttt.CLEARDATE,\n" +
"\ttt.ENTIME,\n" +
"\ttt.EXTIME,\n" +
"\ttt.ENTOLLSTATIONNAME,\n" +
"\ttt.EXTOLLSTATIONNAME,\n" +
"\ttt.ENPOINTID,\n" +
"\ttt.EXPOINTID,\n" +
"\tCONCAT(substr( tt.VEHICLEID, 1, length(tt.VEHICLEID)-1),pt.TEXT) as VEHICLEID ,\n" +
"\ttt.SPLITPROVINCE,\n" +
"\ttt.DIVDATE,\n" +
"\ttt.RESULT,\n" +
"\ttt.DIVDETAIL,\n" +
"\ttt.VEHICLECLASS,\n" +
"\ttt.DROADNO,\n" +
"\ttt.DROADFEE,\n" +
"\trt.ROADNAME,\n" +
"\tttd.text AS VEHICLETYPENAME,\n" +
"\tvt.text as VEHICLECLASSName,\n" +
"\td2.TEXT AS EXITFEETYPENAME,\n" +
"\ttt.VEHICLETYPE ";
String startsql = "SELECT \n" +
"\tss.rn,\n" +
"\tss.ID,\n" +
"\tss.PASSID,\n" +
"\t ss.PAYFEE AS PAYFEE,\n" +
"\tss.FEE AS FEE,\n" +
"\tss.DISCOUNTFEE,\n" +
"\tss.SPLITFEE AS SPLITFEE,\n" +
"\tss.CLEARDATE,\n" +
"\tss.ENTIME,\n" +
"\tss.EXTIME,\n" +
"\tss.ENTOLLSTATIONNAME,\n" +
"\tss.EXTOLLSTATIONNAME,\n" +
"\tss.ENPOINTID,\n" +
"\tss.EXPOINTID,\n" +
"\tss.VEHICLEID as VEHICLEID ,\n" +
"\tss.SPLITPROVINCE,\n" +
"\tss.DIVDATE,\n" +
"\tss.RESULT,\n" +
"\tss.DIVDETAIL,\n" +
"\tss.VEHICLECLASS,\n" +
"\tss.DROADNO,\n" +
"\tss.DROADFEE,\n" +
"\tss.EXITFEETYPE AS EXITFEETYPE,\n" +
"\tss.VEHICLETYPE ";
String startsqlPage = "SELECT ";
if ("2".equals(dbType)) {
startsqlPage += "\tROWNUM AS rn,\n";
} else {
startsqlPage += "\t (row_number() over(partition by t.classdate))-1 AS rn,\n";
}
startsqlPage += "\tt.ID,\n" +
"\tt.TOLLPROVINCEID,\n" +
"\tt.PASSID,\n" +
"\t t.PAYFEE/100 AS PAYFEE,\n" +
"\t t.FEE/100 AS FEE,\n" +
"\t t.DISCOUNTFEE/100 AS DISCOUNTFEE,\n" +
"\tt.SPLITFEE/100 AS SPLITFEE,\n" +
"\tt.ENTIME,\n" +
"\tt.EXTIME,\n" +
"\tt.ENTOLLSTATIONNAME,\n" +
"\tt.EXTOLLSTATIONNAME,\n" +
"\tt.ENPOINTID,\n" +
"\tt.EXPOINTID,\n" +
"\tt.EXITFEETYPE,\n" +
// "\tto_char(t.SPLITPROVINCE) AS SPLITPROVINCE,\n" +
"\t'' AS SPLITPROVINCE,\n" +
"\tt.CLEARDATE,\n" +
"\tt.DIVDATE,\n" +
"\tt.RESULT,\n" +
// "\tto_char(t.DIVDETAIL) AS DIVDETAIL,\n" +
"\t'' AS DIVDETAIL,\n" +
"\tt.VEHICLEID as VEHICLEID,\n" +
"\tt.VEHICLECLASS,\n" +
"\tt.DROADNO,\n" +
"\tt.DROADFEE/100 AS DROADFEE,\n" +
"\tt.VEHICLETYPE AS VEHICLETYPE";
String mysqlResult = "select\n" +
"\t\t\t(row_number() over(partition by t.CLEARDATE))-1 as rn,\n" +
"\t\t\tt.ID,\n" +
"\t\t\tt.PASSID,\n" +
"\t\t\tt.TOLLPROVINCEID as TOLLPROVINCEID,\n" +
"\t\t\tt.PAYFEE/100 as PAYFEE,\n" +
"\t\t\tt.FEE/100 AS FEE,\n" +
"\t\t\tt.DISCOUNTFEE/100 as DISCOUNTFEE,\n" +
// "\t\t\tto_char(t.DIVDETAIL) AS DIVDETAIL,\n" +
// "\t\t\tto_char(t.SPLITPROVINCE) AS SPLITPROVINCE,\n" +
"\t\t\tt.CLEARDATE,\n" +
"\t\t\tt.ENTIME,\n" +
"\t\t\tt.EXTIME,\n" +
"\t\t\tt.ENTOLLSTATIONNAME,\n" +
"\t\t\tt.EXTOLLSTATIONNAME,\n" +
"\t\t\tt.ENPOINTID,\n" +
"\t\t\tt.EXPOINTID,\n" +
"\t\t\tCONCAT(substr( t.VEHICLEID, 1, length(t.VEHICLEID)-1), pt.TEXT) as VEHICLEID,\n" +
"\t\t\tt.VEHICLECLASS,\n" +
"\t\t\tt.VEHICLETYPE as VEHICLETYPE,\n" +
"\t\t\tttd.text as VEHICLETYPENAME,\n" +
"\t\t\tvt.text as VEHICLECLASSName,\n" +
"\t\t\tt.DIVDATE ,\n" +
"\t\t\tt.RESULT as RESULT,\n" +
"\t\t\tt.DROADNO as DROADNO,\n" +
"\trt.ROADNAME,\n" +
"\t\t\tt.DROADFEE/100 as DROADFEE,\n" +
"\t\t\td2.TEXT as EXITFEETYPENAME";
String endSql=" FROM\n" +
" DIV_OUT_PORT_DROAD t @JOINCONDITION@" +
"WHERE 1=1 \n";
if (!PubTools.isNull(classDate)) {
endSql += "\t AND t.CLEARDATE = to_date( '" + classDate + "', 'yyyy-mm-dd' ) \n";
}
@Override
public List getDivDetail(Map<String, Object> mapParam) {
List list=new ArrayList();
String divDetail = mapParam.get("divDetail").toString();
String droadNo = mapParam.get("droadNo").toString();
try{
if(whereParams.size()>0){
endSql += solveSearchJSOn(whereParams, queryFilter);
String sql = "select ft.length/1000 as LENGTH," +
"ft.NAME as FEEUNITNAME from \n" +
"FEEUNIT_TABLE ft \n" +
"where ft.ID='@PARAM@'";
if (!PubTools.isNull(divDetail)) {
JSONObject jsonObject1 = JSONObject.parseObject(divDetail);
Object detail = jsonObject1.get("detail");
if (!PubTools.isEmpty(detail)) {
JSONArray jsonArray = (JSONArray) detail;
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String roadno = jsonObject.get("roadno").toString();
if (droadNo.equals(roadno)) {
String feeunitid = jsonObject.get("feeunitid").toString();
String stano = jsonObject.get("stano").toString();
double fee = PubTools.doubleSave2(Double.parseDouble(jsonObject.get("fee").toString()) / 100);
String sqlT = sql.replace("@PARAM@", feeunitid);
Map<String, Object> select1 = new HashMap<>();
List temp = this.mapperI.selectforlist(sqlT);
if (temp != null && temp.size() > 0) {
select1 = (Map<String, Object>) temp.get(0);
}
//查询单元名称
String feeUnitName = "";//计费单元名称
String lengthD = "";
if (!PubTools.isEmpty(select1)) {
for (String str : select1.keySet()) {
if ("FEEUNITNAME".equals(str)) {
feeUnitName = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
} else if ("LENGTH".equals(str)) {
lengthD = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
}
}
}
JSONObject ret = new JSONObject();
ret.put("feeunitid", feeUnitName);
ret.put("stano", "");
ret.put("fee", fee);
ret.put("lengthD", lengthD);
list.add(ret);
}
if(start >=0 && end >0){
if ("2".equals(dbType)) {//oracle
sql = resultSql + " from (" + startsql + " from (" + startsqlPage + endSql + " and ROWNUM <= " + end + ")ss where 1=1 AND ss.rn >= " + start + " )tt " ;
sql += " LEFT JOIN VEHICLECLASS_TEXT vt ON ( tt.VEHICLECLASS = vt.value ) " +
" LEFT JOIN type_text ttd ON ( tt.VEHICLETYPE = ttd.value ) " +
" left join exitfeetype_text d2 on(tt.exitfeetype = d2.value)" +
" left join ROAD_TABLE rt on(tt.DROADNO = rt.ROADNO)" +
" left join PLATECOLOR_TEXT pt on(pt.value = substr( tt.VEHICLEID, length(tt.VEHICLEID))) " +
" order by tt.rn ";
sql = sql.replace("@JOINCONDITION@", "");
} else {
sql = mysqlResult + endSql + " order by rt.ROADNAME limit " + start + "," + end + " ";
String joinCondition = " LEFT JOIN VEHICLECLASS_TEXT vt ON ( ss.VEHICLECLASS = vt.value ) " +
" LEFT JOIN type_text ttd ON ( ss.VEHICLETYPE = ttd.value ) " +
" left join exitfeetype_text d2 on(ss.exitfeetype = d2.value)"+
" left join PLATECOLOR_TEXT pt on(pt.value = substr( t.VEHICLEID, length(t.VEHICLEID)))"+
" left join ROAD_TABLE rt on(ss.DROADNO = rt.ROADNO)" ;
sql = sql.replace("@JOINCONDITION@", joinCondition);
}
}else{
endSql = endSql.replace("@JOINCONDITION@", "");
sql = " select count(1) as TOTALCOUNT " + endSql;
}
LogUtil.WriteLog_Info("sql===执行开始"+PubTools.getCurrentDate(),"DivPassDataImpl");
list= this.mapperI.selectforlist(sql);
LogUtil.WriteLog_Info("sql===执行结束"+PubTools.getCurrentDate(),"DivPassDataImpl");
if(list.size()>0){
if(PubTools.isEmpty(list.get(0))){
list=new ArrayList();
}
}
} catch (Exception e) {
e.printStackTrace();
LogUtil.WriteLog_Error("查询数据失败==="+e.getMessage(),"DivPassDataImpl");
return new ArrayList();
LogUtil.WriteLog_Error("解析拆分详情出错:=====" + e.getMessage(), "DivOutPortDroadaImpl");
}
return list;
}
private String solveSearchJSOn(JSONArray params, String queryFilter) {
String querySql="";
if(params.size()>0){
for (int k = 0; k < params.size(); k++) {
JSONObject retO = (JSONObject) params.get(k);
String colName = retO.get("colName").toString();
if (retO.get("value") instanceof String || retO.get("value") instanceof Integer) {
String val = retO.get("value").toString();
if (!PubTools.isNull(val)) {
if (colName.equals("vecheType")) {
querySql += "\tAND t.vehicletype = ( SELECT value FROM type_text WHERE text = '" + val + "' ) ";
} else if (colName.equals("sPassId")) {
querySql += "\t AND t.passid = '" + val + "' ";
} else if (colName.equals("enSTANAME")) {
querySql += "\tAND t.GPA_ENTOLLSTATIONNAME like '%" + val + "%'";
} else if (colName.equals("exSTANAME")) {
querySql += "\tAND t.GPA_EXTOLLSTATIONNAME like '%" + val + "%'";
} else if (colName.equals("sVEHICLEID")) {
querySql += "\tAND t.VEHICLEID = '" + val + "' ";
} else if (colName.equals("sVecheType")) {
querySql += "\tAND t.vehicletype = '" + val + "' ";
} else if (colName.equals("sVecheClass")) {
querySql += "\tAND t.VEHICLECLASS ='" + val + "' ";
} else if (colName.equals("sExitfeeType")) {
querySql += "\tAND t.EXITFEETYPE ='" + val + "' ";
} else if (colName.equals("SENSTANAMEID")) {
querySql += "\tAND t.ENPOINTID in (select st.GBId from name_TABLE nt,SETUP_TABLE st where substr(st.GBId,1,length(st.GBId)-7)=nt.GBSTATIONID AND nt.STANO = '" + val + "') ";
} else if (colName.equals("SEXSTANAMEID")) {
querySql += "\tAND t.EXPOINTID in (select st.GBId from name_TABLE nt,SETUP_TABLE st where substr(st.GBId,1,length(st.GBId)-7)=nt.GBSTATIONID AND nt.STANO = '" + val + "') ";
} else if (colName.equals("sStatus")) {
querySql += "\tAND t.STATUS ='" + val + "' ";
} else if (colName.equals("sBak1")) {
if ("v".equals(val)) {
querySql += "\tAND t.VEHICLECLASS > 0 AND t.BAK1 !='w'";
} else if ("b".equals(val) || "k".equals(val)){
querySql += "\tAND t.BAK1 ='" + val + "' AND t.VEHICLECLASS=0";
}else if ("w".equals(val)){
querySql += "\tAND t.BAK1 ='" + val + "'";
}
} else if (colName.equals("specialEvent")) {
if ("1".equals(queryFilter)) {
querySql += "\tAND FIND_IN_SET( '" + val + "',t.bak2) >0 ";
} else if ("2".equals(queryFilter)) {
querySql += "\tAND FIND_IN_SET( '" + val + "',t.bak2) <=0 ";
}
}
}
} else if (retO.get("value") instanceof JSONArray) {
JSONArray valList = (JSONArray) retO.get("value");
if (valList.size() > 0) {
if (colName.equals("exitType")) {
String querylist = String.join(", ", JSONObject.parseArray(JSONObject.toJSONString(valList), String.class));
if ("1".equals(queryFilter)) {
querySql += "\tAND t.EXITFEETYPE in(" + querylist + ") ";
} else if ("2".equals(queryFilter)) {
querySql += "\tAND t.EXITFEETYPE not in(" + querylist + ") ";
}
} else if (colName.equals("specialEvent")) {
String querylist = String.join(", ", JSONObject.parseArray(JSONObject.toJSONString(valList), String.class));
if ("1".equals(queryFilter)) {
querySql += "\tAND FIND_IN_SET( " + querylist + ",t.bak2) >0 ";
} else if ("2".equals(queryFilter)) {
querySql += "\tAND FIND_IN_SET( " + querylist + ",t.bak2) <=0 ";
}
}
}
}
}
}
return querySql;
}
}

@ -2,6 +2,7 @@ package com.nmgs.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.nmgs.mapper.Mapper;
import com.nmgs.service.ISelectData;
import com.nmgs.util.LogUtil;
import com.nmgs.util.PubTools;
import org.springframework.beans.factory.annotation.Autowired;
@ -9,6 +10,7 @@ import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -16,7 +18,7 @@ import java.util.Map;
*
*/
@Service
public class SelectDataImpl {
public class SelectDataImpl implements ISelectData {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHH");
@Autowired
public Mapper mapperI;
@ -89,4 +91,37 @@ public class SelectDataImpl {
}
@Override
public String getSelect(String selectType, String value) {
String ret = "";
String sql = "";
if ("VECHECLASS".equals(selectType)) {//车种下拉值查询
sql = "select a.value as VALUE,a.text as LABEL from VEHICLECLASS_TEXT a WHERE a.VALUE=" + value + " order by a.value";
} else if ("VECHETYPE".equals(selectType)) {//车型下拉值查询
sql = "select a.value as VALUE,a.text as LABEL from TYPE_TEXT a WHERE a.VALUE=" + value + " order by a.value";
} else if ("EXITFEETYPE".equals(selectType)) {//计费方式
sql = "select a.value as VALUE,a.text as LABEL from EXITFEETYPE_TEXT a WHERE a.VALUE=" + value + " order by a.value";
} else if ("GANTRY".equals(selectType)) {//省界门架出口名称
sql = "select distinct a.gantryhex as value,a.name as label from GANTRY_TABLE a where a.boundarytype=2 group by a.name,a.gantryhex order by a.name ";
} else if ("INTERFLOW".equals(selectType)) {//互通名称
sql = "select distinct a.INTER_HEX as value,a.INTER_NAME as label from DIV_INTERFLOW_TABLE a where a.IN_OUT='OUT' order by a.INTER_HEX ";
} else if ("PLATECOLOR".equals(selectType)) {//车牌颜色
sql = "select a.value as VALUE,a.text as LABEL from PLATECOLOR_TEXT a WHERE a.VALUE=" + value + " order by a.value ";
} else if ("ROAD".equals(selectType)) {//路段名称
sql = "select a.ROADNO as VALUE,a.roadname as LABEL from ROAD_TABLE a WHERE a.ROADNO=" + value + " order by a.roadname ";
}
try {
List retSql = mapperI.selectforlist(sql);
if (retSql.size() > 0) {
Map<String, String> stringStringMap = (Map<String, String>) retSql.get(0);
ret = stringStringMap.get("LABEL").toString();
}
} catch (Exception e) {
LogUtil.WriteLog_Error("下拉数据解析" + selectType + "查询失败=====" + e.getMessage(), "SelectDataImpl");
ret = null;
}
return ret;
}
}

@ -79,7 +79,12 @@ public class PubTools {
return roundedNumber;
}
public static double doubleSave2(double number) {
BigDecimal bd = BigDecimal.valueOf(number);
bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
double roundedNumber = bd.doubleValue();
return roundedNumber;
}
public static void main(String[] args) {
System.out.println(PubTools.doubleSave1(60.0098));
}

@ -79,6 +79,12 @@ public class main {
// System.out.println(Long.parseLong(memo,16));
System.out.println(PassWordUtils.encrypt("sysadmin"));
System.out.println(PassWordUtils.encrypt("123456"));
String vehileId = "蒙B795R3_1";
System.out.println(vehileId.substring(0, vehileId.length()));
System.out.println(vehileId.substring(0, vehileId.length() - 1));
System.out.println(vehileId.substring(0, vehileId.length() - 2));
System.out.println(vehileId.substring(vehileId.length() - 1));
// System.out.println(" 蒙K972X3 ".replace("","").trim());
// String str = "蒙蒙蒙蒙123456625";
// System.out.println(CRCUtil.CRC_AddData(10L,str));

Loading…
Cancel
Save