绿通接口调整,所站基本信息管理后端代码完成

master
gsy 2 years ago
parent 34662c72d7
commit 4f215348a8

@ -153,17 +153,35 @@
<scope>runtime</scope> <scope>runtime</scope>
</dependency> </dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<dependency> <dependency>
<groupId>com.oracle.ojdbc</groupId> <groupId>com.oracle.ojdbc</groupId>
<artifactId>orai18n</artifactId> <artifactId>orai18n</artifactId>
<version>19.3.0.0</version> <version>19.3.0.0</version>
</dependency> </dependency>
<dependency> <!-- JAX-WS dependency -->
<groupId>org.apache.httpcomponents</groupId> <dependency>
<artifactId>httpclient</artifactId> <groupId>org.apache.cxf</groupId>
<version>4.5.13</version> <artifactId>cxf-rt-frontend-jaxws</artifactId>
</dependency> <version>3.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.2.5</version>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>

@ -13,12 +13,12 @@ import java.util.concurrent.ThreadPoolExecutor;
@EnableAsync @EnableAsync
public class ThreadPoolConfig { public class ThreadPoolConfig {
@Bean("WhiteListManagerSysThreadPool") //线程池实例名,多个线程池配置需要声明,一个线程池可有可无 @Bean("greenTrafficThreadPool") //线程池实例名,多个线程池配置需要声明,一个线程池可有可无
public Executor executorNormal() { public Executor executorNormal() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(3); executor.setCorePoolSize(4);
executor.setMaxPoolSize(5); executor.setMaxPoolSize(10);
executor.setQueueCapacity(3); executor.setQueueCapacity(10);
executor.setKeepAliveSeconds(60); executor.setKeepAliveSeconds(60);
executor.setThreadNamePrefix("NORMAL--"); executor.setThreadNamePrefix("NORMAL--");
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy()); executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());

@ -16,6 +16,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@ -39,9 +40,9 @@ public class GreenTrafficController {
private GreenTrafficCheckResultMapper greenTrafficCheckResultMapper; private GreenTrafficCheckResultMapper greenTrafficCheckResultMapper;
@PostMapping("/getgGreenTrafficPage") @PostMapping("/getGreenTrafficPage")
@ResponseBody @ResponseBody
public Object getgGreenTrafficPage(@RequestBody Map<String, Object> params){ public Object getGreenTrafficPage(@RequestBody Map<String, Object> params){
return greenTrafficService.getGreenTrafficList(params); return greenTrafficService.getGreenTrafficList(params);
@ -54,9 +55,14 @@ public class GreenTrafficController {
public Object GreenTrafficSearchData(@RequestBody Map<String, Object> params) { public Object GreenTrafficSearchData(@RequestBody Map<String, Object> params) {
System.out.println(params); System.out.println(params);
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
resultMap.put("CarNoColorList", greenTrafficMapper.selectCarNoColorList()); if("N".equals(params.get("isChange"))){
resultMap.put("RoadList", greenTrafficMapper.selectRoadList()); resultMap.put("CarNoColorList", greenTrafficMapper.selectCarNoColorList());
resultMap.put("staList", greenTrafficMapper.selectStaList(params)); resultMap.put("RoadList", greenTrafficMapper.selectRoadList());
resultMap.put("staList", greenTrafficMapper.selectStaList(params));
}else{
resultMap.put("staList", greenTrafficMapper.selectStaList(params));
}
return resultMap; return resultMap;
} }
@ -137,6 +143,19 @@ public class GreenTrafficController {
} }
@GetMapping("/exportGreenTrafficExcle")
@ResponseBody
public void exportGreenTrafficExcle(String searchForm, HttpServletResponse response){
logger.info("searchForm============"+searchForm.toString());
try {
greenTrafficService.exportGreenTrafficExcle(searchForm,response);
} catch (Exception e) {
logger.error("com.nmgs.controller.GreenTrafficController.exportGreenTrafficExcle: 导出失败"+e);
}
}
} }

@ -0,0 +1,53 @@
package com.nmgs.controller;
import com.nmgs.entity.GreenTrafficCheckResult;
import com.nmgs.entity.GsyTest;
import com.nmgs.mapper.GreenTrafficCheckResultMapper;
import com.nmgs.mapper.GreenTrafficMapper;
import com.nmgs.mapper.GsyTestMapper;
import com.nmgs.service.IGreenTrafficService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;
@Controller
@RequestMapping("/GsyTest")
@CrossOrigin(origins = "*")
public class GsyTestController {
public static Logger logger = LoggerFactory.getLogger(GsyTestController.class);
@Autowired
private GsyTestMapper gsyTestMapper;
@PostMapping("/add")
@ResponseBody
public Object add(){
GsyTest gsyTest = new GsyTest();
gsyTest.setUuid("123123");
gsyTest.setTest_01("1");
gsyTest.setTest_02("2");
gsyTest.setTest_03("/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMACgcHCAcGCggICAsKCgsOGBAODQ0OHRUWERgjHyUkIh8iISYrNy8mKTQpISIwQTE0OTs+Pj4lLkRJQzxINz0+O//bAEMBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIAwAEAAMBIgACEQEDEQH/xAAcAAABBQEBAQAAAAAAAAAAAAAAAQIDBAUGBwj/xABLEAABBAECAwUGBAMFBgUEAAcBAAIDEQQSIQUxQRMiUWFxBjKBkaGxFELB0SNS4RUzYnLwByRDU4LxFjRjc5JEorLCJVSDk9I14v/EABoBAQEBAQEBAQAAAAAAAAAAAAABAgMEBQb/xAAyEQEBAAIBBAECAwYGAwEAAAAAAQIRAxIhMUEEE1EFFCIyYXGRofAjM4Gx0eFCQ8Hx/9oADAMBAAIRAxEAPwD2VCEKshCEIBIlSIFQhCBEqEIhEDklSDqimjZ5Tuqb/wAT4J3VAJv5k5Ife+CBVUzm6ohvVOVtVsz+56e8OasGHjMc7Nya0kAj7K3ocPy");
gsyTest.setTest_04("/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMACgcHCAcGCggICAsKCgsOGBAODQ0OHRUWERgjHyUkIh8iISYrNy8mKTQpISIwQTE0OTs+Pj4lLkRJQzxINz0+O//bAEMBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIAwAEAAMBIgACEQEDEQH/xAAcAAABBQEBAQAAAAAAAAAAAAAAAQIDBAUGBwj/xABLEAABBAECAwUGBAMFBgUEAAcBAAIDEQQSIQUxQRMiUWFxBjKBkaGxFELB0SNS4RUzYnLwByRDU4LxFjRjc5JEorLCJVSDk9I14v/EABoBAQEBAQEBAQAAAAAAAAAAAAABAgMEBQb/xAAyEQEBAAIBBAECAwYGAwEAAAAAAQIRAxIhMUEEE1EFFCIyYXGRofAjM4Gx0eFCQ8Hx/9oADAMBAAIRAxEAPwD2VCEKshCEIBIlSIFQhCBEqEIhEDklSDqimjZ5Tuqb/wAT4J3VAJv5k5Ife+CBVUzm6ohvVOVtVsz+56e8OasGHjMc7Nya0kAj7K3ocPy");
gsyTest.setTest_05("/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMACgcHCAcGCggICAsKCgsOGBAODQ0OHRUWERgjHyUkIh8iISYrNy8mKTQpISIwQTE0OTs+Pj4lLkRJQzxINz0+O//bAEMBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIAwAEAAMBIgACEQEDEQH/xAAcAAABBQEBAQAAAAAAAAAAAAAAAQIDBAUGBwj/xABLEAABBAECAwUGBAMFBgUEAAcBAAIDEQQSIQUxQRMiUWFxBjKBkaGxFELB0SNS4RUzYnLwByRDU4LxFjRjc5JEorLCJVSDk9I14v/EABoBAQEBAQEBAQAAAAAAAAAAAAABAgMEBQb/xAAyEQEBAAIBBAECAwYGAwEAAAAAAQIRAxIhMUEEE1EFFCIyYXGRofAjM4Gx0eFCQ8Hx/9oADAMBAAIRAxEAPwD2VCEKshCEIBIlSIFQhCBEqEIhEDklSDqimjZ5Tuqb/wAT4J3VAJv5k5Ife+CBVUzm6ohvVOVtVsz+56e8OasGHjMc7Nya0kAj7K3ocPy");
gsyTest.setTest_06("/9j/4AAQSkZJRgABAQAAAQABAAD");
int insert = gsyTestMapper.insert(gsyTest);
return insert;
}
}

@ -0,0 +1,142 @@
package com.nmgs.controller;
import com.nmgs.entity.OpenCarNo;
import com.nmgs.entity.Operators;
import com.nmgs.entity.Position;
import com.nmgs.mapper.OperatorsMapper;
import com.nmgs.service.IOperatorsService;
import com.nmgs.service.IPositionService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/Operators")
@CrossOrigin(origins = "*")
public class OperatorsController {
public static Logger logger = LoggerFactory.getLogger(OperatorsController.class);
@Autowired
private IOperatorsService OperatorsService;
@Autowired
private OperatorsMapper operatorsMapper;
@PostMapping("/getOperatorsList")
@ResponseBody
public Object getOperatorsList(@RequestBody Map<String, Object> params){
return OperatorsService.getOperatorsList(params);
}
@PostMapping("/getFiterData")
@ResponseBody
public Object getFiterData(@RequestBody Map<String, Object> params) {
System.out.println(params);
Map<String, Object> resultMap = new HashMap<>();
if("N".equals(params.get("isChange"))){
resultMap.put("subComList", operatorsMapper.selectSubComList());
resultMap.put("positionList", operatorsMapper.selectPositionList());
resultMap.put("staList", operatorsMapper.selectStaList(params));
}else{
resultMap.put("staList", operatorsMapper.selectStaList(params));
}
return resultMap;
}
@PostMapping("/addOperators")
@ResponseBody
public Object addOperators(@RequestBody Operators operators) {
Map<String, Object> resultMap = new HashMap<>();
try {
int res = OperatorsService.addOperators(operators);
if(res >= 0){
resultMap.put("msg","保存成功");
resultMap.put("data","");
resultMap.put("result",1);
}else{
resultMap.put("msg","保存失败");
resultMap.put("data","");
resultMap.put("result",-1);
}
return resultMap;
} catch (Exception e) {
logger.error("com.nmgs.controller.OperatorsController.addOperators: 保存数据失败 "+e);
resultMap.put("msg","保存失败");
resultMap.put("data","");
resultMap.put("result",-1);
return resultMap;
}
}
@PostMapping("/updateOperators")
@ResponseBody
public Object updateOperators(@RequestBody Operators operators) {
Map<String, Object> resultMap = new HashMap<>();
try {
int res = OperatorsService.updateOperators(operators);
if(res >= 0){
resultMap.put("msg","修改成功");
resultMap.put("data","");
resultMap.put("result",1);
}else{
resultMap.put("msg","修改失败");
resultMap.put("data","");
resultMap.put("result",-1);
}
return resultMap;
} catch (Exception e) {
logger.error("com.nmgs.controller.OperatorsController.updateOperators: 修改数据失败 "+e);
resultMap.put("msg","保存失败");
resultMap.put("data","");
resultMap.put("result",-1);
return resultMap;
}
}
@PostMapping("/deleteOperators")
@ResponseBody
public Object deleteOperators(@RequestBody List<Operators> Operators) {
Map<String, Object> resultMap = new HashMap<>();
try {
int res = OperatorsService.deleteOperators(Operators);
if(res >= 0){
resultMap.put("msg","删除成功");
resultMap.put("data","");
resultMap.put("result",1);
}else{
resultMap.put("msg","删除失败");
resultMap.put("data","");
resultMap.put("result",-1);
}
return resultMap;
} catch (Exception e) {
logger.error("com.nmgs.controller.OperatorsController.deleteOperators: 删除失败 "+e);
resultMap.put("msg","删除失败");
resultMap.put("data","");
resultMap.put("result",-1);
return resultMap;
}
}
@PostMapping("/getCollectionData")
@ResponseBody
public Object getCollectionData(@RequestBody Map<String, Object> params) {
return OperatorsService.getCollectionData(params);
}
}

@ -0,0 +1,97 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nmgs.entity.GreenTrafficCheckResult;
import com.nmgs.entity.OpenCarNo;
import com.nmgs.entity.Position;
import com.nmgs.mapper.GreenTrafficCheckResultMapper;
import com.nmgs.mapper.GreenTrafficMapper;
import com.nmgs.mapper.PositionMapper;
import com.nmgs.service.IGreenTrafficService;
import com.nmgs.service.IPositionService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/Position")
@CrossOrigin(origins = "*")
public class PositionController {
public static Logger logger = LoggerFactory.getLogger(PositionController.class);
@Autowired
private IPositionService positionService;
@PostMapping("/getPositionList")
@ResponseBody
public Object getPositionList(@RequestBody Map<String, Object> params){
return positionService.getPositionList(params);
}
@PostMapping("/addPosition")
@ResponseBody
public Object addPosition(@RequestBody Map<String, Object> params) {
Map<String, Object> resultMap = new HashMap<>();
try {
int res = positionService.addPosition((String) params.get("value"));
if(res >= 0){
resultMap.put("msg","保存成功");
resultMap.put("data","");
resultMap.put("result",1);
}else{
resultMap.put("msg","保存失败");
resultMap.put("data","");
resultMap.put("result",-1);
}
return resultMap;
} catch (Exception e) {
logger.error("com.nmgs.controller.PositionController.addPosition: 保存数据失败 "+e);
resultMap.put("msg","保存失败");
resultMap.put("data","");
resultMap.put("result",-1);
return resultMap;
}
}
@PostMapping("/deletePosition")
@ResponseBody
public Object deletePosition(@RequestBody List<Position> positions) {
Map<String, Object> resultMap = new HashMap<>();
try {
int res = positionService.deletePosition(positions);
if(res >= 0){
resultMap.put("msg","删除成功");
resultMap.put("data","");
resultMap.put("result",1);
}else{
resultMap.put("msg","删除失败");
resultMap.put("data","");
resultMap.put("result",-1);
}
return resultMap;
} catch (Exception e) {
logger.error("com.nmgs.controller.PositionController.deletePosition: 删除失败 "+e);
resultMap.put("msg","删除失败");
resultMap.put("data","");
resultMap.put("result",-1);
return resultMap;
}
}
}

@ -0,0 +1,67 @@
package com.nmgs.controller;
import com.nmgs.entity.StationInfo;
import com.nmgs.mapper.SetUpMapper;
import com.nmgs.mapper.StationInfoMapper;
import com.nmgs.service.ISetUpService;
import com.nmgs.service.IStationInfoService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/SetUp")
@CrossOrigin(origins = "*")
public class SetupController {
public static Logger logger = LoggerFactory.getLogger(SetupController.class);
@Autowired
private ISetUpService setUpService;
@Autowired
private SetUpMapper setUpMapper;
@PostMapping("/getSetUpList")
@ResponseBody
public Object getSetUpList(@RequestBody Map<String, Object> params){
return setUpService.getSetUpList(params);
}
@PostMapping("/getFiterData")
@ResponseBody
public Object getFiterData(@RequestBody Map<String, Object> params) {
Map<String, Object> resultMap = new HashMap<>();
if("N".equals(params.get("isChange"))){
resultMap.put("portTypeList", setUpMapper.selectPortTypeList());
resultMap.put("roadList", setUpMapper.selectRoadList());
resultMap.put("staList", setUpMapper.selectStaList(params));
}else{
resultMap.put("staList", setUpMapper.selectStaList(params));
}
return resultMap;
}
@PostMapping("/getCollectionData")
@ResponseBody
public Object getCollectionData(@RequestBody Map<String, Object> params) {
return setUpService.getCollectionData(params);
}
}

@ -0,0 +1,125 @@
package com.nmgs.controller;
import com.nmgs.entity.Operators;
import com.nmgs.entity.StationInfo;
import com.nmgs.mapper.StationInfoMapper;
import com.nmgs.service.IStationInfoService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/StationInfo")
@CrossOrigin(origins = "*")
public class StationInfoController {
public static Logger logger = LoggerFactory.getLogger(StationInfoController.class);
@Autowired
private IStationInfoService stationInfoService;
@Autowired
private StationInfoMapper stationInfoMapper;
@PostMapping("/getStationInfoList")
@ResponseBody
public Object getStationInfoList(@RequestBody Map<String, Object> params){
return stationInfoService.getStationInfoList(params);
}
@PostMapping("/getOverMsg")
@ResponseBody
public Object getOverMsg(){
return stationInfoService.getOverMsg();
}
@PostMapping("/getFiterData")
@ResponseBody
public Object getFiterData(@RequestBody Map<String, Object> params) {
System.out.println(params);
Map<String, Object> resultMap = new HashMap<>();
if("N".equals(params.get("isChange"))){
resultMap.put("subComList", stationInfoMapper.selectSubComList());
resultMap.put("roadList", stationInfoMapper.selectRoadList());
resultMap.put("staList", stationInfoMapper.selectStaList(params));
}else{
resultMap.put("staList", stationInfoMapper.selectStaList(params));
}
return resultMap;
}
@PostMapping("/addStation")
@ResponseBody
public Object addStation(@RequestBody StationInfo stationInfo) {
Map<String, Object> resultMap = new HashMap<>();
try {
int res = stationInfoService.addStation(stationInfo);
if(res >= 0){
resultMap.put("msg","保存成功");
resultMap.put("data","");
resultMap.put("result",1);
}else if(res == -2){
resultMap.put("msg","该收费站已经添加,不能重复添加");
resultMap.put("data","");
resultMap.put("result",-2);
}else{
resultMap.put("msg","保存失败");
resultMap.put("data","");
resultMap.put("result",-1);
}
return resultMap;
} catch (Exception e) {
logger.error("com.nmgs.controller.StationInfoController.addStation: 保存数据失败 "+e);
resultMap.put("msg","保存失败");
resultMap.put("data","");
resultMap.put("result",-1);
return resultMap;
}
}
@PostMapping("/deleteStation")
@ResponseBody
public Object deleteStation(@RequestBody List<StationInfo> stationInfos) {
Map<String, Object> resultMap = new HashMap<>();
try {
int res = stationInfoService.deleteStation(stationInfos);
if(res >= 0){
resultMap.put("msg","删除成功");
resultMap.put("data","");
resultMap.put("result",1);
}else{
resultMap.put("msg","删除失败");
resultMap.put("data","");
resultMap.put("result",-1);
}
return resultMap;
} catch (Exception e) {
logger.error("com.nmgs.controller.StationInfoController.deleteStation: 删除失败 "+e);
resultMap.put("msg","删除失败");
resultMap.put("data","");
resultMap.put("result",-1);
return resultMap;
}
}
}

@ -61,6 +61,9 @@ public class GreenTraffic {;
@TableField("PAYCASH") @TableField("PAYCASH")
private BigDecimal payCash; private BigDecimal payCash;
@TableField("ID")
private String id;
@TableField(exist = false) @TableField(exist = false)
@JsonProperty("aTypeValue") @JsonProperty("aTypeValue")

@ -0,0 +1,43 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
@Data
@TableName("gsy_test")
@NoArgsConstructor
@AllArgsConstructor
public class GsyTest {;
@TableId(value = "uuid")
private String uuid;
@TableField(value = "test_01")
private String test_01;
@TableField(value = "test_02")
private String test_02;
@TableField(value = "test_03")
private String test_03;
@TableField("test_04")
private String test_04;
@TableField("test_05")
private String test_05;
@TableField("test_06")
private String test_06;
}

@ -0,0 +1,52 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*/
@Data
@TableName("OPERATORS")
@NoArgsConstructor
@AllArgsConstructor
public class Operators {;
@TableId(value = "ID")
private Integer id;
@TableField(value = "SUBCOMNO")
private String SubComNo;
@TableField(value = "STANO")
private String staNo;
@TableField(value = "POSITIONID")
private String positionId;
@TableField(value = "USERNAME")
private String userName;
@TableField(exist = false)
private String subComName;//分公司名称
@TableField(exist = false)
private String staName;//收费站名称
@TableField(exist = false)
private String positionName;//岗位名称
@TableField(exist = false)
private Integer totalCount;//统计数据
}

@ -0,0 +1,30 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*/
@Data
@TableName("POSITION")
@NoArgsConstructor
@AllArgsConstructor
public class Position {;
@TableId(value = "ID")
private Integer id;
@TableField(value = "VALUE")
private String value;
}

@ -0,0 +1,197 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*/
@Data
@TableName("SETUP_TABLE")
@NoArgsConstructor
@AllArgsConstructor
public class SetUp {
;
@TableField(value = "AREANO")
private Integer areaNo;
@TableField(value = "ROADNO")
@MppMultiId
private Integer roadNo;
@TableField(exist = false)
private String roadName; //路段名称
@TableField(value = "STANO")
@MppMultiId
private Integer staNo;
@TableField(exist = false)
private String staName; //收费站名称
@TableField(value = "PORTNO")
@MppMultiId
private Integer PortNo;
@TableField(value = "PORTIP")
private String portIp;
@TableField(value = "PRIVILEGE")
private Integer privilege;
@TableField(value = "CARNO")
private Integer CarNo;
@TableField(value = "STEP")
private Integer step;
@TableField(value = "OUTTIME")
private Integer outTime;
@TableField(value = "PORTTYPE")
private Integer portType;
@TableField(exist = false)
private String portTypeName; //车道类型
@TableField(exist = false)
private Integer totalCount;
@TableField(value = "CARDBOXNEED")
private Integer cardBoxNeed;
@TableField(value = "CARDBOXCOUNT")
private Integer cardBoxCount;
@TableField(value = "COMPARECOIL")
private Integer compareCoil;
@TableField(value = "IMAGE")
private Integer image;
@TableField(value = "IMAGEALL")
private Integer imageAll;
@TableField(value = "UNUSE1")
private Integer unUse1;
@TableField(value = "UNUSE2")
private Integer unUse2;
@TableField(value = "UNUSE3")
private Integer unUse3;
@TableField(value = "UNUSE4")
private Integer unUse4;
@TableField(value = "UNUSE5")
private Integer unUse5;
@TableField(value = "UNUSE6")
private Integer unUse6;
@TableField(value = "UNUSE7")
private Integer unUse7;
@TableField(value = "UNUSE8")
private Integer unUse8;
@TableField(value = "UNUSE9")
private Integer unUse9;
@TableField(value = "UNUSE10")
private Integer unUse10;
@TableField(value = "UNUSE11")
private Integer unUse11;
@TableField(value = "UNUSE12")
private Integer unUse12;
@TableField(value = "UNUSE13")
private Integer unUse13;
@TableField(value = "UNUSE14")
private Integer unUse14;
@TableField(value = "UNUSE15")
private Integer unUse15;
@TableField(value = "UNUSE16")
private Integer unUse16;
@TableField(value = "GBID")
private Integer gbId;
@TableField(value = "GBGREENTRAFFIC")
private Integer gbGreenTraffic;
@TableField(value = "GBTIDALTIME")
private Integer gbTidalTime;
@TableField(value = "GBSTARTTIME")
private Integer gbStarTtime;
@TableField(value = "GBENDTIME")
private Integer gbEndTime;
@TableField(value = "GBSTATUS")
private Integer gbStatus;
@TableField(value = "PLAZAID")
private Integer plazaId;
@TableField(value = "LANEHEX")
private Integer laneHex;
@TableField(value = "RSUMANUID")
private Integer rsumAnuId;
@TableField(value = "RSUMODEL")
private Integer rsumoDel;
@TableField(value = "RSUID")
private Integer rsuId;
@TableField(value = "RSUVERID")
private Integer rsuverId;
@TableField(value = "LASTSTATUS")
private Integer lastStatus;
@TableField(value = "LASTTIME")
private Integer lastTime;
@TableField(value = "LASTMESSAGE")
private Integer lastMessage;
@TableField(value = "ENTRYEXITTYPE")
private Integer entryExitType;
@TableField(value = "RAILINGPOS")
private Integer railingPos;
@TableField(value = "IFCONTAINLIMITWEIGHT")
private Integer ifContainLimitWeight;
@TableField(value = "VPLRMANUID")
private Integer vplrmanuId;
@TableField(value = "GBTYPE")
private Integer gbType;
@TableField(value = "LANENUM")
private Integer laneNum;
}

@ -0,0 +1,58 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@TableName("STATIONINFO")
@NoArgsConstructor
@AllArgsConstructor
public class StationInfo {;
@TableField(value = "SUBCOMNO")
@MppMultiId
private Integer subComNo;
@TableField(value = "STANO")
@MppMultiId
private Integer staNo;
@TableField(value = "STARTDATE")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date startDate;
@TableField(value = "ENDDATE")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date endDate;
@TableField(value = "ROADNO")
private Integer roadNo ;
@TableField(value = "MILEAGE")
private Integer mileAge;
@TableField(value = "STAKENO")
private String stakeNo;
@TableField(exist = false)
private String subComName; //分公司名称
@TableField(exist = false)
private String staName; //收费站名称
@TableField(exist = false)
private String roadName; //路段名称
}

@ -6,6 +6,7 @@ import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.nmgs.entity.GreenTraffic; import com.nmgs.entity.GreenTraffic;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -41,4 +42,19 @@ public interface GreenTrafficMapper extends MppBaseMapper<GreenTraffic> {
*/ */
List<Map<String,Object>> selectStaList(@Param("params")Map<String, Object> params); List<Map<String,Object>> selectStaList(@Param("params")Map<String, Object> params);
/**
* 绿
* @param listNo
* @return
*/
@Select("select op.CARDTP, op.ENTOLLSTATIONNAME,op.EXTOLLSTATIONNAME from OUT_PORT op where op.LISTNO=#{listNo}")
Map<String, Object> getOutPortByListNo(@Param("listNo")String listNo);
/**
*
* @param vehicleType
* @return
*/
@Select("select TEXT from TYPE_TEXT where VALUE=#{vehicleType}")
String getVehicleTypeNameByType(@Param("vehicleType")Integer vehicleType);
} }

@ -20,6 +20,7 @@
gtt.CASH, gtt.CASH,
gtt.INCASH, gtt.INCASH,
gtt.PAYCASH, gtt.PAYCASH,
gtt.id,
pet.TEXT as aTypeValue, pet.TEXT as aTypeValue,
kt.TEXT as kindValue, kt.TEXT as kindValue,
road.ROADNAME as roadName, road.ROADNAME as roadName,

@ -0,0 +1,17 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.nmgs.entity.GreenTraffic;
import com.nmgs.entity.GsyTest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface GsyTestMapper extends MppBaseMapper<GsyTest> {
}

@ -0,0 +1,56 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.nmgs.entity.Operators;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface OperatorsMapper extends MppBaseMapper<Operators> {
/**
*
* @param page
* @param params
* @return
*/
Page<Operators> getOperatorsList(Page<Operators> page, @Param("params")Map<String, Object> params);
/**
*
* @return
*/
List<Map<String,Object>> selectSubComList();
/**
*
* @return
*/
List<Map<String,Object>> selectPositionList();
/**
*
* @param params
* @return
*/
List<Map<String,Object>> selectStaList(@Param("params") Map<String, Object> params);
/**
* id
* @return
*/
Integer getMaxId();
/**
*
* @param page
* @param params
* @return
*/
Page<Operators> getCollectionData(Page<Operators> page,@Param("params") Map<String, Object> params);
}

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.OperatorsMapper">
<select id="getOperatorsList" parameterType="java.util.HashMap" resultType="com.nmgs.entity.Operators">
SELECT
oper.ID,
oper.SUBCOMNO,
oper.STANO,
oper.POSITIONID,
oper.USERNAME,
sub.SUBCOMNAME as subComName,
p.value as positionName,
sta.STANAME as staName
FROM
OPERATORS oper
LEFT JOIN SUBCOMPANY_TABLE sub on sub.SUBCOMNO = oper.SUBCOMNO
LEFT JOIN POSITION p on p.id = oper.POSITIONID
LEFT JOIN NAME_TABLE sta on sta.STANO = oper.STANO
<where>
<!-- 姓名查询条件 -->
<if test="params.userNameQuery != null and params.userNameQuery != ''">
<bind name="userNameQuery" value="'%'+params.userNameQuery+'%'"/>
AND oper.USERNAME LIKE #{userNameQuery}
</if>
<!-- 分公司查询条件 -->
<if test="params.subComNoQuery != null ">
AND oper.SUBCOMNO = #{params.subComNoQuery}
</if>
<!-- 收费站编号查询条件 -->
<if test="params.staNoQuery != null ">
AND oper.STANO = #{params.staNoQuery}
</if>
<!-- 岗位查询条件 -->
<if test="params.positionIdQuery != null ">
AND oper.POSITIONID = #{params.positionIdQuery}
</if>
</where>
ORDER BY oper.SUBCOMNO ,oper.STANO,oper.POSITIONID
</select>
<select id="selectSubComList" resultType="java.util.HashMap">
SELECT sub.SUBCOMNO,sub.SUBCOMNAME
FROM SUBCOMPANY_TABLE sub order by sub.SUBCOMNO
</select>
<select id="selectPositionList" resultType="java.util.HashMap">
SELECT *
FROM POSITION p order by p.ID
</select>
<select id="selectStaList" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT sta.STANO as staNo , sta.STANAME as staName
FROM NAME_TABLE sta
<where>
and sta.STATYPE=1
<!-- 根据分公司查询 -->
<if test="params.subComNo != null ">
AND sta.SUBCOMNO = #{params.subComNo}
</if>
</where>
order by sta.ROADNO,sta.STANO
</select>
<select id="getMaxId" resultType="java.lang.Integer">
SELECT MAX(ID) FROM OPERATORS
</select>
<select id="getCollectionData" parameterType="java.util.HashMap" resultType="com.nmgs.entity.Operators">
SELECT
<choose>
<when test="params.selectcolumn != null">
${params.selectcolumn}
</when>
<otherwise>
*
</otherwise>
</choose>
FROM
OPERATORS oper
LEFT JOIN SUBCOMPANY_TABLE sub on sub.SUBCOMNO = oper.SUBCOMNO
LEFT JOIN POSITION p on p.id = oper.POSITIONID
LEFT JOIN NAME_TABLE sta on sta.STANO = oper.STANO
<if test="params.group != null">
${params.group}
</if>
<if test="params.order != null">
${params.order}
</if>
</select>
</mapper>

@ -0,0 +1,33 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.nmgs.entity.Position;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface PositionMapper extends MppBaseMapper<Position> {
/**
*
* @param page
* @param params
* @return
*/
Page<Position> getPositionList(Page<Position> page, @Param("params") Map<String, Object> params);
/**
* id
* @return
*/
Integer getMaxId();
}

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.PositionMapper">
<select id="getPositionList" parameterType="java.util.HashMap" resultType="com.nmgs.entity.Position">
SELECT
p.ID,
p.VALUE
FROM
POSITION p
ORDER BY p.ID
</select>
<select id="getMaxId" resultType="java.lang.Integer">
SELECT MAX(ID) FROM POSITION
</select>
</mapper>

@ -0,0 +1,26 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.nmgs.entity.SetUp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface SetUpMapper extends MppBaseMapper<SetUp> {
Page<SetUp> getSetUpList(Page<SetUp> page, @Param("params") Map<String, Object> params);
List<Map<String,Object>> selectPortTypeList();
List<Map<String,Object>> selectRoadList();
List<Map<String,Object>> selectStaList(@Param("params")Map<String, Object> params);
Page<SetUp> getCollectionData(Page<SetUp> page, Map<String, Object> params);
}

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.SetUpMapper">
<select id="getSetUpList" parameterType="java.util.HashMap" resultType="com.nmgs.entity.SetUp">
SELECT
setup.ROADNO,
setup.STANO,
setup.PORTNO,
setup.PORTIP,
setup.PORTTYPE,
road.ROADNAME AS roadName,
sta.STANAME AS staName,
port.TEXT AS portTypeName
FROM
SETUP_TABLE setup
LEFT JOIN ROAD_TABLE road ON setup.ROADNO = road.ROADNO
LEFT JOIN NAME_TABLE sta ON sta.STANO = setup.STANO
LEFT JOIN PORTTYPE_TEXT port ON port.value = setup.PORTTYPE
<where>
<!-- 桩号查询条件 -->
<if test="params.portNoQuery != null and params.portNoQuery != ''">
<bind name="portNoQuery" value="'%'+params.portNoQuery+'%'"/>
AND setup.PORTNO LIKE #{portNoQuery}
</if>
<!-- 分公司查询条件 -->
<if test="params.portTypeQuery != null ">
AND setup.PORTTYPE = #{params.portTypeQuery}
</if>
<!-- 路段编号查询条件 -->
<if test="params.roadNoQuery != null ">
AND setup.ROADNO = #{params.roadNoQuery}
</if>
<!-- 收费站编号查询条件 -->
<if test="params.staNoQuery != null ">
AND setup.STANO = #{params.staNoQuery}
</if>
</where>
order by setup.ROADNO,setup.STANO,setup.PORTNO
</select>
<select id="selectPortTypeList" resultType="java.util.HashMap">
SELECT type.VALUE,type.TEXT
FROM PORTTYPE_TEXT type order by type.VALUE
</select>
<select id="selectRoadList" resultType="java.util.HashMap">
SELECT road.ROADNO as roadNo , road.ROADNAME as roadName
FROM ROAD_TABLE road order by road.ROADNO
</select>
<select id="selectStaList" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT sta.STANO as staNo , sta.STANAME as staName
FROM NAME_TABLE sta
<where>
and sta.STATYPE=1
<!-- 根据道路查询 -->
<if test="params.roadNo != null ">
AND sta.ROADNO = #{params.roadNo}
</if>
</where>
order by sta.ROADNO,sta.STANO
</select>
<select id="getCollectionData" parameterType="java.util.HashMap" resultType="com.nmgs.entity.SetUp">
SELECT
<choose>
<when test="params.selectcolumn != null">
${params.selectcolumn}
</when>
<otherwise>
*
</otherwise>
</choose>
FROM
SETUP_TABLE setup
LEFT JOIN ROAD_TABLE road ON setup.ROADNO = road.ROADNO
LEFT JOIN NAME_TABLE sta ON sta.STANO = setup.STANO
LEFT JOIN PORTTYPE_TEXT port ON port.value = setup.PORTTYPE
<if test="params.group != null">
${params.group}
</if>
<if test="params.order != null">
${params.order}
</if>
</select>
</mapper>

@ -0,0 +1,49 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.nmgs.entity.Operators;
import com.nmgs.entity.StationInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface StationInfoMapper extends MppBaseMapper<StationInfo> {
/**
*
* @param page
* @param params
* @return
*/
Page<StationInfo> getStationInfoList(Page<StationInfo> page, @Param("params") Map<String, Object> params);
/**
*
* @return
*/
List<Map<String,Object>> selectSubComList();
/**
*
* @return
*/
List<Map<String,Object>> selectRoadList();
/**
*
* @param params
* @return
*/
List<Map<String,Object>> selectStaList(@Param("params") Map<String, Object> params);
/**
*
* @param stationInfos
* @return
*/
int deleteStationByMppMultiId(@Param("stationInfos") List<StationInfo> stationInfos);
}

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.StationInfoMapper">
<select id="getStationInfoList" parameterType="java.util.HashMap" resultType="com.nmgs.entity.StationInfo">
SELECT
si.SUBCOMNO,
si.STANO,
si.STARTDATE,
si.ENDDATE,
si.ROADNO,
si.MILEAGE,
si.STAKENO,
sub.SUBCOMNAME AS subComName,
sta.STANAME AS staName,
road.ROADNAME AS roadName
FROM
STATIONINFO si
LEFT JOIN SUBCOMPANY_TABLE sub ON sub.SUBCOMNO = si.SUBCOMNO
LEFT JOIN NAME_TABLE sta ON sta.STANO = si.STANO
LEFT JOIN ROAD_TABLE road ON road.ROADNO = si.ROADNO
<where>
<!-- 即将到期条件查询 -->
<if test="params.nowDataStartQuery != null and params.nowDataStartQuery != '' ">
<if test="params.DBTYPE == 1">
AND si.ENDDATE >= dateadd(day,0,#{params.nowDataStartQuery})
AND si.ENDDATE &lt;= dateadd(day,0,#{params.nowDataEndQuery})
</if>
<if test="params.DBTYPE == 2">
AND si.ENDDATE >= TO_DATE(#{params.nowDataStartQuery}, 'SYYYY-MM-DD HH24:MI:SS')
AND si.ENDDATE &lt;= TO_DATE(#{params.nowDataEndQuery}, 'SYYYY-MM-DD HH24:MI:SS')
</if>
<if test="params.DBTYPE == 3">
AND si.ENDDATE >= TO_DATE(#{params.nowDataStartQuery}, 'SYYYY-MM-DD HH24:MI:SS')
AND si.ENDDATE &lt;= TO_DATE(#{params.nowDataEndQuery}, 'SYYYY-MM-DD HH24:MI:SS')
</if>
<if test="params.DBTYPE == 4">
AND si.ENDDATE >= STR_TO_DATE(#{params.nowDataStartQuery}, '%Y-%m-%d %H:%i:%s')
AND si.ENDDATE &lt;= STR_TO_DATE(#{params.nowDataEndQuery}, '%Y-%m-%d %H:%i:%s')
</if>
</if>
<!-- 桩号查询条件 -->
<if test="params.stakeNoQuery != null and params.stakeNoQuery != ''">
<bind name="stakeNoQuery" value="'%'+params.stakeNoQuery+'%'"/>
AND si.STAKENO LIKE #{stakeNoQuery}
</if>
<!-- 分公司查询条件 -->
<if test="params.subComNoQuery != null ">
AND si.SUBCOMNO = #{params.subComNoQuery}
</if>
<!-- 路段编号查询条件 -->
<if test="params.roadNoQuery != null ">
AND si.ROADNO = #{params.roadNoQuery}
</if>
<!-- 收费站编号查询条件 -->
<if test="params.staNoQuery != null ">
AND si.STANO = #{params.staNoQuery}
</if>
</where>
order by si.SUBCOMNO,si.STANO,si.ROADNO
</select>
<select id="selectSubComList" resultType="java.util.HashMap">
SELECT sub.SUBCOMNO,sub.SUBCOMNAME
FROM SUBCOMPANY_TABLE sub order by sub.SUBCOMNO
</select>
<select id="selectRoadList" resultType="java.util.HashMap">
SELECT road.ROADNO as roadNo , road.ROADNAME as roadName
FROM ROAD_TABLE road order by road.ROADNO
</select>
<select id="selectStaList" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT sta.STANO as staNo , sta.STANAME as staName
FROM NAME_TABLE sta
<where>
and sta.STATYPE=1
<!-- 根据分公司查询 -->
<if test="params.subComNo != null ">
AND sta.SUBCOMNO = #{params.subComNo}
</if>
<!-- 根据道路查询 -->
<if test="params.roadNo != null ">
AND sta.ROADNO = #{params.roadNo}
</if>
</where>
order by sta.ROADNO,sta.STANO
</select>
<delete id="deleteStationByMppMultiId" parameterType="java.util.List">
DELETE FROM STATIONINFO si
WHERE (si.SUBCOMNO, si.STANO) IN
<foreach item="item" collection="stationInfos" open="(" separator="," close=")">
(#{item.subComNo}, #{item.staNo})
</foreach>
</delete>
</mapper>

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.GreenTraffic; import com.nmgs.entity.GreenTraffic;
import com.nmgs.entity.GreenTrafficCheckResult; import com.nmgs.entity.GreenTrafficCheckResult;
import javax.servlet.http.HttpServletResponse;
import java.util.Map; import java.util.Map;
public interface IGreenTrafficService { public interface IGreenTrafficService {
@ -40,4 +41,12 @@ public interface IGreenTrafficService {
* @return * @return
*/ */
int saveOrUpdateCheckResult(GreenTrafficCheckResult greenTrafficCheckResult) throws Exception; int saveOrUpdateCheckResult(GreenTrafficCheckResult greenTrafficCheckResult) throws Exception;
/**
* 绿
* @param params
* @param response
* @return
*/
void exportGreenTrafficExcle(String params, HttpServletResponse response) throws Exception;
} }

@ -0,0 +1,51 @@
package com.nmgs.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.Operators;
import com.nmgs.entity.Position;
import java.util.List;
import java.util.Map;
public interface IOperatorsService {
/**
*
* @param params
* @return
*/
Page<Operators> getOperatorsList(Map<String, Object> params);
/**
*
*
* @param operators
* @return
*/
int addOperators(Operators operators) throws Exception;
/**
*
* @param operators
* @return
*/
int updateOperators(Operators operators)throws Exception;
/**
*
* @param operators
* @return
*/
int deleteOperators(List<Operators> operators)throws Exception;
/**
*
* @param params
* @return
*/
Page<Operators> getCollectionData(Map<String, Object> params);
}

@ -0,0 +1,34 @@
package com.nmgs.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.GreenTraffic;
import com.nmgs.entity.Position;
import java.util.List;
import java.util.Map;
public interface IPositionService {
/**
*
* @param params
* @return
*/
Page<Position> getPositionList(Map<String, Object> params);
/**
*
* @param value
* @return
*/
int addPosition(String value)throws Exception;
/**
*
* @param positions
* @return
*/
int deletePosition(List<Position> positions) throws Exception ;
}

@ -0,0 +1,16 @@
package com.nmgs.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.SetUp;
import java.util.Map;
public interface ISetUpService {
Page<SetUp> getSetUpList(Map<String, Object> params);
Page<SetUp> getCollectionData(Map<String, Object> params);
}

@ -0,0 +1,38 @@
package com.nmgs.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.Operators;
import com.nmgs.entity.StationInfo;
import java.util.List;
import java.util.Map;
public interface IStationInfoService {
/**
*
* @param params
* @return
*/
Page<StationInfo> getStationInfoList(Map<String, Object> params);
/**
*
* @param stationInfo
* @return
*/
int addStation(StationInfo stationInfo) throws Exception;
/**
*
* @return
*/
String getOverMsg();
/**
*
* @param stationInfos
* @return
*/
int deleteStation(List<StationInfo> stationInfos) throws Exception;
}

@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.GreenTraffic; import com.nmgs.entity.GreenTraffic;
import com.nmgs.entity.GreenTrafficCheck;
import com.nmgs.entity.GreenTrafficCheckPic; import com.nmgs.entity.GreenTrafficCheckPic;
import com.nmgs.entity.GreenTrafficCheckResult; import com.nmgs.entity.GreenTrafficCheckResult;
import com.nmgs.mapper.GreenTrafficCheckPicMapper; import com.nmgs.mapper.GreenTrafficCheckPicMapper;
@ -15,18 +14,34 @@ import com.nmgs.mapper.GreenTrafficCheckResultMapper;
import com.nmgs.mapper.GreenTrafficMapper; import com.nmgs.mapper.GreenTrafficMapper;
import com.nmgs.service.IGreenTrafficService; import com.nmgs.service.IGreenTrafficService;
import com.nmgs.util.PropertiesUtil; import com.nmgs.util.PropertiesUtil;
import org.apache.commons.codec.Charsets;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.apache.cxf.transport.http.HTTPConduit;
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
@Service @Service
@ -46,6 +61,9 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
@Autowired @Autowired
private GreenTrafficCheckResultMapper greenTrafficCheckResultMapper; private GreenTrafficCheckResultMapper greenTrafficCheckResultMapper;
@Autowired
private Executor greenTrafficThreadPool;
public static Logger logger = LoggerFactory.getLogger(GreenTrafficServiceImpl.class); public static Logger logger = LoggerFactory.getLogger(GreenTrafficServiceImpl.class);
@ -89,19 +107,20 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
//如果流水号没有的话,直接返回失败 //如果流水号没有的话,直接返回失败
if(null == params.get("listNo") || "".equals(params.get("listNo"))){ if(null == params.get("id") || "".equals(params.get("id"))){
throw new Exception("绿通流水号为空"); resultMap.put("checkFromData","{}");
return resultMap;
} }
//根据绿通流水号查询数据库中是否存储了 查验信息 //根据绿通流水号查询数据库中是否存储了 查验信息
List<GreenTrafficCheck> checkList = greenTrafficCheckMapper.getCheckListByListNo(params); /*List<GreenTrafficCheck> checkList = greenTrafficCheckMapper.getCheckListByListNo(params);
logger.info("查询数据库查验信息结果checkList=============="+checkList.size()); logger.info("查询数据库查验信息结果checkList=============="+checkList.size());
List<GreenTrafficCheck> checkList = null;*/
//如果查到数据直接返回 //如果查到数据直接返回
if(null != checkList && checkList.size() > 0){ /*if(null != checkList && checkList.size() > 0){
logger.info("========返回数据库结果=========="); logger.info("========返回数据库结果==========");
//设置数据 //设置数据
@ -109,9 +128,9 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
resultMap.put("checkFromData",JSONObject.parseObject(jsonString)); resultMap.put("checkFromData",JSONObject.parseObject(jsonString));
return resultMap; return resultMap;
} }*/
//如果没找到数据,则需要调用接口查询数据,并且将数据存储在数据库中 //如果没找到数据,则需要调用接口查询数据,并且将数据存储在数据库中
else{ //else{
logger.info("========需要调用接口查询数据=========="); logger.info("========需要调用接口查询数据==========");
//从配置文件读取绿通数据 //从配置文件读取绿通数据
@ -125,18 +144,12 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
} }
//构建JSON参数 //构建JSON参数
String urlParam = "{\"vehicleId\": \""+params.get("vehicleId")+"\"," + /*String urlParam = "{\"vehicleId\": \""+params.get("vehicleId")+"\"," +
"\"startTime\": \""+params.get("startTime")+"\"," + "\"startTime\": \""+params.get("startTime")+"\"," +
"\"endTime\": \""+params.get("endTime")+"\"," + "\"endTime\": \""+params.get("endTime")+"\"," +
"\"pageNum\":1," + "\"pageNum\":1," +
"\"pageSize\": 50}"; "\"pageSize\": 50}";*/
String urlParam = "{\"id\": \""+params.get("id")+"\"}";
//假数据
/* String urlParam = "{\"vehicleId\": \"晋MB3537_01\"," +
"\"startTime\": \"2023-10-25 09:44:56\"," +
"\"endTime\": \"2023-10-25 09:44:56\"," +
"\"pageNum\":1," +
"\"pageSize\": 50}";*/
logger.info("获取查验车辆信息拼接的参数=============="+urlParam); logger.info("获取查验车辆信息拼接的参数=============="+urlParam);
@ -154,19 +167,31 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
int result = (int) jsonObject.get("result"); int result = (int) jsonObject.get("result");
//result == 0 获取数据成功 //result == 0 获取数据成功
if(result == 0){ if(result == 0){
JSONArray jSONArray = (JSONArray) jsonObject.get("data"); JSONObject data = (JSONObject) jsonObject.get("data");
logger.info("获取查验车辆信息接口转成JSON=============="+jSONArray.toString());
if(null != jSONArray && jSONArray.size() > 0){
JSONObject data = (JSONObject) jSONArray.get(0);
logger.info("获取查验车辆信息接口转成JSON=============="+data.toString());
if(!data.isEmpty()){
//根据结果赋值 车辆类型 查验结果 交易时间
data.put("checkResult",getNameByNo((Integer) data.get("checkResult"),"checkResult"));
data.put("vehicleType",greenTrafficMapper.getVehicleTypeNameByType((Integer) data.get("vehicleType")));
data.put("vehicleId",params.get("vehicleId"));
data.put("dt",params.get("dt"));
DecimalFormat decimalFormat = new DecimalFormat("#.00");
data.put("payFee",decimalFormat.format(data.get("payFee")));
//根据流水号,从流水表里取出需要的数据
Map<String,Object> outPort = greenTrafficMapper.getOutPortByListNo((String) params.get("listNo"));
//获取通行方式、起点站、终点站
data.put("entollStationName",(String) outPort.get("ENTOLLSTATIONNAME"));
data.put("extollStationName",(String) outPort.get("EXTOLLSTATIONNAME"));
BigDecimal cardtp = (BigDecimal) outPort.get("CARDTP");
data.put("transactionType",getNameByNo(cardtp.intValue(),"carTtp"));
/*
//将数据存储在数据库中 //将数据存储在数据库中
GreenTrafficCheck greenTrafficCheck = JSON.parseObject(data.toString(), GreenTrafficCheck.class); GreenTrafficCheck greenTrafficCheck = JSON.parseObject(data.toString(), GreenTrafficCheck.class);
//设置绿通流水号 //设置绿通流水号
@ -178,7 +203,7 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
int addResult = greenTrafficCheckMapper.insert(greenTrafficCheck); int addResult = greenTrafficCheckMapper.insert(greenTrafficCheck);
if(addResult < 0){ if(addResult < 0){
throw new Exception("新增查验信息失败"); throw new Exception("新增查验信息失败");
} }*/
//返回数据 //返回数据
resultMap.put("checkFromData",data); resultMap.put("checkFromData",data);
@ -189,8 +214,8 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
} }
//-2 是登录失效 //-2 是登录失效
else if(result == -2){ else if(result == -1){
resultMap.put("checkFromData","-2"); resultMap.put("checkFromData","-1");
return resultMap; return resultMap;
}else{ }else{
throw new Exception("获取绿通车辆信息数据失败"); throw new Exception("获取绿通车辆信息数据失败");
@ -198,10 +223,41 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
}else{ }else{
throw new Exception("获取绿通车辆信息数据失败"); throw new Exception("获取绿通车辆信息数据失败");
} }
//}
}
private String getNameByNo(Integer no, String type) {
String noName = "";
if("carTtp".equals(type)){
switch (no) {
case 2:
noName = "其他方式";
break;
case 23:
noName = "ETC通行";
break;
// ...
default:
noName = "";
}
}else if("checkResult".equals(type)){
switch (no) {
case 1:
noName = "合格";
break;
default:
noName = "不合格";
}
} }
return noName;
} }
/** /**
* 绿 * 绿
* @param params * @param params
@ -218,15 +274,65 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
//从配置文件中读取数据库连接类型 //从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType")); params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
List<String> picList = new ArrayList<>();
//如果流水号没有的话,直接返回失败 //如果流水号没有的话,直接返回失败
if(null == params.get("listNo") || "".equals(params.get("listNo"))){ if(null == params.get("listNo") || "".equals(params.get("listNo"))){
throw new Exception("绿通流水号为空"); throw new Exception("绿通流水号为空");
} }
//定义循环次数先定义5次
int taskCount = 5; // 任务数量
//是否停止线程
boolean isStop = true;
//一直循环取,直到取到空就停止
while(isStop){
CountDownLatch countDownLatch = new CountDownLatch(taskCount); // 同步工具
//循环调用取图片接口
for (int i = 1; i <= taskCount; i++) {
Map<String, Object> paramsWebService = new HashMap<>();
paramsWebService.put("listNO", params.get("listNo")+"_"+i);
paramsWebService.put("imgType", "1");
greenTrafficThreadPool.execute( () -> {
try {
picList.add(getPic(paramsWebService));
} catch (Exception e) {
logger.info("获取图片失败========"+e);
picList.add("");
}
countDownLatch.countDown();
});
}
countDownLatch.await();
logger.info("主线程工作结束=============="+picList.toString());
//遍历数据,是否有空,有空就停止执行
for (String pic : picList) {
if("".equals(pic)){
isStop = false;
break;
}
}
logger.info("是否停止取图片=======isStop======="+isStop);
}
JSONArray jsonArray = new JSONArray();
for (String picUrl : picList) {
JSONArray jsonArrayPic = new JSONArray();
jsonArrayPic.add("");
jsonArrayPic.add(picUrl);
jsonArray.add(jsonArrayPic);
}
//设置数据
resultMap.put("checkPic",jsonArray);
return resultMap;
//从数据库查询图片信息 //从数据库查询图片信息
List<GreenTrafficCheckPic> checkPicList = greenTrafficCheckPicMapper.getCheckPicListBylistNo(params); /*List<GreenTrafficCheckPic> checkPicList = greenTrafficCheckPicMapper.getCheckPicListBylistNo(params);
logger.info("查询数据库查验图片结果checkList=============="+checkPicList.size()); logger.info("查询数据库查验图片结果checkList=============="+checkPicList.size());
//如果查到数据直接返回 //如果查到数据直接返回
@ -244,11 +350,11 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
//设置数据 //设置数据
resultMap.put("checkPic",jsonArray); resultMap.put("checkPic",jsonArray);
return resultMap; return resultMap;
} }*/
//如果没找到数据,则需要调用接口查询数据,并且将数据存储在数据库中 //如果没找到数据,则需要调用接口查询数据,并且将数据存储在数据库中
else{ //else{
//从配置文件读取绿通图片查询数据 //从配置文件读取绿通图片查询数据
String url = PropertiesUtil.getValue("LvTongVehiclePicURL"); /* String url = PropertiesUtil.getValue("LvTongVehiclePicURL");
logger.info("获取查验车辆图片的url=============="+url); logger.info("获取查验车辆图片的url=============="+url);
@ -264,10 +370,10 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
"\"checkId\":\"\"}"; "\"checkId\":\"\"}";
//假数据 //假数据
/* String urlParam = "{\"vehicleId\": \"晋MB3537_01\"," + *//* String urlParam = "{\"vehicleId\": \"晋MB3537_01\"," +
"\"startTime\": \"2023-10-25 09:44:56\"," + "\"startTime\": \"2023-10-25 09:44:56\"," +
"\"endTime\": \"2023-10-25 09:44:56\"," + "\"endTime\": \"2023-10-25 09:44:56\"," +
"\"pageNum\":\"\"}";*/ "\"pageNum\":\"\"}";*//*
logger.info("获取查验车辆图片拼接的参数=============="+urlParam); logger.info("获取查验车辆图片拼接的参数=============="+urlParam);
@ -353,8 +459,31 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
} }
}else{ }else{
throw new Exception("获取绿通车辆图片数据失败"); throw new Exception("获取绿通车辆图片数据失败");
} }*/
//}
}
private String getPic(Map<String, Object> paramsWebService) throws Exception {
Client client = getClient(PropertiesUtil.getValue("LWZXCommonServiceUrl"));
Object[] objects;
//json的形式
objects = client.invoke("GetImgByListNO2",new JSONObject(paramsWebService).toString());
//如果不为空解析json
if(null != objects[0] && !"".equals(objects[0])){
JSONObject jsonObject = JSONObject.parseObject((String) objects[0]);
Integer resultCode = (Integer) jsonObject.get("resultCode");
if(resultCode == 1){
String resultData = (String) jsonObject.get("resultData");
if(resultData.equals("[\"2\"]")){
return "";
}else{
return resultData;
}
}else{
return "";
}
}else{
return "";
} }
} }
@ -397,6 +526,132 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
return res; return res;
} }
@Override
public void exportGreenTrafficExcle(String params, HttpServletResponse response) throws Exception {
//设置导出文件名称
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String filename = "绿通查验数据-" + simpleDateFormat.format(date) + ".xlsx";
HashMap<String,Object> paramsMap = new HashMap<>();
//如果传进来的参数有值,拼接参数
if(null != params && !"".equals(params)){
paramsMap = JSON.parseObject(params, HashMap.class);
}
//根据条件查询绿通数据
//从配置文件中读取数据库连接类型
paramsMap.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置分页
Integer pageNum = (Integer) paramsMap.get("pageNum");
Integer pageSize = (Integer) paramsMap.get("pageSize");
//设置数据条数,不超过五万条
Page<GreenTraffic> page = new Page<>(pageNum,50000);
page = greenTrafficMapper.getGreenTrafficList(page,paramsMap);
//创建一个Excel表格
Workbook wb = new XSSFWorkbook();
//创建sheet页面
Sheet sheet = wb.createSheet("绿通");
//如果没有数据返回一个空的Excel
List<GreenTraffic> records = page.getRecords();
if(null == records){
//导出Excel
writeToExcel(response,wb,filename);
}
//定义一个标题数组
String[] title = {"流水号", "车牌号码","车牌颜色", "车种", "路段", "收费站", "统计日期", "车道操作时间", "收费员工号", "收费员姓名", "应收金额", "现金实收金额", "非现金实收金额",};
//设置统计时间日期格式
SimpleDateFormat simpleDateFormatClassData = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat simpleDateFormatDt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//定义内容数据
List<String[]> rowValues = new ArrayList<>();
for (GreenTraffic greenTraffic : records) {
String[] rowValue = {
null == greenTraffic.getListNo()? "" :greenTraffic.getListNo(),
null == greenTraffic.getAcarNo() ? "" : greenTraffic.getAcarNo(),
null == greenTraffic.getATypeValue() ? "" : greenTraffic.getATypeValue(),
null == greenTraffic.getKindValue() ? "" : greenTraffic.getKindValue(),
null == greenTraffic.getRoadName() ? "" : greenTraffic.getRoadName(),
null == greenTraffic.getStaName() ? "" : greenTraffic.getStaName(),
null == greenTraffic.getClassDate() ? "" : simpleDateFormatClassData.format(greenTraffic.getClassDate()) ,
null == greenTraffic.getDt() ? "" : simpleDateFormatDt.format(greenTraffic.getDt()),
greenTraffic.getManNo()+"",
null == greenTraffic.getMan() ? "" : greenTraffic.getMan(),
greenTraffic.getCash().intValue()+"",
greenTraffic.getInCash().intValue()+"",
greenTraffic.getPayCash().intValue()+"",
};
rowValues.add(rowValue);
}
//设置标题单元格式
CellStyle cellStyleTitle = wb.createCellStyle();
cellStyleTitle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());//设置背景色
cellStyleTitle.setFillPattern((short) 1);//必须设置 否则无效
//设置水平垂直居中
cellStyleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
cellStyleTitle.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);
// 设置边框样式
cellStyleTitle.setBorderBottom(XSSFCellStyle.BORDER_THIN);
cellStyleTitle.setBorderLeft(XSSFCellStyle.BORDER_THIN);
cellStyleTitle.setBorderRight(XSSFCellStyle.BORDER_THIN);
cellStyleTitle.setBorderTop(XSSFCellStyle.BORDER_THIN);
//定义标题内容
Row currentRow = sheet.createRow(0);
// 往Excel表格中添加标题的数据
for (int j = 0; j < title.length; j++) {
// 设置列宽
sheet.setColumnWidth(j, 4100);
Cell cell = currentRow.createCell(j);
cell.setCellStyle(cellStyleTitle);
//每个单元格的值目前做 String 处理
//cell.setCellType(CellType.STRING);
cell.setCellValue(title[j]);
}
//设置内容单元格式
CellStyle cellStyleValue = wb.createCellStyle();
//设置水平垂直居中
cellStyleValue.setAlignment(HSSFCellStyle.ALIGN_CENTER);
cellStyleValue.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);
// 设置边框样式
cellStyleValue.setBorderBottom(XSSFCellStyle.BORDER_THIN);
cellStyleValue.setBorderLeft(XSSFCellStyle.BORDER_THIN);
cellStyleValue.setBorderRight(XSSFCellStyle.BORDER_THIN);
cellStyleValue.setBorderTop(XSSFCellStyle.BORDER_THIN);
//往Excel表格中添加具体数据
for (int i = 1; i < rowValues.size(); i++) {
Row Row = sheet.createRow(i);
for (int j = 0; j < title.length; j++) {
// 设置列宽
sheet.setColumnWidth(j, 4100);
Cell cell = Row.createCell(j);
cell.setCellStyle(cellStyleValue);
//每个单元格的值目前做 String 处理
//cell.setCellType(CellType.STRING);
cell.setCellValue(rowValues.get(i)[j]);
}
}
//导出Excel
writeToExcel(response,wb,filename);
}
/** /**
* *
* @param typeName * @param typeName
@ -474,4 +729,55 @@ public class GreenTrafficServiceImpl implements IGreenTrafficService {
// 处理结果 // 处理结果
return result; return result;
} }
/**
* Excelresponse
* @param response
* @param wb
* @param fileName
* @throws Exception
*/
public void writeToExcel(HttpServletResponse response, Workbook wb, String fileName) throws Exception {
OutputStream os = null;
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setCharacterEncoding(Charsets.UTF_8.name());
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, String.format("attachment; filename=%s", new String(URLEncoder.encode(fileName, Charsets.UTF_8.name())
.getBytes(Charsets.UTF_8), Charsets.ISO_8859_1)));
os = response.getOutputStream();
wb.write(os);
os.flush();
}
/*@Test
public void test() throws Exception{
Map<String, Object> params = new HashMap<>();
params.put("listNO", "GetImgByListNO2");
params.put("imgType", "1");
Client client = getClient(PropertiesUtil.getValue("LWZXCommonServiceUrl2"));
Object[] objects;
//json的形式
objects = client.invoke("GetWebServiceData", "10",new JSONObject(params).toString());
if (objects.length > 0) {
System.out.println(objects.toString());
}
}*/
public static Client getClient(String path) {
// 创建动态客户端
int CXF_CLIENT_CONNECT_TIMEOUT = 4 * 60000;
int CXF_CLIENT_RECEIVE_TIMEOUT = 4 * 60000;
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient(path);
HTTPConduit conduit = (HTTPConduit) client.getConduit();
HTTPClientPolicy policy = new HTTPClientPolicy();
policy.setConnectionTimeout(CXF_CLIENT_CONNECT_TIMEOUT);
policy.setReceiveTimeout(CXF_CLIENT_RECEIVE_TIMEOUT);
conduit.setClient(policy);
return client;
}
} }

@ -0,0 +1,225 @@
package com.nmgs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.GreenTrafficCheckResult;
import com.nmgs.entity.Operators;
import com.nmgs.entity.Position;
import com.nmgs.mapper.OperatorsMapper;
import com.nmgs.mapper.PositionMapper;
import com.nmgs.service.IOperatorsService;
import com.nmgs.service.IPositionService;
import com.nmgs.util.PropertiesUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
@Transactional
public class OperatorsServiceImpl implements IOperatorsService {
@Autowired
private OperatorsMapper operatorsMapper;
public static Logger logger = LoggerFactory.getLogger(OperatorsServiceImpl.class);
/**
*
* @param params
* @return
*/
@Override
public Page<Operators> getOperatorsList(Map<String, Object> params) {
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置分页
Integer pageNum = (Integer) params.get("pageNum");
Integer pageSize = (Integer) params.get("pageSize");
Page<Operators> page = new Page<>(pageNum,pageSize);
page = operatorsMapper.getOperatorsList(page,params);
return page;
}
/**
*
* @param operators
* @return
* @throws Exception
*/
@Override
public int addOperators(Operators operators) throws Exception {
//如果数据为空,直接返回
if(null == operators){
return 0;
}
//判断传回的值中id是否有值没有就是新增
if(null == operators.getId()){
//查询当前数据中id的最大值,给id赋值
Integer maxId = operatorsMapper.getMaxId();
operators.setId(maxId+1);
return operatorsMapper.insert(operators);
}else{
return 0;
}
}
@Override
public int updateOperators(Operators operators) throws Exception {
//如果数据为空,直接返回
if(null == operators){
return 0;
}
//判断传回的值中id是否有值,没有直接返回
if(null == operators.getId()){
return 0;
}else{
//设置修改条件根据id修改
LambdaQueryWrapper<Operators> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(null != operators.getId(),
Operators::getId,
operators.getId());
return operatorsMapper.update(operators,lambdaQueryWrapper);
}
}
/**
*
* @param operators
* @return
* @throws Exception
*/
@Override
public int deleteOperators(List<Operators> operators)throws Exception {
//如果没有数据或数据为空直接返回0
if(null == operators || operators.size() == 0){
return 0;
}
//封装要删除的id集合
List<Integer> deleteBatchIds = new ArrayList<>();
//把要删除的id放在deleteBatchIds集合中
for (Operators operator : operators) {
deleteBatchIds.add(operator.getId());
}
return operatorsMapper.deleteBatchIds(deleteBatchIds);
}
/**
*
* @param params
* @return
*/
@Override
public Page<Operators> getCollectionData(Map<String, Object> params) {
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置分页
Integer pageNum = (Integer) params.get("pageNum");
Integer pageSize = (Integer) params.get("pageSize");
Page<Operators> page = new Page<>(pageNum,pageSize);
//定义查询列根据params条件动态拼接
StringBuilder selectcolumn = new StringBuilder(" count(oper.ID) as totalCount ");
StringBuilder group = new StringBuilder();
StringBuilder order = new StringBuilder();
for (Map.Entry<String, Object> entry : params.entrySet()) {
Object value = entry.getValue();
if("subComCollection".equals(value)){
//拼接查询列
selectcolumn.append(" ,sub.SUBCOMNAME as subComName ");
//拼接分组条件
if(group.toString().equals("")){
group = new StringBuilder("group by oper.SUBCOMNO,sub.SUBCOMNAME ");
}else{
group.append(" ,oper.SUBCOMNO,sub.SUBCOMNAME");
}
//拼接排序条件
if(order.toString().equals("")){
order = new StringBuilder("order by oper.SUBCOMNO ");
}else{
order.append(",oper.SUBCOMNO");
}
}
if("staCollection".equals(value)){
//拼接查询列
selectcolumn.append(" ,sta.STANAME as staName ");
//拼接分组条件
if(group.toString().equals("")){
group = new StringBuilder("group by oper.STANO,sta.STANAME ");
}else{
group.append(" ,oper.STANO,sta.STANAME ");
}
//拼接排序条件
if(order.toString().equals("")){
order = new StringBuilder("order by oper.STANO ");
}else{
order.append(",oper.STANO ");
}
}
if("positionCollection".equals(value)){
//拼接查询列
selectcolumn.append(" ,p.value as positionName ");
//拼接分组条件
if(group.toString().equals("")){
group = new StringBuilder("group by oper.POSITIONID,p.value ");
}else{
group.append(" ,oper.POSITIONID,p.value");
}
//拼接排序条件
if(order.toString().equals("")){
order = new StringBuilder("order by oper.POSITIONID ");
}else{
order.append(",oper.POSITIONID ");
}
}
}
params.put("selectcolumn", selectcolumn.toString());
logger.info("selectcolumn=========="+selectcolumn);
params.put("group", group.toString());
logger.info("group=========="+group);
params.put("order", order.toString());
logger.info("order=========="+order);
page = operatorsMapper.getCollectionData(page,params);
return page;
}
}

@ -0,0 +1,120 @@
package com.nmgs.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.*;
import com.nmgs.mapper.*;
import com.nmgs.service.IGreenTrafficService;
import com.nmgs.service.IPositionService;
import com.nmgs.util.PropertiesUtil;
import org.apache.commons.codec.Charsets;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
@Transactional
public class PositionServiceImpl implements IPositionService {
@Autowired
private PositionMapper positionMapper;
public static Logger logger = LoggerFactory.getLogger(PositionServiceImpl.class);
/**
*
* @param params
* @return
*/
@Override
public Page<Position> getPositionList(Map<String, Object> params) {
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置分页
Integer pageNum = (Integer) params.get("pageNum");
Integer pageSize = (Integer) params.get("pageSize");
Page<Position> page = new Page<>(pageNum,pageSize);
page = positionMapper.getPositionList(page,params);
return page;
}
/**
*
* @param value
* @return
* @throws Exception
*/
@Override
public int addPosition(String value) throws Exception {
//如果value值为空直接返回不保存
if(null == value || "".equals(value)){
return 0;
}
//查询当前数据中id的最大值
Integer maxId = positionMapper.getMaxId();
//设置值,保存数据
Position position = new Position();
position.setId((maxId+1));
position.setValue(value);
return positionMapper.insert(position);
}
/**
*
* @param positions
* @return
*/
@Override
public int deletePosition(List<Position> positions) throws Exception {
//如果没有数据或数据为空直接返回0
if(null == positions || positions.size() == 0){
return 0;
}
//封装要删除的id集合
List<Integer> deleteBatchIds = new ArrayList<>();
for (Position position : positions) {
deleteBatchIds.add(position.getId());
}
return positionMapper.deleteBatchIds(deleteBatchIds);
}
}

@ -0,0 +1,146 @@
package com.nmgs.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.Operators;
import com.nmgs.entity.SetUp;
import com.nmgs.entity.StationInfo;
import com.nmgs.mapper.SetUpMapper;
import com.nmgs.mapper.StationInfoMapper;
import com.nmgs.service.ISetUpService;
import com.nmgs.service.IStationInfoService;
import com.nmgs.util.DateUtils;
import com.nmgs.util.PropertiesUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Service
@Transactional
public class SetUpServiceImpl implements ISetUpService {
@Autowired
private SetUpMapper setUpMapper;
public static Logger logger = LoggerFactory.getLogger(SetUpServiceImpl.class);
/**
*
* @param params
* @return
*
* */
@Override
public Page<SetUp> getSetUpList(Map<String, Object> params) {
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置分页
Integer pageNum = (Integer) params.get("pageNum");
Integer pageSize = (Integer) params.get("pageSize");
Page<SetUp> page = new Page<>(pageNum,pageSize);
page = setUpMapper.getSetUpList(page,params);
return page;
}
@Override
public Page<SetUp> getCollectionData(Map<String, Object> params) {
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置分页
Integer pageNum = (Integer) params.get("pageNum");
Integer pageSize = (Integer) params.get("pageSize");
Page<SetUp> page = new Page<>(pageNum,pageSize);
//定义查询列根据params条件动态拼接
StringBuilder selectcolumn = new StringBuilder(" count(*) as totalCount ");
StringBuilder group = new StringBuilder();
StringBuilder order = new StringBuilder();
for (Map.Entry<String, Object> entry : params.entrySet()) {
Object value = entry.getValue();
if("roadCollection".equals(value)){
//拼接查询列
selectcolumn.append(" ,setup.ROADNO,road.ROADNAME AS roadName ");
//拼接分组条件
if(group.toString().equals("")){
group = new StringBuilder("group by setup.ROADNO,road.ROADNAME ");
}else{
group.append(" ,setup.ROADNO,road.ROADNAME ");
}
//拼接排序条件
if(order.toString().equals("")){
order = new StringBuilder("order by setup.ROADNO ");
}else{
order.append(",setup.ROADNO ");
}
}
if("staCollection".equals(value)){
//拼接查询列
selectcolumn.append(" ,setup.STANO,sta.STANAME as staName ");
//拼接分组条件
if(group.toString().equals("")){
group = new StringBuilder("group by setup.STANO,sta.STANAME ");
}else{
group.append(" ,setup.STANO,sta.STANAME ");
}
//拼接排序条件
if(order.toString().equals("")){
order = new StringBuilder(" order by setup.STANO ");
}else{
order.append(",setup.STANO ");
}
}
if("portTypeCollection".equals(value)){
//拼接查询列
selectcolumn.append(" ,setup.PORTTYPE,port.TEXT AS portTypeName ");
//拼接分组条件
if(group.toString().equals("")){
group = new StringBuilder(" group by setup.PORTTYPE,port.TEXT ");
}else{
group.append(" ,setup.PORTTYPE,port.TEXT ");
}
//拼接排序条件
if(order.toString().equals("")){
order = new StringBuilder(" order by setup.PORTTYPE ");
}else{
order.append(",setup.PORTTYPE ");
}
}
}
params.put("selectcolumn", selectcolumn.toString());
logger.info("selectcolumn=========="+selectcolumn);
params.put("group", group.toString());
logger.info("group=========="+group);
params.put("order", order.toString());
logger.info("order=========="+order);
page = setUpMapper.getCollectionData(page,params);
return page;
}
}

@ -0,0 +1,139 @@
package com.nmgs.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.Operators;
import com.nmgs.entity.Position;
import com.nmgs.entity.StationInfo;
import com.nmgs.mapper.PositionMapper;
import com.nmgs.mapper.StationInfoMapper;
import com.nmgs.service.IStationInfoService;
import com.nmgs.util.DateUtils;
import com.nmgs.util.PropertiesUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@Transactional
public class StationInfoServiceImpl implements IStationInfoService {
@Autowired
private StationInfoMapper stationInfoMapper;
public static Logger logger = LoggerFactory.getLogger(StationInfoServiceImpl.class);
/**
*
* @param params
* @return
*/
@Override
public Page<StationInfo> getStationInfoList(Map<String, Object> params) {
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置分页
Integer pageNum = (Integer) params.get("pageNum");
Integer pageSize = (Integer) params.get("pageSize");
Page<StationInfo> page = new Page<>(pageNum,pageSize);
page = stationInfoMapper.getStationInfoList(page,params);
return page;
}
/**
*
* @param stationInfo
* @return
* @throws Exception
*/
@Override
public int addStation(StationInfo stationInfo) throws Exception {
if(null == stationInfo){
return 0;
}
//先查询根据分公司和收费站查询 是否有没有过期的收费站信息
Map<String, Object> params = new HashMap<>();
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置查询条件
Page<StationInfo> page = new Page<>(0,50000);
params.put("subComNoQuery",stationInfo.getSubComNo());
params.put("nowDataStartQuery","");
params.put("staNoQuery",stationInfo.getStaNo());
page = stationInfoMapper.getStationInfoList(page,params);
//如果有没有过期的收费站不用新增,返回-2给出提示
if(null != page.getRecords() && !page.getRecords().isEmpty()){
return -2;
}
return stationInfoMapper.insert(stationInfo);
}
/**
*
* @return
*/
@Override
public String getOverMsg() {
//先查询根据分公司和收费站查询 是否有没有过期的收费站信息
Map<String, Object> params = new HashMap<>();
//从配置文件中读取数据库连接类型
params.put("DBTYPE", PropertiesUtil.getValue("DBType"));
//设置查询条件
Page<StationInfo> page = new Page<>(0,50000);
//一个月之内是即将到期
params.put("nowDataStartQuery",DateUtils.getTime());
LocalDateTime now = LocalDateTime.now();
LocalDateTime oneMonthLater = now.plus(1, ChronoUnit.MONTHS);
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
params.put("nowDataEndQuery",dateTimeFormatter.format(oneMonthLater));
page = stationInfoMapper.getStationInfoList(page,params);
//如果有今天到期的数据,返回消息,否则为空
if(null != page.getRecords() && !page.getRecords().isEmpty()){
return "1";
}else{
return "0";
}
}
/**
*
* @param stationInfos
* @return
* @throws Exception
*/
@Override
public int deleteStation(List<StationInfo> stationInfos)throws Exception {
//如果没有数据或数据为空直接返回0
if(null == stationInfos || stationInfos.size() == 0){
return 0;
}
return stationInfoMapper.deleteStationByMppMultiId(stationInfos);
}
}
Loading…
Cancel
Save