mpay中数据查询接口修改

main
bmpandlcm 11 months ago
parent 089ea6499c
commit d95d1e7658

@ -9,39 +9,9 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="29bcb86b-1634-41e0-a498-79481163cba8" name="Changes" comment="数据核验查询接口以及导出接口, 新加了一个查询条件">
<change afterPath="$PROJECT_DIR$/target/classes/static/View/assets/index.60fc51f5.js" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/static/View/assets/index.60fc51f5.js" afterDir="false" />
<change afterPath="$PROJECT_DIR$/target/devProject/WEB-INF/lib/gdb-mysql-connector-5.1.46.jar" afterDir="false" />
<list default="true" id="29bcb86b-1634-41e0-a498-79481163cba8" name="Changes" comment="修改计费验证查询接口,出入口无法查询到数据的问题">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/MyEnvironmentPostProcessor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/MyEnvironmentPostProcessor.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/DivPassDataImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/DivPassDataImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/ExcelDateImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/ExcelDateImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/GantryPassDivImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/GantryPassDivImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/OutPortDataImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/OutPortDataImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/static/View/assets/index.8274fc41.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/View/assets/index.60fc51f5.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/static/View/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/View/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/static/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/static/application.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/nmgs/MyEnvironmentPostProcessor.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/nmgs/MyEnvironmentPostProcessor.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/nmgs/service/impl/DivPassDataImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/nmgs/service/impl/DivPassDataImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/nmgs/service/impl/ExcelDateImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/nmgs/service/impl/ExcelDateImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/nmgs/service/impl/GantryPassDivImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/nmgs/service/impl/GantryPassDivImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/nmgs/service/impl/OutPortDataImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/nmgs/service/impl/OutPortDataImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/static/View/assets/index.8274fc41.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/static/View/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/static/View/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/static/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/static/application.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject.war" beforeDir="false" afterPath="$PROJECT_DIR$/target/devProject.war" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/MyEnvironmentPostProcessor.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/MyEnvironmentPostProcessor.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/service/impl/DivPassDataImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/service/impl/DivPassDataImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/service/impl/ExcelDateImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/service/impl/ExcelDateImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/service/impl/GantryPassDivImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/service/impl/GantryPassDivImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/service/impl/OutPortDataImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/com/nmgs/service/impl/OutPortDataImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/static/View/assets/index.8274fc41.js" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/static/View/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/static/View/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/static/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/target/devProject/WEB-INF/classes/static/application.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/lib/mysql-connector-java-8.0.23.jar" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/devProject/WEB-INF/lib/protobuf-java-3.11.4.jar" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/SelectDataImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/nmgs/service/impl/SelectDataImpl.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -117,7 +87,7 @@
"Tomcat Server.Tomcat 9.0.80.executor": "Debug",
"git-widget-placeholder": "main",
"kotlin-language-version-configured": "true",
"last_opened_file_path": "E:/work/TGGLT-WorkSpace/devProject/src/main/resources/static/View",
"last_opened_file_path": "E:/work/TGGLT-WorkSpace/divOutPortProject",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
@ -145,6 +115,7 @@
<recent name="E:\work\TGGLT-WorkSpace\dev_project\src\main\java\com\nmgs\mapper" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.nmgs.service" />
<recent name="com.nmgs.controller" />
<recent name="com.nmgs.entity" />
<recent name="com.nmgs.service.impl" />
@ -383,7 +354,15 @@
<workItem from="1732149481153" duration="760000" />
<workItem from="1732152411757" duration="1568000" />
<workItem from="1732501377749" duration="1074000" />
<workItem from="1732677117220" duration="26954000" />
<workItem from="1732677117220" duration="31877000" />
<workItem from="1732842423349" duration="822000" />
<workItem from="1733125307250" duration="2606000" />
<workItem from="1733185242107" duration="4392000" />
<workItem from="1733294466590" duration="4717000" />
<workItem from="1733885308019" duration="66000" />
<workItem from="1733902626264" duration="1167000" />
<workItem from="1734314950473" duration="8000" />
<workItem from="1734329741617" duration="11004000" />
</task>
<task id="LOCAL-00001" summary="特请处理">
<option name="closed" value="true" />
@ -433,7 +412,31 @@
<option name="project" value="LOCAL" />
<updated>1722236108679</updated>
</task>
<option name="localTasksCounter" value="7" />
<task id="LOCAL-00007" summary="数据核验查询接口以及导出接口, 新加了一个查询条件">
<option name="closed" value="true" />
<created>1732774339824</created>
<option name="number" value="00007" />
<option name="presentableId" value="LOCAL-00007" />
<option name="project" value="LOCAL" />
<updated>1732774339824</updated>
</task>
<task id="LOCAL-00008" summary="修改查询接口,出入口无法查询到数据的问题">
<option name="closed" value="true" />
<created>1733185514041</created>
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1733185514041</updated>
</task>
<task id="LOCAL-00009" summary="修改计费验证查询接口,出入口无法查询到数据的问题">
<option name="closed" value="true" />
<created>1733299427347</created>
<option name="number" value="00009" />
<option name="presentableId" value="LOCAL-00009" />
<option name="project" value="LOCAL" />
<updated>1733299427347</updated>
</task>
<option name="localTasksCounter" value="10" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -457,7 +460,9 @@
<MESSAGE value="计费验证修改数据" />
<MESSAGE value="计费验证详情,新加集团拟合数据" />
<MESSAGE value="数据核验查询接口以及导出接口, 新加了一个查询条件" />
<option name="LAST_COMMIT_MESSAGE" value="数据核验查询接口以及导出接口, 新加了一个查询条件" />
<MESSAGE value="修改查询接口,出入口无法查询到数据的问题" />
<MESSAGE value="修改计费验证查询接口,出入口无法查询到数据的问题" />
<option name="LAST_COMMIT_MESSAGE" value="修改计费验证查询接口,出入口无法查询到数据的问题" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>

@ -0,0 +1,162 @@
package com.nmgs.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.nmgs.config.ResultData;
import com.nmgs.service.impl.DivOutPortDroadaImpl;
import com.nmgs.util.PubTools;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("/mPayDivoutPortDroud")
public class DivOutPortDroadController {
@Autowired
public DivOutPortDroadaImpl divOutPortDroadaImpl;
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
@PostMapping(value="/getmPayDivoutPortDroud")
public ResultData<List> getDivDatasTable(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.getDivDataTableList(classDate, queryFilter, start, end, JSONArray.parseArray(whereParams));
List listTotal = divOutPortDroadaImpl.getDivDataTableList(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="/getMapDivDatas")
public ResultData<JSONObject> getMapDivDatas(HttpServletRequest request, @RequestBody(required = false) Object req) throws SQLException {
String gPATOLLINTERVALID="";//计费单元组ID
String gPAFEEGROUP="";//计费单元组金额
String gPAFEE="";//计费单元总金额
String dIVTOLLINTERVALID="";//拆分单元组ID
String dIVFEEGROUP="";//拆分单元组金额
String dIVFEE="";//拆分单元总金额
String PASSID="";//拆分单元总金额
String gPAENPOINTID="";//入口站id
String gPAEXPOINTID="";//出口站id
if(!PubTools.isEmpty(req)){
if(req instanceof Map){
gPATOLLINTERVALID=!PubTools.isEmpty(((Map<String,Object>) req).get("GPA_TOLLINTERVALID"))?((Map<String,Object>) req).get("GPA_TOLLINTERVALID").toString():"";
gPAFEEGROUP=!PubTools.isEmpty(((Map<String,Object>) req).get("GPA_FEEGROUP"))?((Map<String,Object>) req).get("GPA_FEEGROUP").toString():"";
gPAFEE=!PubTools.isEmpty(((Map<String,Object>) req).get("GPA_FEE"))?((Map<String,Object>) req).get("GPA_FEE").toString():"";
dIVTOLLINTERVALID= !PubTools.isEmpty(((Map<String,Object>) req).get("DIV_TOLLINTERVALID"))?((Map<String,Object>) req).get("DIV_TOLLINTERVALID").toString():"";
dIVFEEGROUP= !PubTools.isEmpty(((Map<String,Object>) req).get("DIV_FEEGROUP"))?((Map<String,Object>) req).get("DIV_FEEGROUP").toString():"";
dIVFEE= !PubTools.isEmpty(((Map<String,Object>) req).get("DIV_FEE"))?((Map<String,Object>) req).get("DIV_FEE").toString():"";
PASSID= !PubTools.isEmpty(((Map<String,Object>) req).get("PASSID"))?((Map<String,Object>) req).get("PASSID").toString():"";
gPAENPOINTID= !PubTools.isEmpty(((Map<String,Object>) req).get("GPA_ENPOINTID"))?((Map<String,Object>) req).get("GPA_ENPOINTID").toString():"";
gPAEXPOINTID= !PubTools.isEmpty(((Map<String,Object>) req).get("GPA_EXPOINTID"))?((Map<String,Object>) req).get("GPA_EXPOINTID").toString():"";
}else if(req instanceof JSONObject){
gPATOLLINTERVALID=!PubTools.isEmpty(((JSONObject) req).get("GPA_TOLLINTERVALID"))?((JSONObject) req).get("GPA_TOLLINTERVALID").toString():"";
gPAFEEGROUP=!PubTools.isEmpty(((JSONObject) req).get("GPA_FEEGROUP"))?((JSONObject) req).get("GPA_FEEGROUP").toString():"";
gPAFEE=!PubTools.isEmpty(((JSONObject) req).get("GPA_FEE"))?((JSONObject) req).get("GPA_FEE").toString():"";
dIVTOLLINTERVALID= !PubTools.isEmpty(((JSONObject) req).get("DIV_TOLLINTERVALID"))?((JSONObject) req).get("DIV_TOLLINTERVALID").toString():"";
dIVFEEGROUP= !PubTools.isEmpty(((JSONObject) req).get("DIV_FEEGROUP"))?((JSONObject) req).get("DIV_FEEGROUP").toString():"";
dIVFEE= !PubTools.isEmpty(((JSONObject) req).get("DIV_FEE"))?((JSONObject) req).get("DIV_FEE").toString():"";
PASSID= !PubTools.isEmpty(((JSONObject) req).get("PASSID"))?((JSONObject) req).get("PASSID").toString():"";
gPAENPOINTID= !PubTools.isEmpty(((JSONObject) req).get("GPA_ENPOINTID"))?((JSONObject) req).get("GPA_ENPOINTID").toString():"";
gPAEXPOINTID= !PubTools.isEmpty(((JSONObject) req).get("GPA_EXPOINTID"))?((JSONObject) req).get("GPA_EXPOINTID").toString():"";
}
}
JSONObject list=divOutPortDroadaImpl.getDivMapDataList(gPATOLLINTERVALID,gPAFEEGROUP,gPAFEE,dIVTOLLINTERVALID,dIVFEEGROUP,dIVFEE,PASSID,gPAENPOINTID,gPAEXPOINTID);
if(list==null){
return ResultData.fail(-1,"数据查询失败");
}
return ResultData.success("成功",list,0);
}
}

@ -0,0 +1,702 @@
package com.nmgs.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.nmgs.mapper.Mapper;
import com.nmgs.util.LogUtil;
import com.nmgs.util.PropertiesUtil;
import com.nmgs.util.PubTools;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class DivOutPortDroadaImpl {
@Autowired
public Mapper mapperI;
public List getDivDataTableList(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 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 ,\n" +
"\tss.SPLITPROVINCE,\n" +
"\tss.DIVDATE,\n" +
"\tss.RESULT,\n" +
"\tss.DIVDETAIL,\n" +
"\tss.VEHICLECLASS,\n" +
"\tss.DROADNO,\n" +
"\tss.DROADFEE,\n" +
"\trt.ROADNAME,\n" +
"\tttd.text AS VEHICLETYPENAME,\n" +
"\tvt.text as VEHICLECLASSName,\n" +
"\td2.TEXT AS EXITFEETYPENAME,\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" +
"\tt.CLEARDATE,\n" +
"\tt.DIVDATE,\n" +
"\tt.RESULT,\n" +
"\tto_char(t.DIVDETAIL) AS DIVDETAIL,\n" +
"\t CONCAT(substr( t.VEHICLEID, 1, length(t.VEHICLEID)-1),pt.TEXT) 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 left join PLATECOLOR_TEXT pt on(pt.value = substr( t.VEHICLEID, length(t.VEHICLEID))) @JOINCONDITION@" +
"WHERE 1=1 \n";
if (!PubTools.isNull(classDate)) {
endSql += "\t AND t.CLEARDATE = to_date( '" + classDate + "', 'yyyy-mm-dd' ) \n";
}
try{
if(whereParams.size()>0){
endSql += solveSearchJSOn(whereParams, queryFilter);
}
if(start >=0 && end >0){
if ("2".equals(dbType)) {//oracle
sql = startsql + " from (" + startsqlPage + endSql + " and ROWNUM <= " + end + ")ss " ;
sql += " 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 ROAD_TABLE rt on(ss.DROADNO = rt.ROADNO)" +
" where ss.rn >= " + start+" order by ss.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 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();
}
return list;
}
public JSONObject getDivMapDataList(String gPATOLLINTERVALID,String gPAFEEGROUP,String gPAFEE,String dIVTOLLINTERVALID,String dIVFEEGROUP,String dIVFEE,String PASSID,String gPAENPOINTID,String gPAEXPOINTID) {
String[] mapMarker=gPATOLLINTERVALID.replace("|",",").split(",");
String[] mapMarkerFee=gPAFEEGROUP.replace("|",",").split(",");
String mapMarkerFeeMoney=gPAFEE;
String[] mapMarkerD=dIVTOLLINTERVALID.replace("|",",").split(",");
String[] mapMarkerDFee=dIVFEEGROUP.replace("|",",").split(",");
String mapMarkerDFeeMoney=dIVFEE;
JSONObject jo=new JSONObject();
jo.put("PASSID",PASSID);
List mapFEEList = new ArrayList();//展示计费数据地图数据
List mapDivFEEList = new ArrayList();//展示拆分数据地图数据
List mapList=new ArrayList();//用于展示表格数据
Double gpaMoneyTotal=0.0;
Double divMoneyTotal=0.0;
Double gpaLengthTotal=0.0;
Double divLengthTotal=0.0;
try{
String sql="select distinct (case ft.VIRTUALTYPE when 0 then nt.NAME else dt.STANAME end) as STANAME," +
"(case ft.VIRTUALTYPE when 0 then nt.LNG else dt.LNG end) AS LNG," +
"(case ft.VIRTUALTYPE when 0 then nt.LAT else dt.LAT end) AS LAT,ft.length/1000 as LENGTH," +
"(case ft.VIRTUALTYPE when 0 then nt.STANO else dt.STANO end) as STANO," +
"ft.NAME as FEEUNITNAME from \n" +
"FEEUNIT_TABLE ft \n" +
"left join GANTRY_TABLE nt on nt.TOLLINTERVALS=ft.ID AND ft.VIRTUALTYPE=0\n" +
"left join DIV_NAME_TABLE dt on dt.STANO=ft.OSTANO AND ft.VIRTUALTYPE=1\n" +
"where ft.ID='@PARAM@'";
if(mapMarker.length >0 && !PubTools.isNull(mapMarker[0]) && mapMarkerD.length>0 && !PubTools.isNull(mapMarkerD[0]) ){
JSONArray jaGPA=new JSONArray();
JSONArray jaDiv=new JSONArray();
for(int i=0;i<mapMarker.length;i++) {
//计费单元地图数据
JSONObject joT = new JSONObject();
//计费单元数据
JSONObject joGPA = new JSONObject();
String sqlT = sql.replace("@PARAM@", mapMarker[i].substring(0,16));
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 staName = "";
String feeUnitName = "";//计费单元名称
String LNG = "";
String LAT = "";
String lengthD = "";
if (!PubTools.isEmpty(select1)) {
for (String str : select1.keySet()) {
if ("STANAME".equals(str)) {
staName = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
} else if ("LNG".equals(str)) {
LNG = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
} else if ("LAT".equals(str)) {
LAT = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
} else if ("LENGTH".equals(str)) {
lengthD = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
}else if ("FEEUNITNAME".equals(str)) {
feeUnitName = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
}
}
}
gpaMoneyTotal += Double.parseDouble(mapMarkerFee[i].toString());
gpaLengthTotal += Double.parseDouble(PubTools.isNull(lengthD) ? "0" : lengthD);
joGPA.put("feeUnitId",mapMarker[i].substring(0,16));
joGPA.put("gpaName",feeUnitName);
joGPA.put("gpaMoney", Double.parseDouble(mapMarkerFee[i].toString()) / 100);
joGPA.put("gpaLength",lengthD);
jaGPA.add(joGPA);
if (!PubTools.isNull(staName)) {
joT.put("staName", staName);
joT.put("LNG", LNG);//经度
joT.put("LAT", LAT);//纬度
joT.put("FEE", Double.parseDouble(mapMarkerFee[i].toString()) / 100);//金额
mapFEEList.add(joT);
}
}
for(int k=0;k<mapMarkerD.length;k++){
//拆分单元地图的数据
JSONObject joT=new JSONObject();
//拆分单元数据
JSONObject joDiv = new JSONObject();
String sqlT = "";
if (mapMarkerD[k].length() > 16) {
sqlT = sql.replace("@PARAM@", mapMarkerD[k].substring(0, 16));
} else {
sqlT = sql.replace("@PARAM@", mapMarkerD[k]);
}
Map<String,Object> select1D=new HashMap<>();
List temp = this.mapperI.selectforlist(sqlT);
Map<String, Object> select1 = new HashMap<>();
if(temp != null && temp.size()>0){
select1=(Map<String,Object>)temp.get(0);
}else{
select1=new HashMap<>();
}
String staName = "";
String LNG = "";
String feeUnitName = "";//计费单元名称
String LAT = "";
String lengthD = "";
if(!PubTools.isEmpty(select1)){
for(String str:select1.keySet()){
if("STANAME".equals(str)){
staName= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if("LNG".equals(str)){
LNG= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if("LAT".equals(str)){
LAT= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if("LENGTH".equals(str)){
lengthD= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if ("FEEUNITNAME".equals(str)) {
feeUnitName = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
}
}
}
divMoneyTotal+=Double.parseDouble(mapMarkerDFee[k].toString());
divLengthTotal+=Double.parseDouble(PubTools.isNull(lengthD)?"0":lengthD);
joDiv.put("feeUnitId",mapMarkerD[k].substring(0,16));
joDiv.put("divName",feeUnitName);
joDiv.put("divMoney", Double.parseDouble(mapMarkerDFee[k].toString()) / 100);
joDiv.put("divLength",lengthD);
jaDiv.add(joDiv);
if(!PubTools.isNull(staName)){
joT.put("staName",staName);
joT.put("LNG",LNG);//经度
joT.put("LAT",LAT);//纬度
joT.put("FEE", Double.parseDouble(mapMarkerDFee[k].toString()) / 100);//金额
mapDivFEEList.add(joT);
}
}
if(jaGPA.size()> jaDiv.size()){
for(Object divObject:jaGPA){//已计费数据为主
JSONObject jT=(JSONObject)divObject;
JSONObject table = new JSONObject();
table.put("PASSID", PASSID);
String feeUnitId= jT.getString("feeUnitId");
String gpaName=jT.getString("gpaName");;
String gpaMoney=jT.getString("gpaMoney");;
String gpaLength=jT.getString("gpaLength");;
String divName="";
String divMoney="";
String divLength="";
for(Object gpaObject:jaDiv){
JSONObject jTD=(JSONObject)gpaObject;
String feeUnitIdDiv= jTD.getString("feeUnitId");
if(feeUnitId.equals(feeUnitIdDiv)){
divName=jTD.getString("divName");
divMoney=jTD.getString("divMoney");
divLength=jTD.getString("divLength");
jaDiv.remove(gpaObject);
break;
}
}
table.put("gpaName", gpaName);
table.put("gpaMoney", gpaMoney);
table.put("gpaLength", gpaLength);
table.put("divName",divName);
table.put("divMoney",divMoney);
table.put("divLength",divLength);
mapList.add(table);
}
//没有匹配上的数据
if(jaDiv.size()>0){
for(Object gpaObject:jaDiv){
JSONObject table = new JSONObject();
table.put("PASSID", PASSID);
JSONObject jTD=(JSONObject)gpaObject;
table.put("gpaName", "");
table.put("gpaMoney", "");
table.put("gpaLength", "");
table.put("divName",jTD.getString("divName"));
table.put("divMoney",jTD.getString("divMoney"));
table.put("divLength",jTD.getString("divLength"));
mapList.add(table);
}
}
}else if(jaGPA.size()< jaDiv.size()){
for(Object divObject:jaDiv){//已拆分数据为主
JSONObject jT=(JSONObject)divObject;
JSONObject table = new JSONObject();
table.put("PASSID", PASSID);
String feeUnitId= jT.getString("feeUnitId");
String gpaName="";
String gpaMoney="";
String gpaLength="";
String divName=jT.getString("divName");;
String divMoney=jT.getString("divMoney");
String divLength=jT.getString("divLength");
for(Object gpaObject:jaGPA){
JSONObject jTD=(JSONObject)gpaObject;
String feeUnitIdDiv= jTD.getString("feeUnitId");
if(feeUnitId.equals(feeUnitIdDiv)){
gpaName=jTD.getString("gpaName");
gpaMoney=jTD.getString("gpaMoney");
gpaLength=jTD.getString("gpaLength");
jaGPA.remove(gpaObject);
break;
}
}
table.put("gpaName", gpaName);
table.put("gpaMoney", gpaMoney);
table.put("gpaLength", gpaLength);
table.put("divName",divName);
table.put("divMoney",divMoney);
table.put("divLength",divLength);
mapList.add(table);
}
//没有匹配上的数据
if(jaGPA.size()>0){
for(Object gpaObject:jaGPA){
JSONObject table = new JSONObject();
table.put("PASSID", PASSID);
JSONObject jTD=(JSONObject)gpaObject;
table.put("gpaName", jTD.getString("gpaName"));
table.put("gpaMoney", jTD.getString("gpaMoney"));
table.put("gpaLength", jTD.getString("gpaLength"));
table.put("divName","");
table.put("divMoney","");
table.put("divLength","");
mapList.add(table);
}
}
}else{
for(Object divObject:jaGPA){//已拆分数据为主
JSONObject table = new JSONObject();
table.put("PASSID", PASSID);
JSONObject jT=(JSONObject)divObject;
String feeUnitId= jT.getString("feeUnitId");
String gpaName=jT.getString("gpaName");;
String gpaMoney=jT.getString("gpaMoney");;
String gpaLength=jT.getString("gpaLength");;
String divName="";
String divMoney="";
String divLength="";
for(Object gpaObject:jaDiv){
JSONObject jTD=(JSONObject)gpaObject;
String feeUnitIdDiv= jTD.getString("feeUnitId");
if(feeUnitId.equals(feeUnitIdDiv)){
divName=jTD.getString("divName");
divMoney=jTD.getString("divMoney");
divLength=jTD.getString("divLength");
jaDiv.remove(gpaObject);
break;
}
}
table.put("gpaName", gpaName);
table.put("gpaMoney", gpaMoney);
table.put("gpaLength", gpaLength);
table.put("divName",divName);
table.put("divMoney",divMoney);
table.put("divLength",divLength);
mapList.add(table);
}
//没有匹配上的数据
if(jaDiv.size()>0){
for(Object gpaObject:jaDiv){
JSONObject table = new JSONObject();
table.put("PASSID", PASSID);
JSONObject jTD=(JSONObject)gpaObject;
table.put("gpaName", "");
table.put("gpaMoney", "");
table.put("gpaLength", "");
table.put("divName",jTD.getString("divName"));
table.put("divMoney",jTD.getString("divMoney"));
table.put("divLength",jTD.getString("divLength"));
mapList.add(table);
}
}
}
}else if(mapMarker.length >0 && !PubTools.isNull(mapMarker[0]) && PubTools.isNull(mapMarkerD[0]) ){//只有计费没有拆分
for(int i=0;i<mapMarker.length;i++){
JSONObject table = new JSONObject();
table.put("PASSID",PASSID);
//计费单元数据
JSONObject joT=new JSONObject();
String sqlT = "";
if (mapMarker[i].length() > 16) {
sqlT = sql.replace("@PARAM@", mapMarker[i].substring(0, 16));
} else {
sqlT = sql.replace("@PARAM@", mapMarker[i]);
}
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 staName="";
String LNG="";
String LAT="";
String lengthD="";
String feeUnitName="";
if(!PubTools.isEmpty(select1)){
for(String str:select1.keySet()){
if("STANAME".equals(str)){
staName= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if("LNG".equals(str)){
LNG= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if("LAT".equals(str)){
LAT= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if("LENGTH".equals(str)){
lengthD= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if ("FEEUNITNAME".equals(str)) {
feeUnitName = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
}
}
}
table.put("gpaName",feeUnitName);
table.put("gpaMoney", Double.parseDouble(mapMarkerFee[i].toString()) / 100);
table.put("gpaLength",lengthD);
gpaMoneyTotal+=Double.parseDouble(mapMarkerFee[i].toString());
gpaLengthTotal+=Double.parseDouble(PubTools.isNull(lengthD)?"0":lengthD);
if(!PubTools.isNull(staName)){
joT.put("staName",staName);
joT.put("LNG",LNG);//经度
joT.put("LAT",LAT);//纬度
joT.put("FEE", Double.parseDouble(mapMarkerFee[i].toString()) / 100);//金额
mapFEEList.add(joT);
}
//拆分单元的数据
table.put("divName","");
table.put("divMoney","");
table.put("divLength","");
mapList.add(table);
}
}else if( PubTools.isNull(mapMarker[0]) && !PubTools.isNull(mapMarkerD[0]) && mapMarkerD.length>0){//只有拆分没有计费
for(int i=0;i<mapMarkerD.length;i++){
JSONObject table = new JSONObject();
table.put("PASSID",PASSID);
//计费单元数据
JSONObject joT=new JSONObject();
Map<String,Object> select1=new HashMap<>();
//查询单元名称
String staName="";
String LNG="";
String LAT="";
String feeUnitName="";
String lengthD="";
table.put("gpaName","");
table.put("gpaMoney","");
table.put("gpaLength","");
//拆分单元的数据
String sqlT=sql.replace("@PARAM@",mapMarkerD[i].substring(0,16));
Map<String,Object> select1D=new HashMap<>();
List temp = this.mapperI.selectforlist(sqlT);
if(temp != null && temp.size()>0){
select1=(Map<String,Object>)temp.get(0);
}else{
select1=new HashMap<>();
}
if(!PubTools.isEmpty(select1)){
for(String str:select1.keySet()){
if("STANAME".equals(str)){
staName= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if("LNG".equals(str)){
LNG= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if("LAT".equals(str)){
LAT= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if("LENGTH".equals(str)){
lengthD= (!PubTools.isEmpty(select1.get(str))?select1.get(str).toString():"");
}else if ("FEEUNITNAME".equals(str)) {
feeUnitName = (!PubTools.isEmpty(select1.get(str)) ? select1.get(str).toString() : "");
}
}
}
table.put("divName",feeUnitName);
table.put("divMoney", Double.parseDouble(mapMarkerDFee[i].toString()) / 100);
divMoneyTotal+=Double.parseDouble(mapMarkerDFee[i].toString());
table.put("divLength",lengthD);
divLengthTotal+=Double.parseDouble(PubTools.isNull(lengthD)?"0":lengthD);
if(!PubTools.isNull(staName)){
joT.put("staName",staName);
joT.put("LNG",LNG);//经度
joT.put("LAT",LAT);//纬度
joT.put("FEE", Double.parseDouble(mapMarkerDFee[i].toString()) / 100);//金额
mapDivFEEList.add(joT);
}
mapList.add(table);
}
}
//表格加一个合计
if(mapList.size()>0){
JSONObject totalJson=new JSONObject();
totalJson.put("PASSID","合计");
totalJson.put("gpaName","");
totalJson.put("gpaMoney", gpaMoneyTotal < 0 ? "" : PubTools.doubleSave1(Double.parseDouble(gpaMoneyTotal.toString()) / 100));
totalJson.put("gpaLength", gpaLengthTotal < 0 ? "" : PubTools.doubleSave1(Double.parseDouble(gpaLengthTotal.toString())));
totalJson.put("divName","");
totalJson.put("divMoney", divMoneyTotal < 0 ? "" : PubTools.doubleSave1(Double.parseDouble(divMoneyTotal.toString()) / 100));
totalJson.put("divLength", divLengthTotal < 0 ? "" : PubTools.doubleSave1(Double.parseDouble(divLengthTotal.toString())));
mapList.add(totalJson);
}
jo.put("mapFEEList",mapFEEList);//计费路线
jo.put("mapDivFEEList",mapDivFEEList);//拆分路线
jo.put("mapMarkerFeeMoney",mapMarkerFeeMoney);//计费总金额
jo.put("mapMarkerDFeeMoney",mapMarkerDFeeMoney);//拆分总金额
jo.put("tableList",mapList);
}catch(Exception e){
e.printStackTrace();
LogUtil.WriteLog_Error("查询数据失败====="+e.getMessage(),"DivPassDataImpl");
jo=new JSONObject();
}
return jo;
}
public String getFlagType(String value){
String ret="";
String sql = "SELECT TEXT AS FLAGTEXT\n" +
"FROM FLAG_TEXT where value in("+value+")";
try{
List temp = this.mapperI.selectforlist(sql);
if(temp != null && temp.size()>0){
for (int k = 0; k < temp.size(); k++) {
Map<String, Object> select1 = (Map<String, Object>) temp.get(k);
if (PubTools.isNull(ret)) {
ret = select1.get("FLAGTEXT").toString();
} else {
ret += "," + select1.get("FLAGTEXT").toString();
}
}
}
}catch(Exception e){
e.printStackTrace();
ret="";
}
return ret;
}
/**
*
* @param passId
* @return
*/
public List getDivErrorDatas(String passId) {
List list=new ArrayList();
String sql =" SELECT " +
" CASE RESULT WHEN 1 THEN '结束追偿'" +
" WHEN 2 THEN '有效追偿(涉及资金结算)'" +
" WHEN 3 THEN '有效追偿(不涉及资金结算)'" +
" WHEN 4 THEN '无效追偿'" +
" WHEN 5 THEN '交易已补传 '" +
" WHEN 6 THEN '交易已补传(优惠车辆)'" +
" WHEN 7 THEN '添加passId已拆分'" +
" WHEN 8 THEN '添加passId不拆分'" +
" WHEN 9 THEN '添加passId优惠车辆'" +
" WHEN 10 THEN '确认未找到流水(其他)'" +
" WHEN 11 THEN '确认未找到流水(出口逃费)'" +
" else '' END as RESULTNAME, " +
" CASE HANDLESTATUS WHEN 1 THEN ‘无效追偿’ WHEN 2 THEN '有效追偿(涉及资金结算)' WHEN 3 THEN '有效追偿(不涉及资金结算)' ELSE '' END AS HANDLENAME" +
" FROM (\tSELECT PASSID,RESULT,HANDLESTATUS FROM BSDZ_NOSPLIT_RESULT \n" +
"\t\n" +
"\tUNION ALL\n" +
"\t\n" +
"\tSELECT PASSID,RESULT,HANDLESTATUS FROM BSDZ_NOOUTPORT_RESULT)t where t.PASSID='"+passId+"'";
try{
list= this.mapperI.selectforlist(sql);
if(list.size()>0){
if(PubTools.isEmpty(list.get(0))){
list=new ArrayList();
}
}
}catch(Exception e){
LogUtil.WriteLog_Error("查询数据失败====="+e.getMessage(),"getDivErrorDatas");
list=new ArrayList();
}
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 a.EXITFEETYPE ='" + val + "' ";
} else if (colName.equals("SENSTANAMEID")) {
querySql += "\tAND t.GPA_ENPOINTID in (select TOLLINTERVALS from GANTRY_TABLE WHERE STANO = '" + val + "') ";
} else if (colName.equals("SEXSTANAMEID")) {
querySql += "\tAND t.GPA_EXPOINTID in (select TOLLINTERVALS from GANTRY_TABLE WHERE 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;
}
}

@ -39,7 +39,7 @@ public class SelectDataImpl {
sql="select a.value as VALUE,a.text as LABEL from TYPE_TEXT a order by a.value";
}else if("EXITFEETYPE".equals(selectType)){//出口计费方式
sql="select a.value as VALUE,a.text as LABEL from EXITFEETYPE_TEXT a order by a.value";
}else if("STANAME".equals(selectType)){//站名称
} else if ("STANAME".equals(selectType)) {//站名称,包含门架
sql="select a.STANO as VALUE,a.STANAME as LABEL from DIV_NAME_TABLE a where a.STATYPE=1 order by a.STANAME";
}else if("SUBCOM".equals(selectType)){//分公司下拉值
//sql="select subComNo value,subComName label from subcompany_table where 1=1 ";
@ -50,7 +50,7 @@ public class SelectDataImpl {
sql += " and a.subcomno ="+subcomno;
}
sql +=" order by a.roadname ";
}else if("STANO".equals(selectType)){//站名称
} else if ("STANO".equals(selectType)) {//站名称,包含门架,可关联分公司或者路段
sql="select distinct a.stano as value,a.staname as label from DIV_NAME_TABLE a where a.STATYPE=1 ";
if(!PubTools.isNull(subcomno)){
sql += " and a.subcomno ="+subcomno;
@ -59,6 +59,15 @@ public class SelectDataImpl {
sql += " and a.roadno ="+roadNo;
}
sql +=" order by a.STANAME ";
} else if ("STANONAME".equals(selectType)) {//站名称
sql = "select distinct a.stano as value,a.staname as label from NAME_TABLE a where 1=1 ";
if (!PubTools.isNull(subcomno)) {
sql += " and a.subcomno =" + subcomno;
}
if (!PubTools.isNull(roadNo)) {
sql += " and a.roadno =" + roadNo;
}
sql += " order by a.STANAME ";
}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)){//互通名称

Loading…
Cancel
Save