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 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<SysDictItem> add(@RequestBody SysDictItem sysDictItem) {
Result<SysDictItem> result = new Result<SysDictItem>();
try {
sysDictItem.setCreateTime(new Date());
sysDictItem.setDelFlag(CommonConstant.DEL_FLAG_0);
sysDictItem.setItemValue(UUID.randomUUID().toString().replace("-", ""));
//查询同名数据
List<SysDictItem> 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;
}
@@ -111,4 +111,6 @@ public class SysDictItem implements Serializable {
@ApiModelProperty(value = "字典英文名称")
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}")
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,并校验
* 若除责任领域外的导入数据为空,设置为空
* 若除责任领域外的导入数据不能为空
* @return
*/
@Override
@@ -539,8 +539,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
for (ProjectRelatedPersonnel projectRelatedPersonnel:records) {
//查标签内容里的责任领域数据
List<String> dictItemNameList = sysDictMapper.queryDictNameByCode(DictCodeEnum.DUTY_TERRITORY.getValue());
if(!dictItemNameList.contains(projectRelatedPersonnel.getDutyTerritory())){
//List<String> dictItemNameList = sysDictMapper.queryDictNameByCode(DictCodeEnum.DUTY_TERRITORY.getValue());
List<String> 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<ProjectRelat
//法规工程师
List<SysUser> lawEngineerUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineerName())){
if (StringUtils.isNotBlank(projectRelatedPersonnel.getLawEngineerName())){
List<String> 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<ProjectRelat
projectRelatedPersonnel.setLawEngineer(midId.substring(0,midId.toString().length()-1));
}
}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<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePersonName())){
List<SysUser> engineeringInterfacePersonUsers = new ArrayList<>();
if (StringUtils.isNotBlank(projectRelatedPersonnel.getEngineeringInterfacePersonName())){
List<String> 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<ProjectRelat
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的工程接口人姓名有误,请检查第" + row + "");
}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));
}
}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<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineerName())){
if (StringUtils.isNotBlank(projectRelatedPersonnel.getCertificationEngineerName())){
List<String> 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<ProjectRelat
projectRelatedPersonnel.setCertificationEngineer(midId.substring(0,midId.toString().length()-1));
}
}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);
row++;