From a6344f7a2608ddf9f630897d8de2f7b19282a6dd Mon Sep 17 00:00:00 2001 From: xiejunyu Date: Tue, 10 May 2022 14:59:59 +0800 Subject: [PATCH] =?UTF-8?q?bug51790+51775=E7=9B=B8=E5=85=B3=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E8=A1=A8=E5=BF=85=E5=A1=AB=E6=A0=A1=E9=AA=8C=E5=8F=8A?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B4=A3=E4=BB=BB=E9=A2=86=E5=9F=9F=E7=9A=84?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysDictItemController.java | 37 +++++++++++++----- .../modules/system/entity/SysDictItem.java | 2 + .../system/mapper/SysDictItemMapper.java | 3 ++ .../ProjectRelatedPersonnelServiceImpl.java | 38 +++++++++++++------ 4 files changed, 59 insertions(+), 21 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java index 10c497491..15585d58f 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictItemController.java @@ -20,6 +20,7 @@ import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.ISysDictService; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; @@ -83,17 +84,33 @@ public class SysDictItemController { @CacheEvict(value= CacheConstant.SYS_DICT_CACHE, allEntries=true) public Result add(@RequestBody SysDictItem sysDictItem) { Result result = new Result(); - try { - sysDictItem.setCreateTime(new Date()); - sysDictItem.setDelFlag(CommonConstant.DEL_FLAG_0); - sysDictItem.setItemValue(UUID.randomUUID().toString().replace("-", "")); + //查询同名数据 + List exitDictItemList = sysDictItemMapper.selctItemByName(sysDictItem.getItemText()); + if(CollectionUtils.isNotEmpty(exitDictItemList)){ + SysDictItem dictItemDB = exitDictItemList.get(0); + //有同名,已删数据->更新delFlag,恢复 + if(dictItemDB.getDelFlag() == CommonConstant.DEL_FLAG_1){ + sysDictItemService.updateDictDelFlag(CommonConstant.DEL_FLAG_0,dictItemDB.getId()); + }else{ + if(CutEnum.CN.getValue().equals(sysDictItem.getCut())) { + throw new JeroBootException("名称不能重复!"); + }else{ + throw new JeroBootException("The name cannot be duplicate!"); + } + } + }else { + try { + sysDictItem.setCreateTime(new Date()); + sysDictItem.setDelFlag(CommonConstant.DEL_FLAG_0); + sysDictItem.setItemValue(UUID.randomUUID().toString().replace("-", "")); // sysDictItem.setItemValue(String.valueOf(RandomUtils.nextLong())); - sysDictItem.setStatus(1); - sysDictItemService.save(sysDictItem); - result.success("保存成功!"); - } catch (Exception e) { - log.error(e.getMessage(),e); - result.error500("操作失败"); + sysDictItem.setStatus(1); + sysDictItemService.save(sysDictItem); + result.success("保存成功!"); + } catch (Exception e) { + log.error(e.getMessage(), e); + result.error500("操作失败"); + } } return result; } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java index 0e799ec2e..6bd5300c7 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java @@ -111,4 +111,6 @@ public class SysDictItem implements Serializable { @ApiModelProperty(value = "字典英文名称") private String enName; + @TableField(exist = false) + private String cut; } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java index c03542fee..51ab4f9f3 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java @@ -43,4 +43,7 @@ public interface SysDictItemMapper extends BaseMapper { /**查询相关人员表里用过的责任领域次数*/ @Select("select count(prp.duty_territory) from project_related_personnel as prp where prp.duty_territory=#{itemValue}") int selectCountDutyTerritory(String itemValue); + + @Select("select * from sys_dict_item where item_text=#{itemText}") + List selctItemByName(String itemText); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java index d45c56688..065e57268 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -530,7 +530,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl dictItemNameList = sysDictMapper.queryDictNameByCode(DictCodeEnum.DUTY_TERRITORY.getValue()); - if(!dictItemNameList.contains(projectRelatedPersonnel.getDutyTerritory())){ + //List dictItemNameList = sysDictMapper.queryDictNameByCode(DictCodeEnum.DUTY_TERRITORY.getValue()); + List sysDictItemValueList = sysDictItemMapper.selectItemValueByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue()); + if(!sysDictItemValueList.contains(projectRelatedPersonnel.getDutyTerritory())){ if (CutEnum.CN.getValue().equals(cut)) { throw new JeroBootException("该责任领域不存在.请检查第" + row + "行"); }else{ @@ -585,7 +586,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl lawEngineerUsers = new ArrayList<>(); - if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineerName())){ + if (StringUtils.isNotBlank(projectRelatedPersonnel.getLawEngineerName())){ List lawEngineerNameList = Arrays.asList(projectRelatedPersonnel.getLawEngineerName().split(",")); if (CollectionUtils.isNotEmpty(lawEngineerNameList) && StringUtils.isNotBlank(lawEngineerNameList.get(0))) { lawEngineerNameList = lawEngineerNameList.stream().distinct().collect(Collectors.toList()); @@ -614,12 +615,17 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl engineeringInterfacePersonUsers = new ArrayList<>(); - if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePersonName())){ + List engineeringInterfacePersonUsers = new ArrayList<>(); + if (StringUtils.isNotBlank(projectRelatedPersonnel.getEngineeringInterfacePersonName())){ List engineeringInterfacePersonNameList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePersonName().split(",")); if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList) && StringUtils.isNotBlank(engineeringInterfacePersonNameList.get(0))) { engineeringInterfacePersonNameList = engineeringInterfacePersonNameList.stream().distinct().collect(Collectors.toList()); @@ -629,7 +635,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl certificationEngineerUsers = new ArrayList<>(); - if (StringUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineerName())){ + if (StringUtils.isNotBlank(projectRelatedPersonnel.getCertificationEngineerName())){ List certificationEngineerNameList = Arrays.asList(projectRelatedPersonnel.getCertificationEngineerName().split(",")); if (CollectionUtils.isNotEmpty(certificationEngineerNameList) && StringUtils.isNotBlank(certificationEngineerNameList.get(0))) { certificationEngineerNameList = certificationEngineerNameList.stream().distinct().collect(Collectors.toList()); @@ -682,7 +693,12 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl