From 686bd303ddc68db338fe352c38392194217168a5 Mon Sep 17 00:00:00 2001 From: heheng <475597332@qq.com> Date: 星期二, 11 三月 2025 15:27:59 +0800 Subject: [PATCH] 修改业务逻辑增加项目编码 --- expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 42 insertions(+), 12 deletions(-) diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java index 521e5b8..7a0f675 100644 --- a/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java +++ b/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java @@ -2,11 +2,14 @@ import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.common.enums.DeleteFlagEnum; import com.gkhy.common.exception.ServiceException; import com.gkhy.common.utils.SecurityUtils; +import com.gkhy.common.utils.StringUtils; import com.gkhy.system.domain.SysExpertInfo; +import com.gkhy.system.domain.vo.request.ExpertBatchChangeReq; import com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq; import com.gkhy.system.domain.vo.request.SysExpertSearchReqDto; import com.gkhy.system.domain.vo.response.ProjectExpertSectionResp; @@ -30,17 +33,18 @@ @Override public List<SysExpertInfo> exportInfoList(SysExpertInfo expertInfo) { - //todo 验证是否是管理不是管理只能看本部门 - if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ - expertInfo.setDeptId(SecurityUtils.getDeptId()); - } - return baseMapper.expertInfoList(expertInfo); + // + + return baseMapper.expertInfoListV2(expertInfo); } @Override public int addExpertInfo(SysExpertInfo expertInfo) { - if(!checkIdCardUnique(new SysExpertInfo().setIdCard(expertInfo.getIdCard()))){ + if(!checkIdCardUnique(expertInfo)){ throw new ServiceException("该业务处室申请数据已存在"); + } + if(StringUtils.isEmpty(expertInfo.getPersonalOpinionKey()) && StringUtils.isEmpty(expertInfo.getRecommendUnitOpinionKey())){ + throw new ServiceException("专家本人意见和推荐单位意见不能同时为空"); } expertInfo.setCreateBy(expertInfo.getName()); boolean b=save(expertInfo); @@ -53,8 +57,9 @@ @Override public int modExpertInfo(SysExpertInfo expertInfo) { if(!checkIdCardUnique(expertInfo)){ - throw new ServiceException("该业务处室申请数据已存在"); + throw new ServiceException("该业务处室专业领域申请数据已存在"); } + checkHavePer(expertInfo.getId()); expertInfo.setUpdateBy(SecurityUtils.getUsername()); boolean b=updateById(expertInfo); if(!b){ @@ -65,9 +70,11 @@ @Override public int delExpertInfo(Long expertId) { + checkHavePer(expertId); + SysExpertInfo expertInfo = new SysExpertInfo(); expertInfo.setId(expertId); - expertInfo.setDelFlag(DeleteFlagEnum.DELETED.getCode()); + expertInfo.setDelFlag(DeleteFlagEnum.DELETED.getCode().intValue()); expertInfo.setUpdateBy(SecurityUtils.getUsername()); boolean b= updateById(expertInfo); if(!b){ @@ -86,6 +93,13 @@ return baseMapper.getExpertInfoById(expertId); } + private void checkHavePer(Long expertId){ + SysExpertInfo sysExpertInfo = checkExpertInfoDataScope(expertId); + if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()) && !sysExpertInfo.getDeptId().toString().equals(SecurityUtils.getDeptId().toString())) + { + throw new ServiceException("没有权限操作该专家信息!"); + } + } public SysExpertInfo checkExpertInfoDataScope(Long expertId) { @@ -103,9 +117,10 @@ @Override public boolean changeApprove(SysExpertInfo expertInfo) { checkExpertInfoDataScope(expertInfo.getId()); - SysExpertInfo se=new SysExpertInfo().setId(expertInfo.getId()).setState(expertInfo.getState()); - se.setUpdateBy(SecurityUtils.getUsername()); - return updateById(se); + //SysExpertInfo se=new SysExpertInfo().setId(expertInfo.getId()).setState(expertInfo.getState()); + expertInfo.setUpdateBy(SecurityUtils.getUsername()); +// se.setUpdateBy(SecurityUtils.getUsername()); + return updateById(expertInfo); } @Override @@ -119,12 +134,27 @@ @Override public List<ProjectExpertSectionResp> getExpertRound(SysExpertInfoRoundReq req) { + // req.setDeptId(SecurityUtils.getDeptId()); return baseMapper.getExpertRound(req); + } + + @Override + public void batchChangeEmploymentDate(ExpertBatchChangeReq req) { + if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + throw new ServiceException("无权操作!"); + } + + baseMapper.update(null, Wrappers.<SysExpertInfo>lambdaUpdate() + .set(SysExpertInfo::getUpdateBy,SecurityUtils.getUsername()) + .set(SysExpertInfo::getEmploymentDateStart,req.getEmploymentDateStart()) + .set(SysExpertInfo::getEmploymentDateEnd,req.getEmploymentDateEnd()) + .in(SysExpertInfo::getId,req.getId())); + } public boolean checkIdCardUnique(SysExpertInfo expertInfo){ Long expertId = expertInfo.getId()==null? -1L : expertInfo.getId(); - SysExpertInfo info = baseMapper.checkIdcardUnique(expertInfo.getIdCard(),expertInfo.getDeptId()); + SysExpertInfo info = baseMapper.checkIdCardDomainUnique(expertInfo.getPhone(),expertInfo.getIdCard(),expertInfo.getDomain()); if (info!=null && info.getId().longValue() != expertId.longValue()) { return false; -- Gitblit v1.9.2