标准法规清单新增限制

This commit is contained in:
yanyizhou
2021-08-18 19:16:52 +08:00
parent 89a136ee60
commit d457a93c13
@@ -64,116 +64,53 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
QueryWrapper<SarLawsDetailedList> wrapper = new QueryWrapper<>();
wrapper.select("DISTINCT country_area,car_type");
List<SarLawsDetailedList> sarLawsDetailedLists = sarLawsDetailedListDao.selectList(wrapper);
//多选是否可以添加的标识,true表示可以添加,false表示不许添加
//国家/地区清单 多选是否可以添加的标识,true表示可以添加,false表示不许添加
boolean multiAddFlag = true;
//单选是否可以添加的标识,true表示可以添加,false表示不许添加
//国家/地区清单 单选是否可以添加的标识,true表示可以添加,false表示不许添加
boolean singleAddFlag = true;
//车型类别是否可以添加的标识,true表示可以添加,false表示不许添加
boolean carAddFlag = true;
// System.out.println("数据库的值"+sarLawsDetailedLists);
// System.out.println("数据库里有多少条数据"+sarLawsDetailedLists.size());
// System.out.println("数据库里第一条"+sarLawsDetailedLists.get(1));
//如果页面字段国家为空且页面字段车型类别为空,则为其他清单新增
if (addDetailedDto.getCountryArea() == null && addDetailedDto.getCarType() == null) {
//先判断数据库里有没有值,如果没有,就直接新增
if (sarLawsDetailedLists.size() == 0) {
//下面放添加的具体方法
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> timeDto = new ArrayList<>();
switch (addDetailedDto.getSortKey()) {
case "1":
sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea());
break;
case "2":
sarLawsDetailedList.setCarType(addDetailedDto.getCarType());
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.setSsrq(null);
} else {
dto.setSsrq(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.setSsrq(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 "其他清单添加成功";
//添加方法结束
newListMethod(addDetailedDto);
return "数据库为空,添加成功";
}
//如果页面字段国家不为空,则是国家地区清单新增
if (addDetailedDto.getCountryArea() != null) {
//如果数据库里有数据,则判断,如果没有,则直接新增成功
if (sarLawsDetailedLists.size() > 0) {
//如果数据库有值,根据页面的字段进行判断是哪个清单的新增
else {
//如果是其他新增
if (addDetailedDto.getCountryArea() == null && addDetailedDto.getCarType() == null) {
//下面放添加的具体方法
newListMethod(addDetailedDto);
return "其他清单添加成功";
}
//如果是车辆新增
else if (addDetailedDto.getCarType() != null) {
//就判断页面的值和数据库里的值是否相等
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 (Objects.equals(addDetailedDto.getCarType(), sarLawsDetailedLists.get(i).getCarType())) {
System.out.println("数据库里第" + (i + 1) + "条的车型类别字段和页面一样,重复,不许添加");
carAddFlag = false;
}
}
}
//如果是国家新增
else if (addDetailedDto.getCountryArea() != null) {
for (int i = 0; i < sarLawsDetailedLists.size(); i++) {
//就先判断数据库里的数据的国家/地区字段是否为空
if (null == sarLawsDetailedLists.get(i) || null == sarLawsDetailedLists.get(i).getCountryArea()) {
System.out.println("数据库里第" + (i + 1) + "条的国家地区字段长度为空,不重复,目前可以添加");
} else if (addDetailedDto.getCountryArea().length() != sarLawsDetailedLists.get(i).getCountryArea().length()) {
}
//再判断页面字段长度是否与数据库里的长度一样,如果长度不一样,允许新增
else if (addDetailedDto.getCountryArea().length() != sarLawsDetailedLists.get(i).getCountryArea().length()) {
System.out.println("数据库里第" + (i + 1) + "条的国家地区字段长度和页面的国家地区字段长度不一样,不重复,目前可以添加");
} else {
System.out.println("数据库里第" + (i + 1) + "条的国家地区字段长度和页面的国家地区字段长度一样,可能重复");
}
//如果不为空且长度一样
else {
//判断页面的国家地区是单选还是多选(判断能不能拆)
if (addDetailedDto.getCountryArea().contains(",")) {
System.out.println("页面是多选");
@@ -181,12 +118,10 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
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++) {
@@ -203,8 +138,6 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
System.out.println("数据库里的字段和页面字段虽然长度相同,但是里面有不一样的元素,可以添加");
multiAddFlag = true;
}
// System.out.println("页面字段以“,”为分隔符拆分后分别为"+ frontCountryArea[j]);
// System.out.println("数据库字段以“,”为分隔符拆分后分别为"+ databaseCountryArea[j]);
}
if (multiAddFlag == true) {
System.out.println("长度相同,只要有一个不重复,就可以添加");
@@ -233,180 +166,24 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
}
}
}
} 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> timeDto = new ArrayList<>();
switch (addDetailedDto.getSortKey()) {
case "1":
sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea());
break;
case "2":
sarLawsDetailedList.setCarType(addDetailedDto.getCarType());
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.setSsrq(null);
} else {
dto.setSsrq(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.setSsrq(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();
}
//如果页面字段国家不为空,则是国家地区清单新增;如果为空,则是其他清单新增
if (addDetailedDto.getCountryArea() != null){
return "国家/地区清单添加成功";
}else {
return "清单添加成功";
}
//添加方法结束
}
}
//如果是国家和车型清单
//如果整个循环下来都没有重复,则可以添加,不然就说明有重复,不能添加
if (carAddFlag == true && multiAddFlag == true && singleAddFlag == true) {
//下面放添加的具体方法
newListMethod(addDetailedDto);
return "车型类别清单添加成功";
//添加方法结束
} else if (carAddFlag == false){
//0表示添加成功,1表示添加失败
return "车型类别清单添加失败";
}
//如果循环完整个数据库,都没有重复使当前数据无法添加,则添加
if (multiAddFlag == true && singleAddFlag == true) {
if (multiAddFlag == true && singleAddFlag == true && carAddFlag == 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> timeDto = new ArrayList<>();
switch (addDetailedDto.getSortKey()) {
case "1":
sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea());
break;
case "2":
sarLawsDetailedList.setCarType(addDetailedDto.getCarType());
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.setSsrq(null);
} else {
dto.setSsrq(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.setSsrq(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();
}
newListMethod(addDetailedDto);
//0表示添加成功,1表示添加失败
return "国家/地区清单添加成功";
//添加方法结束
@@ -416,6 +193,93 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
}
}
/**
* 具体用来新增清单的方法
*
* @param addDetailedDto
*/
private void newListMethod(AddDetailedDto addDetailedDto) {
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> timeDto = new ArrayList<>();
switch (addDetailedDto.getSortKey()) {
case "1":
sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea());
break;
case "2":
sarLawsDetailedList.setCarType(addDetailedDto.getCarType());
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.setSsrq(null);
} else {
dto.setSsrq(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.setSsrq(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();
}
}
@Override
public IPage<SarLawsDetailedList> AllSelectD(Integer page, Integer pageSize, String sortKey,