From b99bddf4ffb9d5dca2e39d6bbdc9cc9c76faafd1 Mon Sep 17 00:00:00 2001 From: chen <1251790704@qq.com> Date: Mon, 22 Mar 2021 13:09:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E8=A7=92=E8=89=B2=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DgLoanNoticeServiceImpl.java | 69 ++- ...aymentConfirmationConsiderServiceImpl.java | 532 +++++++++--------- 2 files changed, 342 insertions(+), 259 deletions(-) diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgLoanNoticeServiceImpl.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgLoanNoticeServiceImpl.java index b5887d1c..1101701a 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgLoanNoticeServiceImpl.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgLoanNoticeServiceImpl.java @@ -1,24 +1,24 @@ package com.daqing.financial.guarantee.service.impl; +import com.alibaba.fastjson.JSONObject; 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.DgBusinessProcessStatusMapper; -import com.daqing.financial.guarantee.mapper.DgLoanNoticeMapper; -import com.daqing.financial.guarantee.mapper.DgPaymentConfirmationConsiderMapper; +import com.daqing.financial.guarantee.feign.HrmsFeignService; +import com.daqing.financial.guarantee.mapper.*; import com.daqing.financial.guarantee.model.request.LoanNoticeQueryRequest; import com.daqing.financial.guarantee.model.request.LoanNoticeUpdateRequest; +import com.daqing.financial.guarantee.model.response.BusinessApplicationListResponse; import com.daqing.financial.guarantee.model.response.LoanNoticeListResponse; import com.daqing.financial.guarantee.service.IDgLoanNoticeService; import com.daqing.financial.guarantee.util.AuditProcessUtil; import com.daqing.financial.guarantee.util.OrdinaryUtil; -import com.daqing.framework.domain.guarantee.DgBusinessProcessStatus; -import com.daqing.framework.domain.guarantee.DgLoanNotice; -import com.daqing.framework.domain.guarantee.DgPaymentConfirmationConsider; +import com.daqing.framework.domain.guarantee.*; import com.daqing.framework.model.StatusCode; import com.daqing.framework.model.response.PromptSuccess; +import com.daqing.framework.model.response.ResponseResult; import com.daqing.framework.util.RedisUtil; import com.daqing.framework.utils.PageUtils; import com.daqing.framework.utils.excel.EasyExcelUtil; @@ -28,11 +28,12 @@ import org.springframework.stereotype.Service; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.Arrays; -import java.util.List; +import java.math.BigDecimal; +import java.util.*; /** *

@@ -51,6 +52,18 @@ public class DgLoanNoticeServiceImpl extends ServiceImpl().eq("business_id", businessId)); + String phone = businessCompany.getPhone(); + String name = businessCompany.getName(); + DgLoanCommitteeConsider loanCommitteeConsider = loanCommitteeConsiderMapper.selectOne(new QueryWrapper().eq("business_id", businessId)); + Integer loanMoney = loanCommitteeConsider.getLoanMoney(); + String loanTern = loanCommitteeConsider.getLoanTern(); + //添加数据到保后管理 + AlInsuranceList alInsuranceList = new AlInsuranceList(); + alInsuranceList.setBank(bank); + alInsuranceList.setBusinessCode(businessCode); + alInsuranceList.setBusinessType(businessType); + alInsuranceList.setApplyTime(createTime); + alInsuranceList.setPhone(phone); + alInsuranceList.setCustomerName(name); + alInsuranceList.setGuaranteeAmount(BigDecimal.valueOf(loanMoney*10000)); + alInsuranceList.setGuaranteeTime(loanTern); + alInsuranceList.setAmountWide(amountWide); + ArrayList arr = new ArrayList<>(); + arr.add(presenterId); + //根据提单人id查询其部门名称 + ResponseResult responseResult = hrmsFeignService.getAccountAndDeptNameById(arr); + List employeeMessage = null; + if(responseResult.getData() != null){ + employeeMessage = (List) responseResult.getData(); + } + if(employeeMessage!= null){ + for(LinkedHashMap res : employeeMessage){ + if(presenterId.equals(res.get("id"))){//如果提单人id相同情况下,就往对象里面赋值 + alInsuranceList.setDepartment(JSONObject.toJSONString(res.get("deptName")).replace("\"","")); + } + } + } //更新成功,返回操作结果 log.info(updateById > 0 ? "业务流程已完成" : "业务流程已完成更新失败"); return updateById > 0; diff --git a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgPaymentConfirmationConsiderServiceImpl.java b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgPaymentConfirmationConsiderServiceImpl.java index 0ddf5b06..5e92ab90 100644 --- a/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgPaymentConfirmationConsiderServiceImpl.java +++ b/dq-financial-guarantee/src/main/java/com/daqing/financial/guarantee/service/impl/DgPaymentConfirmationConsiderServiceImpl.java @@ -1,5 +1,6 @@ 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; @@ -99,6 +100,274 @@ public class DgPaymentConfirmationConsiderServiceImpl extends ServiceImpl queryWrapperTemp = new QueryWrapper<>(); + queryWrapperTemp.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); + DgPaymentConfirmationConsider paymentConfirmationConsiderTemp = baseMapper.selectOne(queryWrapperTemp); + Integer approveStatus = paymentConfirmationConsiderTemp.getStatus(); + + //之前状态为审批中,同意则添加回款确认数据给法规部经理 + if (StatusCode.SP_REVIEWED.equals(status) && StatusCode.SP_IN_REVIEW.equals(approveStatus)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); + DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); + paymentConfirmationConsider.setAuditOpinion(auditOpinion); + paymentConfirmationConsider.setConsiderId(currentUser); + paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); + paymentConfirmationConsider.setImgFile(imgFile); + int update = baseMapper.updateById(paymentConfirmationConsider); + //同时往审核流程进程表新增一条记录 + String account = DgApplyAmountInfoController.getAccount(); + String departmentId = OrdinaryUtil.getDepartmentId(currentUser); + AuditProcessUtil.save(currentUser,businessId,account,departmentId, + auditOpinion,9,PromptSuccess.CWB_ID,"","","",status); + Integer companyId = paymentConfirmationConsider.getCompanyId(); + //更新成功,添加法规部经理数据 + if (update > 0){ + int insert = 0; + QueryWrapper wrapperTemp = new QueryWrapper<>(); + wrapperTemp.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); + DgPaymentConfirmationConsider paymentConfirmationTemp = baseMapper.selectOne(wrapperTemp); + if (paymentConfirmationTemp==null){ + DgPaymentConfirmationConsider dgPaymentConfirmationConsider = new DgPaymentConfirmationConsider(); + dgPaymentConfirmationConsider.setRoleId(PromptSuccess.FG_JL_ID); + dgPaymentConfirmationConsider.setBusinessId(businessId); + dgPaymentConfirmationConsider.setCompanyId(companyId); + dgPaymentConfirmationConsider.setImgFile(imgFile); + insert = baseMapper.insert(dgPaymentConfirmationConsider); + }else { + paymentConfirmationTemp.setAuditOpinion(""); + paymentConfirmationTemp.setStatus(StatusCode.SP_IN_REVIEW); + paymentConfirmationTemp.setOperatingStatus(StatusCode.CZ_ON_HAND); + insert = baseMapper.updateById(paymentConfirmationTemp); + } + //更新成功,返回操作结果 + log.info(insert > 0 ? "财务部经理确认成功" : "财务部经理确认失败"); + return insert > 0; + } + } + + //之前状态为驳回,同意则更新回款确认数据给法规部经理 + if (StatusCode.SP_REVIEWED.equals(status) && StatusCode.SP_REJECT.equals(approveStatus)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); + DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); + paymentConfirmationConsider.setAuditOpinion(auditOpinion); + paymentConfirmationConsider.setConsiderId(currentUser); + paymentConfirmationConsider.setStatus(StatusCode.SP_IN_REVIEW); + paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); + paymentConfirmationConsider.setImgFile(imgFile); + int update = baseMapper.updateById(paymentConfirmationConsider); + //同时往审核流程进程表新增一条记录 + String account = DgApplyAmountInfoController.getAccount(); + String departmentId = OrdinaryUtil.getDepartmentId(currentUser); + AuditProcessUtil.save(currentUser,businessId,account,departmentId, + auditOpinion, 9,PromptSuccess.CWB_ID,"","","",status); + //更新成功,更新法规部经理数据 + if (update > 0){ + QueryWrapper wrapperTemp = new QueryWrapper<>(); + wrapperTemp.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); + DgPaymentConfirmationConsider paymentConfirmationTemp = baseMapper.selectOne(wrapperTemp); + paymentConfirmationTemp.setAuditOpinion(""); + paymentConfirmationTemp.setStatus(StatusCode.SP_IN_REVIEW); + paymentConfirmationTemp.setOperatingStatus(StatusCode.CZ_ON_HAND); + int updateById = baseMapper.updateById(paymentConfirmationTemp); + //更新成功,返回操作结果 + log.info(updateById > 0 ? "驳回后再次财务部经理确认成功" : "驳回后再次财务部经理确认失败"); + return updateById > 0; + } + } + + //驳回操作,更新数据和资产部经理数据及返回上一流程 + if (StatusCode.SP_REJECT.equals(status)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); + DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); + paymentConfirmationConsider.setAuditOpinion(auditOpinion); + paymentConfirmationConsider.setConsiderId(currentUser); + paymentConfirmationConsider.setStatus(StatusCode.SP_REJECT); + paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); + paymentConfirmationConsider.setImgFile(imgFile); + int update = baseMapper.updateById(paymentConfirmationConsider); + //同时往审核流程进程表新增一条记录 + String account = DgApplyAmountInfoController.getAccount(); + String departmentId = OrdinaryUtil.getDepartmentId(currentUser); + AuditProcessUtil.save(currentUser,businessId,account,departmentId, + auditOpinion,9,PromptSuccess.CWB_ID,"","","",status); + //更新成功,更新资产部经理数据及其他人的数据 + if (update > 0){ + //更新法规部经理数据 + //根据业务id查询法规部经理数据 + QueryWrapper guaranteeLetterAssignUserQueryWrapperFg = new QueryWrapper<>(); + guaranteeLetterAssignUserQueryWrapperFg.eq("business_id",businessId).eq("role_id",PromptSuccess.FG_JL_ID); + DgGuaranteeLetterAssignUser dgGuaranteeLetterAssignUserFg = guaranteeLetterAssignUserMapper.selectOne(guaranteeLetterAssignUserQueryWrapperFg); + dgGuaranteeLetterAssignUserFg.setStatus(StatusCode.SP_REJECT); + guaranteeLetterAssignUserMapper.updateById(dgGuaranteeLetterAssignUserFg); + + //更新a角 + //根据业务id查询A用户数据 + QueryWrapper guaranteeLetterAssignUserQueryWrapperA = new QueryWrapper<>(); + guaranteeLetterAssignUserQueryWrapperA.eq("business_id",businessId).eq("role_id",PromptSuccess.DB_A_ID); + DgGuaranteeLetterAssignUser dgGuaranteeLetterAssignUserA = guaranteeLetterAssignUserMapper.selectOne(guaranteeLetterAssignUserQueryWrapperA); + dgGuaranteeLetterAssignUserA.setStatus(StatusCode.SP_REJECT); + guaranteeLetterAssignUserMapper.updateById(dgGuaranteeLetterAssignUserA); + + //更新b角 + //根据业务id查询B用户数据 + QueryWrapper guaranteeLetterAssignUserQueryWrapperB = new QueryWrapper<>(); + guaranteeLetterAssignUserQueryWrapperB.eq("business_id",businessId).eq("role_id",PromptSuccess.DB_B_ID); + DgGuaranteeLetterAssignUser dgGuaranteeLetterAssignUserB = guaranteeLetterAssignUserMapper.selectOne(guaranteeLetterAssignUserQueryWrapperB); + dgGuaranteeLetterAssignUserB.setStatus(StatusCode.SP_REJECT); + guaranteeLetterAssignUserMapper.updateById(dgGuaranteeLetterAssignUserB); + + QueryWrapper guaranteeLetterAssignUserQueryWrapper = new QueryWrapper<>(); + guaranteeLetterAssignUserQueryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.ZC_JL_ID); + DgGuaranteeLetterAssignUser dgGuaranteeLetterAssignUser = guaranteeLetterAssignUserMapper.selectOne(guaranteeLetterAssignUserQueryWrapper); + dgGuaranteeLetterAssignUser.setStatus(StatusCode.SP_REJECT); + dgGuaranteeLetterAssignUser.setOperatingStatus(StatusCode.CZ_ON_HAND); + dgGuaranteeLetterAssignUser.setAuditOpinion(""); + int updateById = guaranteeLetterAssignUserMapper.updateById(dgGuaranteeLetterAssignUser); + //更新成功,返回操作结果 + log.info(updateById > 0 ? "驳回更新资产部经理成功" : "驳回更新资产部经理失败"); + return updateById > 0; + } + } + //其他情况均为失败 + return false; + } + + /** + * 法规部经理操作 + */ + private boolean regulationDepartmentOperating(Integer businessId,Integer currentUser,String auditOpinion,Integer status,String imgFile){ + //更新之前,获取此数据的审批状态,如果审批状态为驳回,则更新法规部经理数据,如果审批状态为审批中,则添加法规部经理数据—_— + QueryWrapper queryWrapperTemp = new QueryWrapper<>(); + queryWrapperTemp.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); + DgPaymentConfirmationConsider paymentConfirmationConsiderTemp = baseMapper.selectOne(queryWrapperTemp); + Integer approveStatus = paymentConfirmationConsiderTemp.getStatus(); + + //之前状态为审批中,同意则添加放款通知数据给法规部经理 + if (StatusCode.SP_REVIEWED.equals(status) && StatusCode.SP_IN_REVIEW.equals(approveStatus)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); + DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); + paymentConfirmationConsider.setAuditOpinion(auditOpinion); + paymentConfirmationConsider.setConsiderId(currentUser); + paymentConfirmationConsider.setStatus(StatusCode.SP_REVIEWED); + paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); + int update = baseMapper.updateById(paymentConfirmationConsider); + + //同时往审核流程进程表新增一条记录 + String account = DgApplyAmountInfoController.getAccount(); + String departmentId = OrdinaryUtil.getDepartmentId(currentUser); + AuditProcessUtil.save(currentUser,businessId,account,departmentId, + auditOpinion,9,PromptSuccess.FG_JL_ID,"","","",status); + Integer companyId = paymentConfirmationConsider.getCompanyId(); + //更新成功,添加法规部经理数据和更新财务部数据 + if (update > 0){ + QueryWrapper queryWrapperCwb = new QueryWrapper<>(); + queryWrapperCwb.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); + DgPaymentConfirmationConsider paymentConfirmationConsiderCwb = baseMapper.selectOne(queryWrapperCwb); + paymentConfirmationConsiderCwb.setStatus(StatusCode.SP_REVIEWED); + baseMapper.updateById(paymentConfirmationConsiderCwb); + + int insert = 0; + QueryWrapper loanNoticeQueryWrapperFG = new QueryWrapper<>(); + loanNoticeQueryWrapperFG.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); + DgLoanNotice loanNoticeFG = dgLoanNoticeMapper.selectOne(loanNoticeQueryWrapperFG); + if (loanNoticeFG==null){ + DgLoanNotice loanNotice = new DgLoanNotice(); + loanNotice.setCompanyId(companyId); + loanNotice.setBusinessId(businessId); + loanNotice.setRoleId(PromptSuccess.FG_JL_ID); + insert = dgLoanNoticeMapper.insert(loanNotice); + }else { + loanNoticeFG.setStatus(StatusCode.SP_IN_REVIEW); + loanNoticeFG.setOperatingStatus(StatusCode.CZ_ON_HAND); + loanNoticeFG.setAuditOpinion(""); + insert = dgLoanNoticeMapper.updateById(loanNoticeFG); + } + //更新成功,返回操作结果 + log.info(insert > 0 ? "法规部经理确认成功" : "法规部经理确认失败"); + return insert > 0; + } + } + + //之前状态为驳回,同意则更新放款通知数据给法规部经理 + if (StatusCode.SP_REVIEWED.equals(status) && StatusCode.SP_REJECT.equals(approveStatus)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); + DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); + paymentConfirmationConsider.setAuditOpinion(auditOpinion); + paymentConfirmationConsider.setConsiderId(currentUser); + paymentConfirmationConsider.setStatus(StatusCode.SP_REVIEWED); + paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); + int update = baseMapper.updateById(paymentConfirmationConsider); + //同时往审核流程进程表新增一条记录 + String account = DgApplyAmountInfoController.getAccount(); + String departmentId = OrdinaryUtil.getDepartmentId(currentUser); + AuditProcessUtil.save(currentUser,businessId,account,departmentId, + auditOpinion, 9,PromptSuccess.FG_JL_ID,"","","",status); + //更新成功,更新法规部经理数据和财务部经理数据 + if (update > 0){ + QueryWrapper queryWrapperCwb = new QueryWrapper<>(); + queryWrapperCwb.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); + DgPaymentConfirmationConsider paymentConfirmationConsiderCwb = baseMapper.selectOne(queryWrapperCwb); + paymentConfirmationConsiderCwb.setStatus(StatusCode.SP_REVIEWED); + baseMapper.updateById(paymentConfirmationConsiderCwb); + + QueryWrapper loanNoticeQueryWrapper = new QueryWrapper<>(); + loanNoticeQueryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); + DgLoanNotice loanNotice = dgLoanNoticeMapper.selectOne(loanNoticeQueryWrapper); + //清空审批意见 + loanNotice.setAuditOpinion(""); + loanNotice.setStatus(StatusCode.SP_IN_REVIEW); + loanNotice.setOperatingStatus(StatusCode.CZ_ON_HAND); + int updateById = dgLoanNoticeMapper.updateById(loanNotice); + //更新成功,返回操作结果 + log.info(updateById > 0 ? "驳回后再次财务部经理确认成功" : "驳回后再次财务部经理确认失败"); + return updateById > 0; + } + } + + //驳回操作,更新数据和财务部经理数据及返回上一流程 + if (StatusCode.SP_REJECT.equals(status)){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); + DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); + paymentConfirmationConsider.setAuditOpinion(auditOpinion); + paymentConfirmationConsider.setConsiderId(currentUser); + paymentConfirmationConsider.setStatus(StatusCode.SP_REJECT); + paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); + int update = baseMapper.updateById(paymentConfirmationConsider); + //同时往审核流程进程表新增一条记录 + String account = DgApplyAmountInfoController.getAccount(); + String departmentId = OrdinaryUtil.getDepartmentId(currentUser); + AuditProcessUtil.save(currentUser,businessId,account,departmentId, + auditOpinion,9,PromptSuccess.FG_JL_ID,"","","",status); + //更新成功,更新财务部经理数据 + if (update > 0){ + QueryWrapper queryWrapperT = new QueryWrapper<>(); + queryWrapperT.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); + DgPaymentConfirmationConsider paymentConfirmationConsiderT = baseMapper.selectOne(queryWrapperT); + paymentConfirmationConsiderT.setOperatingStatus(StatusCode.CZ_ON_HAND); + paymentConfirmationConsiderT.setStatus(StatusCode.SP_REJECT); + paymentConfirmationConsiderT.setAuditOpinion(""); + int updateById = baseMapper.updateById(paymentConfirmationConsiderT); + //更新成功,返回操作结果 + log.info(updateById > 0 ? "驳回更新资产部经理成功" : "驳回更新资产部经理失败"); + return updateById > 0; + } + } + //其他情况均为失败 + return false; + } + @Override public boolean updatePaymentConfirmation(PaymentConfirmationUpdateRequest paymentConfirmationUpdateRequest) { //取出条件 @@ -124,263 +393,24 @@ public class DgPaymentConfirmationConsiderServiceImpl extends ServiceImpl queryWrapperTemp = new QueryWrapper<>(); - queryWrapperTemp.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); - DgPaymentConfirmationConsider paymentConfirmationConsiderTemp = baseMapper.selectOne(queryWrapperTemp); - Integer approveStatus = paymentConfirmationConsiderTemp.getStatus(); - - //之前状态为审批中,同意则添加回款确认数据给法规部经理 - if (StatusCode.SP_REVIEWED.equals(status) && StatusCode.SP_IN_REVIEW.equals(approveStatus)){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); - DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); - paymentConfirmationConsider.setAuditOpinion(auditOpinion); - paymentConfirmationConsider.setConsiderId(currentUser); - paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); - paymentConfirmationConsider.setImgFile(imgFile); - int update = baseMapper.updateById(paymentConfirmationConsider); - //同时往审核流程进程表新增一条记录 - String account = DgApplyAmountInfoController.getAccount(); - String departmentId = OrdinaryUtil.getDepartmentId(currentUser); - AuditProcessUtil.save(currentUser,businessId,account,departmentId, - auditOpinion,9,PromptSuccess.CWB_ID,"","","",status); - Integer companyId = paymentConfirmationConsider.getCompanyId(); - //更新成功,添加法规部经理数据 - if (update > 0){ - int insert = 0; - QueryWrapper wrapperTemp = new QueryWrapper<>(); - wrapperTemp.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); - DgPaymentConfirmationConsider paymentConfirmationTemp = baseMapper.selectOne(wrapperTemp); - if (paymentConfirmationTemp==null){ - DgPaymentConfirmationConsider dgPaymentConfirmationConsider = new DgPaymentConfirmationConsider(); - dgPaymentConfirmationConsider.setRoleId(PromptSuccess.FG_JL_ID); - dgPaymentConfirmationConsider.setBusinessId(businessId); - dgPaymentConfirmationConsider.setCompanyId(companyId); - dgPaymentConfirmationConsider.setImgFile(imgFile); - insert = baseMapper.insert(dgPaymentConfirmationConsider); - }else { - paymentConfirmationTemp.setAuditOpinion(""); - paymentConfirmationTemp.setStatus(StatusCode.SP_IN_REVIEW); - paymentConfirmationTemp.setOperatingStatus(StatusCode.CZ_ON_HAND); - insert = baseMapper.updateById(paymentConfirmationTemp); - } - //更新成功,返回操作结果 - log.info(insert > 0 ? "财务部经理确认成功" : "财务部经理确认失败"); - return insert > 0; - } + //财务部经理数据是否被操作过 + QueryWrapper queryWrapperOne = new QueryWrapper<>(); + queryWrapperOne.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); + DgPaymentConfirmationConsider paymentConfirmationConsiderOne = baseMapper.selectOne(queryWrapperOne); + Integer userId = paymentConfirmationConsiderOne.getConsiderId(); + //没有操作过则财务部经理操作 + if (ObjectUtil.isNull(userId)){ + return this.financeDepartmentOperating(businessId,currentUser,auditOpinion,status,imgFile); } - - //之前状态为驳回,同意则更新回款确认数据给法规部经理 - if (StatusCode.SP_REVIEWED.equals(status) && StatusCode.SP_REJECT.equals(approveStatus)){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); - DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); - paymentConfirmationConsider.setAuditOpinion(auditOpinion); - paymentConfirmationConsider.setConsiderId(currentUser); - paymentConfirmationConsider.setStatus(StatusCode.SP_IN_REVIEW); - paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); - paymentConfirmationConsider.setImgFile(imgFile); - int update = baseMapper.updateById(paymentConfirmationConsider); - //同时往审核流程进程表新增一条记录 - String account = DgApplyAmountInfoController.getAccount(); - String departmentId = OrdinaryUtil.getDepartmentId(currentUser); - AuditProcessUtil.save(currentUser,businessId,account,departmentId, - auditOpinion, 9,PromptSuccess.CWB_ID,"","","",status); - //更新成功,更新法规部经理数据 - if (update > 0){ - QueryWrapper wrapperTemp = new QueryWrapper<>(); - wrapperTemp.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); - DgPaymentConfirmationConsider paymentConfirmationTemp = baseMapper.selectOne(wrapperTemp); - paymentConfirmationTemp.setAuditOpinion(""); - paymentConfirmationTemp.setStatus(StatusCode.SP_IN_REVIEW); - paymentConfirmationTemp.setOperatingStatus(StatusCode.CZ_ON_HAND); - int updateById = baseMapper.updateById(paymentConfirmationTemp); - //更新成功,返回操作结果 - log.info(updateById > 0 ? "驳回后再次财务部经理确认成功" : "驳回后再次财务部经理确认失败"); - return updateById > 0; - } - } - - //驳回操作,更新数据和资产部经理数据及返回上一流程 - if (StatusCode.SP_REJECT.equals(status)){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); - DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); - paymentConfirmationConsider.setAuditOpinion(auditOpinion); - paymentConfirmationConsider.setConsiderId(currentUser); - paymentConfirmationConsider.setStatus(StatusCode.SP_REJECT); - paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); - paymentConfirmationConsider.setImgFile(imgFile); - int update = baseMapper.updateById(paymentConfirmationConsider); - //同时往审核流程进程表新增一条记录 - String account = DgApplyAmountInfoController.getAccount(); - String departmentId = OrdinaryUtil.getDepartmentId(currentUser); - AuditProcessUtil.save(currentUser,businessId,account,departmentId, - auditOpinion,9,PromptSuccess.CWB_ID,"","","",status); - //更新成功,更新资产部经理数据及其他人的数据 - if (update > 0){ - //更新法规部经理数据 - //根据业务id查询法规部经理数据 - QueryWrapper guaranteeLetterAssignUserQueryWrapperFg = new QueryWrapper<>(); - guaranteeLetterAssignUserQueryWrapperFg.eq("business_id",businessId).eq("role_id",PromptSuccess.FG_JL_ID); - DgGuaranteeLetterAssignUser dgGuaranteeLetterAssignUserFg = guaranteeLetterAssignUserMapper.selectOne(guaranteeLetterAssignUserQueryWrapperFg); - dgGuaranteeLetterAssignUserFg.setStatus(StatusCode.SP_REJECT); - guaranteeLetterAssignUserMapper.updateById(dgGuaranteeLetterAssignUserFg); - - //更新a角 - //根据业务id查询A用户数据 - QueryWrapper guaranteeLetterAssignUserQueryWrapperA = new QueryWrapper<>(); - guaranteeLetterAssignUserQueryWrapperA.eq("business_id",businessId).eq("role_id",PromptSuccess.DB_A_ID); - DgGuaranteeLetterAssignUser dgGuaranteeLetterAssignUserA = guaranteeLetterAssignUserMapper.selectOne(guaranteeLetterAssignUserQueryWrapperA); - dgGuaranteeLetterAssignUserA.setStatus(StatusCode.SP_REJECT); - guaranteeLetterAssignUserMapper.updateById(dgGuaranteeLetterAssignUserA); - - //更新b角 - //根据业务id查询B用户数据 - QueryWrapper guaranteeLetterAssignUserQueryWrapperB = new QueryWrapper<>(); - guaranteeLetterAssignUserQueryWrapperB.eq("business_id",businessId).eq("role_id",PromptSuccess.DB_B_ID); - DgGuaranteeLetterAssignUser dgGuaranteeLetterAssignUserB = guaranteeLetterAssignUserMapper.selectOne(guaranteeLetterAssignUserQueryWrapperB); - dgGuaranteeLetterAssignUserB.setStatus(StatusCode.SP_REJECT); - guaranteeLetterAssignUserMapper.updateById(dgGuaranteeLetterAssignUserB); - - QueryWrapper guaranteeLetterAssignUserQueryWrapper = new QueryWrapper<>(); - guaranteeLetterAssignUserQueryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.ZC_JL_ID); - DgGuaranteeLetterAssignUser dgGuaranteeLetterAssignUser = guaranteeLetterAssignUserMapper.selectOne(guaranteeLetterAssignUserQueryWrapper); - dgGuaranteeLetterAssignUser.setStatus(StatusCode.SP_REJECT); - dgGuaranteeLetterAssignUser.setOperatingStatus(StatusCode.CZ_ON_HAND); - dgGuaranteeLetterAssignUser.setAuditOpinion(""); - int updateById = guaranteeLetterAssignUserMapper.updateById(dgGuaranteeLetterAssignUser); - //更新成功,返回操作结果 - log.info(updateById > 0 ? "驳回更新资产部经理成功" : "驳回更新资产部经理失败"); - return updateById > 0; - } + //操作过,拥有法规部经理,则法规部经理操作 + if (roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))){ + return this.regulationDepartmentOperating(businessId,currentUser,auditOpinion,status,imgFile); } } - //角色为法规部经理回款确认操作和驳回操作 if (roleIdList.contains(String.valueOf(PromptSuccess.FG_JL_ID))){ - //更新之前,获取此数据的审批状态,如果审批状态为驳回,则更新法规部经理数据,如果审批状态为审批中,则添加法规部经理数据—_— - QueryWrapper queryWrapperTemp = new QueryWrapper<>(); - queryWrapperTemp.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); - DgPaymentConfirmationConsider paymentConfirmationConsiderTemp = baseMapper.selectOne(queryWrapperTemp); - Integer approveStatus = paymentConfirmationConsiderTemp.getStatus(); - - //之前状态为审批中,同意则添加放款通知数据给法规部经理 - if (StatusCode.SP_REVIEWED.equals(status) && StatusCode.SP_IN_REVIEW.equals(approveStatus)){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); - DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); - paymentConfirmationConsider.setAuditOpinion(auditOpinion); - paymentConfirmationConsider.setConsiderId(currentUser); - paymentConfirmationConsider.setStatus(StatusCode.SP_REVIEWED); - paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); - int update = baseMapper.updateById(paymentConfirmationConsider); - - //同时往审核流程进程表新增一条记录 - String account = DgApplyAmountInfoController.getAccount(); - String departmentId = OrdinaryUtil.getDepartmentId(currentUser); - AuditProcessUtil.save(currentUser,businessId,account,departmentId, - auditOpinion,9,PromptSuccess.FG_JL_ID,"","","",status); - Integer companyId = paymentConfirmationConsider.getCompanyId(); - //更新成功,添加法规部经理数据和更新财务部数据 - if (update > 0){ - QueryWrapper queryWrapperCwb = new QueryWrapper<>(); - queryWrapperCwb.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); - DgPaymentConfirmationConsider paymentConfirmationConsiderCwb = baseMapper.selectOne(queryWrapperCwb); - paymentConfirmationConsiderCwb.setStatus(StatusCode.SP_REVIEWED); - baseMapper.updateById(paymentConfirmationConsiderCwb); - - int insert = 0; - QueryWrapper loanNoticeQueryWrapperFG = new QueryWrapper<>(); - loanNoticeQueryWrapperFG.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); - DgLoanNotice loanNoticeFG = dgLoanNoticeMapper.selectOne(loanNoticeQueryWrapperFG); - if (loanNoticeFG==null){ - DgLoanNotice loanNotice = new DgLoanNotice(); - loanNotice.setCompanyId(companyId); - loanNotice.setBusinessId(businessId); - loanNotice.setRoleId(PromptSuccess.FG_JL_ID); - insert = dgLoanNoticeMapper.insert(loanNotice); - }else { - loanNoticeFG.setStatus(StatusCode.SP_IN_REVIEW); - loanNoticeFG.setOperatingStatus(StatusCode.CZ_ON_HAND); - loanNoticeFG.setAuditOpinion(""); - insert = dgLoanNoticeMapper.updateById(loanNoticeFG); - } - //更新成功,返回操作结果 - log.info(insert > 0 ? "法规部经理确认成功" : "法规部经理确认失败"); - return insert > 0; - } - } - - //之前状态为驳回,同意则更新放款通知数据给法规部经理 - if (StatusCode.SP_REVIEWED.equals(status) && StatusCode.SP_REJECT.equals(approveStatus)){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); - DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); - paymentConfirmationConsider.setAuditOpinion(auditOpinion); - paymentConfirmationConsider.setConsiderId(currentUser); - paymentConfirmationConsider.setStatus(StatusCode.SP_REVIEWED); - paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); - int update = baseMapper.updateById(paymentConfirmationConsider); - //同时往审核流程进程表新增一条记录 - String account = DgApplyAmountInfoController.getAccount(); - String departmentId = OrdinaryUtil.getDepartmentId(currentUser); - AuditProcessUtil.save(currentUser,businessId,account,departmentId, - auditOpinion, 9,PromptSuccess.FG_JL_ID,"","","",status); - //更新成功,更新法规部经理数据和财务部经理数据 - if (update > 0){ - QueryWrapper queryWrapperCwb = new QueryWrapper<>(); - queryWrapperCwb.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); - DgPaymentConfirmationConsider paymentConfirmationConsiderCwb = baseMapper.selectOne(queryWrapperCwb); - paymentConfirmationConsiderCwb.setStatus(StatusCode.SP_REVIEWED); - baseMapper.updateById(paymentConfirmationConsiderCwb); - - QueryWrapper loanNoticeQueryWrapper = new QueryWrapper<>(); - loanNoticeQueryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); - DgLoanNotice loanNotice = dgLoanNoticeMapper.selectOne(loanNoticeQueryWrapper); - //清空审批意见 - loanNotice.setAuditOpinion(""); - loanNotice.setStatus(StatusCode.SP_IN_REVIEW); - loanNotice.setOperatingStatus(StatusCode.CZ_ON_HAND); - int updateById = dgLoanNoticeMapper.updateById(loanNotice); - //更新成功,返回操作结果 - log.info(updateById > 0 ? "驳回后再次财务部经理确认成功" : "驳回后再次财务部经理确认失败"); - return updateById > 0; - } - } - - //驳回操作,更新数据和财务部经理数据及返回上一流程 - if (StatusCode.SP_REJECT.equals(status)){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("business_id",businessId).eq("role_id", PromptSuccess.FG_JL_ID); - DgPaymentConfirmationConsider paymentConfirmationConsider = baseMapper.selectOne(queryWrapper); - paymentConfirmationConsider.setAuditOpinion(auditOpinion); - paymentConfirmationConsider.setConsiderId(currentUser); - paymentConfirmationConsider.setStatus(StatusCode.SP_REJECT); - paymentConfirmationConsider.setOperatingStatus(StatusCode.CZ_PROCESSED); - int update = baseMapper.updateById(paymentConfirmationConsider); - //同时往审核流程进程表新增一条记录 - String account = DgApplyAmountInfoController.getAccount(); - String departmentId = OrdinaryUtil.getDepartmentId(currentUser); - AuditProcessUtil.save(currentUser,businessId,account,departmentId, - auditOpinion,9,PromptSuccess.FG_JL_ID,"","","",status); - //更新成功,更新财务部经理数据 - if (update > 0){ - QueryWrapper queryWrapperT = new QueryWrapper<>(); - queryWrapperT.eq("business_id",businessId).eq("role_id", PromptSuccess.CWB_ID); - DgPaymentConfirmationConsider paymentConfirmationConsiderT = baseMapper.selectOne(queryWrapperT); - paymentConfirmationConsiderT.setOperatingStatus(StatusCode.CZ_ON_HAND); - paymentConfirmationConsiderT.setStatus(StatusCode.SP_REJECT); - paymentConfirmationConsiderT.setAuditOpinion(""); - int updateById = baseMapper.updateById(paymentConfirmationConsiderT); - //更新成功,返回操作结果 - log.info(updateById > 0 ? "驳回更新资产部经理成功" : "驳回更新资产部经理失败"); - return updateById > 0; - } - } + return this.regulationDepartmentOperating(businessId,currentUser,auditOpinion,status,imgFile); } }