diff --git a/src/main/java/com/nmgs/controller/WhiteCarnoDicController.java b/src/main/java/com/nmgs/controller/WhiteCarnoDicController.java new file mode 100644 index 0000000..721c68c --- /dev/null +++ b/src/main/java/com/nmgs/controller/WhiteCarnoDicController.java @@ -0,0 +1,84 @@ +package com.nmgs.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nmgs.annotation.OperationLogDesc; +import com.nmgs.config.ResultData; +import com.nmgs.entity.WhiteAccountText; +import com.nmgs.entity.WhiteCarnoDic; +import com.nmgs.service.IWhiteAccountSerive; +import com.nmgs.service.IWhiteCarnoDicService; +import com.nmgs.util.PubTools; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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.Map; + +/** + * 单位信息管理 + */ +@RestController +@RequestMapping("/whiteCarnoDic") +@Api(tags = "自定义白名单管理") +public class WhiteCarnoDicController { + + + public IWhiteCarnoDicService iWhiteCarnoDicService; + @Autowired + public void setiWhiteCarnoDicService(IWhiteCarnoDicService iWhiteCarnoDicService) { + this.iWhiteCarnoDicService = iWhiteCarnoDicService; + } + + SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); + @PostMapping(value="/getCarnoDicByPage") + @ApiOperation(httpMethod="POST",value="查询自定义白名单管理数据") + public Object getCarnoDicByPage(HttpServletRequest request, @RequestBody(required = false) Map req) throws SQLException { + Page whiteCarnoListList =null; + try{ + whiteCarnoListList = iWhiteCarnoDicService.getWhiteCarnoDicByPage(req); + if (PubTools.isEmpty(whiteCarnoListList)) { + return ResultData.fail(-1,"数据查询失败"); + } + }catch (Exception e){ + String throwableStr = e.getCause().toString(); + if(throwableStr.contains(":")){ + throwableStr = throwableStr.substring(throwableStr.indexOf(":") + 1); + } + return ResultData.fail(-1,"数据查询失败==>"+throwableStr); + } + return whiteCarnoListList; + } + + @PostMapping(value = "/addCarnoDicData") + @OperationLogDesc(module = "自定义白名单管理>新增", events = "新增记录") + @ApiOperation(httpMethod="POST",value="新增记录") + public ResultData addCarnoDicData(HttpServletRequest request, @RequestBody(required = false) Map req) throws Exception { + int ret = iWhiteCarnoDicService.insertData((WhiteCarnoDic)PubTools.map2Object(req,WhiteCarnoDic.class)); + if(ret>-1){ + return ResultData.success("新增成功","",0); + }else{ + if(ret==-2){ + return ResultData.fail("此数据已存在!"); + } + } + return ResultData.fail("新增失败"); + } + @PostMapping(value = "/batchDelCarnoDicDatas") + @OperationLogDesc(module = "自定义白名单管理>批量删除", events = "删除记录") + @ApiOperation(httpMethod="POST",value="删除记录") + public ResultData batchDelCarnoDicDatas(HttpServletRequest request, @RequestBody Object req) throws Exception { + int ret = iWhiteCarnoDicService.batchDelDatas(req); + if(ret>-1){ + return ResultData.success("删除成功","",0); + } + return ResultData.fail("删除失败"); + } +} + diff --git a/src/main/java/com/nmgs/entity/WhiteCarnoDic.java b/src/main/java/com/nmgs/entity/WhiteCarnoDic.java new file mode 100644 index 0000000..c39f6ce --- /dev/null +++ b/src/main/java/com/nmgs/entity/WhiteCarnoDic.java @@ -0,0 +1,26 @@ +package com.nmgs.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("WHITE_CARNO_DIC_TABLE") +public class WhiteCarnoDic { + @TableField("MEMO") + private String memo; + @TableField("DISCRP") + private String discrp; + @TableField("DICNAME") + private String dicname; + @TableField("UNUSER1") + private String unuser1; + @TableField("UNUSER2") + private int unuser2; + + +} diff --git a/src/main/java/com/nmgs/mapper/WhiteCarnoDicMapper.java b/src/main/java/com/nmgs/mapper/WhiteCarnoDicMapper.java new file mode 100644 index 0000000..b1dab7d --- /dev/null +++ b/src/main/java/com/nmgs/mapper/WhiteCarnoDicMapper.java @@ -0,0 +1,20 @@ +package com.nmgs.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nmgs.entity.WhiteAccountText; +import com.nmgs.entity.WhiteCarnoDic; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface WhiteCarnoDicMapper extends BaseMapper { + Page getWhiteCarnoDicByPage(Page page, @Param("params") Map params); + int insertData(@Param("params") WhiteCarnoDic params); + int delDataById(@Param("ids") List ids); + int updateById(@Param("params") WhiteCarnoDic params); + List getWhiteCarnoDicList(@Param("params") Map params); +} diff --git a/src/main/java/com/nmgs/mapper/WhiteCarnoDicMapper.xml b/src/main/java/com/nmgs/mapper/WhiteCarnoDicMapper.xml new file mode 100644 index 0000000..c4ccaca --- /dev/null +++ b/src/main/java/com/nmgs/mapper/WhiteCarnoDicMapper.xml @@ -0,0 +1,43 @@ + + + + + + + insert into WHITE_CARNO_DIC_TABLE(memo,discrp,dicname) values(#{params.memo},#{params.discrp},#{params.dicname}) + + + DELETE FROM WHITE_CARNO_DIC_TABLE WHERE memo IN + + #{str} + + + + \ No newline at end of file diff --git a/src/main/java/com/nmgs/service/ISelectData.java b/src/main/java/com/nmgs/service/ISelectData.java index dfe55a4..c86ab50 100644 --- a/src/main/java/com/nmgs/service/ISelectData.java +++ b/src/main/java/com/nmgs/service/ISelectData.java @@ -1,7 +1,10 @@ package com.nmgs.service; +import com.alibaba.fastjson.JSONObject; + +import java.util.List; import java.util.Map; public interface ISelectData { - public String getSelect(String selectType, String value); + public List getDataByType(JSONObject paramsData); } diff --git a/src/main/java/com/nmgs/service/IWhiteCarnoDicService.java b/src/main/java/com/nmgs/service/IWhiteCarnoDicService.java new file mode 100644 index 0000000..f9ab5e1 --- /dev/null +++ b/src/main/java/com/nmgs/service/IWhiteCarnoDicService.java @@ -0,0 +1,40 @@ +package com.nmgs.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nmgs.entity.WhiteAccountText; +import com.nmgs.entity.WhiteCarnoDic; + +import java.util.List; +import java.util.Map; + +public interface IWhiteCarnoDicService { + /** + * 分页查自定义询白名单 + * @param params + * @return + */ + Page getWhiteCarnoDicByPage(Map params); + + /** + * 单条数据插入 + * @param whiteCarnoDic + * @return + * @throws Exception + */ + int insertData(WhiteCarnoDic whiteCarnoDic) throws Exception; + + /** + * 批量删除 + * @param params + * @return + * @throws Exception + */ + int batchDelDatas(Object params) throws Exception; + + /** + * 查询全部数据 + * @param params + * @return + */ + List getWhiteCarnoDicList(Map params); +} diff --git a/src/main/java/com/nmgs/service/impl/SelectDataImpl.java b/src/main/java/com/nmgs/service/impl/SelectDataImpl.java index d7e1b41..ad24e47 100644 --- a/src/main/java/com/nmgs/service/impl/SelectDataImpl.java +++ b/src/main/java/com/nmgs/service/impl/SelectDataImpl.java @@ -22,53 +22,32 @@ public class SelectDataImpl implements ISelectData { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHH"); @Autowired public Mapper mapperI; - + @Override public List getDataByType(JSONObject paramsData) { List ret = new ArrayList(); String sql=""; String selectType=paramsData.get("selectType").toString(); - String subcomno=""; - String roadNo=""; - if(!PubTools.isEmpty(paramsData.get("subcomno"))){ - subcomno=paramsData.get("subcomno").toString(); + String roadNoSql=""; + if(!PubTools.isEmpty(paramsData.get("roadNoSql"))){ + roadNoSql=paramsData.get("roadNoSql").toString(); } - if(!PubTools.isEmpty(paramsData.get("roadno"))){ - roadNo=paramsData.get("roadno").toString(); - } - if("VECHECLASS".equals(selectType)){//车种下拉值查询 - sql="select a.value as VALUE,a.text as LABEL from VEHICLECLASS_TEXT a order by a.value"; - }else if("VECHETYPE".equals(selectType)){//车种下拉值查询 - 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)) {//站名称,包含门架 - 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 "; - sql="select distinct t.SUBCOMNO as VALUE,t.SUBCOMNAME as LABEL from DIV_NAME_TABLE a,subcompany_table t where a.STATYPE=1 and a.SUBCOMNO=t.subComNo order by t.SUBCOMNAME"; - }else if("ROAD".equals(selectType)){//路段 - sql="select distinct a.roadno value,a.roadname label from DIV_NAME_TABLE a where a.STATYPE=1 "; - if(!PubTools.isNull(subcomno)){ - sql += " and a.subcomno ="+subcomno; + if("ROAD".equals(selectType)){//自定义白名单全部路段 + sql="select a.roadno value,a.roadname||':'||a.roadno label from WHITE_ROAD_TABLE a where a.ENABLED='Y' "; + if(!PubTools.isNull(roadNoSql)){ + sql += roadNoSql; } sql +=" order by a.roadname "; - } 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; - } - if(!PubTools.isNull(roadNo)){ - sql += " and a.roadno ="+roadNo; - } - sql +=" order by a.STANAME "; - } else if ("STANONAME".equals(selectType)) {//站名称 - sql = "select a.stano as value,a.roadname||'_'||a.staname as label from NAME_TABLE a where 1=1 AND a.STATYPE=1 "; - if (!PubTools.isNull(subcomno)) { - sql += " and a.subcomno =" + subcomno; - } - if (!PubTools.isNull(roadNo)) { - sql += " and a.roadno =" + roadNo; - } + } else if("ROAD_STA_STA".equals(selectType)){//自定义白名单全:站站路段,需要排除全部路段 + sql="select distinct a.roadno value,a.roadname||':'||a.roadno label from WHITE_ROAD_TABLE a where a.ENABLED='Y' "; + if(!PubTools.isNull(roadNoSql)){ + sql += roadNoSql; + } + sql +=" order by a.roadname "; + } else if ("STANONAME".equals(selectType)) {//站名称 + sql = "select a.stano as value,a.staname||':'||a.stano as label from NAME_TABLE a where 1=1 AND a.STATYPE=1 "; + if(!PubTools.isNull(roadNoSql)){ + sql += roadNoSql; + } sql += " order by a.roadname,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 "; @@ -97,37 +76,4 @@ public class SelectDataImpl implements ISelectData { } - @Override - public String getSelect(String selectType, String value) { - String ret = ""; - String sql = ""; - if ("VECHECLASS".equals(selectType)) {//车种下拉值查询 - sql = "select a.value as VALUE,a.text as LABEL from VEHICLECLASS_TEXT a WHERE a.VALUE=" + value + " order by a.value"; - } else if ("VECHETYPE".equals(selectType)) {//车型下拉值查询 - sql = "select a.value as VALUE,a.text as LABEL from TYPE_TEXT a WHERE a.VALUE=" + value + " order by a.value"; - } else if ("EXITFEETYPE".equals(selectType)) {//计费方式 - sql = "select a.value as VALUE,a.text as LABEL from EXITFEETYPE_TEXT a WHERE a.VALUE=" + value + " order by a.value"; - } else if ("GANTRY".equals(selectType)) {//省界门架出口名称 - sql = "select distinct a.gantryhex as value,a.name as label from GANTRY_TABLE a where a.boundarytype=2 group by a.name,a.gantryhex order by a.name "; - } else if ("INTERFLOW".equals(selectType)) {//互通名称 - sql = "select distinct a.INTER_HEX as value,a.INTER_NAME as label from DIV_INTERFLOW_TABLE a where a.IN_OUT='OUT' order by a.INTER_HEX "; - } else if ("PLATECOLOR".equals(selectType)) {//车牌颜色 - sql = "select a.value as VALUE,a.text as LABEL from PLATECOLOR_TEXT a WHERE a.VALUE=" + value + " order by a.value "; - } else if ("ROAD".equals(selectType)) {//路段名称 - sql = "select a.ROADNO as VALUE,a.roadname as LABEL from ROAD_TABLE a WHERE a.ROADNO=" + value + " order by a.roadname "; - } - try { - List retSql = mapperI.selectforlist(sql); - if (retSql.size() > 0) { - Map stringStringMap = (Map) retSql.get(0); - ret = stringStringMap.get("LABEL").toString(); - } - } catch (Exception e) { - LogUtil.WriteLog_Error("下拉数据解析" + selectType + "查询失败=====" + e.getMessage(), "SelectDataImpl"); - ret = null; - } - return ret; - - } - } diff --git a/src/main/java/com/nmgs/service/impl/WhiteCarnoDicSeviceImpl.java b/src/main/java/com/nmgs/service/impl/WhiteCarnoDicSeviceImpl.java new file mode 100644 index 0000000..e723742 --- /dev/null +++ b/src/main/java/com/nmgs/service/impl/WhiteCarnoDicSeviceImpl.java @@ -0,0 +1,101 @@ +package com.nmgs.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nmgs.entity.WhiteAccountText; +import com.nmgs.entity.WhiteCarnoDic; +import com.nmgs.mapper.Mapper; +import com.nmgs.mapper.WhiteCarnoDicMapper; +import com.nmgs.service.IWhiteCarnoDicService; +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 org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class WhiteCarnoDicSeviceImpl implements IWhiteCarnoDicService { + @Autowired + public WhiteCarnoDicMapper whiteCarnoDicMapper; + @Autowired + public Mapper mapperI; + SimpleDateFormat dateTimeFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + @Override + public Page getWhiteCarnoDicByPage(Map params) { + //从配置文件中读取数据库连接类型 + params.put("DBTYPE", PropertiesUtil.getValue("DBType")); + //设置分页 + Integer pageNum = (Integer) params.get("pageNum"); + Integer pageSize = (Integer) params.get("pageSize"); + Page page = new Page<>(pageNum,pageSize); + page = whiteCarnoDicMapper.getWhiteCarnoDicByPage(page,params); + return page; + + } + @Override + public int insertData(WhiteCarnoDic whiteAccountText) throws Exception { + int ret=-1; + try{ + //先根据车牌号与颜色判断是否已经存在 + Map params=new HashMap(); + params.put("id",whiteAccountText.getMemo()); + List whiteCarnoList1 = whiteCarnoDicMapper.getWhiteCarnoDicList(params); + if(whiteCarnoList1.size()>0){ + return -2;//白名单存在该信息! + } + ret= whiteCarnoDicMapper.insert(whiteAccountText); + }catch (Exception e){ + LogUtil.WriteLog_Error("新增自定义白名单出错:"+e.getMessage(),"WhiteCarnoDicSeviceImpl"); + throw new Exception(e); + } + return ret; + } + @Override + public int batchDelDatas(Object params) throws Exception { + int ret=-1; + List ids=new ArrayList(); + try{ + if(!PubTools.isEmpty(params)){ + if(params instanceof ArrayList){ + List> whiteAccount= (ArrayList>) params; + if(whiteAccount.size()>0){ + for(int i=0;i0){ + for(int i=0;i0){ + ret= whiteCarnoDicMapper.delDataById(ids); + } + }catch (Exception e){ + throw new Exception(e); + } + return ret; + } + @Override + public List getWhiteCarnoDicList(Map params) { + //从配置文件中读取数据库连接类型 + params.put("DBTYPE", PropertiesUtil.getValue("DBType")); + List records = whiteCarnoDicMapper.getWhiteCarnoDicList(params); + return records; + } +}