From 4c236ba83da7c69ac838b004d0a4b83c25fc9bea Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 23 二月 2024 16:41:02 +0800
Subject: [PATCH] mrshi
---
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 79 +++++++++++++++++++++++++++++++++++++--
1 files changed, 75 insertions(+), 4 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 d9e8421..73bb3b4 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
@@ -10,6 +10,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.NoticesMapper;
import com.doumee.dao.business.SettleClaimsLogMapper;
import com.doumee.dao.business.SettleClaimsMapper;
import com.doumee.dao.business.dto.SCSupplementDTO;
@@ -67,6 +68,8 @@
@Autowired
private SettleClaimsLogJoinMapper settleClaimsLogJoinMapper;
+ @Autowired
+ private NoticesMapper noticesMapper;
/**
* 鍒犻櫎闄勪欢
* @return
@@ -117,6 +120,12 @@
update.setStatus(Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey());
settleClaimsMapper.updateById(update);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+
Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_RETURN;
String info =applyLogType.getInfo();
info = info.replace("${param}", update.getCheckInfo());
@@ -155,6 +164,12 @@
update.setId(model.getId());
update.setStatus(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey());
settleClaimsMapper.updateById(update);
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_CONFIRM_INFORMATION;
String info =applyLogType.getInfo();
@@ -239,6 +254,14 @@
update.setScClaimAccount(Constants.formatBigdecimal(param.getScClaimAccount()));
update.setClaimAccount(update.getYlClaimAccount().add(update.getSwClaimAccount()).add(update.getScClaimAccount()).add(update.getWgClaimAccount()));
settleClaimsMapper.updateById(update);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),model.getInformantName(),
+ model.getCompanyId(), Constants.NoticeType.ONE);
+ noticesMapper.insert(notices);
Constants.SettleClaimsLogType applyLogType = Constants.SettleClaimsLogType.PLATFORM_FINISH;
String info =applyLogType.getInfo();
@@ -385,6 +408,17 @@
}
//璁板綍鏃ュ織
this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.UPLOAD,null);
+
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SETTLE_CLAIMS;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,settleClaims.getId()));
+ Notices notices = new Notices(noticeObjectType,Constants.ZERO,settleClaims.getId(),settleClaims.getInformantName(),
+ settleClaims.getCompanyId(), Constants.NoticeType.ZERO);
+ noticesMapper.insert(notices);
+
+
return settleClaims.getId();
}
@@ -520,8 +554,34 @@
.eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
.orderByAsc(SettleClaimsLog::getCreateDate)
);
-
settleClaims.setSettleClaimsLogList(settleClaimsLogList);
+ SettleClaimsLog lastConfirm = settleClaimsLogMapper.selectOne(new QueryWrapper<SettleClaimsLog>().lambda()
+ .eq(SettleClaimsLog::getSettleClainmsId,settleClaims.getId())
+ .eq(SettleClaimsLog::getObjType,Constants.SettleClaimsLogType.PLATFORM_CONFIRM_INFORMATION.getKey())
+ .orderByDesc(SettleClaimsLog::getCreateDate)
+ .last(" limit 1")
+ );
+
+ Multifile multifile = multifileJoinMapper.selectOne(new QueryWrapper<Multifile>()
+ .lambda()
+ .eq(Multifile::getObjId,settleClaims.getId())
+ .eq(Multifile::getIsdeleted,Constants.ZERO)
+ .in(Multifile::getObjType,
+ Constants.MultiFile.LP_SGXC_FILE.getKey(),
+ Constants.MultiFile.LP_YGGX_FILE.getKey(),
+ Constants.MultiFile.LP_MZCL_FILE.getKey(),
+ Constants.MultiFile.LP_ZYCL_FILE.getKey(),
+ Constants.MultiFile.LP_SCZL_FILE.getKey(),
+ Constants.MultiFile.LP_JACL_FILE.getKey())
+ .orderByDesc(Multifile::getCreateDate)
+ .last(" limit 1")
+ );
+
+ if(!Objects.isNull(lastConfirm)&&!Objects.isNull(multifile)){
+ settleClaims.setFinishDate(lastConfirm.getCreateDate().compareTo(multifile.getCreateDate())>=0?lastConfirm.getCreateDate():multifile.getCreateDate());
+ }else if(!Objects.isNull(lastConfirm)&&Objects.isNull(multifile)){
+ settleClaims.setFinishDate(lastConfirm.getCreateDate());
+ }
return settleClaims;
}
@@ -555,6 +615,7 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳硶淇敼鏂规淇℃伅");
}
if(!(oldSettleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())
+ || oldSettleClaims.getStatus().equals(Constants.SettleClaimsStatus.DEAL_ING.getKey())
|| oldSettleClaims.getStatus().equals(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
}
@@ -593,6 +654,7 @@
}
SettleClaims settleClaims = settleClaimsMapper.selectById(scSupplementDTO.getId());
if(!(settleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())
+ || settleClaims.getStatus().equals(Constants.SettleClaimsStatus.DEAL_ING.getKey())
|| settleClaims.getStatus().equals(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
}
@@ -624,6 +686,7 @@
SettleClaims settleClaims = settleClaimsMapper.selectById(scSupplementDTO.getId());
if(!(settleClaims.getStatus().equals(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey())
+ || settleClaims.getStatus().equals(Constants.SettleClaimsStatus.DEAL_ING.getKey())
|| settleClaims.getStatus().equals(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey()))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
}
@@ -637,7 +700,7 @@
multifile.setObjType(scSupplementDTO.getObjType());
multifile.setObjId(scSupplementDTO.getId());
multifile.setFileurl(scSupplementDTO.getFileUrl());
- multifile.setName(scSupplementDTO.getFileUrl().substring(scSupplementDTO.getFileUrl().lastIndexOf("/") + 1));
+ multifile.setName(scSupplementDTO.getFileName());
multifile.setType(scSupplementDTO.getFileType());
multifileJoinMapper.insert(multifile);
}
@@ -810,7 +873,15 @@
queryWrapper.eq(SettleClaims::getCode, pageWrap.getModel().getCode());
}
if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.eq(SettleClaims::getStatus, pageWrap.getModel().getStatus());
+ if(pageWrap.getModel().getStatus().equals(Constants.ZERO)){
+ queryWrapper.in(SettleClaims::getStatus, Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey()
+ ,Constants.SettleClaimsStatus.DEAL_ING.getKey()
+ ,Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey());
+ }else{
+ queryWrapper.eq(SettleClaims::getStatus, pageWrap.getModel().getStatus());
+ }
+
+
}
if (pageWrap.getModel().getType() != null) {
queryWrapper.eq(SettleClaims::getType, pageWrap.getModel().getType());
@@ -842,7 +913,7 @@
if (pageWrap.getModel().getInsuranceApplyId() != null) {
queryWrapper.eq(SettleClaims::getInsuranceApplyId, pageWrap.getModel().getInsuranceApplyId());
}
- queryWrapper.orderByAsc(SettleClaims::getCreateDate);
+ queryWrapper.orderByDesc(SettleClaims::getCreateDate);
/*for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
queryWrapper.orderByDesc(sortData.getProperty());
--
Gitblit v1.9.3