|
|
|
@ -248,40 +248,6 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
roleList.add(Integer.parseInt(id)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//查询用户处理过的业务
|
|
|
|
|
QueryWrapper<DgAuditProcess> wrapper = new QueryWrapper<>(); |
|
|
|
|
wrapper.eq("user_id", currentUser).groupBy("business_id").select("business_id"); |
|
|
|
|
List<DgAuditProcess> auditProcessList = dgAuditProcessMapper.selectList(wrapper); |
|
|
|
|
if (auditProcessList != null && auditProcessList.size() != 0) { |
|
|
|
|
List<Integer> 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<String, Object> 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<Integer, Object> hashMap = Maps.newHashMap(); |
|
|
|
|
//角色不为空
|
|
|
|
@ -290,7 +256,7 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
//业务申请列表查询
|
|
|
|
|
IPage<BusinessApplicationListResponse> positionVO = applyAmountListMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId()); |
|
|
|
|
List<BusinessApplicationListResponse> records = positionVO.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0){ |
|
|
|
|
records.forEach(businessApplicationListResponse -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
Integer businessId = businessApplicationListResponse.getBusinessId(); |
|
|
|
@ -312,7 +278,7 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
// 担保部调查列表
|
|
|
|
|
IPage<GuaranteeListResponse> positionVO = guaranteeAssignUserMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); |
|
|
|
|
List<GuaranteeListResponse> records = positionVO.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0) { |
|
|
|
|
records.forEach(guaranteeListResponse -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
Integer businessId = guaranteeListResponse.getBusinessId(); |
|
|
|
@ -334,7 +300,7 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
// 资产部调查列表
|
|
|
|
|
IPage<AssetsInvestigationListResponse> positionVO = assetsInvestigationMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); |
|
|
|
|
List<AssetsInvestigationListResponse> records = positionVO.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0) { |
|
|
|
|
records.forEach(assetsInvestigationListResponse -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
Integer businessId = assetsInvestigationListResponse.getBusinessId(); |
|
|
|
@ -356,7 +322,7 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
// 信息部调查列表
|
|
|
|
|
IPage<MessageInvestigationListResponse> positionVO = messageInvestigationMapper.pageByCondition(new Page(1, size), "", roleIdList, this.getUserId(), null); |
|
|
|
|
List<MessageInvestigationListResponse> records = positionVO.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0) { |
|
|
|
|
records.forEach(messageInvestigationListResponse -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
Integer businessId = messageInvestigationListResponse.getBusinessId(); |
|
|
|
@ -374,12 +340,12 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//担保部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))) { |
|
|
|
|
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<DgComplianceInvestigationResponse> list = complianceInvestigationMapper.list(new Page(1, size), dgComplianceInvestigationRequest, roleList, currentUser); |
|
|
|
|
List<DgComplianceInvestigationResponse> records = list.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0) { |
|
|
|
|
records.forEach(dgComplianceInvestigationResponse -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
Integer businessId = dgComplianceInvestigationResponse.getBusinessId(); |
|
|
|
@ -400,7 +366,7 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
if (roleIdList.contains(String.valueOf(PromptSuccess.GZU_ID))) { |
|
|
|
|
IPage<DgWorkConferencePO> list = workConferenceConsiderMapper.list(new Page(1, size), "", roleList, currentUser); |
|
|
|
|
List<DgWorkConferencePO> records = list.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0) { |
|
|
|
|
records.forEach(dgWorkConferencePO -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
Integer businessId = dgWorkConferencePO.getBusinessId(); |
|
|
|
@ -418,10 +384,10 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//担保部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))) { |
|
|
|
|
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<DgLoanCommitteeConsiderResponse> list = loanCommitteeConsiderMapper.list(new Page(1, size), "", roleList, currentUser); |
|
|
|
|
List<DgLoanCommitteeConsiderResponse> records = list.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0) { |
|
|
|
|
records.forEach(dgLoanCommitteeConsiderResponse -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
Integer businessId = dgLoanCommitteeConsiderResponse.getBusinessId(); |
|
|
|
@ -439,11 +405,11 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//法规经理、担保部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))) { |
|
|
|
|
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<GuaranteeLetterListResponse> iPage = guaranteeLetterAssignUserMapper.pageByCondition(new Page(1, size), currentUser, roleIdList, null, null); |
|
|
|
|
List<GuaranteeLetterListResponse> records = iPage.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0) { |
|
|
|
|
records.forEach(guaranteeLetterListResponse -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
String name = guaranteeLetterListResponse.getName(); |
|
|
|
@ -461,11 +427,11 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//财务部、法规经理
|
|
|
|
|
if (roleIdList.contains(String.valueOf(PromptSuccess.CWB_ID)) | roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))) { |
|
|
|
|
if (roleIdList.contains(String.valueOf(PromptSuccess.CWB_ID))|roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))) { |
|
|
|
|
//回款确认
|
|
|
|
|
IPage<PaymentConfirmationListResponse> iPage = paymentConfirmationConsiderMapper.pageByCondition(new Page(1, size), roleIdList, currentUser, null, null); |
|
|
|
|
List<PaymentConfirmationListResponse> records = iPage.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0) { |
|
|
|
|
records.forEach(paymentConfirmationListResponse -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
String name = paymentConfirmationListResponse.getName(); |
|
|
|
@ -487,7 +453,7 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
//放款通知
|
|
|
|
|
IPage<LoanNoticeListResponse> iPage = loanNoticeMapper.pageByCondition(new Page(1, size), roleIdList, currentUser, null, null); |
|
|
|
|
List<LoanNoticeListResponse> records = iPage.getRecords(); |
|
|
|
|
if (records != null && records.size() != 0) { |
|
|
|
|
if (records!=null && records.size()!=0) { |
|
|
|
|
records.forEach(loanNoticeListResponse -> { |
|
|
|
|
StatusPO statusPO = new StatusPO(); |
|
|
|
|
String name = loanNoticeListResponse.getName(); |
|
|
|
@ -504,31 +470,45 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//再次循环,拼接数据
|
|
|
|
|
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<DgAuditProcess> wrapper = new QueryWrapper<>(); |
|
|
|
|
wrapper.eq("user_id", currentUser).eq("business_id",key); |
|
|
|
|
List<DgAuditProcess> auditProcessList = dgAuditProcessMapper.selectList(wrapper); |
|
|
|
|
if (auditProcessList != null && auditProcessList.size() != 0) { |
|
|
|
|
//获取累计耗时,完成时间
|
|
|
|
|
HashMap<String, Object> 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; |
|
|
|
|
} |
|
|
|
@ -541,7 +521,7 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
wrapper.eq("business_id", businessId).orderByAsc("create_time"); |
|
|
|
|
List<DgAuditProcess> auditProcessList = dgAuditProcessMapper.selectList(wrapper); |
|
|
|
|
long countTime = 0L; |
|
|
|
|
if (auditProcessList.size() > 1) { |
|
|
|
|
if (auditProcessList.size()>1){ |
|
|
|
|
//遍历业务流程数据,统计该用户的耗时
|
|
|
|
|
for (int i = 1; i <= auditProcessList.size() - 1; i++) { |
|
|
|
|
//从第二条数据开始,获取该数据
|
|
|
|
@ -571,11 +551,11 @@ public class DgEfficiencyServiceImpl extends ServiceImpl<DgEfficiencyMapper, DgA |
|
|
|
|
|
|
|
|
|
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 + "分钟"; |
|
|
|
|
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 +"分钟"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|