bug51790+51775相关人员表必填校验及新增责任领域的修改

This commit is contained in:
xiejunyu
2022-05-10 15:00:11 +08:00
parent 1e5c55a4fa
commit a6344f7a26
4 changed files with 59 additions and 21 deletions
@@ -20,6 +20,7 @@ import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.service.ISysDictService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -83,17 +84,33 @@ public class SysDictItemController {
@CacheEvict(value= CacheConstant.SYS_DICT_CACHE, allEntries=true) @CacheEvict(value= CacheConstant.SYS_DICT_CACHE, allEntries=true)
public Result<SysDictItem> add(@RequestBody SysDictItem sysDictItem) { public Result<SysDictItem> add(@RequestBody SysDictItem sysDictItem) {
Result<SysDictItem> result = new Result<SysDictItem>(); Result<SysDictItem> result = new Result<SysDictItem>();
try { //查询同名数据
sysDictItem.setCreateTime(new Date()); List<SysDictItem> exitDictItemList = sysDictItemMapper.selctItemByName(sysDictItem.getItemText());
sysDictItem.setDelFlag(CommonConstant.DEL_FLAG_0); if(CollectionUtils.isNotEmpty(exitDictItemList)){
sysDictItem.setItemValue(UUID.randomUUID().toString().replace("-", "")); 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.setItemValue(String.valueOf(RandomUtils.nextLong()));
sysDictItem.setStatus(1); sysDictItem.setStatus(1);
sysDictItemService.save(sysDictItem); sysDictItemService.save(sysDictItem);
result.success("保存成功!"); result.success("保存成功!");
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(),e); log.error(e.getMessage(), e);
result.error500("操作失败"); result.error500("操作失败");
}
} }
return result; return result;
} }
@@ -111,4 +111,6 @@ public class SysDictItem implements Serializable {
@ApiModelProperty(value = "字典英文名称") @ApiModelProperty(value = "字典英文名称")
private String enName; private String enName;
@TableField(exist = false)
private String cut;
} }
@@ -43,4 +43,7 @@ public interface SysDictItemMapper extends BaseMapper<SysDictItem> {
/**查询相关人员表里用过的责任领域次数*/ /**查询相关人员表里用过的责任领域次数*/
@Select("select count(prp.duty_territory) from project_related_personnel as prp where prp.duty_territory=#{itemValue}") @Select("select count(prp.duty_territory) from project_related_personnel as prp where prp.duty_territory=#{itemValue}")
int selectCountDutyTerritory(String itemValue); int selectCountDutyTerritory(String itemValue);
@Select("select * from sys_dict_item where item_text=#{itemText}")
List<SysDictItem> selctItemByName(String itemText);
} }
@@ -530,7 +530,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
/** /**
* 把导入的数据翻译成对应的id,并校验 * 把导入的数据翻译成对应的id,并校验
* 若除责任领域外的导入数据为空,设置为空白 * 若除责任领域外的导入数据不能为空
* @return * @return
*/ */
@Override @Override
@@ -539,8 +539,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
for (ProjectRelatedPersonnel projectRelatedPersonnel:records) { for (ProjectRelatedPersonnel projectRelatedPersonnel:records) {
//查标签内容里的责任领域数据 //查标签内容里的责任领域数据
List<String> dictItemNameList = sysDictMapper.queryDictNameByCode(DictCodeEnum.DUTY_TERRITORY.getValue()); //List<String> dictItemNameList = sysDictMapper.queryDictNameByCode(DictCodeEnum.DUTY_TERRITORY.getValue());
if(!dictItemNameList.contains(projectRelatedPersonnel.getDutyTerritory())){ List<String> sysDictItemValueList = sysDictItemMapper.selectItemValueByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue());
if(!sysDictItemValueList.contains(projectRelatedPersonnel.getDutyTerritory())){
if (CutEnum.CN.getValue().equals(cut)) { if (CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("该责任领域不存在.请检查第" + row + "行"); throw new JeroBootException("该责任领域不存在.请检查第" + row + "行");
}else{ }else{
@@ -585,7 +586,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
//法规工程师 //法规工程师
List<SysUser> lawEngineerUsers = new ArrayList<>(); List<SysUser> lawEngineerUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineerName())){ if (StringUtils.isNotBlank(projectRelatedPersonnel.getLawEngineerName())){
List<String> lawEngineerNameList = Arrays.asList(projectRelatedPersonnel.getLawEngineerName().split(",")); List<String> lawEngineerNameList = Arrays.asList(projectRelatedPersonnel.getLawEngineerName().split(","));
if (CollectionUtils.isNotEmpty(lawEngineerNameList) && StringUtils.isNotBlank(lawEngineerNameList.get(0))) { if (CollectionUtils.isNotEmpty(lawEngineerNameList) && StringUtils.isNotBlank(lawEngineerNameList.get(0))) {
lawEngineerNameList = lawEngineerNameList.stream().distinct().collect(Collectors.toList()); lawEngineerNameList = lawEngineerNameList.stream().distinct().collect(Collectors.toList());
@@ -614,12 +615,17 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setLawEngineer(midId.substring(0,midId.toString().length()-1)); projectRelatedPersonnel.setLawEngineer(midId.substring(0,midId.toString().length()-1));
} }
}else{ }else{
projectRelatedPersonnel.setLawEngineer(""); //中英切换提示语
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的法规工程师姓名不能为空,请检查第" + row + "行");
}else{
throw new JeroBootException("The imported law engineer cannot be empty.Please check line " + row );
}
} }
//工程接口人 //工程接口人
List<SysUser> engineeringInterfacePersonUsers = new ArrayList<>(); List<SysUser> engineeringInterfacePersonUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePersonName())){ if (StringUtils.isNotBlank(projectRelatedPersonnel.getEngineeringInterfacePersonName())){
List<String> engineeringInterfacePersonNameList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePersonName().split(",")); List<String> engineeringInterfacePersonNameList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePersonName().split(","));
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList) && StringUtils.isNotBlank(engineeringInterfacePersonNameList.get(0))) { if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList) && StringUtils.isNotBlank(engineeringInterfacePersonNameList.get(0))) {
engineeringInterfacePersonNameList = engineeringInterfacePersonNameList.stream().distinct().collect(Collectors.toList()); engineeringInterfacePersonNameList = engineeringInterfacePersonNameList.stream().distinct().collect(Collectors.toList());
@@ -629,7 +635,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
if(CutEnum.CN.getValue().equals(cut)) { if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的工程接口人姓名有误,请检查第" + row + "行"); throw new JeroBootException("导入的工程接口人姓名有误,请检查第" + row + "行");
}else{ }else{
throw new JeroBootException("The imported engineering interface person is wrong.Please check line " + row ); throw new JeroBootException("The imported engineering interface person is wrong.Please check line " + row );
} }
} }
} }
@@ -648,12 +654,17 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setEngineeringInterfacePerson(midId.substring(0,midId.toString().length()-1)); projectRelatedPersonnel.setEngineeringInterfacePerson(midId.substring(0,midId.toString().length()-1));
} }
}else{ }else{
projectRelatedPersonnel.setEngineeringInterfacePerson(""); //中英切换提示语
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的工程接口人姓名不能为空,请检查第" + row + "行");
}else{
throw new JeroBootException("The imported engineering interface person cannot be empty.Please check line " + row );
}
} }
//认证工程师 //认证工程师
List<SysUser> certificationEngineerUsers = new ArrayList<>(); List<SysUser> certificationEngineerUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineerName())){ if (StringUtils.isNotBlank(projectRelatedPersonnel.getCertificationEngineerName())){
List<String> certificationEngineerNameList = Arrays.asList(projectRelatedPersonnel.getCertificationEngineerName().split(",")); List<String> certificationEngineerNameList = Arrays.asList(projectRelatedPersonnel.getCertificationEngineerName().split(","));
if (CollectionUtils.isNotEmpty(certificationEngineerNameList) && StringUtils.isNotBlank(certificationEngineerNameList.get(0))) { if (CollectionUtils.isNotEmpty(certificationEngineerNameList) && StringUtils.isNotBlank(certificationEngineerNameList.get(0))) {
certificationEngineerNameList = certificationEngineerNameList.stream().distinct().collect(Collectors.toList()); certificationEngineerNameList = certificationEngineerNameList.stream().distinct().collect(Collectors.toList());
@@ -682,7 +693,12 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setCertificationEngineer(midId.substring(0,midId.toString().length()-1)); projectRelatedPersonnel.setCertificationEngineer(midId.substring(0,midId.toString().length()-1));
} }
}else{ }else{
projectRelatedPersonnel.setCertificationEngineer(""); //中英切换提示语
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的认证工程师姓名不能为空,请检查第" + row + "行");
}else {
throw new JeroBootException("The imported certification engineer cannot be empty.Please check line " + row );
}
} }
projectRelatedPersonnel.setProjectId(projectId); projectRelatedPersonnel.setProjectId(projectId);
row++; row++;