From 006bf3840730c3c19984114e3e017da916ea1459 Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 2 Dec 2020 17:46:21 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E7=A6=BB=E8=81=8C=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/common/utils/DingTalkUtil.java | 7 ++- .../job/business/DingtalkBusiness.java | 50 +++++++++++++++++-- src/test/java/com/lz/mysql/MysqlMain.java | 46 +---------------- 3 files changed, 53 insertions(+), 50 deletions(-) diff --git a/src/main/java/com/lz/common/utils/DingTalkUtil.java b/src/main/java/com/lz/common/utils/DingTalkUtil.java index 298f089f..67563ec6 100644 --- a/src/main/java/com/lz/common/utils/DingTalkUtil.java +++ b/src/main/java/com/lz/common/utils/DingTalkUtil.java @@ -280,7 +280,7 @@ public class DingTalkUtil { * @param accessToken * @return */ - public List getDepartmentStaffDetailsV2(String accessToken, String departmentId) { + public List getDepartmentStaffDetailsV2(String accessToken, String departmentId, Map mapProbation) { try { long page = 0L; List list =new ArrayList<>(); @@ -324,6 +324,11 @@ public class DingTalkUtil { departmentStaffBo.setEmail(json.getString("email"));//邮箱,钉钉的企业邮箱才可以,需要单独授权手机权限 departmentStaffBo.setAvatar(json.getString("avatar"));//头像 departmentStaffBo.setPosition(json.getString("title")); + if(mapProbation.containsKey(departmentStaffBo.getEmployeeId())){ + departmentStaffBo.setEmployeeType(2); + }else{ + departmentStaffBo.setEmployeeType(1); + } departmentStaffBo.setStatus(0); /*if(json.getBoolean("active")){ //在职已激活 diff --git a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java index 64a11be6..8f4b7857 100644 --- a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java +++ b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java @@ -6,8 +6,10 @@ import com.dingtalk.api.DefaultDingTalkClient; import com.dingtalk.api.DingTalkClient; import com.dingtalk.api.request.OapiRoleListRequest; import com.dingtalk.api.request.OapiRoleSimplelistRequest; +import com.dingtalk.api.request.OapiSmartworkHrmEmployeeQueryonjobRequest; import com.dingtalk.api.response.OapiRoleListResponse; import com.dingtalk.api.response.OapiRoleSimplelistResponse; +import com.dingtalk.api.response.OapiSmartworkHrmEmployeeQueryonjobResponse; import com.google.common.collect.Lists; import com.lz.common.emun.WorkMsgTypeEnum; import com.lz.common.utils.DateUtils; @@ -47,10 +49,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -195,6 +194,9 @@ public class DingtalkBusiness { List departmentInfosBos = dingTalkUtil.getDepartmentDetailsV2(token, "1"); if(departmentInfosBos.size() > 0){ + List probationUserIDS = getProbationStaff(token);//获取试用期人员信息 + Map mapProbation = + probationUserIDS.stream().collect(Collectors.toMap(String::toString, Function.identity(), (e, r) -> e)); //获取原有部门信息 Map mapDepartmentInfosBos = departmentInfosBos.stream().collect(Collectors.toMap(DepartmentInfosBo::getId, Function.identity(), (e, r) -> e)); @@ -251,7 +253,7 @@ public class DingtalkBusiness { } //获取部门用户详情 - List staffs = dingTalkUtil.getDepartmentStaffDetailsV2(token, departmentInfo.getId()); + List staffs = dingTalkUtil.getDepartmentStaffDetailsV2(token, departmentInfo.getId(), mapProbation); logger.info("=============================" + departmentInfo.getName() + "================================"); //设置本部门人数 if(departmentInfo.getMemberCount() == null){ @@ -466,6 +468,7 @@ public class DingtalkBusiness { if(addStaffs.size() > 0){//有新增部门 logger.info("新增人员信息个数{}", addStaffs.size()); + staffService.saveBatch(addStaffs); String key; for (StaffEntity entity:addStaffs @@ -495,6 +498,8 @@ public class DingtalkBusiness { } } + + if(updateStaffs.size() > 0){//有新增部门 logger.info("更新人员信息个数{}", updateStaffs.size()); staffService.updateBatchById(updateStaffs); @@ -559,6 +564,41 @@ public class DingtalkBusiness { } } + private List getProbationStaff(String token){ + //获取试用期员工信息 + + try { + DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/smartwork/hrm/employee/queryonjob"); + OapiSmartworkHrmEmployeeQueryonjobRequest req = new OapiSmartworkHrmEmployeeQueryonjobRequest(); + Long offSet = 0L; + req.setStatusList("2"); + req.setSize(50L); + boolean isNext = false; + List ids = new ArrayList<>(); + { + req.setOffset(offSet); + OapiSmartworkHrmEmployeeQueryonjobResponse rsp = client.execute(req, token); + logger.info("钉钉请求试用期员工返回信息{}", rsp.getBody()); + JSONObject jsonObject = JSONObject.parseObject(rsp.getBody()); + if(jsonObject.getIntValue("errcode") == 0){ + jsonObject = jsonObject.getJSONObject("result"); + offSet = jsonObject.getLong("next_cursor"); + if(offSet != null){ + isNext = true; + } + JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("data_list")); + ids.addAll(Arrays.stream(jsonArray.toArray(new String[jsonArray.size()])).collect(Collectors.toList())); + }else{ + logger.info("钉钉请求返回错误{}", jsonObject); + } + }while(isNext) + return ids; + + } catch (ApiException e) { + e.printStackTrace(); + } + return null; + } public void enterStaffOccupationInfos(List staffs) { diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index 09095683..9433eb0c 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -1,5 +1,7 @@ package com.lz.mysql; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.lz.common.utils.StringUtil; import com.lz.modules.flow.entity.FlowChartRole; import org.springframework.util.ResourceUtils; @@ -65,51 +67,7 @@ public class MysqlMain { */ public static void main(String[] args) throws Exception { - /*Long a = 2l; - Long b = 3l; - String value = "aaa"; - StopWatch stopWatch = new StopWatch(); - stopWatch.start("测试静态方法"); - for(int i = 0; i < 10000; i++){ - if(TestStaticAndHuo.isEmpt(value)){ - } - } - stopWatch.stop(); - - stopWatch.start("测试对象方法"); - for(int i = 0; i < 10000; i++){ - if(value == null || value.length() == 0){ - - } - } - stopWatch.stop(); - - System.out.println(stopWatch.prettyPrint());*/ - - /*List testMaps = new ArrayList<>(); - TestMap test = new TestMap(); - test.setName("123"); - test.setMobile("18969093321"); - testMaps.add(test); - - test = new TestMap(); - test.setName("123"); - test.setMobile("18969093321"); - testMaps.add(test); - - Map t = testMaps.stream().collect(Collectors.toMap(TestMap::getName, testMap -> testMap)); - List flowChartRoles = new ArrayList<>(); - flowChartRoles.add(1L); - flowChartRoles.add(2L); - flowChartRoles.add(3L); - flowChartRoles.add(4L); - String roles = flowChartRoles.stream().map(new Function() { - @Override - public String apply(Long flowChartRole) { - return flowChartRole.toString(); - } - }).collect(Collectors.joining(","));*/ String path = ResourceUtils.getURL("classpath:").getPath(); System.out.println(path); From 170d93b57271efc52ac455afd8be34c3a6ab4da8 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 3 Dec 2020 10:13:00 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/service/app/impl/ResultRecordServiceImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 5c262109..06f34868 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -1187,7 +1187,6 @@ public class ResultRecordServiceImpl extends ServiceImpl auth = new HashMap<>(); auth.put("showResult",1); auth.put("showScore",1); - List currentResultRecords = flowRecordService.selectFlowRecordByRecordIdStatus(recordDetailDto.getResultRecordId(),2); log.info("当前用户登陆用户 id :" + recordDetailDto.getLoginUserId()); if(currentResultRecords !=null && currentResultRecords.size() > 0 ){ @@ -1214,6 +1213,12 @@ public class ResultRecordServiceImpl extends ServiceImpl map = new HashMap<>(); map.put("flowRecordList", flowRecordList); From 00104e3cfbb39916fa6d6f24a33186bf99ac2e10 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 3 Dec 2020 10:37:07 +0800 Subject: [PATCH 03/16] =?UTF-8?q?=E5=82=AC=E5=8A=9E=E6=94=BE=E5=88=B0DingT?= =?UTF-8?q?alkbusiness?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 2 +- .../job/business/DingtalkBusiness.java | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index 1471fcc5..451de94f 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -342,7 +342,7 @@ public class ResultRecordController extends AbstractController { @ApiOperation("绩效催办-吴林") @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "绩效id")}) @ApiResponses({@ApiResponse(code = 200, message = "成功", response = R.class)}) - public R getDetail(@RequestParam Long id) { + public R urging(@RequestParam Long id) { ResultRecord lzResultRecord = lzResultRecordService.selectResultRecordById(id); //获取当前节点,谁在处理 List flowRecords = flowRecordService.selectFlowRecordsByRecordIdAndStatus(id, 2); diff --git a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java index 8f4b7857..6c2d0bd6 100644 --- a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java +++ b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java @@ -46,6 +46,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestParam; import javax.annotation.Resource; import java.net.URLEncoder; @@ -626,6 +627,24 @@ public class DingtalkBusiness { } } + public String urging(Long recordId) { + ResultRecord lzResultRecord = resultRecordService.selectResultRecordById(recordId); + //获取当前节点,谁在处理 + List flowRecords = flowRecordService.selectFlowRecordsByRecordIdAndStatus(recordId, 2); + if(flowRecords.size() > 0){ + List ids = flowRecords.stream().map(new Function() { + @Override + public Long apply(FlowRecord flowRecord) { + return flowRecord.getApprovalStaffId(); + } + }).collect(Collectors.toList()); + List staffs = staffService.selectNamesByIds(ids); + sendNoticeMsg(lzResultRecord, staffs); + return "OK"; + } + return "error"; + } + public String sendNoticeMsg(ResultRecord lzResultRecord, List staffs) { ThirdAppConfig thirdAppConfig = thirdAppConfigService.getByAppId(appid); From eb3ada58d3d66b1fc4c0e9a2333d89c72fe4a84d Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 3 Dec 2020 11:11:40 +0800 Subject: [PATCH 04/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 13 +- .../app/controller/TestController.java | 7 + .../lz/modules/app/resp/ResetDataResp.java | 13 + .../sys/service/app/ResultRecordService.java | 2 + .../app/impl/ResultRecordServiceImpl.java | 426 +++++++++--------- 5 files changed, 257 insertions(+), 204 deletions(-) create mode 100644 src/main/java/com/lz/modules/app/resp/ResetDataResp.java diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index 1471fcc5..8dcd360b 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -1152,7 +1152,6 @@ public class ResultRecordController extends AbstractController { } /** - * * 删除 */ // http://localhost:8080/lz_management/user/lzresultrecord/new/resultRecordDetail?resultRecordId=593&loginUserId=322 @@ -1166,4 +1165,16 @@ public class ResultRecordController extends AbstractController { } + + + + // http://localhost:8080/lz_management/user/lzresultrecord/get/reset/data?resultRecordId=593&loginUserId=322 + @RequestMapping("/get/reset/data") + public R getResetData(RecordDetailDto recordDetailDto) { + if(recordDetailDto.getLoginUserId() ==null && getUser() !=null ){ + recordDetailDto.setLoginUserId(getUserId()); + } + return resultRecordService.getResetData(recordDetailDto); + } + } diff --git a/src/main/java/com/lz/modules/app/controller/TestController.java b/src/main/java/com/lz/modules/app/controller/TestController.java index 06241cca..e23f35ab 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -9,6 +9,7 @@ import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; import com.lz.modules.app.dao.DepartmentsDao; import com.lz.modules.app.dto.ApprovalDto; +import com.lz.modules.app.dto.RecordDetailDto; import com.lz.modules.app.entity.DepartmentsEntity; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; import com.lz.modules.app.entity.StaffEntity; @@ -298,4 +299,10 @@ public class TestController { System.out.println(roleIds); } + //http://localhost:8080/lz_management/test/reset/data?resultRecordId=3714 + @RequestMapping("/test/reset/data") + public R getResetData(RecordDetailDto recordDetailDto) { + return resultRecordService.getResetData(recordDetailDto); + } + } diff --git a/src/main/java/com/lz/modules/app/resp/ResetDataResp.java b/src/main/java/com/lz/modules/app/resp/ResetDataResp.java new file mode 100644 index 00000000..6875995a --- /dev/null +++ b/src/main/java/com/lz/modules/app/resp/ResetDataResp.java @@ -0,0 +1,13 @@ +package com.lz.modules.app.resp; + +import lombok.Data; + +import java.util.List; + +@Data +public class ResetDataResp { + private String flowName; + private List staffNames; + private Long id ; + +} diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java index 7e79b30e..7921b19a 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java @@ -125,4 +125,6 @@ public interface ResultRecordService extends IService { List selectResultRecordsByStartId(Long startId); List selectResultRecordIdsByStartId(Long startId); + + R getResetData(RecordDetailDto recordDetailDto); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index a9f18179..48174ca1 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -20,10 +20,7 @@ import com.lz.modules.app.enums.FlowApprovalRoleTypeEnums; import com.lz.modules.app.enums.FlowRecordStatusEnums; import com.lz.modules.app.enums.RoleEnums; import com.lz.modules.app.req.ResultRecordReq; -import com.lz.modules.app.resp.FlowDetailResp; -import com.lz.modules.app.resp.FlowRecordResp; -import com.lz.modules.app.resp.OwnResultResp; -import com.lz.modules.app.resp.ResultRecordResp; +import com.lz.modules.app.resp.*; import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.app.service.StaffService; @@ -74,8 +71,6 @@ public class ResultRecordServiceImpl extends ServiceImpl tDepartments = departmentsDao.selectAll(); if (StringUtil.isNotBlank(params.getDepartment1()) || StringUtil.isNotBlank(params.getDepartment2()) || StringUtil.isNotBlank(params.getDepartment3())) { - Map> departmentMap = null; - if(employeesDto == null || employeesDto.getExpire() < new Date().getTime()){ + Map> departmentMap = null; + if (employeesDto == null || employeesDto.getExpire() < new Date().getTime()) { departmentMap = getStringListMap(tDepartments); - Date expire = DateUtils.addMinute(new Date(),30); - EmployeesDto newDto = new EmployeesDto(expire.getTime(),departmentMap); + Date expire = DateUtils.addMinute(new Date(), 30); + EmployeesDto newDto = new EmployeesDto(expire.getTime(), departmentMap); employeesDto = newDto; log.info("使用新数据"); - }else{ + } else { log.info("使用缓存"); departmentMap = employeesDto.getCacheMap(); } @@ -204,12 +199,12 @@ public class ResultRecordServiceImpl extends ServiceImpl listx = new ArrayList<>(); - if(status !=null){ - for(String l : status){ - listx.add(NumberUtil.objToLongDefault(l,-1)); + if (status != null) { + for (String l : status) { + listx.add(NumberUtil.objToLongDefault(l, -1)); } params.setStatusList(listx); } @@ -257,16 +252,16 @@ public class ResultRecordServiceImpl extends ServiceImpl> getStringListMap(List tDepartments) { - Map> departmentMap = new HashMap<>(); - for(DepartmentsEntity department : tDepartments) { + Map> departmentMap = new HashMap<>(); + for (DepartmentsEntity department : tDepartments) { List list = new ArrayList<>(); - for(DepartmentsEntity child : tDepartments) { - if(child.getDepartmentParentId().equals(department.getDepartmentId())){ + for (DepartmentsEntity child : tDepartments) { + if (child.getDepartmentParentId().equals(department.getDepartmentId())) { list.add(child); } } @@ -280,12 +275,12 @@ public class ResultRecordServiceImpl extends ServiceImpl childDepartIds ,String parentId,Map> departmentMap ){ + public void getChildIds(List childDepartIds, String parentId, Map> departmentMap) { childDepartIds.add(parentId); - List tDepartments = departmentMap.get(parentId); - if(CollectionUtils.isNotEmpty(tDepartments)){ - for(DepartmentsEntity tDepartment:tDepartments){ - getChildIds(childDepartIds,tDepartment.getDepartmentId(),departmentMap); + List tDepartments = departmentMap.get(parentId); + if (CollectionUtils.isNotEmpty(tDepartments)) { + for (DepartmentsEntity tDepartment : tDepartments) { + getChildIds(childDepartIds, tDepartment.getDepartmentId(), departmentMap); } } } @@ -303,8 +298,8 @@ public class ResultRecordServiceImpl extends ServiceImpl map = departmentsService.selectUserAllDepartmentInFo(departmentsStaffRelateEntity.getDepartmentId()); if (StringUtil.isNotBlank(map.get("dd2"))) { leader = departmentsStaffRelateService.selectLeaderByDepartmentId(map.get("dd2")); - if(leader ==null && StringUtil.isNotBlank(map.get("dd3"))){ + if (leader == null && StringUtil.isNotBlank(map.get("dd3"))) { leader = departmentsStaffRelateService.selectLeaderByDepartmentId(map.get("dd3")); return leader; @@ -349,12 +344,12 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByResultRecordIdFlowId(oldResultRecordId); - for(FlowRecord flowRecord : flowRecords){ + for (FlowRecord flowRecord : flowRecords) { flowRecord.setRecordId(resultRecordOld.getId()); flowRecord.setId(null); flowRecord.setType(Constant.ONE); @@ -428,12 +423,12 @@ public class ResultRecordServiceImpl extends ServiceImpl resultDetails = resultDetailService.selectByRecordId(recordId); if (CollectionUtils.isEmpty(resultDetails)) { @@ -445,12 +440,12 @@ public class ResultRecordServiceImpl extends ServiceImpl staffRoleMap = recordAuthService.selectRoleIdByStaffRoleInfo(resultRecord.getFlowStaffIdRole()); - List listAuth = recordAuthService.selectAuthInfo(staffRoleMap.get(userId)); + List listAuth = recordAuthService.selectAuthInfo(staffRoleMap.get(userId)); Auth auth = recordAuthService.getAuth(listAuth); // 如果是评分,查看是不是所有内容都己经评分 - if(auth.getEditScore() == 1 ){ - for(ResultDetail resultDetail : resultDetails ){ - if(resultDetail.getAcquireScore().compareTo(BigDecimal.ZERO) <= 0 ){ + if (auth.getEditScore() == 1) { + for (ResultDetail resultDetail : resultDetails) { + if (resultDetail.getAcquireScore().compareTo(BigDecimal.ZERO) <= 0) { return R.error("resultDetail[" + resultDetail.getId() + "] 评分必需 > 0 "); } } @@ -459,9 +454,9 @@ public class ResultRecordServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(flowId,0l); + log.info("approvalList approval : " + Arrays.toString(approvalList.toArray())); + List flows = flowService.selectByFlowId(flowId, 0l); FlowRecord lastFlowRecord = flowRecordService.selectLastFlowRecordByRecordId(resultRecordId); FlowRecord notFlowRecord = flowRecordService.selectNotApprovalStaffIdFlowRecords(resultRecord.getId()); if (notFlowRecord != null) { @@ -572,7 +567,7 @@ public class ResultRecordServiceImpl extends ServiceImpl staffRoleDtos, Long roleId) { + public StaffEntity getApprovalStaff(ResultRecord resultRecord, String departmentLevel, List staffRoleDtos, Long roleId) { StaffEntity approvalStaff = null; List staffRoles = staffRoleService.selectByRole(departmentLevel); for (StaffRole staffRole : staffRoles) { @@ -602,10 +597,10 @@ public class ResultRecordServiceImpl extends ServiceImpl list, int flowIndex) { if (flowIndex > list.size()) { - return -1 ; + return -1; } List flows = new ArrayList<>(); - for(int i = 0 ;i < flowIndex ;i ++){ + for (int i = 0; i < flowIndex; i++) { flows.add(list.get(i)); } int index = 0; @@ -626,8 +621,8 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByResultRecordIdType(req.getRecordResultId(), resultRecord.getType()); if (flowRecords != null && flowRecords.size() == 2) { // 表示可以撤回 - r = reject(resultRecord,5); + r = reject(resultRecord, 5); } else if (flowRecords != null && flowRecords.size() > 2) { return R.error("你的领导己经审批,不能撤回了"); } @@ -659,17 +654,17 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByResultRecordIdFlowId(resultRecord.getId()); StaffEntity mySelf = staffService.selectStaffById(resultRecord.getStaffId()); StaffEntity approvalStaff = mySelf; @@ -713,10 +708,10 @@ public class ResultRecordServiceImpl extends ServiceImpl staffDistribution(String monthTime,List staffIds) { + public List staffDistribution(String monthTime, List staffIds) { - return resultRecordMapper.staffDistribution(monthTime,staffIds); + return resultRecordMapper.staffDistribution(monthTime, staffIds); } @Override - public List countNumByFlowProcess(Long startId,List evaluationIds,List departmentIds) { - return resultRecordMapper.countNumByFlowProcess(startId,evaluationIds,departmentIds); + public List countNumByFlowProcess(Long startId, List evaluationIds, List departmentIds) { + return resultRecordMapper.countNumByFlowProcess(startId, evaluationIds, departmentIds); } @Override - public List countNumByScoreLevel(Long startId,List evaluationIds,List departmentIds) { - return resultRecordMapper.countNumByScoreLevel(startId,evaluationIds,departmentIds); + public List countNumByScoreLevel(Long startId, List evaluationIds, List departmentIds) { + return resultRecordMapper.countNumByScoreLevel(startId, evaluationIds, departmentIds); } @Override @@ -772,12 +767,12 @@ public class ResultRecordServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(resultRecord.getEvaluationId(),resultRecord.getStartId()); + List flows = flowService.selectByFlowId(resultRecord.getEvaluationId(), resultRecord.getStartId()); List flowIds = new ArrayList<>(); - for(Flow flow:flows){ + for (Flow flow : flows) { flowIds.add(flow.getId()); } - List flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds); + List flowApprovalRoles = flowApprovalRoleService.selectFlowApprovalRoleList(flowIds); return initFlowRecord(resultRecord, flows, flowApprovalRoles); } @@ -805,28 +800,28 @@ public class ResultRecordServiceImpl extends ServiceImpl staffRoles= staffRoleService.selectAllStaffRoleByDepartmentLevel(Arrays.asList(new String[]{RoleEnums.MASTER_PM.getName(),RoleEnums.CHILD_PM.getName()})); - for(StaffRole staffRole:staffRoles){ + if (approvalStaff != null && StringUtil.isNotBlank(approvalStaff.getName())) { + insertFlowRecord(flowRecord, approvalStaff, flows, flowApprovalRole, resultRecord, i, null); + } else { + List staffRoles = staffRoleService.selectAllStaffRoleByDepartmentLevel(Arrays.asList(new String[]{RoleEnums.MASTER_PM.getName(), RoleEnums.CHILD_PM.getName()})); + for (StaffRole staffRole : staffRoles) { approvalStaff = staffService.selectStaffById(staffRole.getStaffId()); - if(staffRole.getDepartmentId() ==0){ //如果是管理所有部门 - insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i,1); - }else{ + if (staffRole.getDepartmentId() == 0) { //如果是管理所有部门 + insertFlowRecord(flowRecord, approvalStaff, flows, flowApprovalRole, resultRecord, i, 1); + } else { DepartmentsStaffRelateEntity relateEntity = departmentsStaffRelateService.selectLastDepartmentByStaffId(resultRecord.getStaffId()); Map map = departmentsService.selectUserAllDepartmentIds(relateEntity.getDepartmentId()); List staffRoleDepartments = staffRoleDepartmentService.selectStaffRoleDepartmentByStaffRoleId(staffRole.getId()); boolean flag = false; - for(StaffRoleDepartment staffRoleDepartment: staffRoleDepartments){ + for (StaffRoleDepartment staffRoleDepartment : staffRoleDepartments) { String departmentName = map.get(staffRoleDepartment.getDepartmentId()); - if(StringUtil.isNotBlank(departmentName)){ + if (StringUtil.isNotBlank(departmentName)) { flag = true; break; } } - if(flag){ //如果管理员是管理特定部门 - insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i,1); + if (flag) { //如果管理员是管理特定部门 + insertFlowRecord(flowRecord, approvalStaff, flows, flowApprovalRole, resultRecord, i, 1); } } } @@ -838,7 +833,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flows,FlowApprovalRole flowApprovalRole ,ResultRecord resultRecord,int i,Integer stepType ){ + public void insertFlowRecord(FlowRecord flowRecord, StaffEntity approvalStaff, List flows, FlowApprovalRole flowApprovalRole, ResultRecord resultRecord, int i, Integer stepType) { flowRecord.setApprovalStaffName(approvalStaff.getName()); flowRecord.setApprovalStaffId(approvalStaff.getId()); Flow flow = getFlow(flows, flowApprovalRole.getFlowId()); @@ -855,38 +850,38 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),2); - if(CollectionUtils.isNotEmpty(flowRecords)){ + List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), 2); + if (CollectionUtils.isNotEmpty(flowRecords)) { FlowRecord preFlowRecord = flowRecords.get(0); // 评论内容 FlowChart flowChart = flowService.selectFlowChartByChartId(preFlowRecord.getFlowId()); @@ -895,13 +890,13 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), 1); - if(flowRecords!=null && flowRecords.size()>0){ + if (flowRecords != null && flowRecords.size() > 0) { return R.error("领导己经审批,不能撤回"); } return newReject(approvalDto); @@ -975,17 +970,17 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),2); - if(CollectionUtils.isEmpty(flowRecords)){ + List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), 2); + if (CollectionUtils.isEmpty(flowRecords)) { log.info("流程己经结束"); return R.ok("流程己经结束"); } - if(finishedStatus == null){ + if (finishedStatus == null) { finishedStatus = FlowRecordStatusEnums.FINISHED_STATUS.getStatus(); } FlowRecord preFlowRecord = flowRecords.get(0); @@ -1022,8 +1017,8 @@ public class ResultRecordServiceImpl extends ServiceImpl currentflowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); - if(currentflowRecords !=null && currentflowRecords.size() > 0 ){ + List currentflowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); + if (currentflowRecords != null && currentflowRecords.size() > 0) { FlowRecord currentFlowRecord = currentflowRecords.get(0); // 更新当前数据 // 获取当前审批结点组 List currentFlowRecords = flowRecordService.selectFlowRecordByRecordIdFlowIndex(approvalDto.getResultRecordId(), currentFlowRecord.getFlowIndex()); - for(FlowRecord flowRecord : currentFlowRecords){ + for (FlowRecord flowRecord : currentFlowRecords) { flowRecord.setStatus(FlowRecordStatusEnums.UN_TO_STATUS.getStatus()); flowRecordService.updateFlowRecordById(flowRecord); } // 恢复之前数据 // 获取之前审批过的结点 FlowRecord preFlowRecord = flowRecordService.selectPreFlowRecordByRecordIdMaxIdStatus(approvalDto.getResultRecordId(), - currentFlowRecord.getId(),FlowRecordStatusEnums.FINISHED_STATUS.getStatus()); - if(preFlowRecord != null) { + currentFlowRecord.getId(), FlowRecordStatusEnums.FINISHED_STATUS.getStatus()); + if (preFlowRecord != null) { // 获取之前审批结点组 List flowRecords = flowRecordService.selectFlowRecordByRecordIdFlowIndex(approvalDto.getResultRecordId(), preFlowRecord.getFlowIndex()); for (FlowRecord flowRecord : flowRecords) { @@ -1073,9 +1068,9 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId()); List flowRecordList = new ArrayList<>(); int flowIndex = -1; - Long flowRecordId= 0l; + Long flowRecordId = 0l; ResultRecord resultRecord = resultRecordService.selectResultRecordById(recordDetailDto.getResultRecordId()); for (FlowRecord flowRecord : flowRecords) { if (flowRecord.getFlowIndex().equals(flowIndex)) { //表示有重复数据 @@ -1119,7 +1114,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flowDetailRespList = lastResp.getFlowDetailRespList(); - mySetFlowDetailRespList(flowDetailRespList, flowRecord,recordDetailDto.getLoginUserId(),resultRecord.getStaffId()); + mySetFlowDetailRespList(flowDetailRespList, flowRecord, recordDetailDto.getLoginUserId(), resultRecord.getStaffId()); for (FlowRecord mul : mulFlowRecord) { if (mul.getStatus().equals(FlowRecordStatusEnums.UN_TO_STATUS.getStatus())) { flag0 = true; @@ -1130,28 +1125,28 @@ public class ResultRecordServiceImpl extends ServiceImpl flowDetailRespList = new ArrayList<>(); - mySetFlowDetailRespList(flowDetailRespList,flowRecord,recordDetailDto.getLoginUserId(),resultRecord.getStaffId()); + mySetFlowDetailRespList(flowDetailRespList, flowRecord, recordDetailDto.getLoginUserId(), resultRecord.getStaffId()); resp.setFlowDetailRespList(flowDetailRespList); flowRecordList.add(resp); flowIndex = flowRecord.getFlowIndex(); } + boolean flag = true; for (FlowRecord flowRecord : flowRecords) { if (flowRecord.getStatus() == 2) { @@ -1176,39 +1172,40 @@ public class ResultRecordServiceImpl extends ServiceImpl resultCommentList = resultCommentService.selectByRecordId(recordDetailDto.getResultRecordId()); - for(ResultComment resultComment:resultCommentList){ + for (ResultComment resultComment : resultCommentList) { StaffEntity staffEntity = staffService.selectStaffById(resultComment.getStaffId()); resultComment.setAvatar(staffEntity.getAvatar()); } - Map auth = new HashMap<>(); - auth.put("showResult",1); - auth.put("showScore",1); - List currentResultRecords = flowRecordService.selectFlowRecordByRecordIdStatus(recordDetailDto.getResultRecordId(),2); + Map auth = new HashMap<>(); + auth.put("showResult", 1); + auth.put("showScore", 1); + List currentResultRecords = flowRecordService.selectFlowRecordByRecordIdStatus(recordDetailDto.getResultRecordId(), 2); log.info("当前用户登陆用户 id :" + recordDetailDto.getLoginUserId()); - if(currentResultRecords !=null && currentResultRecords.size() > 0 ){ + if (currentResultRecords != null && currentResultRecords.size() > 0) { FlowRecord currentFlowRecord = currentResultRecords.get(0); int flowProcess = currentFlowRecord.getFlowProcess(); - if(flowProcess <= 3 ){ - auth.put("showResult",0); + if (flowProcess <= 3) { + auth.put("showResult", 0); } - if( flowProcess <= 4 ){ - auth.put("showScore",0); + if (flowProcess <= 4) { + auth.put("showScore", 0); } FlowRecord currentResultRecord = null; - for(FlowRecord flowRecord:currentResultRecords){ - if(flowRecord.getApprovalStaffId().equals(recordDetailDto.getLoginUserId())){ + for (FlowRecord flowRecord : currentResultRecords) { + if (flowRecord.getApprovalStaffId().equals(recordDetailDto.getLoginUserId())) { currentResultRecord = flowRecord; log.info("当前审批用户 id id :" + currentResultRecord.getApprovalStaffId()); break; } } - if(currentResultRecord !=null){ - if(StringUtil.isNotBlank(currentResultRecord.getFlowStaffIdRole())){ + if (currentResultRecord != null) { + if (StringUtil.isNotBlank(currentResultRecord.getFlowStaffIdRole())) { auth = getAuth(currentResultRecord.getFlowStaffIdRole()); flowRecordId = currentResultRecord.getId(); } @@ -1216,36 +1213,36 @@ public class ResultRecordServiceImpl extends ServiceImpl map = new HashMap<>(); map.put("flowRecordList", flowRecordList); map.put("resultCommentList", resultCommentList); - map.put("auth",auth); - map.put("flowRecordId",flowRecordId); + map.put("auth", auth); + map.put("flowRecordId", flowRecordId); return R.ok().put("data", map); } - public Map getAuth(String flowStaffIdRole){ - Map auth = Maps.newHashMap(); - Map map = JSONObject.parseObject(flowStaffIdRole,Map.class); + public Map getAuth(String flowStaffIdRole) { + Map auth = Maps.newHashMap(); + Map map = JSONObject.parseObject(flowStaffIdRole, Map.class); List roleIds = null; for (Map.Entry entry : map.entrySet()) { - if(entry.getValue() !=null ){ - roleIds = JSON.parseArray(entry.getValue().toString(),Long.class); + if (entry.getValue() != null) { + roleIds = JSON.parseArray(entry.getValue().toString(), Long.class); } } - if(roleIds !=null && roleIds.size() > 0){ - auth = recordAuthService.selectAuthByRoleIds(roleIds); + if (roleIds != null && roleIds.size() > 0) { + auth = recordAuthService.selectAuthByRoleIds(roleIds); } return auth; } - public void mySetFlowDetailRespList(List flowDetailRespList ,FlowRecord flowRecord,Long loginUserId,Long recordStaffId){ - FlowDetailResp flowDetailResp = new FlowDetailResp(); + public void mySetFlowDetailRespList(List flowDetailRespList, FlowRecord flowRecord, Long loginUserId, Long recordStaffId) { + FlowDetailResp flowDetailResp = new FlowDetailResp(); flowDetailResp.setCurrentStaffId(flowRecord.getApprovalStaffId()); flowDetailResp.setStaffName(flowRecord.getApprovalStaffName()); flowDetailResp.setFlowRecordId(flowRecord.getId()); @@ -1262,17 +1259,17 @@ public class ResultRecordServiceImpl extends ServiceImpl map = departmentsService.selectUserAllDepartmentIds(departmentsStaffRelateEntity.getDepartmentId()); List staffRoleDepartments = staffRoleDepartmentService.selectStaffRoleDepartmentByStaffRoleId(staffRole.getId()); for (StaffRoleDepartment staffRoleDepartment : staffRoleDepartments) { @@ -1299,7 +1296,7 @@ public class ResultRecordServiceImpl extends ServiceImpl staffEntities = departManagers.getManagers(); - if(CollectionUtils.isNotEmpty(staffEntities)){ + if (CollectionUtils.isNotEmpty(staffEntities)) { return staffEntities.get(0); } return new StaffEntity(); } - public Flow getFlow(List flows,Long flowId){ - for(Flow flow : flows){ - if(flow.getId().equals(flowId)){ - return flow; - } - } - return new Flow(); + public Flow getFlow(List flows, Long flowId) { + for (Flow flow : flows) { + if (flow.getId().equals(flowId)) { + return flow; + } + } + return new Flow(); } @Override - public ResultRecord selectLastResultRecordByUserId(Long userId){ + public ResultRecord selectLastResultRecordByUserId(Long userId) { return resultRecordMapper.selectLastResultRecordByUserId(userId); } @Override - public ResultRecord selectResultRecordByStaffIdAndStartId(Long userId, Long startId){ + public ResultRecord selectResultRecordByStaffIdAndStartId(Long userId, Long startId) { return resultRecordMapper.selectResultRecordByStaffIdAndStartId(userId, startId); } @Override - public List selectResultRecordsByStartId(Long startId){ + public List selectResultRecordsByStartId(Long startId) { return resultRecordMapper.selectResultRecordsByStartId(startId); } @Override - public List selectResultRecordIdsByStartId(Long startId){ + public List selectResultRecordIdsByStartId(Long startId) { return resultRecordMapper.selectIdsByStartId(startId); } + + @Override + public R getResetData(RecordDetailDto recordDetailDto) { + List flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId()); + int flowIndex = 0; + List resetDataResps = new ArrayList<>(); + for (FlowRecord flowRecord : flowRecords) { + if (flowRecord.getFlowIndex().equals(flowIndex - 1)) { //表示有重复数据 + ResetDataResp resetDataResp = resetDataResps.get(flowIndex - 1); + resetDataResp.getStaffNames().add(flowRecord.getApprovalStaffName()); + continue; + } + ResetDataResp resetDataResp = new ResetDataResp(); + resetDataResp.setFlowName(flowRecord.getFlowName()); + resetDataResp.setId(flowRecord.getId()); + List staffNames = new ArrayList<>(); + staffNames.add(flowRecord.getApprovalStaffName()); + resetDataResp.setStaffNames(staffNames); + resetDataResps.add(resetDataResp); + flowIndex ++ ; + } + return R.ok().put("data",resetDataResps); + } } From 1489c56fd37ffd9e8f70abed0098e6aab2565fa2 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 3 Dec 2020 11:17:53 +0800 Subject: [PATCH 05/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 48174ca1..2c154575 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -1216,6 +1216,7 @@ public class ResultRecordServiceImpl extends ServiceImpl map = new HashMap<>(); From 2d38ea105c9565d50a54a1ea207b042c3d36a92e Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 3 Dec 2020 11:19:25 +0800 Subject: [PATCH 06/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/sys/service/app/impl/ResultRecordServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 2c154575..c6000f70 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -1086,7 +1086,7 @@ public class ResultRecordServiceImpl extends ServiceImpl Date: Thu, 3 Dec 2020 12:40:07 +0800 Subject: [PATCH 07/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 2 + .../app/controller/TestController.java | 10 +++ .../com/lz/modules/app/dto/ApprovalDto.java | 1 + .../lz/modules/flow/dao/FlowRecordMapper.java | 6 ++ .../flow/service/FlowRecordService.java | 7 ++ .../service/impl/FlowRecordServiceImpl.java | 15 +++++ .../sys/service/app/ResultRecordService.java | 2 + .../app/impl/ResultRecordServiceImpl.java | 64 ++++++++++++++++++- .../mapper/flow/FlowRecordMapper.xml | 17 ++++- 9 files changed, 120 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index 946c8008..5618de6c 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -1139,6 +1139,8 @@ public class ResultRecordController extends AbstractController { // 审批:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=1&comment=xxx&menuName=bbb // 跳过:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=4&menuName=bbb&flowRecordId=360 // 转交:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=8&menuName=bbb&flowRecordId=360&transferStaffId=294 + + // 重置:http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=3702&status=9&menuName=cccc&flowRecordId=33987&resetFlag=0 @RequestMapping("/new/approval") public R approval(ApprovalDto approvalDto) { try { diff --git a/src/main/java/com/lz/modules/app/controller/TestController.java b/src/main/java/com/lz/modules/app/controller/TestController.java index e23f35ab..88a02844 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -305,4 +305,14 @@ public class TestController { return resultRecordService.getResetData(recordDetailDto); } + + // 重置:http://localhost:8080/lz_management/test/approval?resultRecordId=3702&status=9&menuName=cccc&flowRecordId=33987&resetFlag=0 + @RequestMapping("/test/approval") + public R approval(ApprovalDto approvalDto) { + try { + return resultRecordService.newApproval(approvalDto); + } catch (Exception e) { + return R.error(e.getMessage()); + } + } } diff --git a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java index f2ee7562..dde458e2 100644 --- a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java +++ b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java @@ -11,4 +11,5 @@ public class ApprovalDto { private String comment; private Long transferStaffId; // 转交员工 id private Long flowRecordId;// 流程 id + private int resetFlag; } diff --git a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java index fff7c877..3ca3392c 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -93,4 +93,10 @@ public interface FlowRecordMapper extends BaseMapper { List selectFirstFlowRecordsByIdAndFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") int flowIndex, @Param("status") int status); List selectFlowRecordsByRecordIdAndStatus(@Param("recordId") Long recordId, @Param("status") int status); + + List selectFlowRecordByRecordIdGeFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex); + + void deleteFlowRecordByRecordId(@Param("recordId") Long recordId); + + void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java index 4503002a..fecd051f 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -6,6 +6,7 @@ import com.lz.modules.equipment.entity.model.BasePage; import com.lz.modules.flow.entity.FlowRecord; import com.lz.modules.performance.req.AssessTaskReq; import com.lz.modules.sys.entity.app.ResultRecord; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -88,4 +89,10 @@ public interface FlowRecordService extends IService { List selectFirstFlowRecordsByIdAndFlowIndex(Long recordId, int flowIndex, int status); List selectFlowRecordsByRecordIdAndStatus(Long recordId, int status); + + List selectFlowRecordByRecordIdGeFlowIndex(Long recordId, Integer flowIndex); + + void deleteFlowRecordByRecordId(Long recordId); + + void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java index 5a19246b..57e7ade1 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java @@ -236,4 +236,19 @@ public class FlowRecordServiceImpl extends ServiceImpl selectFlowRecordByRecordIdGeFlowIndex(Long recordId, Integer flowIndex) { + return flowRecordMapper.selectFlowRecordByRecordIdGeFlowIndex(recordId,flowIndex); + } + + @Override + public void deleteFlowRecordByRecordId(Long recordId) { + flowRecordMapper.deleteFlowRecordByRecordId(recordId); + } + + @Override + public void updateFlowRecordIdById(Long id, Long newId) { + flowRecordMapper.updateFlowRecordIdById(id,newId); + } + } diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java index 7921b19a..416f9af8 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java @@ -127,4 +127,6 @@ public interface ResultRecordService extends IService { List selectResultRecordIdsByStartId(Long startId); R getResetData(RecordDetailDto recordDetailDto); + + R resetData(Long recordId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index c6000f70..0345ebca 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -779,7 +779,6 @@ public class ResultRecordServiceImpl extends ServiceImpl flows, List flowApprovalRoles) { - int i = 0; for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) { FlowRecord flowRecord = new FlowRecord(); @@ -828,6 +827,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(resultRecord.getRecordId(),resultRecord.getFlowIndex()); + for(FlowRecord flowRecord:flowRecords){ + // 如果结果录入己经走了 + if (new Integer(3).equals(flowRecord.getFlowProcess()) && flowRecord.getStatus() == 1 ) { + continue; + } + flowRecord.setStatus(0); //表示流程己经被重置 + flowRecordService.updateFlowRecordById(flowRecord); + } + return R.ok(); + } + + + private R resetAll(ApprovalDto approvalDto) { + FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId()); + List flowRecords = flowRecordService.selectFlowRecordByRecordId(flowRecord.getRecordId()); + List flowRecordIds =new ArrayList<>(); + boolean flag = false ; + for(FlowRecord f: flowRecords){ + flowRecordIds.add(f.getId()); + //如果录入己经走了,则重置数据后,结果录入还是默认己走 + if (new Integer(3).equals(f.getFlowProcess()) && f.getStatus() == 1 ) { + flag = true; + } + } + flowRecordService.deleteFlowRecordByRecordId(flowRecord.getRecordId()); + initFlowRecord(flowRecord.getRecordId()); + List newflowRecords = flowRecordService.selectFlowRecordByRecordId(flowRecord.getRecordId()); + for(int i = 0 ;i < newflowRecords.size() ; i ++){ + flowRecordService.updateFlowRecordIdById(newflowRecords.get(i).getId(),flowRecordIds.get(i)); + if(flag ){ //如果录入己经走了,设置新的数据,结果录入己走 + FlowRecord newFlowRecord = newflowRecords.get(i) ; + if (new Integer(3).equals(newFlowRecord.getFlowProcess()) ) { + newFlowRecord.setStatus(1); + flowRecordService.updateFlowRecordById(newFlowRecord); + } + } + } + resultRecordService.resetData(flowRecord.getRecordId()); + return R.ok(); + } + private R skip(ApprovalDto approvalDto) { FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId()); if (flowRecord.getStatus().equals(FlowRecordStatusEnums.FINISHED_STATUS.getStatus()) @@ -1371,4 +1428,9 @@ public class ResultRecordServiceImpl extends ServiceImpl select * from lz_flow_record where id=#{id} and is_delete = 0 limit 1 @@ -324,8 +323,20 @@ + + + + + delete from lz_flow_record where record_id = #{recordId} + + + + update lz_flow_record set id = #{newId} where id = #{id} + + From e47e95aaa3587868f80ac720fce487cbe2f19366 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 3 Dec 2020 13:30:12 +0800 Subject: [PATCH 08/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/app/controller/TestController.java | 2 +- .../sys/service/app/impl/ResultRecordServiceImpl.java | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lz/modules/app/controller/TestController.java b/src/main/java/com/lz/modules/app/controller/TestController.java index 88a02844..d90ff5c7 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -299,7 +299,7 @@ public class TestController { System.out.println(roleIds); } - //http://localhost:8080/lz_management/test/reset/data?resultRecordId=3714 + //http://localhost:8080/lz_management/test/reset/data?resultRecordId=3682 @RequestMapping("/test/reset/data") public R getResetData(RecordDetailDto recordDetailDto) { return resultRecordService.getResetData(recordDetailDto); diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 0345ebca..487801ca 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -937,9 +937,11 @@ public class ResultRecordServiceImpl extends ServiceImpl Date: Thu, 3 Dec 2020 13:33:01 +0800 Subject: [PATCH 09/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/sys/service/app/impl/ResultRecordServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 487801ca..9795d7dc 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -936,7 +936,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(resultRecord.getRecordId(),resultRecord.getFlowIndex()); for(FlowRecord flowRecord:flowRecords){ // 如果结果录入己经走了 - if (new Integer(3).equals(flowRecord.getFlowProcess()) && flowRecord.getStatus() == 1 ) { + if (new Integer(3).equals(flowRecord.getFlowProcess()) && (flowRecord.getStatus() == 1 || flowRecord.getStatus() == 4) ) { flowRecord.setStatus(4); //表示流程己经被重置 }else{ flowRecord.setStatus(0); //表示流程己经被重置 @@ -956,7 +956,7 @@ public class ResultRecordServiceImpl extends ServiceImpl Date: Thu, 3 Dec 2020 14:16:37 +0800 Subject: [PATCH 10/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/TestController.java | 2 +- .../com/lz/modules/app/dto/ApprovalDto.java | 1 + .../lz/modules/flow/dao/FlowRecordMapper.java | 4 ++++ .../flow/service/FlowRecordService.java | 6 +++++- .../service/impl/FlowRecordServiceImpl.java | 10 ++++++++++ .../sys/service/app/ResultRecordService.java | 2 +- .../app/impl/ResultRecordServiceImpl.java | 20 ++++++++++++++----- .../mapper/flow/FlowRecordMapper.xml | 20 +++++++++++++++++++ 8 files changed, 57 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/lz/modules/app/controller/TestController.java b/src/main/java/com/lz/modules/app/controller/TestController.java index d90ff5c7..ab853483 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -306,7 +306,7 @@ public class TestController { } - // 重置:http://localhost:8080/lz_management/test/approval?resultRecordId=3702&status=9&menuName=cccc&flowRecordId=33987&resetFlag=0 + // 重置:http://localhost:8080/lz_management/test/approval?resultRecordId=3682&status=9&menuName=cccc&flowRecordId=33919&resetFlag=0 @RequestMapping("/test/approval") public R approval(ApprovalDto approvalDto) { try { diff --git a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java index dde458e2..0181ebbe 100644 --- a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java +++ b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java @@ -12,4 +12,5 @@ public class ApprovalDto { private Long transferStaffId; // 转交员工 id private Long flowRecordId;// 流程 id private int resetFlag; + private int clearFlag;//0 全清,1 还是保留指标 } diff --git a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java index 3ca3392c..32a5e48d 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -99,4 +99,8 @@ public interface FlowRecordMapper extends BaseMapper { void deleteFlowRecordByRecordId(@Param("recordId") Long recordId); void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); + + FlowRecord selectPreFlowRecordByRecordIdMinIdStatusList(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex, @Param("statusList") List statusList); + + List selectFlowRecordByRecordIdFlowIndexStatusList(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex, @Param("statusList") List statusList); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java index fecd051f..7b2eca4f 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -94,5 +94,9 @@ public interface FlowRecordService extends IService { void deleteFlowRecordByRecordId(Long recordId); - void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); + void updateFlowRecordIdById(Long id, Long newId); + + FlowRecord selectPreFlowRecordByRecordIdMinIdStatusList(Long recordId, Integer flowIndex, List statusList); + + List selectFlowRecordByRecordIdFlowIndexStatusList(Long recordId, Integer flowIndex, List statusList); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java index 57e7ade1..88f6208f 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java @@ -251,4 +251,14 @@ public class FlowRecordServiceImpl extends ServiceImpl statusList) { + return flowRecordMapper.selectPreFlowRecordByRecordIdMinIdStatusList(recordId,flowIndex,statusList); + } + + @Override + public List selectFlowRecordByRecordIdFlowIndexStatusList(Long recordId, Integer flowIndex, List statusList) { + return flowRecordMapper.selectFlowRecordByRecordIdFlowIndexStatusList(recordId,flowIndex,statusList); + } + } diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java index 416f9af8..e0849f19 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java @@ -128,5 +128,5 @@ public interface ResultRecordService extends IService { R getResetData(RecordDetailDto recordDetailDto); - R resetData(Long recordId); + R resetData(Long recordId,int clearFlag); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 9795d7dc..35bf2071 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -932,8 +932,8 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(resultRecord.getRecordId(),resultRecord.getFlowIndex()); + FlowRecord f = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId()); + List flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(f.getRecordId(),f.getFlowIndex()); for(FlowRecord flowRecord:flowRecords){ // 如果结果录入己经走了 if (new Integer(3).equals(flowRecord.getFlowProcess()) && (flowRecord.getStatus() == 1 || flowRecord.getStatus() == 4) ) { @@ -941,9 +941,19 @@ public class ResultRecordServiceImpl extends ServiceImpl runing = new ArrayList<>(); + if (preFlowRecord != null) { + runing = flowRecordService.selectFlowRecordByRecordIdFlowIndex(f.getRecordId(), preFlowRecord.getFlowIndex()); + } else { + runing = flowRecordService.selectFlowRecordByRecordIdFlowIndex(f.getRecordId(), 0); + } + for (FlowRecord r : runing) { + r.setStatus(2); + flowRecordService.updateFlowRecordById(r); + } return R.ok(); } @@ -973,7 +983,7 @@ public class ResultRecordServiceImpl extends ServiceImpl= #{flowIndex} + + + + + delete from lz_flow_record where record_id = #{recordId} From f7330346dbac7a38bd51c50d80d4d1b5301ed690 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 3 Dec 2020 14:17:19 +0800 Subject: [PATCH 11/16] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9D=83=E5=80=BE?= =?UTF-8?q?=E6=A0=87=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/flow/dao/ResultScoreMapper.java | 2 ++ .../flow/service/ResultScoreService.java | 2 ++ .../service/impl/ResultScoreServiceImpl.java | 5 +++++ .../sys/dao/app/ResultDetailMapper.java | 2 ++ .../sys/service/app/ResultDetailService.java | 2 ++ .../sys/service/app/ResultRecordService.java | 2 +- .../app/impl/ResultDetailServiceImpl.java | 5 +++++ .../app/impl/ResultRecordServiceImpl.java | 20 ++++++++++++++++++- .../mapper/app/ResultDetailMapper.xml | 4 ++++ .../mapper/flow/ResultScoreMapper.xml | 4 ++++ 10 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/ResultScoreMapper.java b/src/main/java/com/lz/modules/flow/dao/ResultScoreMapper.java index 8647cc54..bcd3f384 100644 --- a/src/main/java/com/lz/modules/flow/dao/ResultScoreMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/ResultScoreMapper.java @@ -37,4 +37,6 @@ public interface ResultScoreMapper extends BaseMapper { List selectResultScoresByDetailId(@Param("id") Long id); List selectResultScoresByDetailIdAndOrderByStaffIds(@Param("id") Long id, @Param("list") List scoreDtos); + + int deleteResultScoreByDetailId(Long id); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/ResultScoreService.java b/src/main/java/com/lz/modules/flow/service/ResultScoreService.java index 7b1a520c..f7dd4358 100644 --- a/src/main/java/com/lz/modules/flow/service/ResultScoreService.java +++ b/src/main/java/com/lz/modules/flow/service/ResultScoreService.java @@ -36,4 +36,6 @@ public interface ResultScoreService extends IService { List selectResultScoresByDetailId(Long id); List selectResultScoresByDetailIdAndOrderByStaffIds(Long id, List scoreDtos); + + int deleteResultScoreByDetailId(Long id); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/ResultScoreServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/ResultScoreServiceImpl.java index 6a006cd6..45818187 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/ResultScoreServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/ResultScoreServiceImpl.java @@ -71,6 +71,11 @@ public class ResultScoreServiceImpl extends ServiceImpl { Long insertResultDetails(@Param("list") List resultDetails); List selectDtosByRecordId(@Param("recordResultId") Long id, @Param("modelId") Long modelId); + + int deleteResultDetailByRecordId(@Param("recordId") Long recordId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java b/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java index f7360a95..b79f45d5 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java @@ -70,4 +70,6 @@ public interface ResultDetailService extends IService { Long insertResultDetails(List resultDetails); List selectDtosByRecordId(Long id, Long modelId); + + int deleteResultDetailByRecordId(Long recordId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java index 416f9af8..103eed3e 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java @@ -128,5 +128,5 @@ public interface ResultRecordService extends IService { R getResetData(RecordDetailDto recordDetailDto); - R resetData(Long recordId); + R resetData(Long recordId, int clearAll); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java index f337f388..fb2193bf 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java @@ -340,4 +340,9 @@ public class ResultDetailServiceImpl extends ServiceImpl resultDetails = resultDetailService.selectByRecordId(recordId); + log.info("需要删除指标个数{}", resultDetails.size()); + if(clearAll == 1){ + log.info("全部清空,删除所有指标即可"); + resultDetailService.deleteResultDetailByRecordId(recordId); + //return R.ok(); + } + //删除指标以外的所有数据,评分、评分说明、结果 + + for(ResultDetail detail : resultDetails){ + detail.setCheckResult(null); + detail.setAcquireScore(null); + detail.setSuperScore(null); + resultScoreService.deleteResultScoreByDetailId(detail.getId()); + } return null; } } diff --git a/src/main/resources/mapper/app/ResultDetailMapper.xml b/src/main/resources/mapper/app/ResultDetailMapper.xml index 796d3504..da34a43f 100644 --- a/src/main/resources/mapper/app/ResultDetailMapper.xml +++ b/src/main/resources/mapper/app/ResultDetailMapper.xml @@ -189,5 +189,9 @@ select * from lz_result_detail where record_id=#{recordResultId} and model_id = #{modelId} and is_delete = 0 order by priority asc + + update lz_result_detail set is_delete = 1, gmt_modified = now() where record_id=#{recordId} and is_delete = 0 + + diff --git a/src/main/resources/mapper/flow/ResultScoreMapper.xml b/src/main/resources/mapper/flow/ResultScoreMapper.xml index fc708796..ac8203bb 100644 --- a/src/main/resources/mapper/flow/ResultScoreMapper.xml +++ b/src/main/resources/mapper/flow/ResultScoreMapper.xml @@ -101,5 +101,9 @@ ) + + update lz_result_score set is_delete = 1, gmt_modified = now() where detail_id=#{id} and is_delete = 0 + + From 59550c4dfbd227196fc9cc41efbff7653b40af65 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 3 Dec 2020 14:27:55 +0800 Subject: [PATCH 12/16] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/impl/ResultRecordServiceImpl.java | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index ad1a51cd..f5fc034b 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -1447,20 +1447,29 @@ public class ResultRecordServiceImpl extends ServiceImpl resultDetails = resultDetailService.selectByRecordId(recordId); - log.info("需要删除指标个数{}", resultDetails.size()); - if(clearFlag == 1){ - log.info("全部清空,删除所有指标即可"); - resultDetailService.deleteResultDetailByRecordId(recordId); - //return R.ok(); - } - //删除指标以外的所有数据,评分、评分说明、结果 - for(ResultDetail detail : resultDetails){ - detail.setCheckResult(null); - detail.setAcquireScore(null); - detail.setSuperScore(null); - resultScoreService.deleteResultScoreByDetailId(detail.getId()); + log.info("需要删除指标个数{}", resultDetails.size()); + if(resultDetails.size() > 0){ + if(clearFlag == 1){ + log.info("全部清空,删除所有指标即可"); + resultDetailService.deleteResultDetailByRecordId(recordId); + for(ResultDetail detail : resultDetails){ + resultScoreService.deleteResultScoreByDetailId(detail.getId()); + } + return R.ok(); + } + //删除指标以外的所有数据,评分、评分说明、结果 + + for(ResultDetail detail : resultDetails){ + detail.setCheckResult(null); + detail.setAcquireScore(null); + detail.setSuperScore(null); + resultScoreService.deleteResultScoreByDetailId(detail.getId()); + } + resultDetailService.updateBatchById(resultDetails); + return R.ok(); } + return R.error("无数据删除"); } } From 377035a3e7bcbe3b13dd0666b02efa5fdeafb83a Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 3 Dec 2020 14:28:09 +0800 Subject: [PATCH 13/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/service/app/impl/ResultRecordServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 35bf2071..9dbb08b2 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -936,7 +936,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(f.getRecordId(),f.getFlowIndex()); for(FlowRecord flowRecord:flowRecords){ // 如果结果录入己经走了 - if (new Integer(3).equals(flowRecord.getFlowProcess()) && (flowRecord.getStatus() == 1 || flowRecord.getStatus() == 4) ) { + if (new Integer(2).equals(flowRecord.getFlowProcess()) && (flowRecord.getStatus() == 1 || flowRecord.getStatus() == 4) ) { flowRecord.setStatus(4); //表示流程己经被重置 }else{ flowRecord.setStatus(0); //表示流程己经被重置 @@ -966,7 +966,7 @@ public class ResultRecordServiceImpl extends ServiceImpl Date: Thu, 3 Dec 2020 16:52:47 +0800 Subject: [PATCH 14/16] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lz/modules/flow/dao/FlowRecordMapper.java | 2 ++ .../com/lz/modules/flow/service/FlowRecordService.java | 2 ++ .../modules/flow/service/impl/FlowRecordServiceImpl.java | 5 +++++ .../sys/service/app/impl/ResultRecordServiceImpl.java | 8 +++++++- src/main/resources/mapper/flow/FlowRecordMapper.xml | 5 +++++ 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java index 32a5e48d..90994796 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -96,6 +96,8 @@ public interface FlowRecordMapper extends BaseMapper { List selectFlowRecordByRecordIdGeFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex); + List selectFlowRecordByRecordIdLeFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex); + void deleteFlowRecordByRecordId(@Param("recordId") Long recordId); void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); diff --git a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java index 7b2eca4f..a08c24c6 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -99,4 +99,6 @@ public interface FlowRecordService extends IService { FlowRecord selectPreFlowRecordByRecordIdMinIdStatusList(Long recordId, Integer flowIndex, List statusList); List selectFlowRecordByRecordIdFlowIndexStatusList(Long recordId, Integer flowIndex, List statusList); + + List selectFlowRecordByRecordIdLeFlowIndex(Long resultRecordId, Integer flowIndex); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java index 88f6208f..d5fe6b3b 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java @@ -261,4 +261,9 @@ public class FlowRecordServiceImpl extends ServiceImpl selectFlowRecordByRecordIdLeFlowIndex(Long resultRecordId, Integer flowIndex) { + return flowRecordMapper.selectFlowRecordByRecordIdLeFlowIndex(resultRecordId,flowIndex); + } + } diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 587ea732..910a4b25 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -1423,7 +1423,13 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId()); + List flowRecordRunning = flowRecordService.selectFlowRecordByRecordIdStatus(recordDetailDto.getResultRecordId(),2); + List flowRecords = new ArrayList<>(); + if(CollectionUtils.isEmpty(flowRecordRunning) ){ + flowRecords = flowRecordService.selectFlowRecordByResultRecordId(recordDetailDto.getResultRecordId()); + }else{ + flowRecords = flowRecordService.selectFlowRecordByRecordIdLeFlowIndex(recordDetailDto.getResultRecordId(),flowRecordRunning.get(0).getFlowIndex()); + } int flowIndex = 0; List resetDataResps = new ArrayList<>(); for (FlowRecord flowRecord : flowRecords) { diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index e293b6f6..cd947efb 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -330,6 +330,11 @@ select * from lz_flow_record where is_delete = 0 and record_id = #{recordId} and flow_index >= #{flowIndex} + + + diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index 9433eb0c..6410c7a3 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -84,7 +84,8 @@ public class MysqlMain { List list = new ArrayList(); - list.add(new TablesBean("third_msg_send_record")); + list.add(new TablesBean("lz_result_score")); + list.add(new TablesBean("lz_result_detail")); List list2 = new ArrayList(); Map map = MysqlUtil2ShowCreateTable.getComments(); From 5c6f82c82e2b71d217dde263e657ff52cc7ec786 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 3 Dec 2020 17:50:50 +0800 Subject: [PATCH 16/16] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=9D=9E=E5=88=B6?= =?UTF-8?q?=E5=AE=9A=E7=9B=AE=E6=A0=87=E8=8A=82=E7=82=B9=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E5=8F=98=E6=9B=B4=E5=8E=9F?= =?UTF-8?q?=E6=9C=89=E7=9B=AE=E6=A0=87=EF=BC=8C=E6=9D=83=E9=87=8D=EF=BC=8C?= =?UTF-8?q?=E6=8C=87=E6=A0=87=E5=90=8D=E7=A7=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 26 +++++++++++++++++++ .../lz/modules/flow/model/ResultScoreDto.java | 4 +++ 2 files changed, 30 insertions(+) diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index a4853267..620608ca 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -754,7 +754,33 @@ public class ResultRecordController extends AbstractController { BeanUtils.copyProperties(detailDto, resultDetail); if(!isSetKeyResult && resultDetail.getId() != null && mapDetails.containsKey(resultDetail.getId())){ //这里判断是否有更新,或者删除 + ResultDetail resultDetail1 = mapDetails.get(resultDetail.getId()); + boolean isUp = false; + if(!resultDetail.getTarget().equals(resultDetail1.getTarget())){ + //打上标识 + isUp = true; + } + + if(!resultDetail.getCheckResult().equals(resultDetail1.getCheckResult())){ + //打上标识 + isUp = true; + resultDetail1.setCheckResult("" + resultDetail1.getCheckResult() + ""); + } + + if(!resultDetail.getCheckWeight().equals(resultDetail1.getCheckWeight())){ + //打上标识 + isUp = true; + + //resultDetail1.setTarget("" + resultDetail1.getTarget() + ""); + } + if(isUp){ + resultDetail1.setId(null); + resultDetail1.setIsBack(1); + resultDetail1.setTarget("" + resultDetail1.getTarget() + ""); + resultDetail1.setBackId(resultDetail.getId()); + inserts.add(resultDetail); + } } resultDetail.setPriority(index); diff --git a/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java b/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java index 29bb213c..157816c3 100644 --- a/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java +++ b/src/main/java/com/lz/modules/flow/model/ResultScoreDto.java @@ -43,6 +43,10 @@ public class ResultScoreDto { //评分说明 @ApiModelProperty(value = "评分说明", name = "scoreComment") private String scoreComment; + + //根据权重计算除的实际得分 + @ApiModelProperty(value = "根据权重计算除的实际得分", name = "score") + private BigDecimal score; /** * * @return