diff --git a/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java b/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java index ae3f0ce6d..2e2d12776 100644 --- a/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java +++ b/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java @@ -76,17 +76,45 @@ public class RequestInfoController extends BaseController{ public String saveOrUpdate(RequestInfo requestInfo, HttpServletRequest request, Model model, RedirectAttributes redirectAttributes) { try { if(requestInfo.getId()!=null){ - // 保存用户信息 - logger.info(requestInfo.getId()+"修改成功"); - requestInfoService.saveOrUpdate(requestInfo); - addMessage(redirectAttributes,"success","save_success"); - }else{ - if (!"true".equals(checkRequestNumber(requestInfo.getRequestNumber()))){ - logger.info(requestInfo.getRequestNumber()+"重复数据"); + RequestInfo requestNumber=new RequestInfo(); + requestNumber.setRequestNumber(requestInfo.getRequestNumber()); + requestNumber.setId(requestInfo.getId()); + RequestInfo requestTitle=new RequestInfo(); + requestTitle.setRequestTitle(requestInfo.getRequestTitle()); + requestTitle.setId(requestInfo.getId()); + if (!checkRequestInfo(requestNumber)){ + logger.info(requestNumber.getRequestNumber()+"重复数据"); Properties props=this.getMsgProp(); addMessage("error",model,props.getProperty("duplicate", "Duplicate")+" "+props.getProperty("title", "Title")); return form(requestInfo, model); } + if (!checkRequestInfo(requestTitle)){ + logger.info(requestTitle.getRequestTitle()+"重复数据"); + Properties props=this.getMsgProp(); + addMessage("error",model,props.getProperty("duplicate", "Duplicate")+" "+props.getProperty("request_number", "Letter Number")); + return form(requestInfo, model); + } + // 保存用户信息 + requestInfoService.saveOrUpdate(requestInfo); + logger.info(requestInfo.getId()+"修改成功"); + addMessage(redirectAttributes,"success","save_success"); + }else{ + RequestInfo requestNumber=new RequestInfo(); + requestNumber.setRequestNumber(requestInfo.getRequestNumber()); + RequestInfo requestTitle=new RequestInfo(); + requestTitle.setRequestTitle(requestInfo.getRequestTitle()); + if (!checkRequestInfo(requestNumber)){ + logger.info(requestNumber.getRequestNumber()+"重复数据"); + Properties props=this.getMsgProp(); + addMessage("error",model,props.getProperty("duplicate", "Duplicate")+" "+props.getProperty("title", "Title")); + return form(requestInfo, model); + } + if (!checkRequestInfo(requestTitle)){ + logger.info(requestTitle.getRequestTitle()+"重复数据"); + Properties props=this.getMsgProp(); + addMessage("error",model,props.getProperty("duplicate", "Duplicate")+" "+props.getProperty("request_number", "Letter Number")); + return form(requestInfo, model); + } // 保存用户信息 requestInfoService.saveOrUpdate(requestInfo); addMessage(redirectAttributes,"success","save_success"); @@ -105,11 +133,11 @@ public class RequestInfoController extends BaseController{ */ @ResponseBody @RequestMapping(value = "checkRequestNumber") - public String checkRequestNumber(String requestNumber) { - if (requestNumber !=null && requestInfoService.getRequestInfoByRequestNumber(requestNumber) == null) { - return "true"; + public boolean checkRequestInfo(RequestInfo requestInfo) { + if (requestInfo !=null && requestInfoService.getRequestInfoByRequest(requestInfo) == null) { + return true; } - return "false"; + return false; } /** diff --git a/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java b/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java index 06941c9be..f770f3150 100644 --- a/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java +++ b/src/main/java/com/nis/web/controller/configuration/statistics/ConfigureStatisticsController.java @@ -69,7 +69,7 @@ public class ConfigureStatisticsController extends BaseController{ Page requestPage = requestInfoService.findRequestInfo(new Page(request, response,"r"),requestInfo); List requestInfos=requestPage.getList(); //4、根据当前页的requestInfo信息查询request统计信息 - List requestStatisticList=new ArrayList(); + List requestStatisticList=new ArrayList(); if(!StringUtil.isEmpty(requestInfos)){ Date requestStatisticTime=configureStatisticsService.getRequestStatisticTime(); String requestStatisticTimeStr=""; @@ -77,16 +77,28 @@ public class ConfigureStatisticsController extends BaseController{ requestStatisticTimeStr=sdf.format(requestStatisticTime); } requestStatisticList=configureStatisticsService.getRequestStateStatistics(requestInfos,menuList,requestStatisticTimeStr); + if(!StringUtil.isEmpty(requestStatisticList)){ for (Iterator iterator = requestStatisticList.iterator(); iterator.hasNext();) { Map map = (Map) iterator.next(); + RequestInfo removeRequest=null; for (RequestInfo requestInfoO : requestInfos) { if(requestInfoO.getId().toString().equals(map.get("request").toString())){ map.put("request", requestInfoO.getRequestTitle()); + removeRequest=requestInfoO; } } + if(removeRequest != null){ + requestInfos.remove(removeRequest); + } } } + + for (RequestInfo requestInfoA: requestInfos) { + Map map=new HashMap<>(); + map.put("request", requestInfoA.getRequestTitle()); + requestStatisticList.add(map); + } model.addAttribute("requestStatisticTime", requestStatisticTimeStr); } requestPage.setList(requestStatisticList); @@ -157,7 +169,7 @@ public class ConfigureStatisticsController extends BaseController{ Page requestPage = requestInfoService.findRequestInfo(page,requestInfo); List requestInfos=requestPage.getList(); //4、根据当前页的requestInfo信息查询request统计信息 - List requestStatisticList=new ArrayList(); + List requestStatisticList=new ArrayList(); if(!StringUtil.isEmpty(requestInfos)){ Date requestStatisticTime=configureStatisticsService.getRequestStatisticTime(); String requestStatisticTimeStr=""; @@ -166,14 +178,25 @@ public class ConfigureStatisticsController extends BaseController{ } requestStatisticList=configureStatisticsService.getRequestStateStatistics(requestInfos,menuList,requestStatisticTimeStr); if(!StringUtil.isEmpty(requestStatisticList)){ - for (Iterator iterator = requestStatisticList.iterator(); iterator.hasNext();) { - Map map = (Map) iterator.next(); - for (RequestInfo requestInfoO : requestInfos) { - if(requestInfoO.getId().toString().equals(map.get("request").toString())){ - map.put("request", requestInfoO.getRequestTitle()); - } + for (Iterator iterator = requestStatisticList.iterator(); iterator.hasNext();) { + Map map = (Map) iterator.next(); + RequestInfo removeRequest=null; + for (RequestInfo requestInfoO : requestInfos) { + if(requestInfoO.getId().toString().equals(map.get("request").toString())){ + map.put("request", requestInfoO.getRequestTitle()); + removeRequest=requestInfoO; } } + if(removeRequest != null){ + requestInfos.remove(removeRequest); + } + } + } + + for (RequestInfo requestInfoA: requestInfos) { + Map map=new HashMap<>(); + map.put("request", requestInfoA.getRequestTitle()); + requestStatisticList.add(map); } model.addAttribute("requestStatisticTime", requestStatisticTimeStr); } diff --git a/src/main/java/com/nis/web/dao/configuration/RequestInfoDao.java b/src/main/java/com/nis/web/dao/configuration/RequestInfoDao.java index f4d7f0dff..e8416cd01 100644 --- a/src/main/java/com/nis/web/dao/configuration/RequestInfoDao.java +++ b/src/main/java/com/nis/web/dao/configuration/RequestInfoDao.java @@ -15,7 +15,7 @@ public interface RequestInfoDao extends CrudDao { List findRequestInfo(RequestInfo requestInfo); - RequestInfo getRequestInfoByRequestNumber(@Param("requestNumber") String requestNumber); + RequestInfo getRequestInfoByRequest(RequestInfo requestInfo); RequestInfo getRequestInfoById(@Param("id") Long id); List getRequestInfoByIds(@Param("ids") String ids); diff --git a/src/main/java/com/nis/web/dao/configuration/RequestInfoDao.xml b/src/main/java/com/nis/web/dao/configuration/RequestInfoDao.xml index 8c0e0c100..423c617dd 100644 --- a/src/main/java/com/nis/web/dao/configuration/RequestInfoDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/RequestInfoDao.xml @@ -95,11 +95,22 @@ - select from request_info - where request_number = #{requestNumber,jdbcType=VARCHAR} and is_valid !=-1 + + + and request_number = #{requestNumber,jdbcType=VARCHAR} + + + and request_title = #{requestTitle,jdbcType=VARCHAR} + + + and id != #{id} + + and is_valid !=-1 +