From 731f121d4e3966dfcc0f122542f489c225489702 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 11 六月 2025 18:27:35 +0800
Subject: [PATCH] 提交一把订单
---
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 1186 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 1,063 insertions(+), 123 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
index b143150..997b409 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -14,6 +14,7 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dto.*;
+import com.doumee.dao.business.join.ApplyDetailJoinMapper;
import com.doumee.dao.business.join.MultifileJoinMapper;
import com.doumee.dao.business.join.SettleClaimsJoinMapper;
import com.doumee.dao.business.join.SettleClaimsLogJoinMapper;
@@ -22,6 +23,9 @@
import com.doumee.dao.business.vo.RiskConfigVO;
import com.doumee.dao.business.vo.SettleClaimsMoneyVO;
import com.doumee.dao.business.vo.SettleParentStatusVO;
+import com.doumee.dao.business.vo.dataBoard.DataListVO;
+import com.doumee.dao.business.vo.dataBoard.InsuranceDataVO;
+import com.doumee.dao.business.vo.dataBoard.SettleClaimsDataVO;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.SettleClaimsLogService;
import com.doumee.service.business.SettleClaimsService;
@@ -51,6 +55,7 @@
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.nio.charset.Charset;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -64,6 +69,8 @@
@Autowired
private SettleClaimsMapper settleClaimsMapper;
+ @Autowired
+ private MemberMapper memberMapper;
@Autowired
private SettleClaimsExtMapper settleClaimsExtMapper;
@@ -96,6 +103,18 @@
@Autowired
private ApplyDetailMapper applyDetailMapper;
+ @Autowired
+ private AreasMapper areasMapper;
+
+
+ @Autowired
+ private WorktypeMapper worktypeMapper;
+
+ @Autowired
+ private InsuranceMapper insuranceMapper;
+
+ @Autowired
+ private ApplyDetailJoinMapper applyDetailJoinMapper;
/**
* 鍒犻櫎闄勪欢
* @return
@@ -394,6 +413,7 @@
}
if(!Constants.equalsObject(settleClaims.getStatus(),Constants.ZERO)
&&( Objects.isNull(settleClaims.getExtData().getBxName())
+ || Objects.isNull(settleClaims.getExtData().getReportDate())
|| Objects.isNull(settleClaims.getExtData().getBxCode())
|| Objects.isNull(settleClaims.getExtData().getBxEnddate())
|| Objects.isNull(settleClaims.getExtData().getBxOrg())
@@ -565,6 +585,7 @@
)>Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鎻愭姤涓殑鎶ユ鏁版嵁!");
}
+
settleClaims.setCreateDate(new Date());
settleClaims.setIsdeleted(Constants.ZERO);
settleClaims.setCompanyId(loginUserInfo.getCompanyId());
@@ -593,9 +614,7 @@
}
}
//璁板綍鏃ュ織
- this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.UPLOAD,null);
-
-
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.UPLOAD,null,null);
//瀛樺偍寰呭姙淇℃伅
Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
//鍒犻櫎鍏朵粬寰呭姙
@@ -737,6 +756,7 @@
settleClaims.setDzbdFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_DZBD_FILE.getKey())).collect(Collectors.toList()));
+ settleClaims.setSupplementFileList(multifileList.stream().filter(m->m.getObjType().equals(Constants.MultiFile.LP_SUPPLEMENT_FILE.getKey())).collect(Collectors.toList()));
}
//鏌ヨ鎿嶄綔璁板綍
@@ -779,7 +799,105 @@
}else if(!Objects.isNull(lastConfirm)&&Objects.isNull(multifile)){
settleClaims.setFinishDate(lastConfirm.getCreateDate());
}
+ List<SettleParentStatusVO> parentStatusVOList = this.getParentStatus(settleClaims);
+ settleClaims.setParentStatusVOList(parentStatusVOList);
+ settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus()));
+
+ if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.REJECT_DEAL.getKey())
+ || Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey())){
+ SettleClaimsLog settleClaimsLog = settleClaimsLogJoinMapper.selectJoinOne(SettleClaimsLog.class,
+ new MPJLambdaWrapper<SettleClaimsLog>()
+ .selectAll(SettleClaimsLog.class)
+ .selectAs(SystemUser::getRealname,SettleClaimsLog::getCreatorName)
+ .selectAs(SystemUser::getType,SettleClaimsLog::getCreatorType)
+ .selectAs(Company::getName,SettleClaimsLog::getCompanyName)
+ .leftJoin(SystemUser.class,SystemUser::getId,SettleClaimsLog::getCreator)
+ .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+ .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
+ .in(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_DISCUSS_REFUSE.getKey(),
+ Constants.SettleClaimsLogType.PLATFORM_REFUSE_ACCEPTANCE.getKey())
+ .orderByDesc(SettleClaimsLog::getCreateDate)
+ .last(" limit 1")
+ );
+ settleClaims.setRefuseSettleClaimsLog(settleClaimsLog);
+ }else if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey())){
+ SettleClaimsLog settleClaimsLog = settleClaimsLogJoinMapper.selectJoinOne(SettleClaimsLog.class,
+ new MPJLambdaWrapper<SettleClaimsLog>()
+ .selectAll(SettleClaimsLog.class)
+ .selectAs(SystemUser::getRealname,SettleClaimsLog::getCreatorName)
+ .selectAs(SystemUser::getType,SettleClaimsLog::getCreatorType)
+ .selectAs(Company::getName,SettleClaimsLog::getCompanyName)
+ .leftJoin(SystemUser.class,SystemUser::getId,SettleClaimsLog::getCreator)
+ .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+ .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
+ .in(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_RETURN.getKey())
+ .orderByDesc(SettleClaimsLog::getCreateDate)
+ .last(" limit 1")
+ );
+ settleClaims.setRefuseSettleClaimsLog(settleClaimsLog);
+ }else if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
+ &&Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)
+ ){
+ SettleClaimsLog settleClaimsLog = settleClaimsLogJoinMapper.selectJoinOne(SettleClaimsLog.class,
+ new MPJLambdaWrapper<SettleClaimsLog>()
+ .selectAll(SettleClaimsLog.class)
+ .selectAs(SystemUser::getRealname,SettleClaimsLog::getCreatorName)
+ .selectAs(SystemUser::getType,SettleClaimsLog::getCreatorType)
+ .selectAs(Company::getName,SettleClaimsLog::getCompanyName)
+ .leftJoin(SystemUser.class,SystemUser::getId,SettleClaimsLog::getCreator)
+ .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+ .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
+ .in(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE.getKey())
+ .orderByDesc(SettleClaimsLog::getCreateDate)
+ .last(" limit 1")
+ );
+ settleClaims.setRefuseSettleClaimsLog(settleClaimsLog);
+ }else if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())){
+ SettleClaimsLog settleClaimsLog = settleClaimsLogJoinMapper.selectJoinOne(SettleClaimsLog.class,
+ new MPJLambdaWrapper<SettleClaimsLog>()
+ .selectAll(SettleClaimsLog.class)
+ .selectAs(SystemUser::getRealname,SettleClaimsLog::getCreatorName)
+ .selectAs(SystemUser::getType,SettleClaimsLog::getCreatorType)
+ .selectAs(Company::getName,SettleClaimsLog::getCompanyName)
+ .leftJoin(SystemUser.class,SystemUser::getId,SettleClaimsLog::getCreator)
+ .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+ .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
+ .in(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_FINISH.getKey())
+ .orderByDesc(SettleClaimsLog::getCreateDate)
+ .last(" limit 1")
+ );
+ settleClaims.setRefuseSettleClaimsLog(settleClaimsLog);
+ }
+
+ if((Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
+ || Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey()))
+ && Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)){
+ SettleClaimsLog settleClaimsLog = settleClaimsLogJoinMapper.selectJoinOne(SettleClaimsLog.class,
+ new MPJLambdaWrapper<SettleClaimsLog>()
+ .selectAll(SettleClaimsLog.class)
+ .selectAs(SystemUser::getRealname,SettleClaimsLog::getCreatorName)
+ .selectAs(SystemUser::getType,SettleClaimsLog::getCreatorType)
+ .selectAs(Company::getName,SettleClaimsLog::getCompanyName)
+ .leftJoin(SystemUser.class,SystemUser::getId,SettleClaimsLog::getCreator)
+ .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
+ .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
+ .in(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE.getKey())
+ .orderByDesc(SettleClaimsLog::getCreateDate)
+ .last(" limit 1")
+ );
+ settleClaims.setSupplementSettleClaimsLog(settleClaimsLog);
+ }
+ dealNoticeOldDataBiz(settleClaims);//澶勭悊寰呭姙鑴忔暟鎹�
return settleClaims;
+ }
+
+ private void dealNoticeOldDataBiz(SettleClaims settleClaims) {
+ if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())
+ ||Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN.getKey())
+ ||Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey())
+ ||Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.REJECT_DEAL.getKey())){
+ deletedNoticeBiz(null,settleClaims);
+ }
}
@@ -899,6 +1017,7 @@
.last("limit 1")));
}
settleClaims.setExtData(settleClaimsExtMapper.selectOne(new QueryWrapper<SettleClaimsExt>().lambda().eq(SettleClaimsExt::getSettileClaimsId,id).last("limit 1")));
+ settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus()));
return settleClaims;
}
@@ -951,7 +1070,7 @@
settleClaimsMapper.updateById(oldSettleClaims);
//璁板綍鏃ュ織
Constants.SettleClaimsLogType settleClaimsLogType = Constants.SettleClaimsLogType.UPDATE_DATA;
- this.saveSettleClaimsLog(settleClaims,settleClaimsLogType,null);
+ this.saveSettleClaimsLog(settleClaims,settleClaimsLogType,null,null);
return oldSettleClaims.getId();
}
@@ -983,7 +1102,7 @@
Constants.SettleClaimsLogType settleClaimsLogType = Constants.SettleClaimsLogType.SUPPLEMENT;
String content = settleClaimsLogType.getInfo().replace("${param}", scSupplementDTO.getSupplement());
- this.saveSettleClaimsLog(settleClaims,settleClaimsLogType,content);
+ this.saveSettleClaimsLog(settleClaims,settleClaimsLogType,content,null);
}
@@ -1024,10 +1143,10 @@
- public void saveSettleClaimsLog(SettleClaims settleClaims, Constants.SettleClaimsLogType settleClaimsLogType, String content){
+ public void saveSettleClaimsLog(SettleClaims settleClaims, Constants.SettleClaimsLogType settleClaimsLogType, String content,Constants.SettleClaimsStatus settleClaimsStatus){
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
SettleClaimsLog settleClaimsLog = new SettleClaimsLog();
- settleClaimsLog.setCreateDate(new Date());
+ settleClaimsLog.setCreateDate(Objects.isNull(settleClaims.getEditDate())?new Date():settleClaims.getEditDate());
settleClaimsLog.setCreator(loginUserInfo.getId());
settleClaimsLog.setIsdeleted(Constants.ZERO);
settleClaimsLog.setSettleClainmsId(settleClaims.getId());
@@ -1035,6 +1154,10 @@
settleClaimsLog.setContent(content);
settleClaimsLog.setObjType(settleClaimsLogType.getKey());
settleClaimsLog.setObjId(settleClaims.getId());
+ if(Objects.nonNull(settleClaimsStatus)){
+ settleClaimsLog.setParentStatus(settleClaimsStatus.getParentKey());
+ settleClaimsLog.setStatus(settleClaimsStatus.getKey());
+ }
settleClaimsLogMapper.insert(settleClaimsLog);
}
@@ -1103,6 +1226,7 @@
.selectAs(Member::getIdcardNo,SettleClaims::getMemberIdcardNo)
.selectAs(Worktype::getName,SettleClaims::getWorktypeName)
.selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime)
+ .selectAs(InsuranceApply::getCode,SettleClaims::getApplyCode)
.selectAs(DispatchUnit::getName,SettleClaims::getDuName)
.selectAs(InsuranceApply::getStartTime,SettleClaims::getBaoxianStartTime)
.selectAs(InsuranceApply::getEndTime,SettleClaims::getBaoxianEndTime)
@@ -1121,7 +1245,8 @@
}else {
queryWrapper. in(Company::getId, user.getCompanyIdList());
}
- } else {
+ queryWrapper.ne(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey());
+ }{
//浼佷笟鐢ㄦ埛鍙湅鑷繁鐨勬暟鎹�
pageWrap.getModel().setCompanyId(user.getCompanyId());
}
@@ -1156,7 +1281,8 @@
PageData<SettleClaims> pageData = PageData.from(settleClaimsJoinMapper.selectJoinPage(page,SettleClaims.class, queryWrapper));
for (SettleClaims settleClaims:pageData.getRecords()) {
settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus()));
- settleClaims.setPcAccount(settleClaims.getHpAccount().add(settleClaims.getHpOtherAccount()));
+
+ settleClaims.setPcAccount(Constants.getBigDecimalNoNull(settleClaims.getHpAccount()).add(Constants.getBigDecimalNoNull(settleClaims.getHpOtherAccount())));
}
return pageData;
}
@@ -1176,6 +1302,7 @@
.selectAs(SettleClaimsExt::getBxStartdate,SettleClaims::getBaoxianStartTime)
.selectAs(SettleClaimsExt::getBxEnddate,SettleClaims::getBaoxianEndTime)
.selectAs(SettleClaimsExt::getBxCode,SettleClaims::getApplyCode)
+ .selectAs(SettleClaimsExt::getReportDate,SettleClaims::getReportDate)
.innerJoin(SettleClaimsExt.class,SettleClaimsExt::getSettileClaimsId,SettleClaims::getId);
queryWrapper.eq(SettleClaims::getIsdeleted,Constants.ZERO);
queryWrapper.eq(SettleClaims::getOrigin,Constants.ONE);
@@ -1184,7 +1311,7 @@
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getInformantName()),SettleClaims::getInformantName, pageWrap.getModel().getInformantName());
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getHappenTime()),SettleClaims::getHappenTime, pageWrap.getModel().getHappenTime());
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreateDateStr()),SettleClaims::getCreateDate, pageWrap.getModel().getCreateDateStr());
- queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getMemberName());
+ queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getExtData().getMemberName()),SettleClaimsExt::getMemberName, pageWrap.getModel().getExtData().getMemberName());
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getSolutionName()),SettleClaimsExt::getBxName, pageWrap.getModel().getSolutionName());
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getApplyCode()),SettleClaimsExt::getBxCode, pageWrap.getModel().getApplyCode());
queryWrapper.eq(pageWrap.getModel().getInHospital()!=null,SettleClaims::getInHospital, pageWrap.getModel().getInHospital());
@@ -1192,7 +1319,9 @@
queryWrapper.orderByDesc(SettleClaims::getCreateDate);
PageData<SettleClaims> pageData = PageData.from(settleClaimsJoinMapper.selectJoinPage(page,SettleClaims.class, queryWrapper));
for (SettleClaims settleClaims:pageData.getRecords()) {
- settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus()));
+ if(Objects.nonNull(settleClaims.getStatus())){
+ settleClaims.setStatusName(Constants.SettleClaimsStatus.getName(settleClaims.getStatus()));
+ }
settleClaims.setPcAccount(settleClaims.getHpAccount().add(settleClaims.getHpOtherAccount()));
}
return pageData;
@@ -1209,7 +1338,7 @@
@Override
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
- public void saveSettleClaims(SettleClaimsDTO settleClaimsDTO,SystemDictDataServiceImpl systemDictDataService){
+ public Integer saveSettleClaims(SettleClaimsDTO settleClaimsDTO,SystemDictDataServiceImpl systemDictDataService){
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
if(!loginUserInfo.getType().equals(Constants.ONE)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氬憳宸ユ棤娉曡繘琛岃鎿嶄綔");
@@ -1217,8 +1346,9 @@
if(Objects.isNull(settleClaimsDTO)
|| Objects.isNull(settleClaimsDTO.getSaveType())
|| Objects.isNull(settleClaimsDTO.getMemberId())
- ||StringUtils.isBlank(settleClaimsDTO.getIdcardNo())
+ || StringUtils.isBlank(settleClaimsDTO.getIdcardNo())
|| Objects.isNull(settleClaimsDTO.getInsuranceApplyId())
+ || Objects.isNull(settleClaimsDTO.getApplyDetailId())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -1241,24 +1371,62 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
}
+ InsuranceApply insuranceApply = insuranceApplyMapper.selectById(settleClaimsDTO.getInsuranceApplyId());
+ if(Objects.isNull(insuranceApply)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ ApplyDetail applyDetail = applyDetailMapper.selectById(settleClaimsDTO.getApplyDetailId());
+ if(Objects.isNull(applyDetail)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ Member member =memberMapper.selectById(settleClaimsDTO.getMemberId());
+ if(member == null){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍑洪櫓浜轰俊鎭笉姝g‘锛�");
+ }
+ if(!(Constants.equalsInteger(insuranceApply.getId(),applyDetail.getApplyId())||Constants.equalsInteger(applyDetail.getMemberId(),member.getId()))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"淇℃伅鍖归厤閿欒");
+ }
SettleClaims settleClaims = new SettleClaims();
BeanUtils.copyProperties(settleClaimsDTO,settleClaims);
+ settleClaims.setEditDate(new Date());
settleClaims.setReportNumStatus(Constants.ZERO);
+ settleClaims.setCompanyId(loginUserInfo.getCompanyId());
settleClaims.setOrigin(Constants.ZERO);
+ settleClaims.setMemberName(member.getName());
+ settleClaims.setCreateDate(new Date());
+ settleClaims.setMemberAge(
+ Constants.calculateAge(member.getIdcardNo(),DateUtil.StringToDate(settleClaims.getHappenTime()))
+ );
+ if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)&&StringUtils.isBlank(settleClaims.getCode())){
+ Long nextCode = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda().ne(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())
+ .eq(SettleClaims::getOrigin,Constants.ZERO) .like(SettleClaims::getCreateDate,DateUtil.getDate(new Date(),"yyyy-MM-dd"))
+ )+1;
+ settleClaims.setCode("YYBLP-"+DateUtil.getDate(new Date(),"yyyyMMdd")+
+ (StringUtils.leftPad(nextCode.toString(),2,"0"))
+ );
+ }
if(Objects.nonNull(settleClaims.getId())){
+ SettleClaims model = settleClaimsMapper.selectById(settleClaims.getId());
+ if(Objects.isNull(model)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey()))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆锛屾棤娉曡繘琛屼慨鏀�");
+ }
settleClaims.setEditDate(new Date());
settleClaims.setEditor(loginUserInfo.getId());
settleClaims.setStatus(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)?
Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey():Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey());
- if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)){
+ if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)&&
+ Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())){
//澶勭悊椋庨櫓淇℃伅
this.saveRisk(settleClaims,settleClaimsDTO,systemDictDataService);
}
settleClaimsMapper.updateById(settleClaims);
}else{
- settleClaims.setCreateDate(new Date());
settleClaims.setIsdeleted(Constants.ZERO);
- settleClaims.setCompanyId(loginUserInfo.getCompanyId());
settleClaims.setStatus(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)?
Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey():Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey());
if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)){
@@ -1270,12 +1438,38 @@
settleClaimsMapper.insert(settleClaims);
}
this.saveFile(settleClaims,settleClaimsDTO,loginUserInfo);
+ if(Constants.equalsInteger(settleClaimsDTO.getSaveType(),Constants.ONE)){
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.UPLOAD,null,Constants.SettleClaimsStatus.RETURN_ACCEPTANCE);
+ if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())){
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.PLATFORM_REGISTER,null,Constants.SettleClaimsStatus.CONFIRM_INFORMATION);
+ }
+ }
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ if( Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()) ||
+ Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())){
+ //-濡傛灉鏄緟绔嬫鎴栬�呭凡绔嬫寰呭鏍革紝缁欏钩鍙扮鍙戝緟鍔為�氱煡-------------
+ sendNoticeBiz(Constants.ZERO,settleClaims,Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey())?Constants.NoticeType.ZERO:Constants.NoticeType.TWO);
+ }
+ return settleClaims.getId();
+ }
- //璁板綍鏃ュ織
- this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.UPLOAD,null);
+ private String getNoticeConttent(SettleClaims settleClaims) {
+ if(StringUtils.isBlank(settleClaims.getMemberName()) && settleClaims.getMemberId()!=null){
+ Member member = memberMapper.selectById(settleClaims.getMemberId());
+ if(member!=null){
+ settleClaims.setMemberName(member.getName());
+ }
+ }
+ return "鎶ユ鍙凤細"+StringUtils.defaultString(settleClaims.getCode(),"")+" 鍑洪櫓浜猴細"+StringUtils.defaultString(settleClaims.getMemberName(),"");
}
public void saveRisk(SettleClaims settleClaims, SettleClaimsDTO settleClaimsDTO, SystemDictDataServiceImpl systemDictDataService){
+ settleClaims.setRiskDelayUnit(Constants.ZERO);
+ settleClaims.setRiskUnTakeEffect(Constants.ZERO);
+ settleClaims.setRiskNewUser(Constants.ZERO);
+ settleClaims.setRiskTimesCx(Constants.ZERO);
+ settleClaims.setRiskTimesSp(Constants.ZERO);
+ settleClaims.setRiskRepeat(Constants.ZERO);
//鏍规嵁淇濆崟淇℃伅 鏌ヨ鍑轰富鏂规
InsuranceApply insuranceApply = insuranceApplyMapper.selectById(settleClaims.getInsuranceApplyId());
if(Objects.isNull(insuranceApply)){
@@ -1283,7 +1477,7 @@
}
Date happenTime = DateUtil.StringToDate(settleClaims.getHappenTime());
if(happenTime.getTime() < insuranceApply.getStartTime().getTime() || happenTime.getTime() > insuranceApply.getEndTime().getTime()){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓浜嬩欢鏈湪淇濆崟鐢熸晥鑼冨洿鍐�");
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪淇濆崟鐢熸晥鑼冨洿鍐�");
}
Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
if(Objects.isNull(solutions)){
@@ -1295,11 +1489,14 @@
}
List<Map<String,String>> riskList = new ArrayList<>();
//鏌ヨ淇濆崟鏄庣粏鏁版嵁
- ApplyDetail applyDetail = applyDetailMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,settleClaims.getInsuranceApplyId()).eq(ApplyDetail::getId,settleClaimsDTO.getApplyDetailId()).last("limit 1 "));
+ ApplyDetail applyDetail = applyDetailMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda()
+ .eq(ApplyDetail::getApplyId,settleClaims.getInsuranceApplyId())
+ .eq(ApplyDetail::getId,settleClaimsDTO.getApplyDetailId()).last("limit 1 "));
//鏄惁寮�鍚� 鏂板憳宸ユ姤妗� 0涓嶅厑璁� 1鍏佽
if(Constants.equalsInteger(solutionsBase.getRiskNewUserStatus(),Constants.ONE)
&& Objects.nonNull(solutionsBase.getRiskNewUserUnit())
&& Objects.nonNull(solutionsBase.getRiskNewUserTime())
+ && happenTime.getTime() < applyDetail.getStartTime().getTime()
){
if(happenTime.getTime() > applyDetail.getEndTime().getTime()){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�");
@@ -1316,10 +1513,12 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�");
}
}
+
if(happenTime.getTime() < startDate.getTime() ){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�");
}else{
map.put("info","浜嬫晠鍙戠敓鏃堕棿鏃╀簬淇濆崟鐢熸晥鏃堕棿"+solutionsBase.getRiskNewUserUnit()+(Constants.equalsInteger(solutionsBase.getRiskNewUserUnit(),Constants.ONE)?"灏忔椂鍐�":"澶╁唴"));
+ settleClaims.setRiskUnTakeEffect(Constants.ONE);
riskList.add(map);
}
}else{
@@ -1335,18 +1534,21 @@
//鏍规嵁閰嶇疆 鏌ヨ 寤惰繜鎶ユ鎻愰啋鏃堕棿鍗曚綅 0鍒嗛挓 1灏忔椂 2澶�
if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.ZERO)){
if(DateUtil.getBetweenMin(happenTime,new Date())>solutionsBase.getRiskDelayTime()){
- map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayUnit()+"鍒嗛挓");
+ map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayTime()+"鍒嗛挓");
+ settleClaims.setRiskDelayUnit(Constants.ONE);
riskList.add(map);
}
}else if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.ONE)){
if(DateUtil.getBetweenHours(happenTime,new Date())>solutionsBase.getRiskDelayTime()){
- map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayUnit()+"灏忔椂");
+ map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayTime()+"灏忔椂");
riskList.add(map);
+ settleClaims.setRiskDelayUnit(Constants.ONE);
}
}else if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.TWO)){
if(DateUtil.getBetweenDay(happenTime,new Date())>solutionsBase.getRiskDelayTime()){
- map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayUnit()+"澶�");
+ map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayTime()+"澶�");
riskList.add(map);
+ settleClaims.setRiskDelayUnit(Constants.ONE);
}
}
}
@@ -1361,7 +1563,7 @@
.ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId())
.apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ")
);
- if(cxcs>Integer.valueOf(riskConfigVO.getRiskTimesReportTimes())){
+ if(cxcs>=Integer.valueOf(riskConfigVO.getRiskTimesReportTimes())){
Map<String,String> map = new HashMap<>();
map.put("title","鐤戜技澶氭鍑洪櫓");
map.put("info","鍑洪櫓浜轰竴骞村唴宸插嚭闄�"+cxcs+"娆�");
@@ -1377,10 +1579,10 @@
Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
.eq(SettleClaims::getMemberId,settleClaimsDTO.getMemberId())
.ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId())
- .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" HOUR) ")
- .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("2")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" DAY) ")
+ .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")," CREATE_DATE > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" HOUR) ")
+ .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("2")," CREATE_DATE > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" DAY) ")
);
- if(cxcs > Constants.TWO){
+ if(cxcs >= Constants.ONE){
Map<String,String> map = new HashMap<>();
map.put("title","鐤戜技閲嶅鎶ユ");
map.put("info","璇ュ嚭闄╀汉鍦�"+riskConfigVO.getRiskRepeatReportTime()+(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")?"灏忔椂":"澶�")+"鍐呭凡鎶ユ"+cxcs+"娆�");
@@ -1396,8 +1598,9 @@
&& StringUtils.isNotBlank(riskConfigVO.getRiskClaimTimes())){
Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
.eq(SettleClaims::getInsuranceApplyId,settleClaimsDTO.getInsuranceApplyId())
+ .eq(SettleClaims::getIsdeleted,Constants.ZERO)
.ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId())
- .apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ")
+ .apply(" CREATE_DATE > DATE_SUB(now(), INTERVAL 365 DAY) ")
);
if(cxcs > Integer.valueOf(riskConfigVO.getRiskClaimTimes())){
Map<String,String> map = new HashMap<>();
@@ -1412,7 +1615,7 @@
if(StringUtils.isNotBlank(riskConfigVO.getRiskSensitiveWordsOpen())
&& StringUtils.equals(riskConfigVO.getRiskSensitiveWordsOpen(),Constants.ONE+"")
&& StringUtils.isNotBlank(riskConfigVO.getRiskSensitiveWords())){
- String [] words = riskConfigVO.getRiskSensitiveWords().split(",");
+ String [] words = riskConfigVO.getRiskSensitiveWords().split(";");
String sensitiveWord = "";
for (String word:words) {
if(settleClaims.getContent().indexOf(word)>=Constants.ZERO){
@@ -1485,6 +1688,7 @@
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
}
+ multifile.setId(null);
multifile.setCreator(loginUserInfo.getId());
multifile.setCreateDate(new Date());
multifile.setIsdeleted(Constants.ZERO);
@@ -1497,14 +1701,15 @@
List<Multifile> relationFileList = settleClaimsDTO.getRelationFileList();
if(CollectionUtils.isNotEmpty(relationFileList)){
- for (int i = 0; i < reportVideo.size(); i++) {
- Multifile multifile = reportVideo.get(i);
+ for (int i = 0; i < relationFileList.size(); i++) {
+ Multifile multifile = relationFileList.get(i);
if(Objects.isNull(multifile.getFileurl())
|| Objects.isNull(multifile.getType())
|| StringUtils.isBlank(multifile.getName())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
}
+ multifile.setId(null);
multifile.setCreator(loginUserInfo.getId());
multifile.setCreateDate(new Date());
multifile.setIsdeleted(Constants.ZERO);
@@ -1517,14 +1722,15 @@
List<Multifile> outpatientFileList = settleClaimsDTO.getOutpatientFileList();
if(CollectionUtils.isNotEmpty(outpatientFileList)){
- for (int i = 0; i < reportVideo.size(); i++) {
- Multifile multifile = reportVideo.get(i);
+ for (int i = 0; i < outpatientFileList.size(); i++) {
+ Multifile multifile = outpatientFileList.get(i);
if(Objects.isNull(multifile.getFileurl())
|| Objects.isNull(multifile.getType())
|| StringUtils.isBlank(multifile.getName())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
}
+ multifile.setId(null);
multifile.setCreator(loginUserInfo.getId());
multifile.setCreateDate(new Date());
multifile.setIsdeleted(Constants.ZERO);
@@ -1537,14 +1743,15 @@
List<Multifile> hospitalFileList = settleClaimsDTO.getHospitalFileList();
if(CollectionUtils.isNotEmpty(hospitalFileList)){
- for (int i = 0; i < reportVideo.size(); i++) {
- Multifile multifile = reportVideo.get(i);
+ for (int i = 0; i < hospitalFileList.size(); i++) {
+ Multifile multifile = hospitalFileList.get(i);
if(Objects.isNull(multifile.getFileurl())
|| Objects.isNull(multifile.getType())
|| StringUtils.isBlank(multifile.getName())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
}
+ multifile.setId(null);
multifile.setCreator(loginUserInfo.getId());
multifile.setCreateDate(new Date());
multifile.setIsdeleted(Constants.ZERO);
@@ -1557,14 +1764,15 @@
List<Multifile> disabilityFileList = settleClaimsDTO.getDisabilityFileList();
if(CollectionUtils.isNotEmpty(disabilityFileList)){
- for (int i = 0; i < reportVideo.size(); i++) {
- Multifile multifile = reportVideo.get(i);
+ for (int i = 0; i < disabilityFileList.size(); i++) {
+ Multifile multifile = disabilityFileList.get(i);
if(Objects.isNull(multifile.getFileurl())
|| Objects.isNull(multifile.getType())
|| StringUtils.isBlank(multifile.getName())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
}
+ multifile.setId(null);
multifile.setCreator(loginUserInfo.getId());
multifile.setCreateDate(new Date());
multifile.setIsdeleted(Constants.ZERO);
@@ -1577,14 +1785,15 @@
List<Multifile> otherFileList = settleClaimsDTO.getOtherFileList();
if(CollectionUtils.isNotEmpty(otherFileList)){
- for (int i = 0; i < reportVideo.size(); i++) {
- Multifile multifile = reportVideo.get(i);
+ for (int i = 0; i < otherFileList.size(); i++) {
+ Multifile multifile = otherFileList.get(i);
if(Objects.isNull(multifile.getFileurl())
|| Objects.isNull(multifile.getType())
|| StringUtils.isBlank(multifile.getName())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
}
+ multifile.setId(null);
multifile.setCreator(loginUserInfo.getId());
multifile.setCreateDate(new Date());
multifile.setIsdeleted(Constants.ZERO);
@@ -1593,7 +1802,27 @@
multifile.setSortnum(i+1);
multifileJoinMapper.insert(multifile);
}
- }
+ }
+ List<Multifile> supplementFileList = settleClaimsDTO.getSupplementFileList();
+ if(CollectionUtils.isNotEmpty(supplementFileList)){
+ for (int i = 0; i < supplementFileList.size(); i++) {
+ Multifile multifile = supplementFileList.get(i);
+ if(Objects.isNull(multifile.getFileurl())
+ || Objects.isNull(multifile.getType())
+ || StringUtils.isBlank(multifile.getName())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+ }
+ multifile.setId(null);
+ multifile.setCreator(loginUserInfo.getId());
+ multifile.setCreateDate(new Date());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(settleClaims.getId());
+ multifile.setObjType(Constants.MultiFile.LP_SUPPLEMENT_FILE.getKey());
+ multifile.setSortnum(i+1);
+ multifileJoinMapper.insert(multifile);
+ }
+ }
}
// public void getRiskSettleDetail(Integer id){
@@ -1637,10 +1866,17 @@
if(Constants.equalsInteger(settleClaims.getWaitSupplement(),Constants.ONE)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰呬紒涓氳ˉ鍏呮枃浠讹紝璇风瓑寰呬紒涓氳ˉ鍏呮枃浠�");
}
+ settleClaims.setEditDate(new Date());
//瀛樺偍鏃ュ織
- this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE,dto.getDescribe());
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT_DESCRIBE,dto.getDescribe(),null);
settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getWaitSupplement,Constants.ONE));
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime())
+ .set(SettleClaims::getWaitSupplementInfo,dto.getDescribe())
+ .set(SettleClaims::getWaitSupplement,Constants.ONE));
+
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ //濡傛灉鍙戣捣浠e姙,閫氱煡浼佷笟
+ sendNoticeBiz(Constants.ONE,settleClaims,Constants.NoticeType.THREE);
}
@Override
@@ -1681,6 +1917,7 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
}
settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .set(SettleClaims::getWaitSupplement,Constants.ZERO)
.eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getWaitSupplement,Constants.ZERO));
}
multifileJoinMapper.delete(new QueryWrapper<Multifile>().lambda().eq(Multifile::getObjId,dto.getId()).eq(Multifile::getObjType,Constants.MultiFile.LP_OTHER_FILE.getKey()));
@@ -1699,13 +1936,18 @@
multifile.setIsdeleted(Constants.ZERO);
multifile.setObjId(settleClaims.getId());
//娣诲姞鏉愭枡鏀惧叆 鍏朵粬鏉愭枡涓氬姟鍐�
- multifile.setObjType(Constants.MultiFile.LP_OTHER_FILE.getKey());
+ multifile.setObjType(Constants.MultiFile.LP_SUPPLEMENT_FILE.getKey());
multifile.setSortnum(i+1);
multifileJoinMapper.insert(multifile);
}
}
+ settleClaims.setEditDate(new Date());
//瀛樺偍鏃ュ織
- this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT,null);
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT,null,null);
+ //鍒犻櫎浼佷笟鐨勪唬鍔為�氱煡------
+ deletedNoticeBiz(null,settleClaims );
+ sendNoticeBiz(Constants.ZERO,settleClaims,Constants.NoticeType.TWO);
+
}
@@ -1732,13 +1974,15 @@
if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍浼佷笟鐨勬暟鎹紝鎮ㄦ棤娉曡繘琛岃鎿嶄綔");
}
- if(!Constants.equalsInteger(Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey(),settleClaims.getStatus())){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
- }
+ settleClaims.setEditDate(new Date());
//瀛樺偍鏃ュ織
- this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.RETURN_SETTLE,null);
+ this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.RETURN_SETTLE,null,Constants.SettleClaimsStatus.RETURN);
settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey()));
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate())
+ .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.RETURN.getKey()));
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ //缁欎紒涓氬彂閫氱煡锛屽凡缁撴-------------
+ sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.FOURTEEN);
}
@@ -1760,13 +2004,17 @@
if(Objects.isNull(settleClaims)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(!Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())){
+ if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())
+ || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus()))
+ ){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
}
+ settleClaims.setEditDate(new Date());
//瀛樺偍鏃ュ織
- this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.UPD_CASE_TYPE,Constants.SettleClaimsLogType.UPD_CASE_TYPE.getInfo());
+ this.saveSettleClaimsLog(settleClaims, Constants.SettleClaimsLogType.UPD_CASE_TYPE,Constants.SettleClaimsLogType.UPD_CASE_TYPE.getInfo(),null);
settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime())
+ .eq(SettleClaims::getId,dto.getId())
+ .set(SettleClaims::getEditDate,settleClaims.getEditDate())
.set(SettleClaims::getEditor,loginUserInfo.getId())
.set(SettleClaims::getCaseType,dto.getCaseType()));
}
@@ -1798,10 +2046,22 @@
Constants.SettleClaimsStatus settleClaimsStatus =
Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsStatus.CONFIRM_INFORMATION:Constants.SettleClaimsStatus.FINISH_ACCEPTANCE;
//瀛樺偍鏃ュ織
- this.saveSettleClaimsLog(settleClaims, Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsLogType.PLATFORM_REGISTER:Constants.SettleClaimsLogType.PLATFORM_RETURN,dto.getDescribe());
+ settleClaims.setEditDate(new Date());
+ this.saveSettleClaimsLog(settleClaims, Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsLogType.PLATFORM_REGISTER:Constants.SettleClaimsLogType.PLATFORM_RETURN,dto.getDescribe(),settleClaimsStatus);
settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,
- DateUtil.getCurrDateTime()).set(SettleClaims::getStatus,settleClaimsStatus.getKey()));
+ .eq(SettleClaims::getId,dto.getId())
+ .set(SettleClaims::getEditDate, settleClaims.getEditDate())
+ .set(SettleClaims::getEditor,loginUserInfo.getId())
+ .set(SettleClaims::getStatus,settleClaimsStatus.getKey()));
+
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ if( Constants.equalsInteger(settleClaimsStatus.getKey(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()) ){
+ //濡傛灉鏄鏍搁�氳繃宸茬珛妗堝緟瀹℃牳锛岀粰骞冲彴鍙戝緟鍙楃悊寰呭姙閫氱煡-------------
+ sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.TWO);
+ }else{
+ //濡傛灉鏄鏍镐笉閫氳繃锛岄��鍥炵珛妗� 锛岀粰浼佷笟鍙戦�氱煡-------------
+ sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.ONE);
+ }
}
@@ -1829,8 +2089,17 @@
if(Constants.equalsInteger(model.getReportNumStatus(),Constants.TWO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浠呭彲淇敼涓�娆℃姤妗堝彿");
}
- if(!((Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())&&Constants.equalsInteger(model.getReportNumStatus(),Constants.ONE))
- ||(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DEAL.getKey())&&Constants.equalsInteger(model.getReportNumStatus(),Constants.ZERO)))){
+ if(!(
+ (Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
+ &&Constants.equalsInteger(model.getReportNumStatus(),Constants.ONE))
+ ||((Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())
+ || Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
+ || Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey()))
+ &&Constants.equalsInteger(model.getReportNumStatus(),Constants.ZERO))
+// ||(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.WAIT_DEAL.getKey())
+// &&Constants.equalsInteger(model.getReportNumStatus(),Constants.ZERO))
+ )
+ ){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浠呭彲淇敼涓�娆℃姤妗堝彿");
}
@@ -1845,12 +2114,14 @@
// if(Constants.equalsInteger(model.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())&&StringUtils.isNotBlank(model.getReportNum())){
// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸蹭慨鏀规姤妗堝彿锛屾棤娉曞啀娆′慨鏀�");
// }
- settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate,
- DateUtil.getCurrDateTime()).set(SettleClaims::getReportNum,param.getReportNum()));
SettleClaims update = new SettleClaims();
update.setEditDate(new Date());
+
+ settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getId,param.getId()).set(SettleClaims::getEditDate,
+ update.getEditDate()).set(SettleClaims::getReportNum,param.getReportNum()));
+
update.setEditor(user.getId());
update.setReportNumStatus(model.getReportNumStatus()+Constants.ONE);
update.setId(model.getId());
@@ -1864,6 +2135,7 @@
String info =applyLogType.getInfo();
info = info.replace("${param}", update.getReportNum());
SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+ log.setCreateDate(update.getEditDate());
settleClaimsLogMapper.insert(log);
return 1;
@@ -1907,6 +2179,7 @@
String info =applyLogType.getInfo();
info = info.replace("${param}", param.getDescribe());
SettleClaimsLog log = new SettleClaimsLog(update,applyLogType.getName(), info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+ log.setCreateDate(update.getEditDate());
settleClaimsLogMapper.insert(log);
return 1;
@@ -1937,39 +2210,81 @@
if(Objects.isNull(settleClaims)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(!Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_DEAL.getKey(),settleClaims.getStatus())){
+ if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
}
+ settleClaims.setEditDate(new Date());
if(Constants.equalsInteger(dto.getStatus(),Constants.ZERO) || Constants.equalsInteger(dto.getStatus(),Constants.THREE)){
//鍙楃悊
settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId())
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId())
.set(SettleClaims::getStatus,Constants.SettleClaimsStatus.ACCEPTANCE.getKey()));
//瀛樺偍鏃ュ織
this.saveSettleClaimsLog(settleClaims,
Constants.equalsInteger(dto.getStatus(),Constants.ZERO)?Constants.SettleClaimsLogType.PLATFORM_ACCEPTANCE:Constants.SettleClaimsLogType.PLATFORM_DISCUSS,
- dto.getDescribe());
+ Constants.equalsInteger(dto.getStatus(),Constants.ZERO)?dto.getDescribe():(dto.getDescribe() + " 闂绫诲瀷锛�"+dto.getSyProblemOpts())
+ ,Constants.SettleClaimsStatus.ACCEPTANCE);
}else if(Constants.equalsInteger(dto.getStatus(),Constants.ONE)){
//鎷掔粷鍙楃悊
settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId())
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId())
.set(SettleClaims::getStatus,Constants.SettleClaimsStatus.REJECT_DEAL.getKey()));
//瀛樺偍鏃ュ織
this.saveSettleClaimsLog(settleClaims,
Constants.SettleClaimsLogType.PLATFORM_REFUSE_ACCEPTANCE,
- Constants.SettleClaimsLogType.PLATFORM_REFUSE_ACCEPTANCE.getInfo().replace("{param}",dto.getDescribe()));
+ Constants.SettleClaimsLogType.PLATFORM_REFUSE_ACCEPTANCE.getInfo().replace("{param}",dto.getDescribe()),Constants.SettleClaimsStatus.REJECT_DEAL);
}else if(Constants.equalsInteger(dto.getStatus(),Constants.TWO)){
//鍙楃悊鍟嗚瀹℃壒
settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()).set(SettleClaims::getEditor,loginUserInfo.getId())
- .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.REJECT_DEAL.getKey()));
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate,settleClaims.getEditDate()).set(SettleClaims::getEditor,loginUserInfo.getId())
+ .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey()));
//瀛樺偍鏃ュ織
this.saveSettleClaimsLog(settleClaims,
Constants.SettleClaimsLogType.PLATFORM_WAIT_DISCUSS,
- dto.getDescribe());
+ dto.getDescribe() + " 闂绫诲瀷锛�"+dto.getSyProblemOpts(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT);
+ }
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ if(Constants.equalsInteger(dto.getStatus(),Constants.ZERO) || Constants.equalsInteger(dto.getStatus(),Constants.THREE)){
+ //-濡傛灉鏄鎵归�氳繃锛屾垚涓哄凡鍙楃悊锛岀粰骞冲彴绔彂浠g悊绠楀緟鍔為�氱煡-------------
+ sendNoticeBiz(Constants.ZERO,settleClaims , Constants.NoticeType.EIGHT );
+ sendNoticeBiz(Constants.ONE,settleClaims,Constants.NoticeType.FIFTEEN);
+ }else if(Constants.equalsInteger(dto.getStatus(),Constants.TWO)){
+ //濡傛灉鍙戣捣鍟嗚瀹℃壒锛岄�氱煡骞冲彴
+ sendNoticeBiz(Constants.ZERO, settleClaims , Constants.NoticeType.FIVE );
+ sendNoticeBiz(Constants.ONE,settleClaims,Constants.NoticeType.SIXTEEN);
+ }else{
+ //濡傛灉鏄彈鐞嗘嫆缁�,閫氱煡浼佷笟
+ sendNoticeBiz(Constants.ONE, settleClaims,Constants.NoticeType.SEVEN);
}
}
+ private void sendNoticeBiz(int plat, SettleClaims settleClaims, Constants.NoticeType noticeType) {
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ Notices notices = new Notices(noticeObjectType
+ ,plat
+ ,settleClaims.getId()
+ ,getNoticeConttent(settleClaims)
+ ,settleClaims.getCompanyId()
+ ,noticeType);
+ noticesMapper.insert(notices);
+ }
+ private void deletedNoticeBiz(Integer plat, SettleClaims settleClaim ) {
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda()
+ .eq(plat!=null,Notices::getPalt,plat)
+ .eq(Notices::getObjType,noticeObjectType.getKey())
+ .eq(Notices::getObjId,settleClaim.getId())
+ .notIn(Notices::getType,Constants.NoticeType.ONE.getStatus(),
+ Constants.NoticeType.FOUR.getStatus(),
+ Constants.NoticeType.SEVEN.getStatus(),
+ Constants.NoticeType.FOURTEEN.getStatus(),
+ Constants.NoticeType.FIFTEEN.getStatus(),
+ Constants.NoticeType.SIXTEEN.getStatus(),
+ Constants.NoticeType.SEVENTEEN.getStatus(),
+ Constants.NoticeType.THIRTEEN.getStatus(),
+ Constants.NoticeType.EIGHTEEN.getStatus()))//1, 3, 4, 7,13, 14, 15, 16, 17, 18
+ ;
+ }
@Override
public List<CompensationVO> getCompensation(CompensationFeeDTO compensationFeeDTO){
@@ -1984,9 +2299,9 @@
}
List<CompensationVO> modelList = new ArrayList<>();
if (Objects.nonNull(settleClaims)) {
- if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.ZERO)&&StringUtils.isNotBlank(settleClaims.getAccountContent())){
+ if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.ONE)&&StringUtils.isNotBlank(settleClaims.getAccountContent())){
modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class);
- }else if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.ONE)&&StringUtils.isNotBlank(settleClaims.getHpAccountContent())){
+ }else if(Constants.equalsInteger(compensationFeeDTO.getType(),Constants.TWO)&&StringUtils.isNotBlank(settleClaims.getHpAccountContent())){
modelList = JSONArray.parseArray(settleClaims.getHpAccountContent(),CompensationVO.class);
}
}
@@ -2027,12 +2342,13 @@
if(Objects.isNull(settleClaims)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus()))||Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus())){
+ if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())
+ ||Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus()))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
}
List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
-
+ settleClaims.setEditDate(new Date());
SettleClaims update = new SettleClaims();
update.setEditDate(new Date());
update.setEditor(loginUserInfo.getId());
@@ -2046,12 +2362,16 @@
update.setId(settleClaims.getId());
update.setStatus(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey());
settleClaimsMapper.updateById(update);
-
//瀛樺偍鏃ュ織
this.saveSettleClaimsLog(settleClaims,
Constants.SettleClaimsLogType.PLATFORM_LP_DEAL,
- Constants.SettleClaimsLogType.PLATFORM_LP_DEAL.getInfo());
- }
+ Constants.SettleClaimsLogType.PLATFORM_LP_DEAL.getInfo(),Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION);
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ //缁欏钩鍙板彂寰呮牳璧斿緟鍔為�氱煡-------------
+ sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.NINE);
+ //缁欎紒涓氬彂閫氬凡鐞嗙畻-------------
+ sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.SEVENTEEN);
+}
/**
@@ -2085,12 +2405,21 @@
//瀛樺偍鏃ュ織
Constants.SettleClaimsLogType settleClaimsLogType = Constants.equalsInteger(dto.getStatus(),Constants.ZERO)
?Constants.SettleClaimsLogType.PLATFORM_DISCUSS_PASS:Constants.SettleClaimsLogType.PLATFORM_DISCUSS_REFUSE;
+ settleClaims.setEditDate(new Date());
this.saveSettleClaimsLog(settleClaims, settleClaimsLogType
- ,settleClaimsLogType.getInfo().replace("${param}",dto.getDescribe()));
+ ,settleClaimsLogType.getInfo().replace("${param}",dto.getDescribe()),settleClaimsStatus);
settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, DateUtil.getCurrDateTime())
+ .eq(SettleClaims::getId,dto.getId()).set(SettleClaims::getEditDate, settleClaims.getEditDate())
.set(SettleClaims::getEditor,loginUserInfo.getId())
.set(SettleClaims::getStatus,settleClaimsStatus.getKey()));
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ if( Constants.equalsInteger(settleClaimsStatus.getKey(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey()) ){
+ //濡傛灉鏄鏍搁�氳繃宸茬珛妗堝緟瀹℃牳锛岀粰骞冲彴鍙戝緟鍙楃悊寰呭姙閫氱煡-------------
+ sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.TWO);
+ }else{
+ //濡傛灉鏄鏍镐笉閫氳繃锛岄��鍥炵珛妗� 锛岀粰浼佷笟鍙戦�氱煡-------------
+ sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.ONE);
+ }
}
@@ -2121,15 +2450,13 @@
List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
-
+ settleClaims.setEditDate(new Date());
SettleClaims update = new SettleClaims();
- update.setEditDate(new Date());
+ update.setEditDate(settleClaims.getEditDate());
update.setEditor(loginUserInfo.getId());
update.setHpAccountContent(dto.getCompensationJson());
update.setHpAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
update.setHpOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
-
-
update.setId(settleClaims.getId());
update.setStatus(Constants.SettleClaimsStatus.COMPENSATION.getKey());
settleClaimsMapper.updateById(update);
@@ -2137,7 +2464,10 @@
//瀛樺偍鏃ュ織
this.saveSettleClaimsLog(settleClaims,
Constants.SettleClaimsLogType.PLATFORM_HP_DEAL,
- Constants.SettleClaimsLogType.PLATFORM_HP_DEAL.getInfo());
+ Constants.SettleClaimsLogType.PLATFORM_HP_DEAL.getInfo(),Constants.SettleClaimsStatus.COMPENSATION);
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ //缁欎紒涓氬彂閫氬凡鏍歌禂寰呯‘璁ら噾棰濓紝鍙戜唬鍔�-------------
+ sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.TEN);
}
@@ -2165,9 +2495,9 @@
}
List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
-
+ settleClaims.setEditDate(new Date());
SettleClaims update = new SettleClaims();
- update.setEditDate(new Date());
+ update.setEditDate(settleClaims.getEditDate());
update.setEditor(loginUserInfo.getId());
if(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){
update.setFeeUpdate(Constants.ONE);
@@ -2176,30 +2506,36 @@
update.setWgClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.WG_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
update.setScClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SC_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
update.setSwClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.SW_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
- update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
- //澶勭悊鍘嗗彶鏁版嵁
- List<CompensationVO> oldList = JSONArray.parseArray(settleClaims.getHpAccountContent(),CompensationVO.class);
- for (CompensationVO compensationVO:oldList) {
- if(compensationVO.getName().equals(Constants.compensation.YL_COMPENSATION.getName())){
- compensationVO.setFee(update.getYlClaimAccount());
- }else if(compensationVO.getName().equals(Constants.compensation.WG_COMPENSATION.getName())){
- compensationVO.setFee(update.getWgClaimAccount());
- }else if(compensationVO.getName().equals(Constants.compensation.SC_COMPENSATION.getName())){
- compensationVO.setFee(update.getScClaimAccount());
- }else if(compensationVO.getName().equals(Constants.compensation.SW_COMPENSATION.getName())){
- compensationVO.setFee(update.getSwClaimAccount());
- }else{
- continue;
- }
- }
- update.setAccountContent(JSONArray.toJSONString(oldList));
- update.setId(settleClaims.getId());
+// update.setClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+// //澶勭悊鍘嗗彶鏁版嵁
+// List<CompensationVO> oldList = JSONArray.parseArray(settleClaims.getHpAccountContent(),CompensationVO.class);
+// for (CompensationVO compensationVO:oldList) {
+// if(compensationVO.getName().equals(Constants.compensation.YL_COMPENSATION.getName())){
+// compensationVO.setFee(update.getYlClaimAccount());
+// }else if(compensationVO.getName().equals(Constants.compensation.WG_COMPENSATION.getName())){
+// compensationVO.setFee(update.getWgClaimAccount());
+// }else if(compensationVO.getName().equals(Constants.compensation.SC_COMPENSATION.getName())){
+// compensationVO.setFee(update.getScClaimAccount());
+// }else if(compensationVO.getName().equals(Constants.compensation.SW_COMPENSATION.getName())){
+// compensationVO.setFee(update.getSwClaimAccount());
+// }else{
+// continue;
+// }
+// }
+ update.setHpAccountContent(dto.getCompensationJson());
+ update.setHpAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setHpOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setId(settleClaims.getId());
+ update.setFeeUpdate(Constants.ONE);
settleClaimsMapper.updateById(update);
//瀛樺偍鏃ュ織
this.saveSettleClaimsLog(settleClaims,
Constants.SettleClaimsLogType.PLATFORM_UPD_FEE,
- Constants.SettleClaimsLogType.PLATFORM_UPD_FEE.getInfo());
+ dto.getDescribe(),null);
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ //缁欎紒涓氬彂閫氶噾棰濆彉鏇撮�氱煡-------------
+ sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.EIGHTEEN);
}
@@ -2207,27 +2543,32 @@
@Transactional(rollbackFor = {BusinessException.class,Exception.class})
public void confirmFee(Integer id){
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
- if(!loginUserInfo.getType().equals(Constants.ZERO)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ if(!loginUserInfo.getType().equals(Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氫汉鍛樻棤娉曡繘琛岃鎿嶄綔");
}
SettleClaims settleClaims = settleClaimsJoinMapper.selectById(id);
if(Objects.isNull(settleClaims)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(!Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ //濡傛灉鏄紒涓� 鏌ヨ鏄惁鏄嚜宸变紒涓氱殑鏁版嵁
+ if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍浼佷笟鐨勬暟鎹紝鎮ㄦ棤娉曡繘琛岃鎿嶄綔");
}
+ settleClaims.setEditDate(new Date());
SettleClaims update = new SettleClaims();
- update.setEditDate(new Date());
+ update.setEditDate(settleClaims.getEditDate());
update.setEditor(loginUserInfo.getId());
- update.setStatus(Constants.SettleClaimsStatus.WAIT_DEAL.getKey());
+ update.setStatus(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey());
update.setId(settleClaims.getId());
settleClaimsMapper.updateById(update);
//瀛樺偍鏃ュ織
this.saveSettleClaimsLog(settleClaims,
Constants.SettleClaimsLogType.CONFIRM_FEE,
- Constants.SettleClaimsLogType.CONFIRM_FEE.getInfo());
+ Constants.SettleClaimsLogType.CONFIRM_FEE.getInfo(),Constants.SettleClaimsStatus.CONFIRM_FEE);
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ //缁欏钩鍙板彂寰呭姙锛屽凡纭閲戦锛屽彂寰呯粨妗堜唬鍔�-------------
+ sendNoticeBiz(Constants.ZERO,settleClaims ,Constants.NoticeType.TWELVE);
}
@@ -2251,10 +2592,14 @@
if(!Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
}
+ settleClaims.setEditDate(new Date());
SettleClaims update = new SettleClaims();
- update.setEditDate(new Date());
+ update.setEditDate(settleClaims.getEditDate());
update.setEditor(loginUserInfo.getId());
update.setStatus(Constants.SettleClaimsStatus.CLOSE_CASE.getKey());
+ update.setCheckDate(new Date());
+ update.setCheckUserId(loginUserInfo.getId());
+ update.setCheckInfo(Constants.SettleClaimsStatus.CLOSE_CASE.name());
update.setId(settleClaims.getId());
settleClaimsMapper.updateById(update);
@@ -2285,7 +2630,10 @@
//瀛樺偍鏃ュ織
this.saveSettleClaimsLog(settleClaims,
Constants.SettleClaimsLogType.PLATFORM_FINISH,
- dto.getDescribe());
+ dto.getDescribe(),Constants.SettleClaimsStatus.CLOSE_CASE);
+ deletedNoticeBiz(null,settleClaims);//鍒犻櫎閫氱煡
+ //缁欎紒涓氬彂閫氱煡锛屽凡缁撴-------------
+ sendNoticeBiz(Constants.ONE,settleClaims ,Constants.NoticeType.THIRTEEN);
}
@@ -2293,7 +2641,9 @@
public List<SettleParentStatusVO> getParentStatus(SettleClaims settleClaims){
List<SettleParentStatusVO> settleParentStatusVOList = new ArrayList<>();
List<SettleClaimsLog> settleClaimsLogList = settleClaimsLogMapper
- .selectList(new QueryWrapper<SettleClaimsLog>().lambda().eq(SettleClaimsLog::getObjId,settleClaims.getId()).orderByDesc(SettleClaimsLog::getCreateDate));
+ .selectList(new QueryWrapper<SettleClaimsLog>().lambda().eq(SettleClaimsLog::getObjId,settleClaims.getId())
+ .isNotNull(SettleClaimsLog::getParentStatus)
+ .orderByDesc(SettleClaimsLog::getId));
//绔嬫閫�鍥炵姸鎬佹暟鎹�
if(Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.FINISH_ACCEPTANCE.getKey())){
SettleParentStatusVO settleParentStatusVO = new SettleParentStatusVO();
@@ -2357,21 +2707,22 @@
//鑾峰彇褰撳墠鏃ュ織鏈�澶х殑鐖剁姸鎬�
Optional<Integer> optionalInteger = settleClaimsLogs.stream().map(i->i.getParentStatus()).max(Comparator.comparingInt(o -> o));
if(optionalInteger.isPresent()){
- for (int i = 1; i <= 5; i++) {
+
+ for (int i = 1; i <= (optionalInteger.get()<5?optionalInteger.get():5); i++) {
SettleParentStatusVO s = new SettleParentStatusVO();
Constants.SettleClaimsLogParentStatus parentStatus = Constants.SettleClaimsLogParentStatus.getAll(i);
s.setParentTitle(parentStatus.getName());
s.setChildTitle(parentStatus.getInfo());
s.setStatus(Constants.ZERO);
//濡傛灉鏄瓑浜庣埗鐘舵�� 鍒欏幓鏌ヨ瀹為檯鐨勪笟鍔$姸鎬�
- if(Constants.equalsInteger(i,optionalInteger.get())){
- Optional<SettleClaimsLog> settleClaimsLogOptional = settleClaimsLogList.stream()
- .filter(j->Constants.equalsInteger(j.getParentStatus(),optionalInteger.get())).findFirst();
- if(settleClaimsLogOptional.isPresent()){
- s.setChildTitle(Constants.SettleClaimsLogType.getName(settleClaimsLogOptional.get().getObjType()));
- }
+ Optional<SettleClaimsLog> settleClaimsLogOptional = settleClaimsLogList.stream()
+ .filter(j->Constants.equalsInteger(j.getParentStatus(),optionalInteger.get())).findFirst();
+ if(settleClaimsLogOptional.isPresent()){
+ s.setChildTitle(Constants.SettleClaimsLogType.getName(settleClaimsLogOptional.get().getObjType()));
+ s.setOptDate(settleClaimsLogOptional.get().getCreateDate());
}
settleParentStatusVOList.add(s);
+
}
}
//娣诲姞鎾ゆ鏁版嵁
@@ -2380,7 +2731,7 @@
settleParentStatusCHVO.setChildTitle("浼佷笟涓诲姩鎾ゆ");
settleParentStatusCHVO.setStatus(Constants.THREE);
Optional<SettleClaimsLog> optionalSettleClaimsSLLog = settleClaimsLogList.stream()
- .filter(i->Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsLogType.RETURN_SETTLE.getKey())).findFirst();
+ .filter(i->Constants.equalsInteger(i.getObjType(),Constants.SettleClaimsLogType.RETURN_SETTLE.getKey())).findFirst();
if(optionalSettleClaimsSLLog.isPresent()){
settleParentStatusCHVO.setOptDate(optionalSettleClaimsSLLog.get().getCreateDate());
}
@@ -2401,9 +2752,28 @@
//濡傛灉鏈�澶х殑鐖朵笟鍔$姸鎬� 澶т簬 榛樿鐨�6绫绘暟鎹� 鍒欑洿鎺ユ樉绀洪粯璁ら厤缃�
s.setChildTitle(parentStatus.getInfo());
s.setStatus(Constants.ZERO);
+ int finalI = i;
+ Optional<SettleClaimsLog> optionalSettleClaimsLog = settleClaimsLogList.stream()
+ .filter(j->Constants.equalsInteger(j.getParentStatus(), finalI)).findFirst();
+ if(optionalSettleClaimsLog.isPresent()){
+ s.setOptDate(optionalSettleClaimsLog.get().getCreateDate());
+ }
}else if(optionalInteger.get()<i){
//濡傛灉鏈�澶х殑鐖朵笟鍔$姸鎬� 灏忎簬 榛樿鐨�6绫绘暟鎹� 鍒欑洿鎺ユ樉绀洪粯璁ゆ湭澶勭悊閰嶇疆
s.setChildTitle(parentStatus.getWaitInfo());
+ if(Constants.equalsInteger(i,Constants.SettleClaimsLogParentStatus.LS.getKey())){
+// //鎶ユ瀹℃壒閫氳繃鍚庤鏄剧ず
+ Optional<SettleClaimsLog> settleClaimsLogOptional = settleClaimsLogList.stream()
+ .filter(j->
+ Constants.equalsInteger(j.getObjType(),Constants.SettleClaimsLogType.PLATFORM_ACCEPTANCE.getKey())
+ || Constants.equalsInteger(j.getObjType(),Constants.SettleClaimsLogType.PLATFORM_DISCUSS_PASS.getKey())
+ ).findFirst();
+ if(settleClaimsLogOptional.isPresent()){
+ s.setStatus(Constants.ONE);
+ settleParentStatusVOList.add(s);
+ continue;
+ }
+ }
s.setStatus(Constants.TWO);
}else{
//濡傛灉鏄瓑浜庣埗鐘舵�� 鍒欏幓鏌ヨ瀹為檯鐨勪笟鍔$姸鎬�
@@ -2412,6 +2782,7 @@
.filter(j->Constants.equalsInteger(j.getParentStatus(),optionalInteger.get())).findFirst();
if(settleClaimsLogOptional.isPresent()){
s.setChildTitle(Constants.SettleClaimsLogType.getName(settleClaimsLogOptional.get().getObjType()));
+ s.setOptDate(settleClaimsLogOptional.get().getCreateDate());
}
}
s.setStatus(Constants.ONE);
@@ -2420,10 +2791,579 @@
}
}
return settleParentStatusVOList;
-
-
}
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void updHurtType(UpdHurtTypeDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || Objects.isNull(dto.getHurtType())
+ || !(Constants.equalsInteger(dto.getHurtType(),Constants.ZERO) || Constants.equalsInteger(dto.getHurtType(),Constants.ONE))
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炵鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus())
+ || Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus())
+ || Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus())
+ || Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus())
+ || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey(),settleClaims.getStatus())
+ )){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ if(!Constants.equalsInteger(settleClaims.getHurtType(),Constants.TWO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸蹭慨鏀硅繃锛屾棤娉曞啀娆′慨鏀�");
+ }
+ settleClaims.setEditDate(new Date());
+ SettleClaims update = new SettleClaims();
+ update.setEditDate(settleClaims.getEditDate());
+ update.setEditor(loginUserInfo.getId());
+ update.setHurtType(dto.getHurtType());
+ update.setId(settleClaims.getId());
+ settleClaimsMapper.updateById(update);
+
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.SettleClaimsLogType.UPD_HURT_TYPE,
+ Constants.SettleClaimsLogType.UPD_HURT_TYPE.getInfo(),null);
+ }
+
+
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void updReceiveInfo(UpdReceiveInfoDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || StringUtils.isBlank(dto.getReceiveBank())
+ || StringUtils.isBlank(dto.getReceiveAccount())
+ || StringUtils.isBlank(dto.getReceiveUserName())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!loginUserInfo.getType().equals(Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氫汉鍛樻棤娉曡繘琛岃鎿嶄綔");
+ }
+ SettleClaims settleClaims = settleClaimsJoinMapper.selectById(dto.getId());
+ if(Objects.isNull(settleClaims)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ //濡傛灉鏄紒涓� 鏌ヨ鏄惁鏄嚜宸变紒涓氱殑鏁版嵁
+ if(!Constants.equalsInteger(settleClaims.getCompanyId(),loginUserInfo.getCompanyId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍浼佷笟鐨勬暟鎹紝鎮ㄦ棤娉曡繘琛岃鎿嶄綔");
+ }
+ if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.COMPENSATION.getKey(),settleClaims.getStatus()) || Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_FEE.getKey(),settleClaims.getStatus()) )
+ ){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ settleClaims.setEditDate(new Date());
+ SettleClaims update = new SettleClaims();
+ update.setEditDate(settleClaims.getEditDate());
+ update.setEditor(loginUserInfo.getId());
+ update.setReceiveBank(dto.getReceiveBank());
+ update.setReceiveAccount(dto.getReceiveAccount());
+ update.setReceiveUserName(dto.getReceiveUserName());
+ update.setId(settleClaims.getId());
+ settleClaimsMapper.updateById(update);
+
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.SettleClaimsLogType.UPD_RECEIVE_INFO,
+ Constants.SettleClaimsLogType.UPD_RECEIVE_INFO.getInfo(),null);
+ }
+
+
+
+ @Override
+ public List<String> getDiscussProblemType(){
+ String types = systemDictDataBiz.queryByCode(Constants.PROTOCOL,Constants.DISCUSS_PROBLEM_TYPE).getCode();
+ if(StringUtils.isNotBlank(types)){
+ return Arrays.asList(types.split(","));
+ }
+ return null;
+ }
+
+
+ @Override
+ public SettleClaimsDataVO getSettleClaimsDataVO(){
+ SettleClaimsDataVO settleClaimsDataVO = new SettleClaimsDataVO();
+ settleClaimsDataVO.setSettleClaimsTotal(Constants.ZERO);
+ settleClaimsDataVO.setAverageSettleClaimsTime(BigDecimal.ZERO);
+ settleClaimsDataVO.setSettleClaimsTotalFee(BigDecimal.ZERO);
+ settleClaimsDataVO.setRefuseRata(BigDecimal.ZERO);
+ settleClaimsDataVO.setAcceptanceRata(BigDecimal.ZERO);
+ settleClaimsDataVO.setCloseCaseRata(BigDecimal.ZERO);
+
+
+ List<SettleClaims> settleClaimsList = settleClaimsMapper.selectList(new QueryWrapper<SettleClaims>().lambda().eq(SettleClaims::getIsdeleted,Constants.ZERO));
+ if(CollectionUtils.isNotEmpty(settleClaimsList)){
+ Integer totalSettleClaimsNum = settleClaimsList.size();
+ List<SettleClaims> closeCaseList = settleClaimsList.stream().filter(i->Objects.nonNull(i.getStatus())
+ &&Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())).collect(Collectors.toList());
+ for (SettleClaims settleClaims:closeCaseList) {
+ if(Objects.nonNull(settleClaims.getCheckDate())&&Objects.nonNull(settleClaims.getCreateDate())){
+ settleClaims.setTotalHours(
+ (int)DateUtil.getBetweenHours(settleClaims.getCreateDate(),settleClaims.getCheckDate())
+ );
+ }else{
+ settleClaims.setTotalHours(Constants.ZERO);
+ }
+ }
+ Integer closeCaseNum = closeCaseList.size();
+ //鏈寘鍚� 绔嬫閫�鍥� 绔嬫閫�鍥炲彲浠ュ啀娆℃彁浜ょ殑
+ Integer refuseNum = settleClaimsList.stream().filter(i->Objects.nonNull(i.getStatus())&&
+ (Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.REJECT_DEAL.getKey())
+ ||Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.WAIT_DISCUSS_REJECT.getKey()))
+ ).collect(Collectors.toList()).size();
+ Integer acceptanceNum = settleClaimsList.stream().filter(i->Objects.nonNull(i.getStatus())&&
+ (Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.ACCEPTANCE.getKey())
+ ||Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.WAIT_AUDIT_COMPENSATION.getKey())
+ ||Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.COMPENSATION.getKey())
+ ||Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.CONFIRM_FEE.getKey())
+ ||Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())
+ )
+ ).collect(Collectors.toList()).size();
+ if(Objects.nonNull(closeCaseNum)&&!Constants.equalsInteger(closeCaseNum,Constants.ZERO)){
+ settleClaimsDataVO.setCloseCaseRata(new BigDecimal(closeCaseNum.toString()).divide(new BigDecimal(totalSettleClaimsNum.toString()),4,BigDecimal.ROUND_HALF_UP));
+ }
+ if(Objects.nonNull(refuseNum)&&!Constants.equalsInteger(refuseNum,Constants.ZERO)){
+ settleClaimsDataVO.setRefuseRata(new BigDecimal(refuseNum.toString()).divide(new BigDecimal(totalSettleClaimsNum.toString()),4,BigDecimal.ROUND_HALF_UP));
+ }
+ if(Objects.nonNull(acceptanceNum)&&!Constants.equalsInteger(acceptanceNum,Constants.ZERO)){
+ settleClaimsDataVO.setAcceptanceRata(new BigDecimal(acceptanceNum.toString()).divide(new BigDecimal(totalSettleClaimsNum.toString()),4,BigDecimal.ROUND_HALF_UP));
+ }
+
+ List<DataListVO> settleClaimsTotalList = new ArrayList<>();
+ List<DataListVO> settleClaimsFeeList = new ArrayList<>();
+ List<DataListVO> averageSettleClaimsList = new ArrayList<>();
+
+ for (int i = 5; i >=0 ; i--) {
+ //姣忎釜鏈堢殑鏁版嵁
+ String monthData = DateUtil.DateToStr(DateUtil.afterDateByType(new Date(),1,i*-1),"yyyy-MM");
+ DataListVO settleClaimsTotal = new DataListVO();
+ DataListVO settleClaimsFee = new DataListVO();
+ DataListVO averageSettleClaims = new DataListVO();
+
+ settleClaimsTotal.setDataFirst(monthData);
+ settleClaimsTotal.setDataSecond(
+ settleClaimsList.stream().filter(j->DateUtil.DateToStr(j.getCreateDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList()).size()+""
+ );
+
+ settleClaimsFee.setDataFirst(monthData);
+ List<SettleClaims> closeCaseMonthList = closeCaseList.stream().filter(j->Objects.nonNull(j.getCheckDate())&&DateUtil.DateToStr(j.getCheckDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList());
+ settleClaimsFee.setDataSecond(closeCaseMonthList.stream().map(j->j.getHpAccount().add(j.getHpOtherAccount())).reduce(BigDecimal.ZERO,BigDecimal::add).toString());
+
+ averageSettleClaims.setDataFirst(monthData);
+ Integer sumHours = closeCaseMonthList.stream().map(j->
+ j.getTotalHours()).reduce(Constants.ZERO,Integer::sum);
+ if(Objects.isNull(sumHours)||CollectionUtils.isEmpty(closeCaseMonthList)
+ || Constants.equalsInteger(sumHours,Constants.ZERO)){
+ averageSettleClaims.setDataSecond("0");
+ }else{
+ averageSettleClaims.setDataSecond(
+ new BigDecimal(sumHours.toString()).divide(new BigDecimal((closeCaseMonthList.size()*24)+""),2,BigDecimal.ROUND_HALF_UP).toString());
+ }
+ ;
+
+ settleClaimsTotalList.add(settleClaimsTotal);
+ settleClaimsFeeList.add(settleClaimsFee);
+ averageSettleClaimsList.add(averageSettleClaims);
+
+ }
+ settleClaimsDataVO.setSettleClaimsFeeList(settleClaimsFeeList);
+ settleClaimsDataVO.setAverageSettleClaimsList(averageSettleClaimsList);
+ settleClaimsDataVO.setSettleClaimsTotalList(settleClaimsTotalList);
+
+ //鎬荤悊璧旈噾棰�
+ settleClaimsDataVO.setSettleClaimsTotalFee(closeCaseList.stream().map(i->i.getHpAccount().add(i.getHpOtherAccount())).reduce(BigDecimal.ZERO,BigDecimal::add));
+
+ //鎬荤悊璧旀浠舵暟
+ settleClaimsDataVO.setSettleClaimsTotal(settleClaimsList.size());
+
+ //骞冲潎鐞嗚禂澶勭悊鏃堕暱澶╂暟 鎬昏澶勭悊鏃堕暱锛堝崟浣嶅皬鏃讹級闄や互 璁板綍鏁� 鎹㈢畻鍒板ぉ
+ settleClaimsDataVO.setAverageSettleClaimsTime(
+ new BigDecimal(closeCaseList.stream().map(i->i.getTotalHours()).reduce(Constants.ZERO,Integer::sum).toString())
+ .divide(new BigDecimal((closeCaseList.size()*24)+"") ,2,BigDecimal.ROUND_HALF_UP)
+ );
+
+ String monthDate = DateUtil.getFomartDate(new Date(),"yyyy-MM");
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.MONTH, -1);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+ String lastMonth = sdf.format(calendar.getTime());
+
+ //椋庨櫓妗堜欢鍗犳瘮鏁版嵁
+ settleClaimsDataVO.setRiskTimesCxTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate)
+ &&Constants.equalsInteger(i.getRiskTimesCx(),Constants.ONE))
+ .collect(Collectors.toList()).size());
+ Integer lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth)
+ &&Constants.equalsInteger(i.getRiskTimesCx(),Constants.ONE))
+ .collect(Collectors.toList()).size();
+ settleClaimsDataVO.setRiskTimesCxRata(this.jsRata(settleClaimsDataVO.getRiskTimesCxTotal(),lastMonthTotal));
+
+ settleClaimsDataVO.setRiskRepeatTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate)
+ &&Constants.equalsInteger(i.getRiskRepeat(),Constants.ONE))
+ .collect(Collectors.toList()).size());
+ lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth)
+ &&Constants.equalsInteger(i.getRiskRepeat(),Constants.ONE))
+ .collect(Collectors.toList()).size();
+ settleClaimsDataVO.setRiskRepeatRata(this.jsRata(settleClaimsDataVO.getRiskRepeatTotal(),lastMonthTotal));
+
+ settleClaimsDataVO.setRiskTimesSpTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate)
+ &&Constants.equalsInteger(i.getRiskTimesSp(),Constants.ONE))
+ .collect(Collectors.toList()).size());
+ lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth)
+ &&Constants.equalsInteger(i.getRiskTimesSp(),Constants.ONE))
+ .collect(Collectors.toList()).size();
+ settleClaimsDataVO.setRiskTimesSpRata(this.jsRata(settleClaimsDataVO.getRiskTimesSpTotal(),lastMonthTotal));
+
+ settleClaimsDataVO.setRiskNewUserTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate)
+ &&Constants.equalsInteger(i.getRiskNewUser(),Constants.ONE))
+ .collect(Collectors.toList()).size());
+ lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth)
+ &&Constants.equalsInteger(i.getRiskNewUser(),Constants.ONE))
+ .collect(Collectors.toList()).size();
+ settleClaimsDataVO.setRiskNewUserRata(this.jsRata(settleClaimsDataVO.getRiskNewUserTotal(),lastMonthTotal));
+
+ settleClaimsDataVO.setRiskSensitiveTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate)
+ &&StringUtils.isNotBlank(i.getRiskSensitive()))
+ .collect(Collectors.toList()).size());
+ lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth)
+ &&StringUtils.isNotBlank(i.getRiskSensitive()))
+ .collect(Collectors.toList()).size();
+ settleClaimsDataVO.setRiskSensitiveRata(this.jsRata(settleClaimsDataVO.getRiskSensitiveTotal(),lastMonthTotal));
+
+ settleClaimsDataVO.setRiskDelayUnitTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate)
+ &&Constants.equalsInteger(i.getRiskDelayUnit(),Constants.ONE))
+ .collect(Collectors.toList()).size());
+ lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth)
+ &&Constants.equalsInteger(i.getRiskDelayUnit(),Constants.ONE))
+ .collect(Collectors.toList()).size();
+ settleClaimsDataVO.setRiskDelayUnitRata(this.jsRata(settleClaimsDataVO.getRiskDelayUnitTotal(),lastMonthTotal));
+
+
+ settleClaimsDataVO.setRiskUnTakeEffectTotal(settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(monthDate)
+ &&Constants.equalsInteger(i.getRiskUnTakeEffect(),Constants.ONE))
+ .collect(Collectors.toList()).size());
+ lastMonthTotal = settleClaimsList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(lastMonth)
+ &&Constants.equalsInteger(i.getRiskUnTakeEffect(),Constants.ONE))
+ .collect(Collectors.toList()).size();
+ settleClaimsDataVO.setRiskUnTakeEffectRata(this.jsRata(settleClaimsDataVO.getRiskUnTakeEffectTotal(),lastMonthTotal));
+
+ //椋庨櫓鏁忔劅璇嶆姤琛�
+ List<String> sensitiveList = settleClaimsList.stream().filter(i->StringUtils.isNotBlank(i.getRiskSensitive())).map(i->i.getRiskSensitive()).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(sensitiveList)){
+ List<String> allSensitiveStrList = new ArrayList<>();
+ for (String string:sensitiveList) {
+ allSensitiveStrList.addAll(Arrays.asList(string.split(",")));
+ }
+ Set<String> sensitiveSetList = new HashSet<>(allSensitiveStrList);
+ List<DataListVO> sensitiveDataList = new ArrayList<>();
+ for (String string:sensitiveSetList) {
+ DataListVO dataListVO = new DataListVO();
+ dataListVO.setDataFirst(string);
+ dataListVO.setDataSecond(allSensitiveStrList.stream().filter(i->i.equals(string)).collect(Collectors.toList()).size()+"");
+ sensitiveDataList.add(dataListVO);
+ }
+ settleClaimsDataVO.setSensitiveDataList(sensitiveDataList);
+ }
+
+ //鍖哄煙妗堜欢绫诲瀷鍒嗗竷
+ this.getAreaDistribution(settleClaimsDataVO,
+ settleClaimsList.stream().filter(i->StringUtils.isNotBlank(i.getAreaId())).collect(Collectors.toList()));
+
+ //鍚勭被鍨嬫浠跺垎甯�
+ this.getCaseType(settleClaimsDataVO,
+ settleClaimsList.stream().filter(i->Objects.nonNull(i.getCaseType())).collect(Collectors.toList()));
+
+ //鎸夋湀缁熻妗堜欢閲戦
+ this.getSettleTotalMoneyData(settleClaimsDataVO,
+ settleClaimsList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())).collect(Collectors.toList()));
+
+ //缁撴鐜�
+ this.getCloseRata(settleClaimsDataVO,
+ settleClaimsList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())).collect(Collectors.toList()));
+
+ //骞撮緞鍒嗗竷
+ this.getMemberAgeDataList(settleClaimsDataVO,
+ settleClaimsList.stream().filter(i->Objects.nonNull(i.getMemberAge())).collect(Collectors.toList()));
+
+ //宸ョ鏁版嵁鍒嗗竷
+ this.getWorkTypeDate(settleClaimsDataVO,
+ settleClaimsList.stream().filter(i->Objects.nonNull(i.getWorktypeId())).collect(Collectors.toList()));
+ }
+ return settleClaimsDataVO;
+ }
+
+ public BigDecimal jsRata(Integer a,Integer b){
+ if(Objects.isNull(a)||Objects.isNull(b)||Constants.equalsInteger(a,Constants.ZERO)||Constants.equalsInteger(b,Constants.ZERO)){
+ return BigDecimal.ZERO;
+ }
+ return new BigDecimal(a.toString()).divide(new BigDecimal(b.toString()),2,BigDecimal.ROUND_HALF_UP).subtract(BigDecimal.ONE);
+ }
+
+
+
+ public void getAreaDistribution(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){
+ List<Areas> areasList = areasMapper.selectList(new QueryWrapper<Areas>().lambda().isNull(Areas::getParentId).orderByAsc(Areas::getId));
+ List<DataListVO> areaDataList = new ArrayList<>();
+ for (Areas areas:areasList) {
+ DataListVO dataListVO = new DataListVO();
+ dataListVO.setDataFirst(areas.getName());
+ dataListVO.setDataSecond(
+ settleClaimsList.stream().filter(i->i.getAreaId().indexOf(areas.getCode())>=Constants.ZERO).collect(Collectors.toList()).size()+""
+ );
+ dataListVO.setDataThird(areas.getCode());
+ areaDataList.add(dataListVO);
+ }
+ settleClaimsDataVO.setAreaDataList(areaDataList);
+ }
+
+
+ public void getCaseType(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){
+ List<DataListVO> caseTypeDataList = new ArrayList<>();
+ //1=鍖荤枟锛�2=浼ゆ畫锛�3=姝讳骸
+ for (int i = 1; i <= 3; i++) {
+ int finalI = i;
+ DataListVO dataListVO = new DataListVO();
+ if(finalI==1){
+ dataListVO.setDataFirst("鍖荤枟");
+ }else{
+ dataListVO.setDataFirst(Constants.equalsInteger(finalI,Constants.TWO)?"浼ゆ畫":"姝讳骸");
+ }
+ dataListVO.setDataSecond(settleClaimsList.stream()
+ .filter(j->Objects.nonNull(j.getCaseType())&&Constants.equalsInteger(j.getCaseType(), finalI)).collect(Collectors.toList()).size()+"");
+ caseTypeDataList.add(dataListVO);
+ }
+ settleClaimsDataVO.setCaseTypeDataList(caseTypeDataList);
+ }
+
+
+ public void getSettleTotalMoneyData(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){
+ List<DataListVO> monthTotalMoneyDataList = new ArrayList<>();
+ for (int i = -11; i <= 0 ; i++) {
+ String month = DateUtil.DateToStr(
+ DateUtil.afterDateByType(new Date(),1,i),"yyyy-MM");
+ DataListVO dataListVO = new DataListVO();
+ dataListVO.setDataFirst(month);
+ BigDecimal hpAccount = settleClaimsList.stream().filter(j->DateUtil.DateToStr(j.getCreateDate(),"yyyy-MM").equals(month))
+ .map(j->j.getHpAccount().add(j.getHpOtherAccount())).reduce(BigDecimal.ZERO,BigDecimal::add);
+ dataListVO.setDataSecond(hpAccount.compareTo(BigDecimal.ZERO)>Constants.ZERO?
+ hpAccount.divide(new BigDecimal("10000"),2,BigDecimal.ROUND_HALF_UP).toString():"0"
+ );
+ monthTotalMoneyDataList.add(dataListVO);
+ }
+ settleClaimsDataVO.setMonthTotalMoneyDataList(monthTotalMoneyDataList);
+ }
+
+
+
+ public void getCloseRata(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){
+ List<DataListVO> closeRataDataList = new ArrayList<>();
+ for (int i = -5; i <= 0 ; i++) {
+ String month = DateUtil.DateToStr(
+ DateUtil.afterDateByType(new Date(),1,i),"yyyy-MM");
+ DataListVO dataListVO = new DataListVO();
+ dataListVO.setDataFirst(month);
+ List<SettleClaims> monthList = settleClaimsList.stream().filter(j->DateUtil.DateToStr(j.getCreateDate(),"yyyy-MM").equals(month)).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(monthList)){
+ List<SettleClaims> closeCaseList = monthList.stream().filter(j->Constants.equalsInteger(j.getStatus(),Constants.SettleClaimsStatus.CLOSE_CASE.getKey())).collect(Collectors.toList());
+ if(CollectionUtils.isEmpty(closeCaseList)){
+ dataListVO.setDataSecond("0");
+ }else{
+ dataListVO.setDataSecond(new BigDecimal(closeCaseList.size()+"").divide(new BigDecimal(monthList.size()+""),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%");
+ }
+ }else{
+ dataListVO.setDataSecond("0");
+ }
+ closeRataDataList.add(dataListVO);
+ }
+ settleClaimsDataVO.setCloseRataDataList(closeRataDataList);
+ }
+
+
+ public void getType(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){
+ List<DataListVO> typeDataList = new ArrayList<>();
+ //0宸ヤ綔鏈熼棿鍙椾激 1涓婁笅鐝�斾腑鍙椾激 2闈炲伐浣滄椂闂村彈浼� 3鎰忓鍙椾激
+ for (int i = 0; i <= 3; i++) {
+ int finalI = i;
+ DataListVO dataListVO = new DataListVO();
+ if(finalI==0){
+ dataListVO.setDataFirst("宸ヤ綔鏈熼棿鍙椾激");
+ }else if(finalI==1){
+ dataListVO.setDataFirst("涓婁笅鐝�斾腑鍙椾激");
+ }else{
+ dataListVO.setDataFirst(Constants.equalsInteger(finalI,Constants.TWO)?"闈炲伐浣滄椂闂村彈浼�":"鎰忓鍙椾激");
+ }
+ dataListVO.setDataSecond(settleClaimsList.stream()
+ .filter(j->Objects.nonNull(j.getType())&&Constants.equalsInteger(j.getCaseType(), finalI)).collect(Collectors.toList()).size()+"");
+ typeDataList.add(dataListVO);
+ }
+ settleClaimsDataVO.setTypeDataList(typeDataList);
+ }
+
+
+ public void getMemberAgeDataList(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){
+ List<DataListVO> memberAgeDataList = new ArrayList<>();
+
+ DataListVO dataListVOa = new DataListVO();
+ dataListVOa.setDataFirst("18-25");
+ dataListVOa.setDataSecond(
+ settleClaimsList.stream()
+ .filter(j->Objects.nonNull(j.getMemberAge())&&
+ (j.getMemberAge() >= 18 || j.getMemberAge() <= 25))
+ .collect(Collectors.toList()).size()+""
+ );
+ memberAgeDataList.add(dataListVOa);
+
+
+ DataListVO dataListVOb = new DataListVO();
+ dataListVOb.setDataFirst("26-35");
+ dataListVOb.setDataSecond(
+ settleClaimsList.stream()
+ .filter(j->Objects.nonNull(j.getMemberAge())&&
+ (j.getMemberAge() >= 26 || j.getMemberAge() <= 35))
+ .collect(Collectors.toList()).size()+""
+ );
+ memberAgeDataList.add(dataListVOb);
+
+ DataListVO dataListVOc = new DataListVO();
+ dataListVOc.setDataFirst("36-45");
+ dataListVOc.setDataSecond(
+ settleClaimsList.stream()
+ .filter(j->Objects.nonNull(j.getMemberAge())&&
+ (j.getMemberAge() >= 36 || j.getMemberAge() <= 45))
+ .collect(Collectors.toList()).size()+""
+ );
+ memberAgeDataList.add(dataListVOc);
+
+ DataListVO dataListVOd = new DataListVO();
+ dataListVOd.setDataFirst("46-55");
+ dataListVOd.setDataSecond(
+ settleClaimsList.stream()
+ .filter(j->Objects.nonNull(j.getMemberAge())&&
+ (j.getMemberAge() >= 46 || j.getMemberAge() <= 55))
+ .collect(Collectors.toList()).size()+""
+ );
+ memberAgeDataList.add(dataListVOd);
+
+ DataListVO dataListVOe = new DataListVO();
+ dataListVOe.setDataFirst("56-65");
+ dataListVOe.setDataSecond(
+ settleClaimsList.stream()
+ .filter(j->Objects.nonNull(j.getMemberAge())&&
+ (j.getMemberAge() >= 56 || j.getMemberAge() <= 65))
+ .collect(Collectors.toList()).size()+""
+ );
+ memberAgeDataList.add(dataListVOe);
+
+
+ DataListVO dataListVOf = new DataListVO();
+ dataListVOf.setDataFirst("65+");
+ dataListVOf.setDataSecond(
+ settleClaimsList.stream()
+ .filter(j->Objects.nonNull(j.getMemberAge())&&
+ j.getMemberAge() >= 66 )
+ .collect(Collectors.toList()).size()+""
+ );
+ memberAgeDataList.add(dataListVOf);
+ settleClaimsDataVO.setMemberAgeDataList(memberAgeDataList);
+ }
+
+
+
+ public void getWorkTypeDate(SettleClaimsDataVO settleClaimsDataVO, List<SettleClaims> settleClaimsList){
+ List<DataListVO> workTypeDataList = new ArrayList<>();
+ if(CollectionUtils.isEmpty(settleClaimsList)){
+ return ;
+ }
+ List<Integer> workTypeIdList = settleClaimsList.stream().map(i->i.getWorktypeId()).collect(Collectors.toList());
+ if(CollectionUtils.isEmpty(workTypeIdList)){
+ return ;
+ }
+ Set<Integer> setWorkType = new HashSet<>(workTypeIdList);
+ List<Worktype> workTypeList = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda().eq(Worktype::getIsdeleted,Constants.ZERO).in(Worktype::getId,setWorkType));
+ if(CollectionUtils.isEmpty(workTypeList)){
+ return ;
+ }
+ for (Worktype worktype:workTypeList) {
+ DataListVO dataListVO = new DataListVO();
+ dataListVO.setDataFirst(worktype.getName());
+ dataListVO.setDataSecond(
+ settleClaimsList.stream().filter(i->Constants.equalsInteger(i.getWorktypeId(),worktype.getId())).collect(Collectors.toList()).size()+"");
+ workTypeDataList.add(dataListVO);
+ }
+ workTypeDataList = workTypeDataList.stream().sorted(Comparator.comparing(DataListVO::getDataSecond).reversed()).collect(Collectors.toList());
+ settleClaimsDataVO.setWorkTypeDataList(workTypeDataList);
+ }
+
+
+
+ @Override
+ public InsuranceDataVO getInsuranceDataVO(){
+ InsuranceDataVO insuranceDataVO = new InsuranceDataVO();
+ insuranceDataVO.setInsuranceTotal(Constants.ZERO);
+ insuranceDataVO.setInsuranceAddTotal(Constants.ZERO);
+ insuranceDataVO.setInsuranceApplyTotal(Constants.ZERO);
+ insuranceDataVO.setInsuranceApplyAddTotal(Constants.ZERO);
+ insuranceDataVO.setInsuranceUserTotal(Constants.ZERO);
+ insuranceDataVO.setInsuranceUserAddTotal(Constants.ZERO);
+ insuranceDataVO.setTotalAddFee(BigDecimal.ZERO);
+ insuranceDataVO.setTotalFee(BigDecimal.ZERO);
+ //鏈湀鏃ユ湡
+ String monthData = DateUtil.DateToStr(new Date(),"yyyy-MM");
+ //淇濋櫓鍏徃鏁伴噺
+ List<Insurance> insuranceList = insuranceMapper.selectList(new QueryWrapper<Insurance>().lambda().eq(Insurance::getIsdeleted,Constants.ZERO).eq(Insurance::getStatus,Constants.ZERO));
+ if(CollectionUtils.isNotEmpty(insuranceList)){
+ insuranceDataVO.setInsuranceTotal(insuranceList.size());
+ insuranceDataVO.setInsuranceAddTotal(insuranceList.stream().filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList()).size());
+ }
+
+ //淇濆崟鏁伴噺
+ List<InsuranceApply> insuranceApplyList = insuranceApplyMapper.selectList(new QueryWrapper<InsuranceApply>()
+ .lambda().eq(InsuranceApply::getIsdeleted,Constants.ZERO).in(InsuranceApply::getStatus,
+ Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())
+ );
+ if(CollectionUtils.isNotEmpty(insuranceApplyList)){
+ insuranceDataVO.setInsuranceApplyTotal(insuranceApplyList.size());
+ insuranceDataVO.setInsuranceApplyAddTotal(insuranceApplyList.stream().filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM").equals(monthData)).collect(Collectors.toList()).size());
+ }
+
+ //鍦ㄤ繚浜烘暟
+ List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,new MPJLambdaWrapper<ApplyDetail>().selectAll(ApplyDetail.class)
+ .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
+ .eq(InsuranceApply::getIsdeleted,Constants.ZERO).in(InsuranceApply::getStatus,
+ Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())
+ .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
+ .apply(" ( t.START_TIME >= now() and t.END_TIME <= now() ) ")
+ );
+ if(CollectionUtils.isNotEmpty(applyDetailList)){
+ insuranceDataVO.setInsuranceUserTotal(applyDetailList.size());
+ insuranceDataVO.setInsuranceUserAddTotal(
+ applyDetailList.stream().filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM")
+ .equals(monthData)).collect(Collectors.toList()).size());
+
+ insuranceDataVO.setTotalFee(applyDetailList.stream().map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ insuranceDataVO.setTotalAddFee(applyDetailList.stream()
+ .filter(i->Objects.nonNull(i.getCreateDate())&&DateUtil.DateToStr(i.getCreateDate(),"yyyy-MM")
+ .equals(monthData)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ }
+
+ return insuranceDataVO;
+ }
+
+
+
+
}
--
Gitblit v1.9.3