From adceecb17a3a63eab480e91e4a820db7725c776b Mon Sep 17 00:00:00 2001 From: zty <1048209592@qq.com> Date: Wed, 31 Jul 2024 16:15:01 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=8E=B7=E5=8F=96=E5=AD=A3=E5=BA=A6=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=A3=E5=8A=9E=E5=B7=B2=E5=8A=9E=E5=88=A4?= =?UTF-8?q?=E6=96=AD=202.pageUtil=E5=B7=A5=E5=85=B7=E7=B1=BB=E6=96=B0?= =?UTF-8?q?=E5=A2=9Emap=E6=88=90=E5=91=98=203.=E5=AD=A3=E5=BA=A6=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E5=AE=A1=E6=A0=B8=E6=97=B6=E6=96=B0=E5=A2=9E=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=8E=86=E5=8F=B2=E5=A7=94=E6=89=98=E4=BA=BA=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E5=B0=86=E6=AF=8F=E4=B8=80=E4=B8=AA=E4=BA=BA=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E7=9A=84=E5=A7=94=E6=89=98=E4=BA=BA=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=204.=E6=96=B0=E5=A2=9Edto=20ProjectAssessmentIndicatorsDto?= =?UTF-8?q?=EF=BC=8C=E6=88=90=E5=91=98=E4=BB=A3=E5=8A=9E=E5=B7=B2=E5=8A=9E?= =?UTF-8?q?=E6=A0=87=E8=AE=B0=205.=E7=AB=8B=E9=A1=B9=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=96=B0=E5=A2=9E=E9=A1=B9=E7=9B=AE=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E6=89=98=E4=BA=BA=E5=B9=B6=E6=8C=87=E8=AE=A4?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=A7=94=E6=89=98=E4=BA=BA=E4=B8=80?= =?UTF-8?q?=E5=AE=9A=E6=98=AF=E9=A1=B9=E7=9B=AE=E8=B4=9F=E8=B4=A3=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectAssessmentIndicatorsDao.java | 3 +- .../xml/ProjectAssessmentIndicatorsMapper.xml | 35 ++++++++++++------ ...ProjectAssessmentIndicatorsController.java | 37 +++++++++++++++---- .../api/ProjectAssessmentIndicatorsApi.java | 3 +- .../dto/ProjectAssessmentIndicatorsDto.java | 9 +++++ .../IProjectAssessmentIndicatorsService.java | 3 +- .../service/impl/IProjectInitServiceImpl.java | 3 +- .../com/xqopen/kehui/util/PageNoUtil.java | 3 ++ 8 files changed, 72 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/xqopen/kehui/project/dto/ProjectAssessmentIndicatorsDto.java diff --git a/src/main/java/com/xqopen/kehui/mapper/ProjectAssessmentIndicatorsDao.java b/src/main/java/com/xqopen/kehui/mapper/ProjectAssessmentIndicatorsDao.java index 94bf782..3906672 100644 --- a/src/main/java/com/xqopen/kehui/mapper/ProjectAssessmentIndicatorsDao.java +++ b/src/main/java/com/xqopen/kehui/mapper/ProjectAssessmentIndicatorsDao.java @@ -2,6 +2,7 @@ package com.xqopen.kehui.mapper; import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.plugins.Page; +import com.xqopen.kehui.project.dto.ProjectAssessmentIndicatorsDto; import com.xqopen.kehui.project.entity.ProjectAssessmentIndicators; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Update; @@ -12,6 +13,6 @@ import java.util.Map; public interface ProjectAssessmentIndicatorsDao extends BaseMapper { @Update("update project_assessment_indicators set is_deleted='1' where project_id =#{id}") void updateByProjectId(Long id); - List getList(Page page, @Param("indicators") ProjectAssessmentIndicators indicators,@Param("userId") String userId); + List getList(Page page, @Param("indicators") ProjectAssessmentIndicatorsDto indicators, @Param("userId") String userId); List> getQuarterList(@Param("map") Map map); } diff --git a/src/main/java/com/xqopen/kehui/mapper/xml/ProjectAssessmentIndicatorsMapper.xml b/src/main/java/com/xqopen/kehui/mapper/xml/ProjectAssessmentIndicatorsMapper.xml index 2dcdec9..5fe20aa 100644 --- a/src/main/java/com/xqopen/kehui/mapper/xml/ProjectAssessmentIndicatorsMapper.xml +++ b/src/main/java/com/xqopen/kehui/mapper/xml/ProjectAssessmentIndicatorsMapper.xml @@ -32,19 +32,25 @@ is_deleted,project_id,quarter, number - select * from project_assessment_indicators - is_deleted='0' and ext_->> 'executor' like CONCAT('%', #{userId}, '%') - - and project_id =#{indicators.projectId} - - - and id_=#{indicators.id} - - - and quarter=#{indicators.quarter} - + is_deleted='0' + + and ext_->> 'executor' like CONCAT('%', #{userId}, '%') + + + and ext_->> 'historyExecutor' like CONCAT('%', #{userId}, '%') + + + and project_id =#{indicators.projectId} + + + and id_=#{indicators.id} + + + and quarter=#{indicators.quarter} + diff --git a/src/main/java/com/xqopen/kehui/project/action/ProjectAssessmentIndicatorsController.java b/src/main/java/com/xqopen/kehui/project/action/ProjectAssessmentIndicatorsController.java index 822ddda..cdb7e4a 100644 --- a/src/main/java/com/xqopen/kehui/project/action/ProjectAssessmentIndicatorsController.java +++ b/src/main/java/com/xqopen/kehui/project/action/ProjectAssessmentIndicatorsController.java @@ -15,6 +15,7 @@ import com.xqopen.kehui.flows.entity.FlowsConfiguration; import com.xqopen.kehui.flows.service.IFlowsConfigurationService; import com.xqopen.kehui.personal.service.IPersonalMemberService; import com.xqopen.kehui.project.api.ProjectAssessmentIndicatorsApi; +import com.xqopen.kehui.project.dto.ProjectAssessmentIndicatorsDto; import com.xqopen.kehui.project.entity.ProjectAssessmentIndicators; import com.xqopen.kehui.project.entity.ProjectInfo; import com.xqopen.kehui.project.service.IProjectAssessmentIndicatorsService; @@ -31,6 +32,7 @@ import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; +import java.sql.Timestamp; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; @@ -80,13 +82,12 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI @Override @PostMapping(Api.PROJECT_QUARTERLY_EVALUATION_LIST) - public String list(@RequestHeader Long userId, @RequestBody PageNoUtil pageNoUtil) throws XQException { + public String list(@RequestHeader Long userId, @RequestBody PageNoUtil pageNoUtil) throws XQException { try { - Page page = new Page<>(pageNoUtil.getPageNo(), pageNoUtil.getPageSize()); + Page page = new Page<>(pageNoUtil.getPageNo(), pageNoUtil.getPageSize()); List indicatorsServiceList = indicatorsService.getList(page, pageNoUtil.getT(), String.valueOf(userId)); ResultListReqUtil listReqUtil = new ResultListReqUtil<>(); listReqUtil.setLs(indicatorsServiceList); - ; listReqUtil.setPages(page.getPages()); listReqUtil.setTotal(page.getTotal()); return ApiResponse.fillSuccess(listReqUtil); @@ -149,6 +150,8 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI } } + indicators.setUpdatedAt(new Timestamp(System.currentTimeMillis())); + indicators.setUpdatedBy(userId); if (indicatorsService.updateById(indicators)) return ApiResponse.fillSuccess("操作成功!"); } } @@ -178,7 +181,7 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI if (!ObjectUtils.isEmpty(ext)) { String taskName = String.valueOf(ext.get("taskName"));//节点名称 String examine = String.valueOf(map.get("examine"));//通过or驳回 - if(StringUtils.isEmpty(examine)){ + if (StringUtils.isEmpty(examine)) { return ApiResponse.fillFail("无法判断是提交还是驳回"); } boolean isOffice = (boolean) map.get("isOffice");//项目负责人是否是办公室部门的 @@ -186,6 +189,7 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI if (!ObjectUtils.isEmpty(ext.get("businessNumber"))) { businessNumber = Integer.parseInt(String.valueOf(ext.get("businessNumber"))); } + map.put("userId", String.valueOf(userId)); switch (taskName) { case "季度审核填报": if ("1".equals(examine)) { @@ -203,7 +207,6 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI break; case "部门主任评级": if ("0".equals(examine)) { - map.put("userId", String.valueOf(userId)); map.put("isBusiness", true);//添加当前是部门主任的标记 Object o = businessNumber == 3 ? map.put("taskName", "管理员审核") : map.put("taskName", "部门主任评级"); // map.put("taskName","管理员审核"); @@ -251,12 +254,12 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI map.put("MainLeaderSpyj", map.get("spyj")); if ("0".equals(examine)) { // ext.put("MainLeaderSpyj", map.get("spyj")); - map.put("executor", " "); + map.put("executor", ""); map.put("taskName", "流程结束"); // examine(userId, "流程结束", ext, "MainLeader", projectInfo); } else if ("1".equals(examine)) { map.put("taskName", "分管领导审核"); - map.put("executor",ext.get("MainLeader")); + map.put("executor", ext.get("MainLeader")); // examine(userId, "分管领导审核", ext, "branchLeaders", projectInfo); } default: @@ -346,6 +349,7 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI public void examine(Map map, List list) { if (!ObjectUtils.isEmpty(list)) { String taskName = String.valueOf(map.get("taskName")); + String userId = String.valueOf(map.get("userId")); if (!"部门主任评级".equals(taskName)) { for (int i = 0; i < list.size(); i++) { ProjectAssessmentIndicators indicators = list.get(i); @@ -358,6 +362,19 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI // ext.put("adminSpyj",map.get("adminSpyj")); // ext.put("branchLeadersSpyj",map.get("branchLeadersSpyj")); // ext.put("MainLeaderSpyj",map.get("MainLeaderSpyj")); + String historyExecutor = new String(); + if (ext.containsKey("historyExecutor")) { + String str = String.valueOf(ext.get("historyExecutor")); + if (!ObjectUtils.isEmpty(map.get("executor"))) { + if (!str.contains(String.valueOf(map.get("executor")))) { + historyExecutor = str + "," + map.get("executor"); + ext.put("historyExecutor", historyExecutor); + } + } + } else { + //历史委托人 + ext.put("historyExecutor", map.get("executor")); + } indicators.setExt(ext); } } else { @@ -399,7 +416,6 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI businessNumber = Integer.parseInt(String.valueOf(map.get("businessNumber"))); if (!ObjectUtils.isEmpty(businessNumber)) { businessNumber += 1; - String userId = String.valueOf(map.get("userId")); if (executor.contains(userId)) { executor = executor.replace(userId, "");//删掉当前已提交的部门主任id } @@ -411,6 +427,10 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI for (int i = 0; i < list.size(); i++) { ProjectAssessmentIndicators indicators = list.get(i); JSONObject ext = indicators.getExt(); + String historyExecutor = String.valueOf(ext.get("historyExecutor")); + if (!StringUtils.isEmpty(historyExecutor) && !historyExecutor.contains(userId)) { + ext.put("historyExecutor", historyExecutor + "," + userId); //历史委托 + } ext.put("taskName", map.get("taskName")); ext.put("businessNumber", businessNumber); ext.put("executor", executor); @@ -421,6 +441,7 @@ public class ProjectAssessmentIndicatorsController implements ProjectAssessmentI indicatorsService.updateAllColumnBatchById(list); } } + private SystemUserLogin getSystemUserLogin(String name) { SystemUserLogin systemUserLogin = new SystemUserLogin(); if (!StringUtils.isEmpty(name)) { diff --git a/src/main/java/com/xqopen/kehui/project/api/ProjectAssessmentIndicatorsApi.java b/src/main/java/com/xqopen/kehui/project/api/ProjectAssessmentIndicatorsApi.java index 923e866..d8fa2be 100644 --- a/src/main/java/com/xqopen/kehui/project/api/ProjectAssessmentIndicatorsApi.java +++ b/src/main/java/com/xqopen/kehui/project/api/ProjectAssessmentIndicatorsApi.java @@ -2,6 +2,7 @@ package com.xqopen.kehui.project.api; import com.xqopen.kehui.exception.XQException; import com.xqopen.kehui.project.dto.ProjectAchievementResp; +import com.xqopen.kehui.project.dto.ProjectAssessmentIndicatorsDto; import com.xqopen.kehui.project.entity.ProjectAssessmentIndicators; import com.xqopen.kehui.util.Constants; import com.xqopen.kehui.util.PageNoUtil; @@ -25,7 +26,7 @@ public interface ProjectAssessmentIndicatorsApi { @ApiImplicitParam(name = "token", value = "登录标识符", required = true, paramType = "header", dataType = "String"), @ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "header", dataType = "Long"), }) - String list(Long userId, PageNoUtil pageNoUtil) throws XQException; + String list(Long userId, PageNoUtil pageNoUtil) throws XQException; @ApiOperation(value = "修改季度考核指标(包含打分)", notes = "修改季度考核指标", response = ProjectAchievementResp.class) @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "登录标识符", required = true, paramType = "header", dataType = "String"), diff --git a/src/main/java/com/xqopen/kehui/project/dto/ProjectAssessmentIndicatorsDto.java b/src/main/java/com/xqopen/kehui/project/dto/ProjectAssessmentIndicatorsDto.java new file mode 100644 index 0000000..7f2043c --- /dev/null +++ b/src/main/java/com/xqopen/kehui/project/dto/ProjectAssessmentIndicatorsDto.java @@ -0,0 +1,9 @@ +package com.xqopen.kehui.project.dto; + +import com.xqopen.kehui.project.entity.ProjectAssessmentIndicators; +import lombok.Data; + +@Data +public class ProjectAssessmentIndicatorsDto extends ProjectAssessmentIndicators { + private String verifyStatus;//代办/已办 +} diff --git a/src/main/java/com/xqopen/kehui/project/service/IProjectAssessmentIndicatorsService.java b/src/main/java/com/xqopen/kehui/project/service/IProjectAssessmentIndicatorsService.java index 45c04fa..ac9f27c 100644 --- a/src/main/java/com/xqopen/kehui/project/service/IProjectAssessmentIndicatorsService.java +++ b/src/main/java/com/xqopen/kehui/project/service/IProjectAssessmentIndicatorsService.java @@ -2,6 +2,7 @@ package com.xqopen.kehui.project.service; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.IService; +import com.xqopen.kehui.project.dto.ProjectAssessmentIndicatorsDto; import com.xqopen.kehui.project.entity.ProjectAssessmentIndicators; import java.util.List; @@ -13,7 +14,7 @@ public interface IProjectAssessmentIndicatorsService extends IService getList(Page page,ProjectAssessmentIndicators indicators,String userId); + List getList(Page page, ProjectAssessmentIndicatorsDto indicators, String userId); /** * 通过项目id、当前执行人拿到项目季度指标并进行平均分 diff --git a/src/main/java/com/xqopen/kehui/project/service/impl/IProjectInitServiceImpl.java b/src/main/java/com/xqopen/kehui/project/service/impl/IProjectInitServiceImpl.java index 5323073..0aabd09 100644 --- a/src/main/java/com/xqopen/kehui/project/service/impl/IProjectInitServiceImpl.java +++ b/src/main/java/com/xqopen/kehui/project/service/impl/IProjectInitServiceImpl.java @@ -3,6 +3,7 @@ package com.xqopen.kehui.project.service.impl; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.xqopen.kehui.mapper.ProjectAssessmentIndicatorsDao; +import com.xqopen.kehui.project.dto.ProjectAssessmentIndicatorsDto; import com.xqopen.kehui.project.entity.ProjectAssessmentIndicators; import com.xqopen.kehui.project.service.IProjectAssessmentIndicatorsService; import org.springframework.beans.factory.annotation.Autowired; @@ -21,7 +22,7 @@ public class IProjectInitServiceImpl extends ServiceImpl getList(Page page, ProjectAssessmentIndicators indicators,String userId) { + public List getList(Page page, ProjectAssessmentIndicatorsDto indicators, String userId) { return indicatorsDao.getList(page,indicators,userId); } diff --git a/src/main/java/com/xqopen/kehui/util/PageNoUtil.java b/src/main/java/com/xqopen/kehui/util/PageNoUtil.java index 8d98361..7867160 100644 --- a/src/main/java/com/xqopen/kehui/util/PageNoUtil.java +++ b/src/main/java/com/xqopen/kehui/util/PageNoUtil.java @@ -2,9 +2,12 @@ package com.xqopen.kehui.util; import lombok.Data; +import java.util.Map; + @Data public class PageNoUtil { private T t; private Integer pageNo; private Integer pageSize; + private Map map; }