From b45099f816ddac7dd4c262721cf139a932fbc257 Mon Sep 17 00:00:00 2001 From: YY <1272464982@qq.com> Date: Fri, 27 Jun 2025 16:41:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/constant/SupplierUserConstant.java | 5 ++++ .../impl/AnnualScheduledTasksServiceImpl.java | 4 +++ .../CoscoAnnualreviewTaskServiceImpl.java | 8 +++++- ...coAnnualreviewTaskSupplierServiceImpl.java | 6 +++++ ...nualreviewTaskSupplierUserServiceImpl.java | 6 +++++ ...ualreviewTemplateIndicatorServiceImpl.java | 1 + .../CoscoEvaluateTaskSupplierController.java | 7 ++++- ...ICoscoEvaluateTaskSupplierUserService.java | 9 +++++++ ...oscoEvaluateTaskAssignDeptServiceImpl.java | 2 +- .../impl/CoscoEvaluateTaskServiceImpl.java | 27 +++++++++++++------ .../CoscoEvaluateTaskSupplierServiceImpl.java | 11 +++++++- ...coEvaluateTaskSupplierUserServiceImpl.java | 12 +++++++++ ...valuateTemplateIndicatorStServiceImpl.java | 6 +++++ .../impl/ScheduledTasksServiceImpl.java | 12 ++++++--- 14 files changed, 101 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/SupplierUserConstant.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/SupplierUserConstant.java index ac97870..e51f6d9 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/SupplierUserConstant.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/SupplierUserConstant.java @@ -14,4 +14,9 @@ public interface SupplierUserConstant { public static final String DEPT_ID="dept001"; public static final String PARENT_DEPT_ID="dept002"; + + /** + * 创建部门 + */ + public static final String CREATE_DEPT="创建部门"; } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/AnnualScheduledTasksServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/AnnualScheduledTasksServiceImpl.java index 3c4aaf2..54e52a1 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/AnnualScheduledTasksServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/AnnualScheduledTasksServiceImpl.java @@ -60,10 +60,12 @@ public class AnnualScheduledTasksServiceImpl implements AnnualScheduledTasksServ coscoAnnualreviewTaskSupplier.setAnnualreviewTaskId(coscoAnnualreviewTask.getId()); List coscoAnnualreviewTaskSuppliers = coscoAnnualreviewTaskSupplierMapper.selectCoscoAnnualreviewTaskSupplierList(coscoAnnualreviewTaskSupplier); + //根据人员技术分数 coscoAnnualreviewTaskSuppliers.forEach(supplier -> { AuditQuantityVo selectVo = new AuditQuantityVo(); selectVo.setSupplierId(supplier.getSupplierId()); selectVo.setAnnualreviewTaskId(coscoAnnualreviewTask.getId()); + //获取合格结果 AuditQuantityVo vo = coscoAnnualreviewScoringMapper.selectAuditQuantity(selectVo); if (vo != null && vo.getTotalNumber() > 0) { if (vo.getErrorNumber() > 0) { @@ -71,9 +73,11 @@ public class AnnualScheduledTasksServiceImpl implements AnnualScheduledTasksServ } else { supplier.setReviewResult(AnnualreviewTaskConstant.APPROVE_SUCCESS); } + //修改供应商状态 coscoAnnualreviewTaskSupplierMapper.updateCoscoAnnualreviewTaskSupplier(supplier); } }); + //修改任务状态 coscoAnnualreviewTask.setStatus(AnnualreviewTaskConstant.COMPLETED); coscoAnnualreviewTask.setUpdateBy(SupplierUserConstant.USER_NAME); coscoAnnualreviewTask.setUpdateTime(new Date()); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java index 0688487..fa187d6 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java @@ -102,6 +102,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS List supplierIds = list.stream().map(SupplierPeopleVo::getSuppliedId).collect(Collectors.toList()); List blackSupplierVos = coscoSupplierBaseMapper.selectSupplierByIds(supplierIds); List userInfo=userIdMap.keySet().stream().map(userId -> userMap.get(userId)).collect(Collectors.toList()); + //用户信息封装 blackSupplierVos.forEach(blackSupplierVo -> { List taskUserVos = new ArrayList<>(); List strings = suppMap.get(blackSupplierVo.getSupplierId()); @@ -156,9 +157,11 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS } private void addList(AddTaskVo taskVo) { + //去除旧数据 coscoAnnualreviewTaskSupplierMapper.deleteByTaskId(taskVo.getId()); coscoAnnualreviewTaskSupplierUserMapper.deleteByTaskId(taskVo.getId()); coscoAnnualreviewScoringMapper.deleteByTaskId(taskVo.getId()); + //封装新数据 CoscoAnnualreviewTemplateIndicator coscoAnnualreviewTemplate = new CoscoAnnualreviewTemplateIndicator(); coscoAnnualreviewTemplate.setTemplateId(taskVo.getTemplateId()); List coscoAnnualreviewTemplateIndicators = coscoAnnualreviewTemplateIndicatorMapper.selectCoscoAnnualreviewTemplateIndicatorList(coscoAnnualreviewTemplate); @@ -179,7 +182,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS taskSupplierList.add(taskSupplier); List userIds = vo.getUserIds(); userIds.forEach(userId -> { - //添加供应商人员信息 + //添加供应商打分人员信息 CoscoAnnualreviewTaskSupplierUser taskSupplierUser = new CoscoAnnualreviewTaskSupplierUser(); taskSupplierUser.setId(PropertyUtils.getSnowflakeId()); taskSupplierUser.setAnnualreviewTaskId(taskVo.getId()); @@ -191,6 +194,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS taskSupplierUser.setReviewStatus(AnnualreviewTaskConstant.WAIT_APPROVE); taskSupplierUser.setUpdateTime(new Date()); taskSupplierUserList.add(taskSupplierUser); + //添加打分人员打分项信息 coscoAnnualreviewTemplateIndicators.forEach(ind -> { CoscoAnnualreviewScoring scoring = new CoscoAnnualreviewScoring(); scoring.setId(PropertyUtils.getSnowflakeId()); @@ -204,6 +208,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS }); }); }); + //批量插入 coscoAnnualreviewScoringMapper.batchCoscoAnnualreviewScoring(scoringList); coscoAnnualreviewTaskSupplierMapper.batchCoscoAnnualreviewTaskSupplier(taskSupplierList); coscoAnnualreviewTaskSupplierUserMapper.batchCoscoAnnualreviewTaskSupplierUser(taskSupplierUserList); @@ -251,6 +256,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS IPage p = new Page<>(taskListVo.getBasePageRequest().getPageNo(), taskListVo.getBasePageRequest().getPageSize()); IPage coscoAnnualreviewTaskListVoIPage = coscoAnnualreviewTaskMapper.selectPage(p, taskListVo); + //获取查询任务部门信息 List deptIds = new ArrayList<>(); coscoAnnualreviewTaskListVoIPage.getRecords().forEach(ss -> { deptIds.add(ss.getDeptId()); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskSupplierServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskSupplierServiceImpl.java index 429586e..14aee86 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskSupplierServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskSupplierServiceImpl.java @@ -93,12 +93,18 @@ public class CoscoAnnualreviewTaskSupplierServiceImpl implements ICoscoAnnualrev return coscoAnnualreviewTaskSupplierMapper.deleteCoscoAnnualreviewTaskSupplierById(id); } + /** + * 列表查询 + * @param supplierListVo + * @return + */ @Override public IPage getPage(AnnualreviewTaskSupplierListVo supplierListVo) { IPage p = new Page<>(supplierListVo.getBasePageRequest().getPageNo(), supplierListVo.getBasePageRequest().getPageSize()); IPage annualreviewTaskSupplierListVoIPage = coscoAnnualreviewTaskSupplierMapper.selectMyPage(p, supplierListVo); + //获取查询部门信息 List deptIds=new ArrayList<>(); annualreviewTaskSupplierListVoIPage.getRecords().forEach(vo -> { deptIds.add(vo.getDeptId()); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskSupplierUserServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskSupplierUserServiceImpl.java index b831a95..b44c936 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskSupplierUserServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskSupplierUserServiceImpl.java @@ -141,9 +141,14 @@ public class CoscoAnnualreviewTaskSupplierUserServiceImpl implements ICoscoAnnua return coscoAnnualreviewTaskSupplierUserMapper.selectCoscoAnnualreviewTaskSupplierUserById(id); } + /** + * 添加分数 + * @param vo + */ @Override @Transactional(rollbackFor = Exception.class) public void addScore(AnnualAddScoreVo vo) { + //修改分数 List scoreVoList = vo.getScoreVoList(); scoreVoList.forEach(scorevo -> { CoscoAnnualreviewScoring scoring = new CoscoAnnualreviewScoring(); @@ -153,6 +158,7 @@ public class CoscoAnnualreviewTaskSupplierUserServiceImpl implements ICoscoAnnua scoring.setUpdateTime(new Date()); coscoAnnualreviewScoringMapper.updateCoscoAnnualreviewScoring(scoring); }); + //修改人员打分状态 CoscoAnnualreviewTaskSupplierUser coscoAnnualreviewTaskSupplierUser = new CoscoAnnualreviewTaskSupplierUser(); coscoAnnualreviewTaskSupplierUser.setId(vo.getId()); coscoAnnualreviewTaskSupplierUser.setReviewStatus(AnnualreviewTaskConstant.APPROVE_PASS); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTemplateIndicatorServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTemplateIndicatorServiceImpl.java index 0a0c23d..ed294e9 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTemplateIndicatorServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTemplateIndicatorServiceImpl.java @@ -102,6 +102,7 @@ public class CoscoAnnualreviewTemplateIndicatorServiceImpl implements ICoscoAnnu * 删除之前可能拥有的指标 */ coscoAnnualreviewTemplateIndicatorMapper.deleteByTemplateId(coscoAnnualreviewTemplate.getId()); + //添加二级指标 List indicatorList = coscoAnnualreviewTemplate.getIndicatorList(); for (CoscoAnnualreviewTemplateIndicator coscoAnnualreviewTemplateIndicator : indicatorList) { coscoAnnualreviewTemplateIndicator.setCreateTime(new Date()); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/controller/CoscoEvaluateTaskSupplierController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/controller/CoscoEvaluateTaskSupplierController.java index dc9c0ab..baa889f 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/controller/CoscoEvaluateTaskSupplierController.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/controller/CoscoEvaluateTaskSupplierController.java @@ -71,7 +71,12 @@ public class CoscoEvaluateTaskSupplierController extends BaseController { } - + /** + * 获取评价结果 + * + * @param id + * @return + */ @GetMapping("/getScoreResult") public BaseResponse getScoreResult(String id) { return BaseResponse.success(coscoEvaluateTaskSupplierService.getScoreResult(id)); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/ICoscoEvaluateTaskSupplierUserService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/ICoscoEvaluateTaskSupplierUserService.java index b995c79..b0a7941 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/ICoscoEvaluateTaskSupplierUserService.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/ICoscoEvaluateTaskSupplierUserService.java @@ -62,7 +62,16 @@ public interface ICoscoEvaluateTaskSupplierUserService { */ public int deleteCoscoEvaluateTaskSupplierUserById(String id); + /** + * 获取人员打分项 + * @param id + * @return + */ TaskIndicatorBaseVo getIndicator(String id); + /** + *打分结果保存 + * @param vo + */ void getScore(AddScoreVo vo); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskAssignDeptServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskAssignDeptServiceImpl.java index 8c7f801..dccf962 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskAssignDeptServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskAssignDeptServiceImpl.java @@ -95,7 +95,7 @@ public class CoscoEvaluateTaskAssignDeptServiceImpl implements ICoscoEvaluateTas dept.setEvaluateTaskId(addCoscoEvaluateTaskVo.getId()); dept.setParentDeptId(SupplierUserConstant.DEPT_ID); List coscoEvaluateTaskAssignDepts = coscoEvaluateTaskAssignDeptMapper.selectCoscoEvaluateTaskAssignDeptList(dept); - if (coscoEvaluateTaskAssignDepts.size() == 0) { + if (coscoEvaluateTaskAssignDepts.isEmpty()) { dept.setId(PropertyUtils.getSnowflakeId()); dept.setStatus(addCoscoEvaluateTaskVo.getTaskStatus()); coscoEvaluateTaskAssignDeptMapper.insertCoscoEvaluateTaskAssignDept(dept); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java index 8613860..6dcb140 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java @@ -125,7 +125,7 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { List userNdTypeVos1 = map.get(userId); vo.setType(userNdTypeVos1.get(0).getType()); - if (vo.getType() == EvaluateTaskConstant.INDICATOR_TYPE_ND_1) { + if (EvaluateTaskConstant.INDICATOR_TYPE_ND_1.equals(vo.getType())) { List indicatorIds = userNdTypeVos1.stream().map(UserNdTypeVo::getNeId).collect(Collectors.toList()); vo.setIndicatorIds(indicatorIds); } else { @@ -155,7 +155,6 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { addCoscoEvaluateTaskVo.setBlackSupplierVos(blackSupplierVos); addCoscoEvaluateTaskVo.setIndicatorList(vos); } catch (Exception e) { - e.printStackTrace(); throw new RuntimeException(e); } return addCoscoEvaluateTaskVo; @@ -247,12 +246,15 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { public IPage getPage(CoscoEvaluateTaskListVo taskListVo) { IPage p = new Page<>(taskListVo.getBasePageRequest().getPageNo(), taskListVo.getBasePageRequest().getPageSize()); + //获取分页数据 IPage coscoEvaluateTaskListVoIPage = coscoEvaluateTaskMapper.selectMyPage(p, taskListVo); + //根据分页数据获取是否显示分工 List taskIds = coscoEvaluateTaskListVoIPage.getRecords().stream().map(CoscoEvaluateTaskListVo::getId).collect(Collectors.toList()); taskListVo.setDeptId(SupplierUserConstant.DEPT_ID); taskListVo.setTaskIds(taskIds); taskListVo.setParentDeptId(SupplierUserConstant.PARENT_DEPT_ID); List vos = coscoEvaluateTaskMapper.selectDivisionVo(taskListVo); + //根据分工参数获取内容 Map map = vos.stream().collect(Collectors.toMap(DivisionVo::getTaskId, DivisionVo::getDivision)); coscoEvaluateTaskListVoIPage.getRecords().forEach(task -> { task.setIsEditor(task.getDeptId().equals(taskListVo.getDeptId()) ? "1" : "0"); @@ -311,7 +313,7 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { ApproveVo aVo = new ApproveVo(); aVo.setResult(vo.getApproveStatus()); aVo.setCreateBy(coscoEvaluateTask.getCreateBy()); - aVo.setDeptName("创建部门"); + aVo.setDeptName(SupplierUserConstant.CREATE_DEPT); aVo.setTaskName(coscoEvaluateTask.getEvaluateTheme()); CoscoEvaluateTaskSupplier coscoEvaluateTaskSupplier = new CoscoEvaluateTaskSupplier(); coscoEvaluateTaskSupplier.setEvaluateTaskId(coscoEvaluateTask.getId()); @@ -349,7 +351,6 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { addEvalTaskInfo(addCoscoEvaluateTaskVo); } catch (Exception e) { - e.printStackTrace(); throw new RuntimeException(e); } return 1; @@ -368,7 +369,7 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { * 权重信息添加 */ List taskDeptWeightList = addCoscoEvaluateTaskVo.getTaskDeptWeightList(); - if (taskDeptWeightList.size() > 0) { + if (!taskDeptWeightList.isEmpty()) { taskDeptWeightList.forEach(taskDeptWeight -> { taskDeptWeight.setId(PropertyUtils.getSnowflakeId()); taskDeptWeight.setEvaluateTaskId(addCoscoEvaluateTaskVo.getId()); @@ -420,6 +421,7 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { supplierUserIds.keySet().stream().forEach(supplierId -> { List strings = supplierUserIds.get(supplierId); strings.forEach(userId -> { + //封装人员 CoscoEvaluateTaskSupplierUser user = new CoscoEvaluateTaskSupplierUser(); user.setId(PropertyUtils.getSnowflakeId()); user.setEvaluateTaskId(addCoscoEvaluateTaskVo.getId()); @@ -431,11 +433,13 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { user.setCreateBy(SupplierUserConstant.USER_NAME); user.setUpdateBy(SupplierUserConstant.USER_NAME); coscoEvaluateTaskSupplierUsers.add(user); + //封装人员二级项信息 map.get(userId).forEach(indicatorId -> { CoscoEvaluateTaskUserIndicator indicator = new CoscoEvaluateTaskUserIndicator(); indicator.setIndicatorNdId(indicatorId); indicator.setEvaluateTaskSupplierUserId(user.getId()); coscoEvaluateTaskSupplierUserIndicators.add(indicator); + //封装打分信息 CoscoEvaluateScoring coscoEvaluateScoring = new CoscoEvaluateScoring(); coscoEvaluateScoring.setId(PropertyUtils.getSnowflakeId()); coscoEvaluateScoring.setEvaluateTaskSupplierUserId(user.getId()); @@ -448,7 +452,7 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { }); }); }); - + //添加数据 coscoEvaluateTaskSupplierMapper.batchCoscoEvaluateTaskSupplier(list); coscoEvaluateScoringMapper.batchCoscoEvaluateScoring(coscoEvaluateScorings); coscoEvaluateTaskSupplierUserMapper.batchCoscoEvaluateTaskSupplierUser(coscoEvaluateTaskSupplierUsers); @@ -471,14 +475,21 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { coscoEvaluateTaskMapper.insertCoscoEvaluateTask(addCoscoEvaluateTaskVo); } - + /** + * 人员信息封装 + * @param userMap + * @param vo + * @param coscoEvaluateTemplateIndicatorNds + */ public void adduserMap(Map> userMap, AdduserIndicatorVo vo, List coscoEvaluateTemplateIndicatorNds) { Map map = new HashMap<>(); coscoEvaluateTemplateIndicatorNds.forEach(coscoEvaluateTemplateIndicatorNd -> { map.put(coscoEvaluateTemplateIndicatorNd.getId(), coscoEvaluateTemplateIndicatorNd.getIndicatorStId()); }); Long type = vo.getType(); + //一级项信息 Map stIdMap = new HashMap<>(); + //二级项信息 Map ndIdMap = new HashMap<>(); if (type.equals(0L)) { coscoEvaluateTemplateIndicatorNds.forEach(coscoEvaluateTemplateIndicatorNd -> { @@ -488,11 +499,11 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { } else { List indicatorIds = vo.getIndicatorIds(); indicatorIds.forEach(indicatorId -> { - stIdMap.put(map.get(indicatorId), map.get(indicatorId)); ndIdMap.put(indicatorId, indicatorId); }); } + //根据人员id添加二级项信息 userMap.put(vo.getUserId(), new ArrayList<>(ndIdMap.keySet())); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierServiceImpl.java index dd23968..f48c977 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierServiceImpl.java @@ -151,8 +151,11 @@ public class CoscoEvaluateTaskSupplierServiceImpl implements ICoscoEvaluateTaskS @Override public TaskIndicatorBaseVo getScoreResult(String id) { + //获取供应商信息 CoscoEvaluateTaskSupplier coscoEvaluateTaskSupplier = coscoEvaluateTaskSupplierMapper.selectCoscoEvaluateTaskSupplierById(id); + //获取评价任务信息 CoscoEvaluateTask coscoEvaluateTask = coscoEvaluateTaskMapper.selectCoscoEvaluateTaskById(coscoEvaluateTaskSupplier.getEvaluateTaskId()); + //获取供应商名称和品类名称 BaseCategoryNameVo baseCategoryNameVo = coscoSupplierBaseMapper.selectNameAndCategoryName(coscoEvaluateTaskSupplier.getSupplierId()); TaskIndicatorBaseVo taskIndicatorBaseVo = new TaskIndicatorBaseVo(); taskIndicatorBaseVo.setName(baseCategoryNameVo.getName()); @@ -160,15 +163,20 @@ public class CoscoEvaluateTaskSupplierServiceImpl implements ICoscoEvaluateTaskS List taskIndicatorVo = new ArrayList<>(); CoscoEvaluateScoringResult result = new CoscoEvaluateScoringResult(); result.setEvaluateTaskSupplierId(id); + //获取评分数据 List coscoEvaluateScoringResults = coscoEvaluateScoringResultMapper.selectCoscoEvaluateScoringResultList(result); CoscoEvaluateTemplateIndicatorNd coscoEvaluateTemplateIndicatorNd = new CoscoEvaluateTemplateIndicatorNd(); coscoEvaluateTemplateIndicatorNd.setTemplateId(coscoEvaluateTask.getTemplateId()); + //获取评分二级节点数据 List coscoEvaluateTemplateIndicatorNds = coscoEvaluateTemplateIndicatorNdMapper.selectCoscoEvaluateTemplateIndicatorNdList(coscoEvaluateTemplateIndicatorNd); CoscoEvaluateTemplateIndicatorSt coscoEvaluateTemplateIndicatorSt = new CoscoEvaluateTemplateIndicatorSt(); coscoEvaluateTemplateIndicatorSt.setTemplateId(coscoEvaluateTask.getTemplateId()); + //获取评分一级节点数据 List coscoEvaluateTemplateIndicatorSts = coscoEvaluateTemplateIndicatorStMapper.selectCoscoEvaluateTemplateIndicatorStList(coscoEvaluateTemplateIndicatorSt); + //根据一级节点封装数据 coscoEvaluateTemplateIndicatorSts.forEach(st -> { + //获取一级节点对应二级节点及评分数据 List collect = coscoEvaluateTemplateIndicatorNds.stream().filter(scoring -> scoring.getIndicatorStId().equals(st.getId())).collect(Collectors.toList()); List subIndicator = new ArrayList<>(); for (CoscoEvaluateTemplateIndicatorNd evaluateTemplateIndicatorNd : collect) { @@ -178,11 +186,12 @@ public class CoscoEvaluateTaskSupplierServiceImpl implements ICoscoEvaluateTaskS vo.setSubScore(evaluateTemplateIndicatorNd.getScore()); vo.setStarIndicator(evaluateTemplateIndicatorNd.getIsStar()); List collect1 = coscoEvaluateScoringResults.stream().filter(scoring -> scoring.getIndicatorNdId().equals(evaluateTemplateIndicatorNd.getId())).collect(Collectors.toList()); - if (collect1.size() > 0) { + if (!collect1.isEmpty()) { vo.setScore(collect1.get(0).getIndicatorScore().toString()); } subIndicator.add(vo); } + //一级节点封装 TaskIndicatorVo vo = new TaskIndicatorVo(); vo.setBaseIndicator(st.getBaseIndicator()); vo.setIndicatorDesc(st.getDescIndicator()); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierUserServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierUserServiceImpl.java index 6b80d59..916999a 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierUserServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierUserServiceImpl.java @@ -108,8 +108,11 @@ public class CoscoEvaluateTaskSupplierUserServiceImpl implements ICoscoEvaluateT @Override public TaskIndicatorBaseVo getIndicator(String id) { + //获取人员信息 CoscoEvaluateTaskSupplierUser coscoEvaluateTaskSupplierUser = coscoEvaluateTaskSupplierUserMapper.selectCoscoEvaluateTaskSupplierUserById(id); + //获取项目信息 CoscoEvaluateTask coscoEvaluateTask = coscoEvaluateTaskMapper.selectCoscoEvaluateTaskById(coscoEvaluateTaskSupplierUser.getEvaluateTaskId()); + //项目信息 BaseCategoryNameVo baseCategoryNameVo = coscoSupplierBaseMapper.selectNameAndCategoryName(coscoEvaluateTaskSupplierUser.getSupplierId()); TaskIndicatorBaseVo taskIndicatorBaseVo = new TaskIndicatorBaseVo(); taskIndicatorBaseVo.setName(baseCategoryNameVo.getName()); @@ -119,8 +122,10 @@ public class CoscoEvaluateTaskSupplierUserServiceImpl implements ICoscoEvaluateT List coscoEvaluateScorings = coscoEvaluateScoringMapper.selectTaskSubIndicatorVo(id); CoscoEvaluateTemplateIndicatorSt coscoEvaluateTemplateIndicatorSt=new CoscoEvaluateTemplateIndicatorSt(); coscoEvaluateTemplateIndicatorSt.setTemplateId(coscoEvaluateTask.getTemplateId()); + //获取二级项目信息 List coscoEvaluateTemplateIndicatorSts = coscoEvaluateTemplateIndicatorStMapper.selectCoscoEvaluateTemplateIndicatorStList(coscoEvaluateTemplateIndicatorSt); + //根据人员信息进行封装 coscoEvaluateTemplateIndicatorSts.forEach(st->{ List collect = coscoEvaluateScorings.stream().filter(scoring -> scoring.getStId().equals(st.getId())).collect(Collectors.toList()); if(collect.size()>0){ @@ -136,9 +141,15 @@ public class CoscoEvaluateTaskSupplierUserServiceImpl implements ICoscoEvaluateT return taskIndicatorBaseVo; } + /** + * 打分结果保存 + * @param vo + */ @Override public void getScore(AddScoreVo vo) { + //打分结果添加 int i =0; + //修改列表 List scoreVoList = vo.getScoreVoList(); for (ScoreVo voVo : scoreVoList){ if(voVo.getScore()!=null && !voVo.getScore().equals("")){ @@ -150,6 +161,7 @@ public class CoscoEvaluateTaskSupplierUserServiceImpl implements ICoscoEvaluateT i++; } } + //批量修改数据 if(i>0){ CoscoEvaluateTaskSupplierUser user=new CoscoEvaluateTaskSupplierUser(); user.setId(vo.getId()); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTemplateIndicatorStServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTemplateIndicatorStServiceImpl.java index 156ab4a..312efaa 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTemplateIndicatorStServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTemplateIndicatorStServiceImpl.java @@ -99,6 +99,7 @@ public class CoscoEvaluateTemplateIndicatorStServiceImpl implements ICoscoEvalua @Override public void batchInsert(AddCoscoEvaluateTemplateVo templateVo) { + //封装批量添加信息 List indicatorStList = templateVo.getIndicatorStList(); List addAll=new ArrayList<>(); for (CoscoEvaluateTemplateIndicatorSt indicatorSt : indicatorStList) { @@ -108,6 +109,7 @@ public class CoscoEvaluateTemplateIndicatorStServiceImpl implements ICoscoEvalua indicatorSt.setCreateBy(SupplierUserConstant.USER_NAME); indicatorSt.setId(PropertyUtils.getSnowflakeId()); indicatorSt.setCreateTime(new Date()); + //封装批量添加二级指标信息 List indicatorNdList = indicatorSt.getIndicatorNdList(); for (CoscoEvaluateTemplateIndicatorNd indicatorNd : indicatorNdList) { indicatorNd.setTemplateId(templateVo.getId()); @@ -120,6 +122,7 @@ public class CoscoEvaluateTemplateIndicatorStServiceImpl implements ICoscoEvalua addAll.add(indicatorNd); } } + //添加信息 coscoEvaluateTemplateIndicatorStMapper.removeByTemplateId(templateVo.getId()); coscoEvaluateTemplateIndicatorStMapper.batchCoscoEvaluateTemplateIndicatorSt(indicatorStList); coscoEvaluateTemplateIndicatorNdService.batchNd(addAll,templateVo.getId()); @@ -132,11 +135,14 @@ public class CoscoEvaluateTemplateIndicatorStServiceImpl implements ICoscoEvalua */ @Override public List selectByTemplateId(String templateId) { + CoscoEvaluateTemplateIndicatorSt st=new CoscoEvaluateTemplateIndicatorSt(); st.setTemplateId(templateId); + //获取一级打分项 List coscoEvaluateTemplateIndicatorSts = coscoEvaluateTemplateIndicatorStMapper.selectCoscoEvaluateTemplateIndicatorStList(st); CoscoEvaluateTemplateIndicatorNd nd=new CoscoEvaluateTemplateIndicatorNd(); nd.setTemplateId(templateId); + //获取二级打分项 List coscoEvaluateTemplateIndicatorNds = coscoEvaluateTemplateIndicatorNdService.selectCoscoEvaluateTemplateIndicatorNdList(nd); coscoEvaluateTemplateIndicatorSts.forEach(coscoEvaluateTemplateIndicatorSt -> { List collect = coscoEvaluateTemplateIndicatorNds.stream().filter(coscoEvaluateTemplateIndicatorNd -> coscoEvaluateTemplateIndicatorNd.getIndicatorStId().equals(coscoEvaluateTemplateIndicatorSt.getId())).collect(Collectors.toList()); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/ScheduledTasksServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/ScheduledTasksServiceImpl.java index c3cd8ac..7e03bd1 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/ScheduledTasksServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/ScheduledTasksServiceImpl.java @@ -105,6 +105,12 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { } } + /** + * 获取供应商评价结果 + * @param totalScore + * @param coscoEvaluateLevels + * @param supplier + */ private void getReviewResult(int totalScore, List coscoEvaluateLevels, CoscoEvaluateTaskSupplier supplier) { CoscoEvaluateLevel coscoEvaluateLevel1 = coscoEvaluateLevels.stream() .filter(coscoEvaluateLevel -> totalScore >= coscoEvaluateLevel.getBeginValue() @@ -135,7 +141,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { Map weightMap = weightsToMap(weights); List supplierScores = filterSupplierScores(scores, supplier); Map> groupedByIndicator = groupByIndicator(supplierScores); - + //获取分数 double totalScore = 0.0; for (Map.Entry> entry : groupedByIndicator.entrySet()) { String indicatorId = entry.getKey(); @@ -190,7 +196,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { BigDecimal noWeightScore = BigDecimal.ZERO; int noWeightCount = 0; BigDecimal hundred = BigDecimal.valueOf(100); - + //根据部门查询数据 for (Map.Entry> entry : groupedByDept.entrySet()) { String deptId = entry.getKey(); List deptScores = entry.getValue(); @@ -207,7 +213,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService { noWeightCount += deptScores.size(); } } - + //计算分数 BigDecimal nonWeighted = noWeightCount > 0 ? noWeightScore.divide(BigDecimal.valueOf(noWeightCount), 2, BigDecimal.ROUND_HALF_UP) .multiply(BigDecimal.valueOf(basePercentage))