考核评分优化

This commit is contained in:
pengjie 2023-06-07 16:29:49 +08:00
parent e03fc1083a
commit 8b3345c251

View File

@ -10,6 +10,8 @@ import com.zhgd.xmgl.modules.basicdata.mapper.EngineeringSingleMapper;
import com.zhgd.xmgl.modules.basicdata.service.*;
import com.zhgd.xmgl.modules.basicdata.vo.EngineeringVo;
import com.zhgd.xmgl.modules.safety.entity.EnterpriseScore;
import com.zhgd.xmgl.modules.safety.entity.EnterpriseScoreDetail;
import com.zhgd.xmgl.modules.safety.service.IEnterpriseScoreDetailService;
import com.zhgd.xmgl.modules.safety.service.IEnterpriseScoreService;
import com.zhgd.xmgl.util.ParamEnum;
import org.springframework.beans.factory.annotation.Autowired;
@ -43,6 +45,9 @@ public class EngineeringSingleServiceImpl extends ServiceImpl<EngineeringSingleM
@Autowired
private IEnterpriseScoreService enterpriseScoreService;
@Autowired
private IEnterpriseScoreDetailService enterpriseScoreDetailService;
@Autowired
private IProjectService projectService;
@ -66,6 +71,10 @@ public class EngineeringSingleServiceImpl extends ServiceImpl<EngineeringSingleM
engineeringMainPerson.setEngineeringSn(engineeringVo.getEngineeringSn());
}
engineeringMainPersonService.saveBatch(engineeringMain.getEngineeringMainPersonList());
EnterpriseScore scoreServiceOne = enterpriseScoreService.getOne(Wrappers.<EnterpriseScore>lambdaQuery()
.eq(EnterpriseScore::getEnterpriseSn, engineeringMain.getEnterpriseSn())
.eq(EnterpriseScore::getEngineeringSn, engineeringVo.getEngineeringSn()));
if (scoreServiceOne == null) {
EnterpriseScore enterpriseScore = new EnterpriseScore();
enterpriseScore.setEnterpriseSn(engineeringMain.getEnterpriseSn());
enterpriseScore.setEngineeringSn(engineeringVo.getEngineeringSn());
@ -74,6 +83,7 @@ public class EngineeringSingleServiceImpl extends ServiceImpl<EngineeringSingleM
enterpriseScore.setCreateTime(new Date());
scoreList.add(enterpriseScore);
}
}
enterpriseScoreService.saveBatch(scoreList);
return true;
}
@ -87,9 +97,20 @@ public class EngineeringSingleServiceImpl extends ServiceImpl<EngineeringSingleM
List<EngineeringMain> engineeringMains = engineeringMainService.list(Wrappers.<EngineeringMain>lambdaQuery()
.eq(EngineeringMain::getEngineeringSn, engineeringSn));
List<Long> mainIds = engineeringMains.stream().map(m -> m.getId()).collect(Collectors.toList());
List<String> enterprises = engineeringMains.stream().map(m -> m.getEnterpriseSn()).collect(Collectors.toList());
engineeringMainPersonService.remove(Wrappers.<EngineeringMainPerson>lambdaQuery()
.in(EngineeringMainPerson::getMainId, mainIds));
engineeringMainService.removeByIds(mainIds);
List<EnterpriseScore> scoreServiceList = enterpriseScoreService.list(Wrappers.<EnterpriseScore>lambdaQuery()
.in(EnterpriseScore::getEnterpriseSn, enterprises)
.eq(EnterpriseScore::getEngineeringSn, engineeringSn));
for (EnterpriseScore enterpriseScore : scoreServiceList) {
int num = enterpriseScoreDetailService.count(Wrappers.<EnterpriseScoreDetail>lambdaQuery()
.eq(EnterpriseScoreDetail::getScoreId, enterpriseScore.getId()));
if (num == 0) {
enterpriseScoreService.removeById(enterpriseScore.getId());
}
}
return true;
}