From f7c013d3d7ec85cebb7a11a3b830f9b4e1557f73 Mon Sep 17 00:00:00 2001 From: chen <1251790704@qq.com> Date: Tue, 5 Jan 2021 15:20:19 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../financial/guarantee/controller/DgEfficiencyController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java index 1683d026..67136272 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java @@ -62,7 +62,7 @@ public class DgEfficiencyController { return ResponseResult.SUCCESS(result); } - @ApiOperation(value = "个人效率记录列表 ") + @ApiOperation(value = "个人效率记录列表") @PostMapping("/personalEfficiencyList") public R personalEfficiencyList( @ApiParam(name = "personalEfficiencyListRequest", value = "个人效率列表查询对象") From 397c39ec69acf308dbaf65c50b518cc5b6d88329 Mon Sep 17 00:00:00 2001 From: chen <1251790704@qq.com> Date: Tue, 5 Jan 2021 15:27:56 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=90=88=E5=B9=B6ing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DgEfficiencyController.java | 66 +-- .../PersonalEfficiencyListResponse.java | 12 +- .../service/IDgEfficiencyService.java | 4 + .../service/impl/DgEfficiencyServiceImpl.java | 413 +++++++++++++++++- .../domain/guarantee/po/StatusPO.java | 31 ++ 5 files changed, 489 insertions(+), 37 deletions(-) create mode 100644 dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/po/StatusPO.java diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java index ebb70ad4..67136272 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java @@ -4,9 +4,11 @@ import com.alibaba.fastjson.JSONObject; import com.daqing.financial.guarantee.feign.HrmsFeignService; import com.daqing.financial.guarantee.model.request.DgEfficiencyTeamRequest; import com.daqing.financial.guarantee.model.request.PersonalEfficiencyListRequest; +import com.daqing.financial.guarantee.model.response.NumResponse; import com.daqing.financial.guarantee.model.response.PersonalEfficiencyListResponse; import com.daqing.financial.guarantee.service.IDgEfficiencyService; import com.daqing.financial.guarantee.util.DateUtils; +import com.daqing.financial.guarantee.util.R; import com.daqing.financial.guarantee.util.TaskNodeUtil; import com.daqing.framework.model.StatusCode; import com.daqing.framework.model.response.ResponseResult; @@ -62,7 +64,7 @@ public class DgEfficiencyController { @ApiOperation(value = "个人效率记录列表") @PostMapping("/personalEfficiencyList") - public ResponseResult personalEfficiencyList( + public R personalEfficiencyList( @ApiParam(name = "personalEfficiencyListRequest", value = "个人效率列表查询对象") @RequestBody PersonalEfficiencyListRequest personalEfficiencyListRequest){ List responseList = dgEfficiencyService.queryPersonalEfficiencyList(); @@ -87,23 +89,54 @@ public class DgEfficiencyController { } } } + + NumResponse numResponse = new NumResponse(); + //转换任务节点,并统计操作状态个数 + responseList.forEach(personalEfficiencyListResponse -> { + String taskNode = personalEfficiencyListResponse.getTaskNode(); + if (taskNode!=null){ + String converter = TaskNodeUtil.converter(taskNode); + personalEfficiencyListResponse.setTaskNode(converter); + } + if (personalEfficiencyListResponse.getOperatingStatus()!=null){ + switch (personalEfficiencyListResponse.getOperatingStatus()){ + case 0: + numResponse.setInitiateNum(numResponse.getInitiateNum()+1); + break; + case 1: + numResponse.setPendingNum(numResponse.getPendingNum()+1); + break; + case 2: + numResponse.setProcessedNum(numResponse.getProcessedNum()+1); + break; + default: + numResponse.setInitiateNum(0); + numResponse.setPendingNum(0); + numResponse.setProcessedNum(0); + break; + } + } + }); //根据条件筛选数据 + //迭代器进行筛选 if (personalEfficiencyListRequest.getOperatingStatus()!=null){ // 已发起 if (personalEfficiencyListRequest.getOperatingStatus().equals(StatusCode.CZ_LAUNCH)){ - responseList = responseList.stream().filter(p -> p.getOperatingStatus().equals(StatusCode.CZ_LAUNCH)).collect(Collectors.toList()); + responseList.removeIf(next -> !next.getOperatingStatus().equals(StatusCode.CZ_LAUNCH)); + // responseList = responseList.stream().filter(p -> !p.getOperatingStatus().equals(StatusCode.CZ_LAUNCH)).collect(Collectors.toList()); // 待处理 }else if (personalEfficiencyListRequest.getOperatingStatus().equals(StatusCode.CZ_ON_HAND)){ - responseList = responseList.stream().filter(p -> p.getOperatingStatus().equals(StatusCode.CZ_ON_HAND)).collect(Collectors.toList()); + responseList.removeIf(next -> !next.getOperatingStatus().equals(StatusCode.CZ_ON_HAND)); + // responseList = responseList.stream().filter(p -> !p.getOperatingStatus().equals(StatusCode.CZ_ON_HAND)).collect(Collectors.toList()); // 已处理 }else if (personalEfficiencyListRequest.getOperatingStatus().equals(StatusCode.CZ_PROCESSED)){ - responseList = responseList.stream().filter(p -> p.getOperatingStatus().equals(StatusCode.CZ_PROCESSED)).collect(Collectors.toList()); + responseList.removeIf(next -> !next.getOperatingStatus().equals(StatusCode.CZ_PROCESSED)); + // responseList = responseList.stream().filter(p -> !p.getOperatingStatus().equals(StatusCode.CZ_PROCESSED)).collect(Collectors.toList()); } } - // 时间筛选(固定时间) if (personalEfficiencyListRequest.getCreateFixedTime() != null && personalEfficiencyListRequest.getStartTime() == null && personalEfficiencyListRequest.getEndTime() == null) { - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); switch (personalEfficiencyListRequest.getCreateFixedTime()) { case 0: personalEfficiencyListRequest.setStartTime(dateFormat.format(DateUtils.getDayBegin())); @@ -144,26 +177,7 @@ public class DgEfficiencyController { } } } - //转换任务节点,并统计操作状态个数 - responseList.forEach(personalEfficiencyListResponse -> { - String taskNode = personalEfficiencyListResponse.getTaskNode(); - if (taskNode!=null){ - String converter = TaskNodeUtil.converter(taskNode); - personalEfficiencyListResponse.setTaskNode(converter); - } - if (personalEfficiencyListResponse.getOperatingStatus()!=null){ - switch (personalEfficiencyListResponse.getOperatingStatus()){ - case 0: - personalEfficiencyListResponse.setInitiateNum(personalEfficiencyListResponse.getInitiateNum()+1); - case 1: - personalEfficiencyListResponse.setPendingNum(personalEfficiencyListResponse.getPendingNum()+1); - case 2: - personalEfficiencyListResponse.setProcessedNum(personalEfficiencyListResponse.getProcessedNum()+1); - } - } - }); - - return ResponseResult.SUCCESS(responseList); + return R.ok().data("responseList",responseList).data("statistics",numResponse); } public static long getLongDate(String stringDate){ diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/PersonalEfficiencyListResponse.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/PersonalEfficiencyListResponse.java index 3e807e7c..0b03da74 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/PersonalEfficiencyListResponse.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/PersonalEfficiencyListResponse.java @@ -6,12 +6,9 @@ import com.daqing.framework.utils.excel.ApprovalStatusConverter; import com.daqing.framework.utils.excel.BusinessStatusConverter; import com.daqing.framework.utils.excel.OperatingStatusConverter; import com.daqing.framework.utils.excel.TaskNodeConverter; -import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.Date; - /** * @Author chen * @DATE 2020/12/28 16:31 @@ -21,7 +18,7 @@ import java.util.Date; public class PersonalEfficiencyListResponse { @ExcelIgnore - @ApiModelProperty(value = " 业务id") + @ApiModelProperty(value = "业务id") private Integer businessId; @ExcelIgnore @@ -38,8 +35,7 @@ public class PersonalEfficiencyListResponse { @ApiModelProperty("申请日期") @ExcelProperty(value = "申请日期",index = 3) - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date applicationDate; + private String applicationDate; @ApiModelProperty("累计耗时") @ExcelProperty(value = "累计耗时",index = 4) @@ -50,8 +46,8 @@ public class PersonalEfficiencyListResponse { private String completeTime; @ApiModelProperty("任务节点") - @ExcelProperty(value = "任务节点",index = 6) - private Double taskNode; + @ExcelProperty(value = "任务节点",index = 6,converter = TaskNodeConverter.class) + private String taskNode; @ApiModelProperty("审批状态") @ExcelProperty(value = "审批状态",index = 7,converter = ApprovalStatusConverter.class) diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/IDgEfficiencyService.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/IDgEfficiencyService.java index 55b398c2..de9c765b 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/IDgEfficiencyService.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/IDgEfficiencyService.java @@ -2,10 +2,12 @@ package com.daqing.financial.guarantee.service; import com.baomidou.mybatisplus.extension.service.IService; import com.daqing.financial.guarantee.model.request.DgEfficiencyTeamRequest; +import com.daqing.financial.guarantee.model.response.PersonalEfficiencyListResponse; import com.daqing.framework.domain.guarantee.DgApplyAmountInfo; import org.springframework.stereotype.Service; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -19,4 +21,6 @@ public interface IDgEfficiencyService extends IService { HashMap> queryList(DgEfficiencyTeamRequest dgEfficiencyTeamRequest); Map getBusinessCount(); + + List queryPersonalEfficiencyList(); } diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgEfficiencyServiceImpl.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgEfficiencyServiceImpl.java index 601ed40b..68caccf1 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgEfficiencyServiceImpl.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgEfficiencyServiceImpl.java @@ -1,14 +1,24 @@ package com.daqing.financial.guarantee.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.daqing.financial.guarantee.controller.DgApplyAmountInfoController; -import com.daqing.financial.guarantee.mapper.DgAuditProcessMapper; -import com.daqing.financial.guarantee.mapper.DgEfficiencyMapper; +import com.daqing.financial.guarantee.mapper.*; +import com.daqing.financial.guarantee.model.request.DgComplianceInvestigationRequest; import com.daqing.financial.guarantee.model.request.DgEfficiencyTeamRequest; -import com.daqing.financial.guarantee.model.response.EfficiencyApprovalResponse; +import com.daqing.financial.guarantee.model.response.*; import com.daqing.financial.guarantee.service.IDgEfficiencyService; import com.daqing.financial.guarantee.util.DateUtils; import com.daqing.framework.domain.guarantee.DgApplyAmountInfo; +import com.daqing.framework.domain.guarantee.DgAuditProcess; +import com.daqing.framework.domain.guarantee.po.DgWorkConferencePO; +import com.daqing.framework.domain.guarantee.po.StatusPO; +import com.daqing.framework.model.response.PromptSuccess; +import com.daqing.framework.util.RedisUtil; +import com.google.common.collect.Maps; import org.springframework.stereotype.Service; @@ -19,7 +29,10 @@ import java.util.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -32,9 +45,42 @@ public class DgEfficiencyServiceImpl extends ServiceImpl queryPersonalEfficiencyList() { + int size = 100; + List efficiencyList = new ArrayList<>(); + //获取当前登录用户id + int currentUser = Integer.parseInt(this.getUserId()); + //获取当前用户拥有的角色ids + String roleIds = RedisUtil.get("dq:userRole:" + currentUser); + //字符串格式 + List roleIdList = new ArrayList<>(); + if (roleIds != null) { + String[] ids = roleIds.split(","); + roleIdList = Arrays.asList(ids); + } + //数字格式 + List roleList = new ArrayList<>(); + if (roleIds != null) { + String[] roleId = roleIds.split(","); + for (String id : roleId) { + roleList.add(Integer.parseInt(id)); + } + } + //查询用户处理过的业务 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("user_id", currentUser).groupBy("business_id").select("business_id"); + List auditProcessList = dgAuditProcessMapper.selectList(wrapper); + if (auditProcessList != null && auditProcessList.size() != 0) { + List businessIdList = new ArrayList<>(); + auditProcessList.forEach(dgAuditProcess -> { + businessIdList.add(dgAuditProcess.getBusinessId()); + }); + + //根据业务id查询业务流程,统计耗时,完成时间 + businessIdList.forEach(businessId -> { + //new返回对象 + PersonalEfficiencyListResponse efficiencyListResponse = new PersonalEfficiencyListResponse(); + efficiencyListResponse.setBusinessId(businessId); + //根据业务id查询业务 + DgApplyAmountInfo dgApplyAmountInfo = applyAmountInfoMapper.selectById(businessId); + //业务申请日期 + Date createTime = dgApplyAmountInfo.getCreateTime(); + //客户公司id + Integer companyId = dgApplyAmountInfo.getCompanyId(); + //提单人id + Integer presenterId = dgApplyAmountInfo.getPresenterId(); + efficiencyListResponse.setApplicantId(presenterId); + efficiencyListResponse.setApplicationDate(new SimpleDateFormat("yyyy-MM-dd").format(createTime)); + efficiencyListResponse.setClientName(String.valueOf(companyId)); + //获取累计耗时,完成时间,任务节点 + HashMap hashMap = getTime(businessId, currentUser); + Object countTime = hashMap.get("countTime"); + Object endTime = hashMap.get("endTime"); + efficiencyListResponse.setTimeConsuming(String.valueOf(countTime)); + efficiencyListResponse.setCompleteTime(String.valueOf(endTime)); + efficiencyList.add(efficiencyListResponse); + }); + //获取每个业务id的三种状态 + HashMap hashMap = Maps.newHashMap(); + //角色不为空 + //担保业务员角色、担保经理角色 + if (roleIdList.contains(String.valueOf(PromptSuccess.DB_YWY_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_JL_ID))) { + //业务申请列表查询 + IPage positionVO = applyAmountListMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId()); + List records = positionVO.getRecords(); + if (records!=null && records.size()!=0){ + records.forEach(businessApplicationListResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = businessApplicationListResponse.getBusinessId(); + String name = businessApplicationListResponse.getName(); + Integer status = businessApplicationListResponse.getStatus(); + Integer operatingStatus = businessApplicationListResponse.getOperatingStatus(); + Integer businessStatus = businessApplicationListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setName(name); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(1); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //担保经理角色、担保A角角色、担保B角角色、担保领导角色 + if (roleIdList.contains(String.valueOf(PromptSuccess.DB_JL_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_LD_ID))) { + // 担保部调查列表 + IPage positionVO = guaranteeAssignUserMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); + List records = positionVO.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(guaranteeListResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = guaranteeListResponse.getBusinessId(); + Integer status = guaranteeListResponse.getStatus(); + String name = guaranteeListResponse.getName(); + Integer operatingStatus = guaranteeListResponse.getOperatingStatus(); + Integer businessStatus = guaranteeListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(2); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //资产经理角色、资产专员角色、资产领导角色 + if (roleIdList.contains(String.valueOf(PromptSuccess.ZC_JL_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.ZC_ZY_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.ZC_LD_ID))) { + // 资产部调查列表 + IPage positionVO = assetsInvestigationMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); + List records = positionVO.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(assetsInvestigationListResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = assetsInvestigationListResponse.getBusinessId(); + Integer status = assetsInvestigationListResponse.getStatus(); + String name = assetsInvestigationListResponse.getName(); + Integer operatingStatus = assetsInvestigationListResponse.getOperatingStatus(); + Integer businessStatus = assetsInvestigationListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(3); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //信息经理角色、信息专员角色、信息领导角色 + if (roleIdList.contains(String.valueOf(PromptSuccess.XX_JL_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.XX_ZY_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.XX_LD_ID))) { + // 信息部调查列表 + IPage positionVO = messageInvestigationMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); + List records = positionVO.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(messageInvestigationListResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = messageInvestigationListResponse.getBusinessId(); + Integer status = messageInvestigationListResponse.getStatus(); + String name = messageInvestigationListResponse.getName(); + Integer operatingStatus = messageInvestigationListResponse.getOperatingStatus(); + Integer businessStatus = messageInvestigationListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(4); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //担保部A/B角、法规经理角色、法规部C角、法规部分管领导 + if (roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_C_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_LD_ID))) { + // 合规调查列表 + DgComplianceInvestigationRequest dgComplianceInvestigationRequest = new DgComplianceInvestigationRequest(); + IPage list = complianceInvestigationMapper.list(new Page(1, size), dgComplianceInvestigationRequest, roleList, currentUser); + List records = list.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(dgComplianceInvestigationResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = dgComplianceInvestigationResponse.getBusinessId(); + String name = dgComplianceInvestigationResponse.getName(); + Integer status = dgComplianceInvestigationResponse.getAuditStatus(); + Integer operatingStatus = dgComplianceInvestigationResponse.getOperationStatus(); + Integer businessStatus = dgComplianceInvestigationResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(5); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //工作会 + if (roleIdList.contains(String.valueOf(PromptSuccess.GZU_ID))) { + IPage list = workConferenceConsiderMapper.list(new Page(1, size), "", roleList, currentUser); + List records = list.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(dgWorkConferencePO -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = dgWorkConferencePO.getBusinessId(); + String name = dgWorkConferencePO.getName(); + Integer status = dgWorkConferencePO.getAuditStatus(); + Integer operatingStatus = dgWorkConferencePO.getOperationStatus(); + Integer businessStatus = dgWorkConferencePO.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(6); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //担保部A/B角、贷审会 + if (roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DSH_ID))) { + IPage list = loanCommitteeConsiderMapper.list(new Page(1, size), "", roleList, currentUser); + List records = list.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(dgLoanCommitteeConsiderResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = dgLoanCommitteeConsiderResponse.getBusinessId(); + Integer status = dgLoanCommitteeConsiderResponse.getStatus(); + String name = dgLoanCommitteeConsiderResponse.getName(); + Integer operatingStatus = dgLoanCommitteeConsiderResponse.getOperatingStatus(); + Integer businessStatus = dgLoanCommitteeConsiderResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(7); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //法规经理、担保部A/B角、资产部经理 + if (roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID))|roleIdList.contains(String.valueOf(PromptSuccess.ZC_JL_ID)) ) { + //担保函 + IPage iPage = guaranteeLetterAssignUserMapper.pageByCondition(new Page(1, size), currentUser, roleIdList, null, null); + List records = iPage.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(guaranteeLetterListResponse -> { + StatusPO statusPO = new StatusPO(); + String name = guaranteeLetterListResponse.getName(); + Integer businessId = guaranteeLetterListResponse.getBusinessId(); + Integer status = guaranteeLetterListResponse.getStatus(); + Integer operatingStatus = guaranteeLetterListResponse.getOperatingStatus(); + Integer businessStatus = guaranteeLetterListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(8); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //财务部、法规经理 + if (roleIdList.contains(String.valueOf(PromptSuccess.CWB_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))) { + //回款确认 + IPage iPage = paymentConfirmationConsiderMapper.pageByCondition(new Page(1, size), roleIdList, currentUser, null, null); + List records = iPage.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(paymentConfirmationListResponse -> { + StatusPO statusPO = new StatusPO(); + String name = paymentConfirmationListResponse.getName(); + Integer businessId = paymentConfirmationListResponse.getBusinessId(); + Integer status = paymentConfirmationListResponse.getStatus(); + Integer operatingStatus = paymentConfirmationListResponse.getOperatingStatus(); + Integer businessStatus = paymentConfirmationListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(9); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //法规经理 + if (roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))) { + //放款通知 + IPage iPage = loanNoticeMapper.pageByCondition(new Page(1, size), roleIdList, currentUser, null, null); + List records = iPage.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(loanNoticeListResponse -> { + StatusPO statusPO = new StatusPO(); + String name = loanNoticeListResponse.getName(); + Integer businessId = loanNoticeListResponse.getBusinessId(); + Integer status = loanNoticeListResponse.getStatus(); + Integer operatingStatus = loanNoticeListResponse.getOperatingStatus(); + Integer businessStatus = loanNoticeListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(10); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); + } + } + //再次循环,拼接数据 + efficiencyList.forEach(personalEfficiencyListResponse -> { + Integer businessId = personalEfficiencyListResponse.getBusinessId(); + Object o = hashMap.get(businessId); + //有数据 + if (ObjectUtil.isNotNull(o)){ + //强制转换 + if (o instanceof StatusPO){ + StatusPO statusPO = (StatusPO)o; + String name = statusPO.getName(); + Integer operatingStatus = statusPO.getOperatingStatus(); + Integer processId = statusPO.getProcessId(); + Integer status = statusPO.getStatus(); + Integer businessStatus = statusPO.getBusinessStatus(); + personalEfficiencyListResponse.setTaskNode(String.valueOf(processId)); + personalEfficiencyListResponse.setBusinessStatus(businessStatus); + personalEfficiencyListResponse.setOperatingStatus(operatingStatus); + personalEfficiencyListResponse.setApproveStatus(status); + personalEfficiencyListResponse.setClientName(name); + } + } + String timeConsuming = personalEfficiencyListResponse.getTimeConsuming(); + String totalTimeConsuming = countTime(timeConsuming); + personalEfficiencyListResponse.setTimeConsuming(totalTimeConsuming); + }); + } + return efficiencyList; + } + + //根据业务id和用户id统计耗时 + private HashMap getTime(Integer businessId, Integer userId) { + HashMap hashMap = Maps.newHashMap(); + //根据业务id查询业务流程表 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("business_id", businessId).orderByAsc("create_time"); + List auditProcessList = dgAuditProcessMapper.selectList(wrapper); + long countTime = 0L; + if (auditProcessList.size()>1){ + //遍历业务流程数据,统计该用户的耗时 + for (int i = 1; i <= auditProcessList.size() - 1; i++) { + //从第二条数据开始,获取该数据 + DgAuditProcess auditProcess = auditProcessList.get(i); + //该数据是当前用户处理的 + if (auditProcess.getUserId().equals(userId)) { + //获取上一流程的时间节点 + DgAuditProcess previousProcess = auditProcessList.get(i - 1); + Date previousTime = previousProcess.getCreateTime(); + Date currentTime = auditProcess.getCreateTime(); + long currentTimeTime = currentTime.getTime(); + long previousTimeTime = previousTime.getTime(); + //累计耗时,毫秒 + countTime = currentTimeTime - previousTimeTime; + } + } + } + //查询结束时间 + QueryWrapper wrapperTime = new QueryWrapper<>(); + wrapperTime.eq("business_id", businessId).eq("user_id", userId).orderByDesc("create_time").last("limit 1"); + DgAuditProcess auditProcess = dgAuditProcessMapper.selectOne(wrapperTime); + Date endTime = auditProcess.getCreateTime(); + hashMap.put("countTime", countTime); + hashMap.put("endTime", new SimpleDateFormat("yyyy-MM-dd").format(endTime)); + return hashMap; + } + + public static String countTime(String totalTime) { + long time = Long.parseLong(totalTime); + long days = time/ (1000 * 60 * 60 * 24); + long hours = (time% (1000 * 60 * 60 * 24)) / (1000 * 60 * 60); + long minutes = (time% (1000 * 60 * 60)) / (1000 * 60); + long seconds = (time% (1000 * 60)) / 1000; + return days + "天" + hours + "小时"+ minutes +"分钟"; + } + + /** + * 获取当前登录用户信息 + */ + private String getUserId() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String token = request.getHeader("token"); + return RedisUtil.get("dq:token:" + token); + } } \ No newline at end of file diff --git a/dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/po/StatusPO.java b/dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/po/StatusPO.java new file mode 100644 index 00000000..dce15077 --- /dev/null +++ b/dq-framework-model/src/main/java/com/daqing/framework/domain/guarantee/po/StatusPO.java @@ -0,0 +1,31 @@ +package com.daqing.framework.domain.guarantee.po; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; + +/** + * @Author chen + * @DATE 2020/12/30 9:45 + * @Version 1.0 + */ +@Data +@ToString +public class StatusPO { + + @ApiModelProperty("客户名称") + private String name; + + @ApiModelProperty("进程id") + private Integer processId; + + @ApiModelProperty("审核状态") + private Integer status; + + @ApiModelProperty("业务状态") + private Integer businessStatus; + + @ApiModelProperty("操作状态") + private Integer operatingStatus; + +} From f10a6c5b2b2944127c95a08115cccedb6d9efbe2 Mon Sep 17 00:00:00 2001 From: river <1376754470@qq.com> Date: Tue, 5 Jan 2021 15:40:11 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E7=8A=B6=E6=80=81=E4=B8=8B=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dq-financial-crms/pom.xml | 4 ++-- .../guarantee/controller/DgEfficiencyController.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dq-financial-crms/pom.xml b/dq-financial-crms/pom.xml index 4ced7f50..d55fc566 100644 --- a/dq-financial-crms/pom.xml +++ b/dq-financial-crms/pom.xml @@ -66,12 +66,12 @@ maven-compiler-plugin 3.8.1 - + diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java index 67136272..896c3469 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgEfficiencyController.java @@ -52,6 +52,16 @@ public class DgEfficiencyController { return ResponseResult.SUCCESS(dgEfficiencyService.queryList(dgEfficiencyTeamRequest)); } + /** + * 统计不同业务状态下业务数量 + */ + @GetMapping("/businessCount") + @ApiOperation(value = "统计不同业务状态下业务数量", notes = "统计不同业务状态下业务数量") + public ResponseResult getBusinessCount(){ + + return ResponseResult.SUCCESS(dgEfficiencyService.getBusinessCount()); + } + /** * 首页-近十天的审批数目 */ From 25e74bef09f88d89b930b059f0a5cc9a7128b942 Mon Sep 17 00:00:00 2001 From: chen <1251790704@qq.com> Date: Tue, 5 Jan 2021 17:18:38 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PersonalEfficiencyListResponse.java | 18 +++++------ .../framework/utils/excel/EasyExcelUtil.java | 4 +-- .../utils/excel/TaskNodeConverter.java | 30 +++++++++---------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/PersonalEfficiencyListResponse.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/PersonalEfficiencyListResponse.java index 0b03da74..ca8a1d2e 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/PersonalEfficiencyListResponse.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/model/response/PersonalEfficiencyListResponse.java @@ -26,38 +26,38 @@ public class PersonalEfficiencyListResponse { private Integer applicantId; @ApiModelProperty(value = "提单人") - @ExcelProperty(value = "提单人",index = 1) + @ExcelProperty(value = "提单人",index = 0) private String applicant; @ApiModelProperty("客户名称") - @ExcelProperty(value = "客户名称",index = 2) + @ExcelProperty(value = "客户名称",index = 1) private String clientName; @ApiModelProperty("申请日期") - @ExcelProperty(value = "申请日期",index = 3) + @ExcelProperty(value = "申请日期",index = 2) private String applicationDate; @ApiModelProperty("累计耗时") - @ExcelProperty(value = "累计耗时",index = 4) + @ExcelProperty(value = "累计耗时",index = 3) private String timeConsuming; @ApiModelProperty("完成时间") - @ExcelProperty(value = "完成时间",index = 5) + @ExcelProperty(value = "完成时间",index = 4) private String completeTime; @ApiModelProperty("任务节点") - @ExcelProperty(value = "任务节点",index = 6,converter = TaskNodeConverter.class) + @ExcelProperty(value = "任务节点",index = 5,converter = TaskNodeConverter.class) private String taskNode; @ApiModelProperty("审批状态") - @ExcelProperty(value = "审批状态",index = 7,converter = ApprovalStatusConverter.class) + @ExcelProperty(value = "审批状态",index = 6,converter = ApprovalStatusConverter.class) private Integer approveStatus; @ApiModelProperty("业务状态") - @ExcelProperty(value = "业务状态",index = 8,converter = BusinessStatusConverter.class) + @ExcelProperty(value = "业务状态",index = 7,converter = BusinessStatusConverter.class) private Integer businessStatus; @ApiModelProperty("操作状态") - @ExcelProperty(value = "操作状态",index = 9,converter = OperatingStatusConverter.class) + @ExcelProperty(value = "操作状态",index = 8,converter = OperatingStatusConverter.class) private Integer operatingStatus; } diff --git a/dq-framework-utils/src/main/java/com/daqing/framework/utils/excel/EasyExcelUtil.java b/dq-framework-utils/src/main/java/com/daqing/framework/utils/excel/EasyExcelUtil.java index 28eeea34..34a9e56a 100644 --- a/dq-framework-utils/src/main/java/com/daqing/framework/utils/excel/EasyExcelUtil.java +++ b/dq-framework-utils/src/main/java/com/daqing/framework/utils/excel/EasyExcelUtil.java @@ -15,8 +15,8 @@ public class EasyExcelUtil { public static void download(HttpServletResponse response, Class head, List list, String fileName, String sheetName) throws IOException { response.setContentType("application/vnd.ms-excel"); String filePath = fileName + ".xlsx"; - fileName = new String(filePath.getBytes(), "ISO-8859-1"); - response.addHeader("Content-Disposition", "filename=" + fileName); + String name = new String(filePath.getBytes(), "ISO-8859-1"); + response.addHeader("Content-Disposition", "filename=" + name); EasyExcel.write(response.getOutputStream(), head).sheet(sheetName).doWrite(list); } } diff --git a/dq-framework-utils/src/main/java/com/daqing/framework/utils/excel/TaskNodeConverter.java b/dq-framework-utils/src/main/java/com/daqing/framework/utils/excel/TaskNodeConverter.java index 8df4881c..37a2bf4e 100644 --- a/dq-framework-utils/src/main/java/com/daqing/framework/utils/excel/TaskNodeConverter.java +++ b/dq-framework-utils/src/main/java/com/daqing/framework/utils/excel/TaskNodeConverter.java @@ -12,7 +12,7 @@ import com.alibaba.excel.metadata.property.ExcelContentProperty; * @Version 1.0 * 任务节点转换器 */ -public class TaskNodeConverter implements Converter { +public class TaskNodeConverter implements Converter { @Override public Class supportJavaTypeKey() { @@ -36,9 +36,9 @@ public class TaskNodeConverter implements Converter { * @return */ @Override - public Integer convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, + public String convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { - return 0; + return ""; } /** @@ -53,32 +53,32 @@ public class TaskNodeConverter implements Converter { * @return */ @Override - public CellData convertToExcelData(Integer value, ExcelContentProperty contentProperty, + public CellData convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { switch (value){ - case 1: + case "1": return new CellData("业务申请"); - case 2: + case "2": return new CellData("担保部调查"); - case 3: + case "3": return new CellData("资产部调查"); - case 4: + case "4": return new CellData("信息部调查"); - case 5: + case "5": return new CellData("合规调查"); - case 6: + case "6": return new CellData("工作会"); - case 7: + case "7": return new CellData("贷审会"); - case 8: + case "8": return new CellData("担保函"); - case 9: + case "9": return new CellData("回款确认"); - case 10: + case "10": return new CellData("放款通知"); default: - return new CellData(String.valueOf(value)); + return new CellData(""); } } From fe61e570f84d79026afe45a35ac816874b6e9846 Mon Sep 17 00:00:00 2001 From: river <1376754470@qq.com> Date: Tue, 5 Jan 2021 18:01:28 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=91=98=E5=B7=A5=E9=87=8D=E7=BD=AE?= =?UTF-8?q?=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../financial/crms/model/request/CompanyCustomerRequest.java | 1 - .../daqing/financial/hrms/service/impl/EmployeeServiceImpl.java | 2 +- .../daqing/framework/domain/crms/ext/CustomerPersonalTOI.java | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/dq-financial-crms/src/main/java/com/daqing/financial/crms/model/request/CompanyCustomerRequest.java b/dq-financial-crms/src/main/java/com/daqing/financial/crms/model/request/CompanyCustomerRequest.java index a321465e..a276f795 100644 --- a/dq-financial-crms/src/main/java/com/daqing/financial/crms/model/request/CompanyCustomerRequest.java +++ b/dq-financial-crms/src/main/java/com/daqing/financial/crms/model/request/CompanyCustomerRequest.java @@ -32,7 +32,6 @@ public class CompanyCustomerRequest implements Serializable { @ApiModelProperty(value = "客户类型") private Integer type; - @NotNull(message = "客户经理人不能为空") @ApiModelProperty(value = "客户经理人ids") private Long manager; diff --git a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/EmployeeServiceImpl.java b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/EmployeeServiceImpl.java index 1dbe44db..db43f33a 100644 --- a/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/EmployeeServiceImpl.java +++ b/dq-financial-hrms/src/main/java/com/daqing/financial/hrms/service/impl/EmployeeServiceImpl.java @@ -188,7 +188,7 @@ public class EmployeeServiceImpl extends ServiceImpl Date: Wed, 6 Jan 2021 17:19:15 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DgAuditProcessController.java | 15 + .../guarantee/feign/HrmsFeignService.java | 3 + .../service/impl/DgEfficiencyServiceImpl.java | 522 +++++++++--------- .../mapper/guarantee/DgAuditProcessMapper.xml | 4 +- .../hrms/controller/RoleController.java | 8 + .../domain/guarantee/DgAuditProcess.java | 3 + 6 files changed, 282 insertions(+), 273 deletions(-) diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgAuditProcessController.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgAuditProcessController.java index cf6703d0..ca12ec50 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgAuditProcessController.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/controller/DgAuditProcessController.java @@ -2,9 +2,11 @@ package com.daqing.financial.guarantee.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.daqing.financial.guarantee.feign.HrmsFeignService; import com.daqing.financial.guarantee.service.IDgAuditProcessService; import com.daqing.framework.domain.guarantee.DgAuditProcess; import com.daqing.framework.domain.guarantee.po.ProcessPO; +import com.daqing.framework.domain.hrms.RoleEntity; import com.daqing.framework.model.response.ResponseResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -34,6 +36,9 @@ public class DgAuditProcessController { @Autowired private IDgAuditProcessService auditProcessService; + @Autowired + private HrmsFeignService hrmsFeignService; + @ApiOperation(value = "审核流程进程列表") @GetMapping("/auditProcessList") public ResponseResult processList( @@ -42,6 +47,16 @@ public class DgAuditProcessController { @ApiParam(name = "processId", value = "流程id", required = false) @RequestParam(required = false) String processId){ List processList = auditProcessService.queryProcessList(businessId,processId); + ResponseResult responseResult = hrmsFeignService.roleList(); + //获取角色名称信息 + List list = (List) responseResult.getData(); + for (DgAuditProcess process:processList){ + for (RoleEntity roleEntity:list){ + if (process.getRoleId().equals(roleEntity.getId())){ + process.setDeptName(roleEntity.getName()); + } + } + } return ResponseResult.SUCCESS(processList); } diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/feign/HrmsFeignService.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/feign/HrmsFeignService.java index 6a9a0662..31cb0345 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/feign/HrmsFeignService.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/feign/HrmsFeignService.java @@ -90,4 +90,7 @@ public interface HrmsFeignService { @GetMapping("/hrms/permission/info") ResponseResult info(@RequestParam("id") Long id);*/ + + @GetMapping("/hrms/role/roleList") + ResponseResult roleList(); } diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgEfficiencyServiceImpl.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgEfficiencyServiceImpl.java index 68caccf1..a6f78458 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgEfficiencyServiceImpl.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgEfficiencyServiceImpl.java @@ -234,287 +234,267 @@ public class DgEfficiencyServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); - wrapper.eq("user_id", currentUser).groupBy("business_id").select("business_id"); - List auditProcessList = dgAuditProcessMapper.selectList(wrapper); - if (auditProcessList != null && auditProcessList.size() != 0) { - List businessIdList = new ArrayList<>(); - auditProcessList.forEach(dgAuditProcess -> { - businessIdList.add(dgAuditProcess.getBusinessId()); - }); - - //根据业务id查询业务流程,统计耗时,完成时间 - businessIdList.forEach(businessId -> { - //new返回对象 - PersonalEfficiencyListResponse efficiencyListResponse = new PersonalEfficiencyListResponse(); - efficiencyListResponse.setBusinessId(businessId); - //根据业务id查询业务 - DgApplyAmountInfo dgApplyAmountInfo = applyAmountInfoMapper.selectById(businessId); - //业务申请日期 - Date createTime = dgApplyAmountInfo.getCreateTime(); - //客户公司id - Integer companyId = dgApplyAmountInfo.getCompanyId(); - //提单人id - Integer presenterId = dgApplyAmountInfo.getPresenterId(); - efficiencyListResponse.setApplicantId(presenterId); - efficiencyListResponse.setApplicationDate(new SimpleDateFormat("yyyy-MM-dd").format(createTime)); - efficiencyListResponse.setClientName(String.valueOf(companyId)); - //获取累计耗时,完成时间,任务节点 - HashMap hashMap = getTime(businessId, currentUser); - Object countTime = hashMap.get("countTime"); - Object endTime = hashMap.get("endTime"); - efficiencyListResponse.setTimeConsuming(String.valueOf(countTime)); - efficiencyListResponse.setCompleteTime(String.valueOf(endTime)); - efficiencyList.add(efficiencyListResponse); - }); - //获取每个业务id的三种状态 - HashMap hashMap = Maps.newHashMap(); - //角色不为空 - //担保业务员角色、担保经理角色 - if (roleIdList.contains(String.valueOf(PromptSuccess.DB_YWY_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_JL_ID))) { - //业务申请列表查询 - IPage positionVO = applyAmountListMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId()); - List records = positionVO.getRecords(); - if (records!=null && records.size()!=0){ - records.forEach(businessApplicationListResponse -> { - StatusPO statusPO = new StatusPO(); - Integer businessId = businessApplicationListResponse.getBusinessId(); - String name = businessApplicationListResponse.getName(); - Integer status = businessApplicationListResponse.getStatus(); - Integer operatingStatus = businessApplicationListResponse.getOperatingStatus(); - Integer businessStatus = businessApplicationListResponse.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setName(name); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(1); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + //获取每个业务id的三种状态 + HashMap hashMap = Maps.newHashMap(); + //角色不为空 + //担保业务员角色、担保经理角色 + if (roleIdList.contains(String.valueOf(PromptSuccess.DB_YWY_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_JL_ID))) { + //业务申请列表查询 + IPage positionVO = applyAmountListMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId()); + List records = positionVO.getRecords(); + if (records!=null && records.size()!=0){ + records.forEach(businessApplicationListResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = businessApplicationListResponse.getBusinessId(); + String name = businessApplicationListResponse.getName(); + Integer status = businessApplicationListResponse.getStatus(); + Integer operatingStatus = businessApplicationListResponse.getOperatingStatus(); + Integer businessStatus = businessApplicationListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setName(name); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(1); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //担保经理角色、担保A角角色、担保B角角色、担保领导角色 - if (roleIdList.contains(String.valueOf(PromptSuccess.DB_JL_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_LD_ID))) { - // 担保部调查列表 - IPage positionVO = guaranteeAssignUserMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); - List records = positionVO.getRecords(); - if (records!=null && records.size()!=0) { - records.forEach(guaranteeListResponse -> { - StatusPO statusPO = new StatusPO(); - Integer businessId = guaranteeListResponse.getBusinessId(); - Integer status = guaranteeListResponse.getStatus(); - String name = guaranteeListResponse.getName(); - Integer operatingStatus = guaranteeListResponse.getOperatingStatus(); - Integer businessStatus = guaranteeListResponse.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(2); - statusPO.setName(name); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + } + //担保经理角色、担保A角角色、担保B角角色、担保领导角色 + if (roleIdList.contains(String.valueOf(PromptSuccess.DB_JL_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.DB_LD_ID))) { + // 担保部调查列表 + IPage positionVO = guaranteeAssignUserMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); + List records = positionVO.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(guaranteeListResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = guaranteeListResponse.getBusinessId(); + Integer status = guaranteeListResponse.getStatus(); + String name = guaranteeListResponse.getName(); + Integer operatingStatus = guaranteeListResponse.getOperatingStatus(); + Integer businessStatus = guaranteeListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(2); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //资产经理角色、资产专员角色、资产领导角色 - if (roleIdList.contains(String.valueOf(PromptSuccess.ZC_JL_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.ZC_ZY_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.ZC_LD_ID))) { - // 资产部调查列表 - IPage positionVO = assetsInvestigationMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); - List records = positionVO.getRecords(); - if (records!=null && records.size()!=0) { - records.forEach(assetsInvestigationListResponse -> { - StatusPO statusPO = new StatusPO(); - Integer businessId = assetsInvestigationListResponse.getBusinessId(); - Integer status = assetsInvestigationListResponse.getStatus(); - String name = assetsInvestigationListResponse.getName(); - Integer operatingStatus = assetsInvestigationListResponse.getOperatingStatus(); - Integer businessStatus = assetsInvestigationListResponse.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(3); - statusPO.setName(name); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + } + //资产经理角色、资产专员角色、资产领导角色 + if (roleIdList.contains(String.valueOf(PromptSuccess.ZC_JL_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.ZC_ZY_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.ZC_LD_ID))) { + // 资产部调查列表 + IPage positionVO = assetsInvestigationMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); + List records = positionVO.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(assetsInvestigationListResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = assetsInvestigationListResponse.getBusinessId(); + Integer status = assetsInvestigationListResponse.getStatus(); + String name = assetsInvestigationListResponse.getName(); + Integer operatingStatus = assetsInvestigationListResponse.getOperatingStatus(); + Integer businessStatus = assetsInvestigationListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(3); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //信息经理角色、信息专员角色、信息领导角色 - if (roleIdList.contains(String.valueOf(PromptSuccess.XX_JL_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.XX_ZY_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.XX_LD_ID))) { - // 信息部调查列表 - IPage positionVO = messageInvestigationMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); - List records = positionVO.getRecords(); - if (records!=null && records.size()!=0) { - records.forEach(messageInvestigationListResponse -> { - StatusPO statusPO = new StatusPO(); - Integer businessId = messageInvestigationListResponse.getBusinessId(); - Integer status = messageInvestigationListResponse.getStatus(); - String name = messageInvestigationListResponse.getName(); - Integer operatingStatus = messageInvestigationListResponse.getOperatingStatus(); - Integer businessStatus = messageInvestigationListResponse.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(4); - statusPO.setName(name); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + } + //信息经理角色、信息专员角色、信息领导角色 + if (roleIdList.contains(String.valueOf(PromptSuccess.XX_JL_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.XX_ZY_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.XX_LD_ID))) { + // 信息部调查列表 + IPage positionVO = messageInvestigationMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); + List records = positionVO.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(messageInvestigationListResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = messageInvestigationListResponse.getBusinessId(); + Integer status = messageInvestigationListResponse.getStatus(); + String name = messageInvestigationListResponse.getName(); + Integer operatingStatus = messageInvestigationListResponse.getOperatingStatus(); + Integer businessStatus = messageInvestigationListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(4); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //担保部A/B角、法规经理角色、法规部C角、法规部分管领导 - if (roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_C_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_LD_ID))) { - // 合规调查列表 - DgComplianceInvestigationRequest dgComplianceInvestigationRequest = new DgComplianceInvestigationRequest(); - IPage list = complianceInvestigationMapper.list(new Page(1, size), dgComplianceInvestigationRequest, roleList, currentUser); - List records = list.getRecords(); - if (records!=null && records.size()!=0) { - records.forEach(dgComplianceInvestigationResponse -> { - StatusPO statusPO = new StatusPO(); - Integer businessId = dgComplianceInvestigationResponse.getBusinessId(); - String name = dgComplianceInvestigationResponse.getName(); - Integer status = dgComplianceInvestigationResponse.getAuditStatus(); - Integer operatingStatus = dgComplianceInvestigationResponse.getOperationStatus(); - Integer businessStatus = dgComplianceInvestigationResponse.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(5); - statusPO.setName(name); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + } + //担保部A/B角、法规经理角色、法规部C角、法规部分管领导 + if (roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_C_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_LD_ID))) { + // 合规调查列表 + DgComplianceInvestigationRequest dgComplianceInvestigationRequest = new DgComplianceInvestigationRequest(); + IPage list = complianceInvestigationMapper.list(new Page(1, size), dgComplianceInvestigationRequest, roleList, currentUser); + List records = list.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(dgComplianceInvestigationResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = dgComplianceInvestigationResponse.getBusinessId(); + String name = dgComplianceInvestigationResponse.getName(); + Integer status = dgComplianceInvestigationResponse.getAuditStatus(); + Integer operatingStatus = dgComplianceInvestigationResponse.getOperationStatus(); + Integer businessStatus = dgComplianceInvestigationResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(5); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //工作会 - if (roleIdList.contains(String.valueOf(PromptSuccess.GZU_ID))) { - IPage list = workConferenceConsiderMapper.list(new Page(1, size), "", roleList, currentUser); - List records = list.getRecords(); - if (records!=null && records.size()!=0) { - records.forEach(dgWorkConferencePO -> { - StatusPO statusPO = new StatusPO(); - Integer businessId = dgWorkConferencePO.getBusinessId(); - String name = dgWorkConferencePO.getName(); - Integer status = dgWorkConferencePO.getAuditStatus(); - Integer operatingStatus = dgWorkConferencePO.getOperationStatus(); - Integer businessStatus = dgWorkConferencePO.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(6); - statusPO.setName(name); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + } + //工作会 + if (roleIdList.contains(String.valueOf(PromptSuccess.GZU_ID))) { + IPage list = workConferenceConsiderMapper.list(new Page(1, size), "", roleList, currentUser); + List records = list.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(dgWorkConferencePO -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = dgWorkConferencePO.getBusinessId(); + String name = dgWorkConferencePO.getName(); + Integer status = dgWorkConferencePO.getAuditStatus(); + Integer operatingStatus = dgWorkConferencePO.getOperationStatus(); + Integer businessStatus = dgWorkConferencePO.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(6); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //担保部A/B角、贷审会 - if (roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DSH_ID))) { - IPage list = loanCommitteeConsiderMapper.list(new Page(1, size), "", roleList, currentUser); - List records = list.getRecords(); - if (records!=null && records.size()!=0) { - records.forEach(dgLoanCommitteeConsiderResponse -> { - StatusPO statusPO = new StatusPO(); - Integer businessId = dgLoanCommitteeConsiderResponse.getBusinessId(); - Integer status = dgLoanCommitteeConsiderResponse.getStatus(); - String name = dgLoanCommitteeConsiderResponse.getName(); - Integer operatingStatus = dgLoanCommitteeConsiderResponse.getOperatingStatus(); - Integer businessStatus = dgLoanCommitteeConsiderResponse.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(7); - statusPO.setName(name); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + } + //担保部A/B角、贷审会 + if (roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DSH_ID))) { + IPage list = loanCommitteeConsiderMapper.list(new Page(1, size), "", roleList, currentUser); + List records = list.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(dgLoanCommitteeConsiderResponse -> { + StatusPO statusPO = new StatusPO(); + Integer businessId = dgLoanCommitteeConsiderResponse.getBusinessId(); + Integer status = dgLoanCommitteeConsiderResponse.getStatus(); + String name = dgLoanCommitteeConsiderResponse.getName(); + Integer operatingStatus = dgLoanCommitteeConsiderResponse.getOperatingStatus(); + Integer businessStatus = dgLoanCommitteeConsiderResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(7); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //法规经理、担保部A/B角、资产部经理 - if (roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID))|roleIdList.contains(String.valueOf(PromptSuccess.ZC_JL_ID)) ) { - //担保函 - IPage iPage = guaranteeLetterAssignUserMapper.pageByCondition(new Page(1, size), currentUser, roleIdList, null, null); - List records = iPage.getRecords(); - if (records!=null && records.size()!=0) { - records.forEach(guaranteeLetterListResponse -> { - StatusPO statusPO = new StatusPO(); - String name = guaranteeLetterListResponse.getName(); - Integer businessId = guaranteeLetterListResponse.getBusinessId(); - Integer status = guaranteeLetterListResponse.getStatus(); - Integer operatingStatus = guaranteeLetterListResponse.getOperatingStatus(); - Integer businessStatus = guaranteeLetterListResponse.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(8); - statusPO.setName(name); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + } + //法规经理、担保部A/B角、资产部经理 + if (roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_A_ID))|roleIdList.contains(String.valueOf(PromptSuccess.DB_B_ID))|roleIdList.contains(String.valueOf(PromptSuccess.ZC_JL_ID)) ) { + //担保函 + IPage iPage = guaranteeLetterAssignUserMapper.pageByCondition(new Page(1, size), currentUser, roleIdList, null, null); + List records = iPage.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(guaranteeLetterListResponse -> { + StatusPO statusPO = new StatusPO(); + String name = guaranteeLetterListResponse.getName(); + Integer businessId = guaranteeLetterListResponse.getBusinessId(); + Integer status = guaranteeLetterListResponse.getStatus(); + Integer operatingStatus = guaranteeLetterListResponse.getOperatingStatus(); + Integer businessStatus = guaranteeLetterListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(8); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //财务部、法规经理 - if (roleIdList.contains(String.valueOf(PromptSuccess.CWB_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))) { - //回款确认 - IPage iPage = paymentConfirmationConsiderMapper.pageByCondition(new Page(1, size), roleIdList, currentUser, null, null); - List records = iPage.getRecords(); - if (records!=null && records.size()!=0) { - records.forEach(paymentConfirmationListResponse -> { - StatusPO statusPO = new StatusPO(); - String name = paymentConfirmationListResponse.getName(); - Integer businessId = paymentConfirmationListResponse.getBusinessId(); - Integer status = paymentConfirmationListResponse.getStatus(); - Integer operatingStatus = paymentConfirmationListResponse.getOperatingStatus(); - Integer businessStatus = paymentConfirmationListResponse.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(9); - statusPO.setName(name); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + } + //财务部、法规经理 + if (roleIdList.contains(String.valueOf(PromptSuccess.CWB_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))) { + //回款确认 + IPage iPage = paymentConfirmationConsiderMapper.pageByCondition(new Page(1, size), roleIdList, currentUser, null, null); + List records = iPage.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(paymentConfirmationListResponse -> { + StatusPO statusPO = new StatusPO(); + String name = paymentConfirmationListResponse.getName(); + Integer businessId = paymentConfirmationListResponse.getBusinessId(); + Integer status = paymentConfirmationListResponse.getStatus(); + Integer operatingStatus = paymentConfirmationListResponse.getOperatingStatus(); + Integer businessStatus = paymentConfirmationListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(9); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //法规经理 - if (roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))) { - //放款通知 - IPage iPage = loanNoticeMapper.pageByCondition(new Page(1, size), roleIdList, currentUser, null, null); - List records = iPage.getRecords(); - if (records!=null && records.size()!=0) { - records.forEach(loanNoticeListResponse -> { - StatusPO statusPO = new StatusPO(); - String name = loanNoticeListResponse.getName(); - Integer businessId = loanNoticeListResponse.getBusinessId(); - Integer status = loanNoticeListResponse.getStatus(); - Integer operatingStatus = loanNoticeListResponse.getOperatingStatus(); - Integer businessStatus = loanNoticeListResponse.getBusinessStatus(); - statusPO.setBusinessStatus(businessStatus); - statusPO.setOperatingStatus(operatingStatus); - statusPO.setProcessId(10); - statusPO.setName(name); - statusPO.setStatus(status); - hashMap.put(businessId, statusPO); - }); - } + } + //法规经理 + if (roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))) { + //放款通知 + IPage iPage = loanNoticeMapper.pageByCondition(new Page(1, size), roleIdList, currentUser, null, null); + List records = iPage.getRecords(); + if (records!=null && records.size()!=0) { + records.forEach(loanNoticeListResponse -> { + StatusPO statusPO = new StatusPO(); + String name = loanNoticeListResponse.getName(); + Integer businessId = loanNoticeListResponse.getBusinessId(); + Integer status = loanNoticeListResponse.getStatus(); + Integer operatingStatus = loanNoticeListResponse.getOperatingStatus(); + Integer businessStatus = loanNoticeListResponse.getBusinessStatus(); + statusPO.setBusinessStatus(businessStatus); + statusPO.setOperatingStatus(operatingStatus); + statusPO.setProcessId(10); + statusPO.setName(name); + statusPO.setStatus(status); + hashMap.put(businessId, statusPO); + }); } - //再次循环,拼接数据 - efficiencyList.forEach(personalEfficiencyListResponse -> { - Integer businessId = personalEfficiencyListResponse.getBusinessId(); - Object o = hashMap.get(businessId); - //有数据 - if (ObjectUtil.isNotNull(o)){ - //强制转换 - if (o instanceof StatusPO){ - StatusPO statusPO = (StatusPO)o; - String name = statusPO.getName(); - Integer operatingStatus = statusPO.getOperatingStatus(); - Integer processId = statusPO.getProcessId(); - Integer status = statusPO.getStatus(); - Integer businessStatus = statusPO.getBusinessStatus(); - personalEfficiencyListResponse.setTaskNode(String.valueOf(processId)); - personalEfficiencyListResponse.setBusinessStatus(businessStatus); - personalEfficiencyListResponse.setOperatingStatus(operatingStatus); - personalEfficiencyListResponse.setApproveStatus(status); - personalEfficiencyListResponse.setClientName(name); - } - } - String timeConsuming = personalEfficiencyListResponse.getTimeConsuming(); - String totalTimeConsuming = countTime(timeConsuming); - personalEfficiencyListResponse.setTimeConsuming(totalTimeConsuming); - }); + } + //遍历map,key值为业务id + for (Integer key : hashMap.keySet()) { + PersonalEfficiencyListResponse efficiencyListResponse = new PersonalEfficiencyListResponse(); + efficiencyListResponse.setBusinessId(key); + StatusPO po = (StatusPO)hashMap.get(key); + Integer businessStatus = po.getBusinessStatus(); + Integer operatingStatus = po.getOperatingStatus(); + Integer processId = po.getProcessId(); + Integer status = po.getStatus(); + String name = po.getName(); + //根据业务id查询业务 + DgApplyAmountInfo dgApplyAmountInfo = applyAmountInfoMapper.selectById(key); + //业务申请日期 + Date createTime = dgApplyAmountInfo.getCreateTime(); + //客户公司id + Integer companyId = dgApplyAmountInfo.getCompanyId(); + //提单人id + Integer presenterId = dgApplyAmountInfo.getPresenterId(); + efficiencyListResponse.setOperatingStatus(operatingStatus); + efficiencyListResponse.setApproveStatus(status); + efficiencyListResponse.setBusinessStatus(businessStatus); + efficiencyListResponse.setTaskNode(String.valueOf(processId)); + efficiencyListResponse.setClientName(name); + efficiencyListResponse.setApplicantId(presenterId); + efficiencyListResponse.setApplicationDate(new SimpleDateFormat("yyyy-MM-dd").format(createTime)); + efficiencyListResponse.setClientName(String.valueOf(companyId)); + //用户处理过业务,统计耗时 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("user_id", currentUser).eq("business_id",key); + List auditProcessList = dgAuditProcessMapper.selectList(wrapper); + if (auditProcessList != null && auditProcessList.size() != 0) { + //获取累计耗时,完成时间 + HashMap hashMapTime = getTime(key, currentUser); + Object countTime = hashMapTime.get("countTime"); + Object endTime = hashMapTime.get("endTime"); + efficiencyListResponse.setTimeConsuming(countTime(String.valueOf(countTime))); + efficiencyListResponse.setCompleteTime(String.valueOf(endTime)); + } + efficiencyList.add(efficiencyListResponse); } return efficiencyList; } diff --git a/dq-financial-guarantee/src/main/resources/mapper/guarantee/DgAuditProcessMapper.xml b/dq-financial-guarantee/src/main/resources/mapper/guarantee/DgAuditProcessMapper.xml index cd557284..03ef475e 100644 --- a/dq-financial-guarantee/src/main/resources/mapper/guarantee/DgAuditProcessMapper.xml +++ b/dq-financial-guarantee/src/main/resources/mapper/guarantee/DgAuditProcessMapper.xml @@ -7,17 +7,17 @@ - +