1.季度打分 四个部门的分数类型修改为整数类型。

部门主任审核几点最后一个委托人的已办历史修改
2.季度审核季度列表查询增加逻辑删除判断
3.项目立项增加非空校验。立项时子表切割自动填充预算执行率修改
4.项目结束监控器,季度指标补上漏掉的项目管理员
This commit is contained in:
zty 2024-08-13 15:29:46 +08:00
parent 544cfde3fb
commit fc402db9df
4 changed files with 53 additions and 17 deletions

View File

@ -181,6 +181,7 @@ public class ProjectInitListener implements ExecutionListener {
JSONObject aExt = a.getExt(); JSONObject aExt = a.getExt();
aExt.put("branchLeaders",branchLeaders.get(0)); aExt.put("branchLeaders",branchLeaders.get(0));
aExt.put("MainLeader",MainLeader.get(0)); aExt.put("MainLeader",MainLeader.get(0));
aExt.put("projectAdmin",projectAdmin.get(0));
a.setExt(aExt); a.setExt(aExt);
}); });
projectAssessmentIndicatorsService.updateAllColumnBatchById(indicatorsList); projectAssessmentIndicatorsService.updateAllColumnBatchById(indicatorsList);

View File

@ -65,6 +65,7 @@
<if test="map.verifyStatus==2"> <if test="map.verifyStatus==2">
and ext_ ->> 'historyExecutor' like CONCAT('%', #{map.userId}, '%') and ext_ ->> 'historyExecutor' like CONCAT('%', #{map.userId}, '%')
</if> </if>
GROUP BY quarter, project_id) b on a.project_id = b.project_id and a.quarter = b.quarter ORDER BY b.quarter desc GROUP BY quarter, project_id) b on a.project_id = b.project_id and a.quarter = b.quarter and a.is_deleted='0'
ORDER BY b.quarter desc
</select> </select>
</mapper> </mapper>

View File

@ -125,10 +125,10 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI
//算出每个指标的平均数 //算出每个指标的平均数
boolean isOffice = (boolean) ext.get("isOffice"); boolean isOffice = (boolean) ext.get("isOffice");
if (isOffice) { if (isOffice) {
double strategyScoring = ext.get("strategyScoring") == null ? 0 : Double.valueOf((String) ext.get("strategyScoring")); double strategyScoring = ext.get("strategyScoring") == null ? 0 : Double.valueOf(String.valueOf(ext.get("strategyScoring")));
double marketScoring = ext.get("marketScoring") == null ? 0 : Double.valueOf((String) ext.get("marketScoring")); double marketScoring = ext.get("marketScoring") == null ? 0 : Double.valueOf(String.valueOf(ext.get("marketScoring")));
double platformScoring = ext.get("platformScoring") == null ? 0 : Double.valueOf((String) ext.get("platformScoring")); double platformScoring = ext.get("platformScoring") == null ? 0 : Double.valueOf(String.valueOf(ext.get("platformScoring")));
double serviceScoring = ext.get("serviceScoring") == null ? 0 : Double.valueOf((String) ext.get("serviceScoring")); double serviceScoring = ext.get("serviceScoring") == null ? 0 : Double.valueOf(String.valueOf(ext.get("serviceScoring")));
ArrayList<Double> arrayList = new ArrayList<>(); ArrayList<Double> arrayList = new ArrayList<>();
arrayList.add(serviceScoring); arrayList.add(serviceScoring);
arrayList.add(strategyScoring); arrayList.add(strategyScoring);
@ -362,11 +362,8 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI
Object adminSpyj = map.get("adminSpyj") == null ? null : ext.put("adminSpyj", map.get("adminSpyj")); Object adminSpyj = map.get("adminSpyj") == null ? null : ext.put("adminSpyj", map.get("adminSpyj"));
Object branchLeadersSpyj = map.get("branchLeadersSpyj") == null ? null : ext.put("branchLeadersSpyj", map.get("branchLeadersSpyj")); Object branchLeadersSpyj = map.get("branchLeadersSpyj") == null ? null : ext.put("branchLeadersSpyj", map.get("branchLeadersSpyj"));
Object MainLeaderSpyj = map.get("MainLeaderSpyj") == null ? null : ext.put("MainLeaderSpyj", map.get("MainLeaderSpyj")); Object MainLeaderSpyj = map.get("MainLeaderSpyj") == null ? null : ext.put("MainLeaderSpyj", map.get("MainLeaderSpyj"));
// ext.put("adminSpyj",map.get("adminSpyj"));
// ext.put("branchLeadersSpyj",map.get("branchLeadersSpyj"));
// ext.put("MainLeaderSpyj",map.get("MainLeaderSpyj"));
String historyExecutor = new String(); String historyExecutor = new String();
if (ext.containsKey("historyExecutor")) { if (!ObjectUtils.isEmpty(ext.get("historyExecutor"))) {
String str = String.valueOf(ext.get("historyExecutor")); String str = String.valueOf(ext.get("historyExecutor"));
if (!ObjectUtils.isEmpty(map.get("executor"))) { if (!ObjectUtils.isEmpty(map.get("executor"))) {
if (!str.contains(String.valueOf(map.get("executor")))) { if (!str.contains(String.valueOf(map.get("executor")))) {
@ -374,6 +371,16 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI
ext.put("historyExecutor", historyExecutor); ext.put("historyExecutor", historyExecutor);
} }
} }
boolean isOffice = (boolean) map.get("isOffice");
if(isOffice & "管理员审核".equals(taskName)){
if (!ObjectUtils.isEmpty(ext.get("businessNumber")) & "3".equals(String.valueOf(map.get("businessNumber")))) {
if(!str.contains(String.valueOf(userId))){
historyExecutor = str + "," + userId;
ext.put("historyExecutor", historyExecutor);
}
}
}
//如果是部门主任最后一个人提交把当前执行人的id也加上
} else { } else {
//历史委托人 //历史委托人
ext.put("historyExecutor", map.get("executor")); ext.put("historyExecutor", map.get("executor"));
@ -422,9 +429,6 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI
if (executor.contains(userId)) { if (executor.contains(userId)) {
executor = executor.replace(userId, "");//删掉当前已提交的部门主任id executor = executor.replace(userId, "");//删掉当前已提交的部门主任id
} }
if (businessNumber == 4) {
executor = String.valueOf(map.get("executor"));
}
} }
} }
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {

View File

@ -125,6 +125,36 @@ public class ProjectInitComtroller implements ProjectInitApi {
} }
JSONObject ext = infoReq.getExt(); JSONObject ext = infoReq.getExt();
JSONArray jsonArray = ext.getJSONArray("membersList"); JSONArray jsonArray = ext.getJSONArray("membersList");
if(ObjectUtils.isEmpty(ext.get("imprintDate"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
if(ObjectUtils.isEmpty(ext.get("openRange"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
if(ObjectUtils.isEmpty(ext.get("executeDepts"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
if(ObjectUtils.isEmpty(ext.get("permissionsPeople"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
if(ObjectUtils.isEmpty(ext.get("cC"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
if(ObjectUtils.isEmpty(ext.get("difficultyFactor"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
if(ObjectUtils.isEmpty(ext.get("gross"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
if(ObjectUtils.isEmpty(ext.get("budget"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
if(ObjectUtils.isEmpty(ext.get("scheme"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
if(ObjectUtils.isEmpty(ext.get("goal"))){
throw new XQException(ErrorCode.PROJECTINFO_PROJECTSTEP_EMPTY_ERROR, null);
}
List<ProjectMembers> membersList = ext.getJSONArray("membersList").toJavaList(ProjectMembers.class); List<ProjectMembers> membersList = ext.getJSONArray("membersList").toJavaList(ProjectMembers.class);
if (membersList == null || membersList.size() <= 0) { if (membersList == null || membersList.size() <= 0) {
throw new XQException(ErrorCode.PROJECTINFO_MEMBERSLIST_EMPTY_ERROR, null); throw new XQException(ErrorCode.PROJECTINFO_MEMBERSLIST_EMPTY_ERROR, null);
@ -253,9 +283,9 @@ public class ProjectInitComtroller implements ProjectInitApi {
String budgetRate = new String();//预算执行率 String budgetRate = new String();//预算执行率
for (int i = 0; i < b.size(); i++) { for (int i = 0; i < b.size(); i++) {
ProjectAssessmentIndicators projectAssessmentIndicators = b.get(i); ProjectAssessmentIndicators projectAssessmentIndicators = b.get(i);
if (!StringUtils.isEmpty(projectAssessmentIndicators.getBudgetRate())) { if (StringUtils.isEmpty(budgetRate) & !StringUtils.isEmpty(projectAssessmentIndicators.getBudgetRate())) {
budgetRate = projectAssessmentIndicators.getBudgetRate(); budgetRate = projectAssessmentIndicators.getBudgetRate();
} else { } else if (StringUtils.isEmpty(projectAssessmentIndicators.getBudgetRate())) {
projectAssessmentIndicators.setBudgetRate(budgetRate); projectAssessmentIndicators.setBudgetRate(budgetRate);
} }
indicatorsList.add(b.get(i)); indicatorsList.add(b.get(i));
@ -426,7 +456,7 @@ public class ProjectInitComtroller implements ProjectInitApi {
wrapper.eq("project_name", infoReq.getProjectName()); wrapper.eq("project_name", infoReq.getProjectName());
wrapper.eq("project_category", "init"); wrapper.eq("project_category", "init");
wrapper.eq("is_deleted", false); wrapper.eq("is_deleted", false);
wrapper.ne(ProjectInfo.ID_,id); wrapper.ne(ProjectInfo.ID_, id);
List<ProjectInfo> infos = projectInfoService.selectList(wrapper); List<ProjectInfo> infos = projectInfoService.selectList(wrapper);
if (!ObjectUtils.isEmpty(infos)) { if (!ObjectUtils.isEmpty(infos)) {
return ApiResponse.fillFail("项目名称已存在!"); return ApiResponse.fillFail("项目名称已存在!");
@ -461,9 +491,9 @@ public class ProjectInitComtroller implements ProjectInitApi {
String budgetRate = new String();//预算执行率 String budgetRate = new String();//预算执行率
for (int i = 0; i < b.size(); i++) { for (int i = 0; i < b.size(); i++) {
ProjectAssessmentIndicators projectAssessmentIndicators = b.get(i); ProjectAssessmentIndicators projectAssessmentIndicators = b.get(i);
if (!StringUtils.isEmpty(projectAssessmentIndicators.getBudgetRate())) { if (StringUtils.isEmpty(budgetRate) & !StringUtils.isEmpty(projectAssessmentIndicators.getBudgetRate())) {
budgetRate = projectAssessmentIndicators.getBudgetRate(); budgetRate = projectAssessmentIndicators.getBudgetRate();
} else { } else if (StringUtils.isEmpty(projectAssessmentIndicators.getBudgetRate())) {
projectAssessmentIndicators.setBudgetRate(budgetRate); projectAssessmentIndicators.setBudgetRate(budgetRate);
} }
indicatorsList.add(b.get(i)); indicatorsList.add(b.get(i));