Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
efren
2025-06-27 17:04:41 +08:00
14 changed files with 101 additions and 15 deletions

View File

@ -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="创建部门";
}

View File

@ -60,10 +60,12 @@ public class AnnualScheduledTasksServiceImpl implements AnnualScheduledTasksServ
coscoAnnualreviewTaskSupplier.setAnnualreviewTaskId(coscoAnnualreviewTask.getId());
List<CoscoAnnualreviewTaskSupplier> 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());

View File

@ -102,6 +102,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS
List<String> supplierIds = list.stream().map(SupplierPeopleVo::getSuppliedId).collect(Collectors.toList());
List<BlackSupplierVo> blackSupplierVos = coscoSupplierBaseMapper.selectSupplierByIds(supplierIds);
List<UserVo> userInfo=userIdMap.keySet().stream().map(userId -> userMap.get(userId)).collect(Collectors.toList());
//用户信息封装
blackSupplierVos.forEach(blackSupplierVo -> {
List<TaskUserVo> taskUserVos = new ArrayList<>();
List<String> 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<CoscoAnnualreviewTemplateIndicator> coscoAnnualreviewTemplateIndicators = coscoAnnualreviewTemplateIndicatorMapper.selectCoscoAnnualreviewTemplateIndicatorList(coscoAnnualreviewTemplate);
@ -179,7 +182,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS
taskSupplierList.add(taskSupplier);
List<String> 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<CoscoAnnualreviewTaskListVo> p = new Page<>(taskListVo.getBasePageRequest().getPageNo(),
taskListVo.getBasePageRequest().getPageSize());
IPage<CoscoAnnualreviewTaskListVo> coscoAnnualreviewTaskListVoIPage = coscoAnnualreviewTaskMapper.selectPage(p, taskListVo);
//获取查询任务部门信息
List<String> deptIds = new ArrayList<>();
coscoAnnualreviewTaskListVoIPage.getRecords().forEach(ss -> {
deptIds.add(ss.getDeptId());

View File

@ -93,12 +93,18 @@ public class CoscoAnnualreviewTaskSupplierServiceImpl implements ICoscoAnnualrev
return coscoAnnualreviewTaskSupplierMapper.deleteCoscoAnnualreviewTaskSupplierById(id);
}
/**
* 列表查询
* @param supplierListVo
* @return
*/
@Override
public IPage<AnnualreviewTaskSupplierListVo> getPage(AnnualreviewTaskSupplierListVo supplierListVo) {
IPage<CoscoEvaluateTemplateVo> p = new Page<>(supplierListVo.getBasePageRequest().getPageNo(),
supplierListVo.getBasePageRequest().getPageSize());
IPage<AnnualreviewTaskSupplierListVo> annualreviewTaskSupplierListVoIPage =
coscoAnnualreviewTaskSupplierMapper.selectMyPage(p, supplierListVo);
//获取查询部门信息
List<String> deptIds=new ArrayList<>();
annualreviewTaskSupplierListVoIPage.getRecords().forEach(vo -> {
deptIds.add(vo.getDeptId());

View File

@ -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<AnnualTaskIndicatorVo> 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);

View File

@ -102,6 +102,7 @@ public class CoscoAnnualreviewTemplateIndicatorServiceImpl implements ICoscoAnnu
* 删除之前可能拥有的指标
*/
coscoAnnualreviewTemplateIndicatorMapper.deleteByTemplateId(coscoAnnualreviewTemplate.getId());
//添加二级指标
List<CoscoAnnualreviewTemplateIndicator> indicatorList = coscoAnnualreviewTemplate.getIndicatorList();
for (CoscoAnnualreviewTemplateIndicator coscoAnnualreviewTemplateIndicator : indicatorList) {
coscoAnnualreviewTemplateIndicator.setCreateTime(new Date());

View File

@ -71,7 +71,12 @@ public class CoscoEvaluateTaskSupplierController extends BaseController {
}
/**
* 获取评价结果
*
* @param id
* @return
*/
@GetMapping("/getScoreResult")
public BaseResponse<Object> getScoreResult(String id) {
return BaseResponse.success(coscoEvaluateTaskSupplierService.getScoreResult(id));

View File

@ -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);
}

View File

@ -95,7 +95,7 @@ public class CoscoEvaluateTaskAssignDeptServiceImpl implements ICoscoEvaluateTas
dept.setEvaluateTaskId(addCoscoEvaluateTaskVo.getId());
dept.setParentDeptId(SupplierUserConstant.DEPT_ID);
List<CoscoEvaluateTaskAssignDept> coscoEvaluateTaskAssignDepts = coscoEvaluateTaskAssignDeptMapper.selectCoscoEvaluateTaskAssignDeptList(dept);
if (coscoEvaluateTaskAssignDepts.size() == 0) {
if (coscoEvaluateTaskAssignDepts.isEmpty()) {
dept.setId(PropertyUtils.getSnowflakeId());
dept.setStatus(addCoscoEvaluateTaskVo.getTaskStatus());
coscoEvaluateTaskAssignDeptMapper.insertCoscoEvaluateTaskAssignDept(dept);

View File

@ -125,7 +125,7 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService {
List<UserNdTypeVo> 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<String> 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<CoscoEvaluateTaskListVo> getPage(CoscoEvaluateTaskListVo taskListVo) {
IPage<CoscoEvaluateTaskListVo> p = new Page<>(taskListVo.getBasePageRequest().getPageNo(),
taskListVo.getBasePageRequest().getPageSize());
//获取分页数据
IPage<CoscoEvaluateTaskListVo> coscoEvaluateTaskListVoIPage = coscoEvaluateTaskMapper.selectMyPage(p, taskListVo);
//根据分页数据获取是否显示分工
List<String> 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<DivisionVo> vos = coscoEvaluateTaskMapper.selectDivisionVo(taskListVo);
//根据分工参数获取内容
Map<String, String> 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<CoscoEvaluateTaskDeptWeight> 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<String> 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<String, List<String>> userMap, AdduserIndicatorVo vo, List<CoscoEvaluateTemplateIndicatorNd> coscoEvaluateTemplateIndicatorNds) {
Map<String, String> map = new HashMap<>();
coscoEvaluateTemplateIndicatorNds.forEach(coscoEvaluateTemplateIndicatorNd -> {
map.put(coscoEvaluateTemplateIndicatorNd.getId(), coscoEvaluateTemplateIndicatorNd.getIndicatorStId());
});
Long type = vo.getType();
//一级项信息
Map<String, String> stIdMap = new HashMap<>();
//二级项信息
Map<String, String> ndIdMap = new HashMap<>();
if (type.equals(0L)) {
coscoEvaluateTemplateIndicatorNds.forEach(coscoEvaluateTemplateIndicatorNd -> {
@ -488,11 +499,11 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService {
} else {
List<String> 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()));
}

View File

@ -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> taskIndicatorVo = new ArrayList<>();
CoscoEvaluateScoringResult result = new CoscoEvaluateScoringResult();
result.setEvaluateTaskSupplierId(id);
//获取评分数据
List<CoscoEvaluateScoringResult> coscoEvaluateScoringResults = coscoEvaluateScoringResultMapper.selectCoscoEvaluateScoringResultList(result);
CoscoEvaluateTemplateIndicatorNd coscoEvaluateTemplateIndicatorNd = new CoscoEvaluateTemplateIndicatorNd();
coscoEvaluateTemplateIndicatorNd.setTemplateId(coscoEvaluateTask.getTemplateId());
//获取评分二级节点数据
List<CoscoEvaluateTemplateIndicatorNd> coscoEvaluateTemplateIndicatorNds = coscoEvaluateTemplateIndicatorNdMapper.selectCoscoEvaluateTemplateIndicatorNdList(coscoEvaluateTemplateIndicatorNd);
CoscoEvaluateTemplateIndicatorSt coscoEvaluateTemplateIndicatorSt = new CoscoEvaluateTemplateIndicatorSt();
coscoEvaluateTemplateIndicatorSt.setTemplateId(coscoEvaluateTask.getTemplateId());
//获取评分一级节点数据
List<CoscoEvaluateTemplateIndicatorSt> coscoEvaluateTemplateIndicatorSts =
coscoEvaluateTemplateIndicatorStMapper.selectCoscoEvaluateTemplateIndicatorStList(coscoEvaluateTemplateIndicatorSt);
//根据一级节点封装数据
coscoEvaluateTemplateIndicatorSts.forEach(st -> {
//获取一级节点对应二级节点及评分数据
List<CoscoEvaluateTemplateIndicatorNd> collect = coscoEvaluateTemplateIndicatorNds.stream().filter(scoring -> scoring.getIndicatorStId().equals(st.getId())).collect(Collectors.toList());
List<TaskSubIndicatorVo> 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<CoscoEvaluateScoringResult> 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());

View File

@ -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<TaskSubIndicatorVo> coscoEvaluateScorings = coscoEvaluateScoringMapper.selectTaskSubIndicatorVo(id);
CoscoEvaluateTemplateIndicatorSt coscoEvaluateTemplateIndicatorSt=new CoscoEvaluateTemplateIndicatorSt();
coscoEvaluateTemplateIndicatorSt.setTemplateId(coscoEvaluateTask.getTemplateId());
//获取二级项目信息
List<CoscoEvaluateTemplateIndicatorSt> coscoEvaluateTemplateIndicatorSts =
coscoEvaluateTemplateIndicatorStMapper.selectCoscoEvaluateTemplateIndicatorStList(coscoEvaluateTemplateIndicatorSt);
//根据人员信息进行封装
coscoEvaluateTemplateIndicatorSts.forEach(st->{
List<TaskSubIndicatorVo> 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<ScoreVo> 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());

View File

@ -99,6 +99,7 @@ public class CoscoEvaluateTemplateIndicatorStServiceImpl implements ICoscoEvalua
@Override
public void batchInsert(AddCoscoEvaluateTemplateVo templateVo) {
//封装批量添加信息
List<CoscoEvaluateTemplateIndicatorSt> indicatorStList = templateVo.getIndicatorStList();
List<CoscoEvaluateTemplateIndicatorNd> 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<CoscoEvaluateTemplateIndicatorNd> 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<CoscoEvaluateTemplateIndicatorSt> selectByTemplateId(String templateId) {
CoscoEvaluateTemplateIndicatorSt st=new CoscoEvaluateTemplateIndicatorSt();
st.setTemplateId(templateId);
//获取一级打分项
List<CoscoEvaluateTemplateIndicatorSt> coscoEvaluateTemplateIndicatorSts = coscoEvaluateTemplateIndicatorStMapper.selectCoscoEvaluateTemplateIndicatorStList(st);
CoscoEvaluateTemplateIndicatorNd nd=new CoscoEvaluateTemplateIndicatorNd();
nd.setTemplateId(templateId);
//获取二级打分项
List<CoscoEvaluateTemplateIndicatorNd> coscoEvaluateTemplateIndicatorNds = coscoEvaluateTemplateIndicatorNdService.selectCoscoEvaluateTemplateIndicatorNdList(nd);
coscoEvaluateTemplateIndicatorSts.forEach(coscoEvaluateTemplateIndicatorSt -> {
List<CoscoEvaluateTemplateIndicatorNd> collect = coscoEvaluateTemplateIndicatorNds.stream().filter(coscoEvaluateTemplateIndicatorNd -> coscoEvaluateTemplateIndicatorNd.getIndicatorStId().equals(coscoEvaluateTemplateIndicatorSt.getId())).collect(Collectors.toList());

View File

@ -105,6 +105,12 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
}
}
/**
* 获取供应商评价结果
* @param totalScore
* @param coscoEvaluateLevels
* @param supplier
*/
private void getReviewResult(int totalScore, List<CoscoEvaluateLevel> coscoEvaluateLevels, CoscoEvaluateTaskSupplier supplier) {
CoscoEvaluateLevel coscoEvaluateLevel1 = coscoEvaluateLevels.stream()
.filter(coscoEvaluateLevel -> totalScore >= coscoEvaluateLevel.getBeginValue()
@ -135,7 +141,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
Map<String, BigDecimal> weightMap = weightsToMap(weights);
List<CalculateAndObtainScoresVo> supplierScores = filterSupplierScores(scores, supplier);
Map<String, List<CalculateAndObtainScoresVo>> groupedByIndicator = groupByIndicator(supplierScores);
//获取分数
double totalScore = 0.0;
for (Map.Entry<String, List<CalculateAndObtainScoresVo>> 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<String, List<CalculateAndObtainScoresVo>> entry : groupedByDept.entrySet()) {
String deptId = entry.getKey();
List<CalculateAndObtainScoresVo> 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))