From 35877cd9413f5b911a228b8510844a7d455e1083 Mon Sep 17 00:00:00 2001 From: yanyizhou <2311759275@qq.com> Date: Tue, 17 Aug 2021 20:11:35 +0800 Subject: [PATCH] =?UTF-8?q?=20=E6=A0=87=E5=87=86=E6=B3=95=E8=A7=84?= =?UTF-8?q?=E6=B8=85=E5=8D=95-=E5=9B=BD=E5=AE=B6/=E5=9C=B0=E5=8C=BA?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E4=B8=AD=E7=9A=84=20=E6=AF=8F=E4=B8=AA?= =?UTF-8?q?=E5=9B=BD=E5=AE=B6=E6=88=96=E8=80=85=E5=9C=B0=E5=8C=BA=E5=8F=AA?= =?UTF-8?q?=E8=83=BD=E5=BB=BA=E7=AB=8B=E4=B8=80=E6=AC=A1=E6=B8=85=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E9=9C=80=E5=81=9A=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SarLawsDetailedListServiceImpl.java | 484 ++++++++++++++---- 1 file changed, 377 insertions(+), 107 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/service/impl/SarLawsDetailedListServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/service/impl/SarLawsDetailedListServiceImpl.java index 3d47af49..eb6eeb92 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/service/impl/SarLawsDetailedListServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/service/impl/SarLawsDetailedListServiceImpl.java @@ -60,100 +60,370 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl timeDto = new ArrayList<>(); - switch (addDetailedDto.getSortKey()) { - case "1": - sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea()); + //判断页面的国家地区是否和数据库里的字段长度相等 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("DISTINCT country_area"); + List sarLawsDetailedLists = sarLawsDetailedListDao.selectList(wrapper); + //多选是否可以添加的标识,true表示可以添加,false表示不许添加 + boolean multiAddFlag = true; + //单选是否可以添加的标识,true表示可以添加,false表示不许添加 + boolean singleAddFlag = true; +// System.out.println("数据库的值"+sarLawsDetailedLists); +// System.out.println("数据库里有多少条数据"+sarLawsDetailedLists.size()); +// System.out.println("数据库里第一条"+sarLawsDetailedLists.get(1)); + //如果页面字段国家为空,则为其他清单新增 + if (addDetailedDto.getCountryArea() == null) { + //下面放添加的具体方法 + try { + SarLawsDetailedList sarLawsDetailedList = SarLawsDetailedList.builder() + .id(UUIDUtils.randomUUID20()) + .sortKey(addDetailedDto.getSortKey()) + .detailedListName(addDetailedDto.getDetailedListName()) + .detailedListState("0") + .detailedListVision("v0") + .applicationScope(addDetailedDto.getApplicationScope()) + .updateTime(new Date()) + .updatePeople(addDetailedDto.getUpdatePeople()) + .remark(addDetailedDto.getRemark()) + .updatePeople(getUserName()) + .fileIds(addDetailedDto.getFileIds()) + .build(); + List timeDto = new ArrayList<>(); + switch (addDetailedDto.getSortKey()) { + case "1": + sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea()); - break; - case "2": - sarLawsDetailedList.setProjectName(addDetailedDto.getProjectName()); + break; + case "2": + sarLawsDetailedList.setProjectName(addDetailedDto.getProjectName()); - break; - case "3": - sarLawsDetailedList.setDetailedList(addDetailedDto.getDetailedList()); + break; + case "3": + sarLawsDetailedList.setDetailedList(addDetailedDto.getDetailedList()); - break; - default: - break; - } - if ("admin".equals(getUserName()))sarLawsDetailedList.setUpdatePeople("管理员"); - else {sarLawsDetailedList.setUpdatePeople(getUserName());} - sarLawsDetailedListDao.insert(sarLawsDetailedList); - if (addDetailedDto.getInforlist()!=null){ - if (addDetailedDto.getInforlist().contains(",")){ - String[] id = addDetailedDto.getInforlist().split(","); - String[] ssrq = addDetailedDto.getInforlist1().split(","); - String[] zcc = addDetailedDto.getInforlist2().split(","); - String[] xcx = addDetailedDto.getInforlist3().split(","); - for (int a =0;a< id.length;a++){ + break; + default: + break; + } + if ("admin".equals(getUserName())) sarLawsDetailedList.setUpdatePeople("管理员"); + else { + sarLawsDetailedList.setUpdatePeople(getUserName()); + } + sarLawsDetailedListDao.insert(sarLawsDetailedList); + if (addDetailedDto.getInforlist() != null) { + if (addDetailedDto.getInforlist().contains(",")) { + String[] id = addDetailedDto.getInforlist().split(","); + String[] putTime = addDetailedDto.getInforlist1().split(","); + String[] zcc = addDetailedDto.getInforlist2().split(","); + String[] xcx = addDetailedDto.getInforlist3().split(","); + for (int a = 0; a < id.length; a++) { + TimeDto dto = new TimeDto(); + dto.setStandId(id[a]); + if ("-".equals(putTime[a]) || null == putTime[a]) { + dto.setPutTime(null); + } else { + dto.setPutTime(putTime[a]); + } + if ("-".equals(putTime[a]) || null == xcx[a]) { + dto.setXcxssrqgj(null); + } else { + dto.setXcxssrqgj(xcx[a]); + } + if ("-".equals(putTime[a]) || null == zcc[a]) { + dto.setZccssrqgj(null); + } else { + dto.setZccssrqgj(zcc[a]); + } + timeDto.add(dto); + } + } else { TimeDto dto = new TimeDto(); - dto.setStandId(id[a]); - if ("-".equals(ssrq[a]) || null==ssrq[a] ){ - dto.setSsrq(null); - }else { - dto.setSsrq(ssrq[a]); - } - if ("-".equals(ssrq[a]) || null == xcx[a]){ - dto.setXcxssrqgj(null); - }else { - dto.setXcxssrqgj(xcx[a]); - } - if ("-".equals(ssrq[a]) || null == zcc[a]){ - dto.setZccssrqgj(null); - }else { - dto.setZccssrqgj(zcc[a]); - } + dto.setStandId(addDetailedDto.getInforlist()); + dto.setPutTime(addDetailedDto.getInforlist1()); + dto.setXcxssrqgj(addDetailedDto.getInforlist2()); + dto.setZccssrqgj(addDetailedDto.getInforlist3()); timeDto.add(dto); } - }else { - TimeDto dto = new TimeDto(); - dto.setStandId(addDetailedDto.getInforlist()); - dto.setSsrq(addDetailedDto.getInforlist1()); - dto.setXcxssrqgj(addDetailedDto.getInforlist2()); - dto.setZccssrqgj(addDetailedDto.getInforlist3()); - timeDto.add(dto); + } else { + timeDto = null; } - }else { - timeDto=null; - } - service.insertDetailedList(sarLawsDetailedList.getId(),timeDto); + service.insertDetailedList(sarLawsDetailedList.getId(), timeDto); - } catch (Exception e) { - e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + //0表示添加成功,1表示添加失败 + return "0"; + //添加方法结束 + } + + //如果页面字段国家不为空,则是国家地区清单新增 + if (addDetailedDto.getCountryArea() != null) { + //如果数据库里有数据,则判断,如果没有,则直接新增成功 + if (sarLawsDetailedLists.size() > 0) { + for (int i = 0; i < sarLawsDetailedLists.size(); i++) { +// System.out.println("数据库里的第"+(i+1)+"条数据为"+sarLawsDetailedLists.get(i).getCountryArea()); +// System.out.println("数据库里的第"+(i+1)+"条数据的长度为"+sarLawsDetailedLists.get(i).getCountryArea().length()); +// System.out.println("页面字段"+addDetailedDto.getCountryArea()); +// System.out.println("页面字段长度"+addDetailedDto.getCountryArea().length()); + System.out.println(sarLawsDetailedLists.get(i)); + if (null == sarLawsDetailedLists.get(i)) { + System.out.println("数据库里第" + (i + 1) + "条的国家地区字段长度为空,不重复,目前可以添加"); + } else if (addDetailedDto.getCountryArea().length() != sarLawsDetailedLists.get(i).getCountryArea().length()) { + System.out.println("数据库里第" + (i + 1) + "条的国家地区字段长度和页面的国家地区字段长度不一样,不重复,目前可以添加"); + } else { + System.out.println("数据库里第" + (i + 1) + "条的国家地区字段长度和页面的国家地区字段长度一样,可能重复"); + //判断页面的国家地区是单选还是多选(判断能不能拆) + if (addDetailedDto.getCountryArea().contains(",")) { + System.out.println("页面是多选"); + //如果数据库里的国家地区字段存在",",说明是多选,如果不存在说明是单选 + if (sarLawsDetailedLists.get(i).getCountryArea().contains(",")) { + System.out.println("数据库是多选,如果页面字段拆分之后都包含于数据库字段拆分之后,则说明重复,目前不许添加"); + System.out.println("页面字段为" + addDetailedDto.getCountryArea()); +// System.out.println("页面字段以“,”为分隔符拆分后为"+ Arrays.toString(addDetailedDto.getCountryArea().split(","))); + String[] frontCountryArea = addDetailedDto.getCountryArea().split(","); +// System.out.println("页面字段以“,”为分隔符拆分后为"+ frontCountryArea[0]+"然后"+frontCountryArea[1]+"然后"+frontCountryArea[2]); + String[] databaseCountryArea = sarLawsDetailedLists.get(i).getCountryArea().split(","); +// System.out.println("数据库字段以“,”为分隔符拆分后为"+ databaseCountryArea[0]+"然后"+databaseCountryArea[1]+"然后"+databaseCountryArea[2]); + + + //如果页面字段拆分之后都包含于数据库字段拆分之后,则说明重复,不许添加 + for (int j = 0; j < frontCountryArea.length; j++) { + //如果数据库包含了页面字段的所有值,说明这俩完全相同,重复,不许添加 + List databaseCountryAreaList = Arrays.asList(databaseCountryArea); + if (databaseCountryAreaList.contains(frontCountryArea[j])) { + System.out.println("数据库" + databaseCountryAreaList); + System.out.println("页面" + frontCountryArea[j]); + System.out.println("数据库里的字段包含页面里的字段,可能重复,目前不许添加"); + multiAddFlag = false; + } else { + System.out.println("数据库" + databaseCountryAreaList); + System.out.println("页面" + frontCountryArea[j]); + System.out.println("数据库里的字段和页面字段虽然长度相同,但是里面有不一样的元素,可以添加"); + multiAddFlag = true; + } +// System.out.println("页面字段以“,”为分隔符拆分后分别为"+ frontCountryArea[j]); +// System.out.println("数据库字段以“,”为分隔符拆分后分别为"+ databaseCountryArea[j]); + } + if (multiAddFlag == true) { + System.out.println("长度相同,只要有一个不重复,就可以添加"); + } else { + System.out.println("长度相同,整个循环下来都重复,说明两个字段重复,不许添加"); + break; + } + } + } else { + System.out.println("页面是单选"); + + //如果数据库里的国家地区字段存在",",说明是多选,如果不存在说明是单选 + if (sarLawsDetailedLists.get(i).getCountryArea().contains(",")) { + System.out.println("数据库是多选,肯定不重复,目前可以添加"); + } else { + System.out.println("数据库是单选,如果数据库里的字段和页面的字段相等,重复,不许添加"); + //如果数据库里的字段和页面的字段相等,重复,不许添加 + if (Objects.equals(sarLawsDetailedLists.get(i).getCountryArea(), addDetailedDto.getCountryArea())) { + System.out.println("数据库里的字段和页面的字段相等,重复,不许添加"); + singleAddFlag = false; + break; + } else { + System.out.println("数据库里的字段和页面的字段不相等,不重复,允许添加"); + } + } + } + } + } + } else { + //数据库为空,直接添加 + //下面放添加的具体方法 + try { + SarLawsDetailedList sarLawsDetailedList = SarLawsDetailedList.builder() + .id(UUIDUtils.randomUUID20()) + .sortKey(addDetailedDto.getSortKey()) + .detailedListName(addDetailedDto.getDetailedListName()) + .detailedListState("0") + .detailedListVision("v0") + .applicationScope(addDetailedDto.getApplicationScope()) + .updateTime(new Date()) + .updatePeople(addDetailedDto.getUpdatePeople()) + .remark(addDetailedDto.getRemark()) + .updatePeople(getUserName()) + .fileIds(addDetailedDto.getFileIds()) + .build(); + List timeDto = new ArrayList<>(); + switch (addDetailedDto.getSortKey()) { + case "1": + sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea()); + + break; + case "2": + sarLawsDetailedList.setProjectName(addDetailedDto.getProjectName()); + + + break; + case "3": + sarLawsDetailedList.setDetailedList(addDetailedDto.getDetailedList()); + + break; + default: + break; + } + if ("admin".equals(getUserName())) sarLawsDetailedList.setUpdatePeople("管理员"); + else { + sarLawsDetailedList.setUpdatePeople(getUserName()); + } + sarLawsDetailedListDao.insert(sarLawsDetailedList); + if (addDetailedDto.getInforlist() != null) { + if (addDetailedDto.getInforlist().contains(",")) { + String[] id = addDetailedDto.getInforlist().split(","); + String[] putTime = addDetailedDto.getInforlist1().split(","); + String[] zcc = addDetailedDto.getInforlist2().split(","); + String[] xcx = addDetailedDto.getInforlist3().split(","); + for (int a = 0; a < id.length; a++) { + TimeDto dto = new TimeDto(); + dto.setStandId(id[a]); + if ("-".equals(putTime[a]) || null == putTime[a]) { + dto.setPutTime(null); + } else { + dto.setPutTime(putTime[a]); + } + if ("-".equals(putTime[a]) || null == xcx[a]) { + dto.setXcxssrqgj(null); + } else { + dto.setXcxssrqgj(xcx[a]); + } + if ("-".equals(putTime[a]) || null == zcc[a]) { + dto.setZccssrqgj(null); + } else { + dto.setZccssrqgj(zcc[a]); + } + timeDto.add(dto); + } + } else { + TimeDto dto = new TimeDto(); + dto.setStandId(addDetailedDto.getInforlist()); + dto.setPutTime(addDetailedDto.getInforlist1()); + dto.setXcxssrqgj(addDetailedDto.getInforlist2()); + dto.setZccssrqgj(addDetailedDto.getInforlist3()); + timeDto.add(dto); + } + } else { + timeDto = null; + } + service.insertDetailedList(sarLawsDetailedList.getId(), timeDto); + + } catch (Exception e) { + e.printStackTrace(); + } + //0表示添加成功,1表示添加失败 + return "0"; + //添加方法结束 + } + } + + //如果循环完整个数据库,都没有重复使当前数据无法添加,则添加 + if (multiAddFlag == true && singleAddFlag == true) { + //下面放添加的具体方法 + try { + SarLawsDetailedList sarLawsDetailedList = SarLawsDetailedList.builder() + .id(UUIDUtils.randomUUID20()) + .sortKey(addDetailedDto.getSortKey()) + .detailedListName(addDetailedDto.getDetailedListName()) + .detailedListState("0") + .detailedListVision("v0") + .applicationScope(addDetailedDto.getApplicationScope()) + .updateTime(new Date()) + .updatePeople(addDetailedDto.getUpdatePeople()) + .remark(addDetailedDto.getRemark()) + .updatePeople(getUserName()) + .fileIds(addDetailedDto.getFileIds()) + .build(); + List timeDto = new ArrayList<>(); + switch (addDetailedDto.getSortKey()) { + case "1": + sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea()); + + break; + case "2": + sarLawsDetailedList.setProjectName(addDetailedDto.getProjectName()); + + + break; + case "3": + sarLawsDetailedList.setDetailedList(addDetailedDto.getDetailedList()); + + break; + default: + break; + } + if ("admin".equals(getUserName())) sarLawsDetailedList.setUpdatePeople("管理员"); + else { + sarLawsDetailedList.setUpdatePeople(getUserName()); + } + sarLawsDetailedListDao.insert(sarLawsDetailedList); + if (addDetailedDto.getInforlist() != null) { + if (addDetailedDto.getInforlist().contains(",")) { + String[] id = addDetailedDto.getInforlist().split(","); + String[] putTime = addDetailedDto.getInforlist1().split(","); + String[] zcc = addDetailedDto.getInforlist2().split(","); + String[] xcx = addDetailedDto.getInforlist3().split(","); + for (int a = 0; a < id.length; a++) { + TimeDto dto = new TimeDto(); + dto.setStandId(id[a]); + if ("-".equals(putTime[a]) || null == putTime[a]) { + dto.setPutTime(null); + } else { + dto.setPutTime(putTime[a]); + } + if ("-".equals(putTime[a]) || null == xcx[a]) { + dto.setXcxssrqgj(null); + } else { + dto.setXcxssrqgj(xcx[a]); + } + if ("-".equals(putTime[a]) || null == zcc[a]) { + dto.setZccssrqgj(null); + } else { + dto.setZccssrqgj(zcc[a]); + } + timeDto.add(dto); + } + } else { + TimeDto dto = new TimeDto(); + dto.setStandId(addDetailedDto.getInforlist()); + dto.setPutTime(addDetailedDto.getInforlist1()); + dto.setXcxssrqgj(addDetailedDto.getInforlist2()); + dto.setZccssrqgj(addDetailedDto.getInforlist3()); + timeDto.add(dto); + } + } else { + timeDto = null; + } + service.insertDetailedList(sarLawsDetailedList.getId(), timeDto); + + } catch (Exception e) { + e.printStackTrace(); + } + //0表示添加成功,1表示添加失败 + return "0"; + //添加方法结束 + } else { + //0表示添加成功,1表示添加失败 + return "1"; } - return "添加成功"; } @Override public IPage AllSelectD(Integer page, Integer pageSize, String sortKey, String countryArea, String projectName, - String detailedList, String detailedListName,String carType) { + String detailedList, String detailedListName) { QueryWrapper wrapper = new QueryWrapper<>(); if ("1".equals(sortKey)) { wrapper.like(StringUtils.isNotEmpty(countryArea), "country_area", countryArea). like(StringUtils.isNotEmpty(detailedListName), "detailed_list_name", detailedListName); } else if ("2".equals(sortKey)) { wrapper.like(StringUtils.isNotEmpty(projectName), "project_name", projectName). - like(StringUtils.isNotEmpty(detailedListName), "detailed_list_name", detailedListName). - like(StringUtils.isNotEmpty(carType), "car_type", carType); + like(StringUtils.isNotEmpty(detailedListName), "detailed_list_name", detailedListName); } else if ("3".equals(sortKey)) { wrapper.like(StringUtils.isNotEmpty(detailedList), "detailed_list", detailedList). @@ -181,9 +451,9 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl map1:arr) { - if (map1.get("value").equals(list1.getCountryArea())){ + } else { + for (Map map1 : arr) { + if (map1.get("value").equals(list1.getCountryArea())) { list1.setCountryArea(map1.get("label")); break; } @@ -202,46 +472,46 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl timeDto = new ArrayList<>(); - if ( detailedUpDto.getInforlist().contains(",")) { + if (detailedUpDto.getInforlist().contains(",")) { String[] id = detailedUpDto.getInforlist().split(","); - String[] ssrq = detailedUpDto.getInforlist1().split(","); + String[] putTime = detailedUpDto.getInforlist1().split(","); String[] zcc = detailedUpDto.getInforlist2().split(","); String[] xcx = detailedUpDto.getInforlist3().split(","); - for (int a = 0; a < id.length; a++) { - TimeDto dto = new TimeDto(); - dto.setStandId(id[a]); - if (ssrq.length<=a) { - dto.setSsrq(null); - } else { - dto.setSsrq(ssrq[a]); - } - if (ssrq.length<=a) { - dto.setXcxssrqgj(null); - } else { - dto.setXcxssrqgj(xcx[a]); - } - if (ssrq.length<=a) { - dto.setZccssrqgj(null); - } else { - dto.setZccssrqgj(zcc[a]); - } - timeDto.add(dto); + for (int a = 0; a < id.length; a++) { + TimeDto dto = new TimeDto(); + dto.setStandId(id[a]); + if (putTime.length <= a) { + dto.setPutTime(null); + } else { + dto.setPutTime(putTime[a]); } + if (putTime.length <= a) { + dto.setXcxssrqgj(null); + } else { + dto.setXcxssrqgj(xcx[a]); + } + if (putTime.length <= a) { + dto.setZccssrqgj(null); + } else { + dto.setZccssrqgj(zcc[a]); + } + timeDto.add(dto); + } } else { TimeDto dto = new TimeDto(); dto.setStandId(detailedUpDto.getInforlist()); - dto.setSsrq(detailedUpDto.getInforlist1()); + dto.setPutTime(detailedUpDto.getInforlist1()); dto.setXcxssrqgj(detailedUpDto.getInforlist2()); dto.setZccssrqgj(detailedUpDto.getInforlist3()); timeDto.add(dto);