From 25baa25ea30432ba8651b5cc9dc0c2bdfed4fc2d Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 20 五月 2025 16:14:54 +0800
Subject: [PATCH] 提交一把
---
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 314 ++++++++++++++++++++++++++++++++++++----------------
1 files changed, 217 insertions(+), 97 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 f55fd08..d412f7a 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
@@ -19,6 +19,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.vo.CompensationVO;
import com.doumee.dao.business.vo.RiskConfigVO;
+import com.doumee.dao.business.vo.SettleClaimsMoneyVO;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.SettleClaimsLogService;
import com.doumee.service.business.SettleClaimsService;
@@ -61,6 +62,8 @@
@Autowired
private SettleClaimsMapper settleClaimsMapper;
+ @Autowired
+ private SettleClaimsExtMapper settleClaimsExtMapper;
@Autowired
private SettleClaimsLogMapper settleClaimsLogMapper;
@@ -375,67 +378,150 @@
return 1;
}
-
@Override
- public Integer createSys(SettleClaims settleClaims) {
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public Integer createOrEditSys(SettleClaims settleClaims) {
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
settleClaims.setOrigin(Constants.ONE);
if(Objects.isNull(settleClaims)
- || Objects.isNull(settleClaims.getMemberName())
- || Objects.isNull(settleClaims.getSolutionName())
- || Objects.isNull(settleClaims.getDuId())
- || Objects.isNull(settleClaims.getWorktypeId())
- || Objects.isNull(settleClaims.getHappenTime())
- || Objects.isNull(settleClaims.getType())
- || Objects.isNull(settleClaims.getInHospital())
- || Objects.isNull(settleClaims.getMedicalInsurance())
- || Objects.isNull(settleClaims.getContent())
- || Objects.isNull(settleClaims.getInformantName())
- || Objects.isNull(settleClaims.getInformantPhone())){
+ || Objects.isNull(settleClaims.getExtData())
+ || Objects.isNull(settleClaims.getExtData().getMemberName())
+ || Objects.isNull(settleClaims.getExtData().getMemberIdcardType())
+ || Objects.isNull(settleClaims.getExtData().getMemberIdcard())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- if(!loginUserInfo.getType().equals(Constants.ONE)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氬憳宸ユ棤娉曡繘琛岃鎿嶄綔");
+ if(!Constants.equalsObject(settleClaims.getStatus(),Constants.ZERO)
+ &&( Objects.isNull(settleClaims.getExtData().getBxName())
+ || Objects.isNull(settleClaims.getExtData().getBxCode())
+ || Objects.isNull(settleClaims.getExtData().getBxEnddate())
+ || Objects.isNull(settleClaims.getExtData().getBxOrg())
+ || Objects.isNull(settleClaims.getInformantPhone()) )){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- //鏌ヨ鏄惁瀛樺湪宸叉彁鎶ョ殑鏁版嵁 鏍规嵁浜哄憳鍜屼繚闄╂柟妗堣繘琛岃繃婊� 鏄惁瀛樺湪杩涜涓殑鏁版嵁
- if(settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
- .eq(SettleClaims::getSolutionId,settleClaims.getSolutionId())
- .eq(SettleClaims::getMemberId,loginUserInfo.getId())
- .in(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey(),
- Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())
- )>Constants.ZERO){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鎻愭姤涓殑鎶ユ鏁版嵁!");
+ if(!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲钩鍙扮鐞嗗憳鏃犳硶杩涜璇ユ搷浣�");
}
- settleClaims.setCreateDate(new Date());
- settleClaims.setIsdeleted(Constants.ZERO);
- settleClaims.setCompanyId(loginUserInfo.getCompanyId());
- settleClaims.setStatus(Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey());
- settleClaims.setCreator(loginUserInfo.getId());
- settleClaims.setCheckUserId(loginUserInfo.getId());
- settleClaimsMapper.insert(settleClaims);
+ Date date =new Date();
+ settleClaims.setEditDate(date);
+ settleClaims.setEditor(loginUserInfo.getId());
- List<Multifile> reportVideo = settleClaims.getReportFileList();
- if(CollectionUtils.isNotEmpty(reportVideo)){
- for (int i = 0; i < reportVideo.size(); i++) {
- Multifile multifile = reportVideo.get(i);
- if(Objects.isNull(multifile.getFileurl())
- || Objects.isNull(multifile.getType())
- || StringUtils.isBlank(multifile.getName())
- ){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+ List<SettleClaimsMoneyVO> feeList = settleClaims.getAccountList();
+ BigDecimal mainFee = new BigDecimal(0);
+ BigDecimal ortherFee = new BigDecimal(0);
+ if(feeList!=null && feeList.size()>0){
+ for(SettleClaimsMoneyVO fee : feeList){
+ if(Constants.equalsObject(fee.getType(),Constants.ZERO)){
+ mainFee = mainFee.add(Constants.formatBigdecimal(fee.getMoney()));
+ }else{
+ ortherFee = ortherFee.add(Constants.formatBigdecimal(fee.getMoney()));
}
- multifile.setCreator(loginUserInfo.getId());
- multifile.setCreateDate(new Date());
- multifile.setIsdeleted(Constants.ZERO);
- multifile.setObjId(settleClaims.getId());
- multifile.setObjType(Constants.ONE);
- multifile.setSortnum(i+1);
- multifileJoinMapper.insert(multifile);
}
+ settleClaims.setHpAccountContent(JSONObject.toJSONString(feeList));
+ settleClaims.setHpAccount(mainFee);
+ settleClaims.setHpOtherAccount(ortherFee);
}
-
+ if(settleClaims.getId() ==null){
+ //濡傛灉鏄柊澧炶褰�
+ dealCreateSysBiz(settleClaims,date,loginUserInfo);
+ }else{
+ //濡傛灉鏇存柊
+ dealUpdateSysBiz(settleClaims,date,loginUserInfo);
+ }
return settleClaims.getId();
}
+
+ private void dealUpdateSysBiz(SettleClaims settleClaims, Date date, LoginUserInfo loginUserInfo) {
+ SettleClaims model = settleClaimsMapper.selectById(settleClaims.getId());
+ if(model ==null){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ settleClaimsMapper.updateById(settleClaims);
+ //鍒犻櫎鍘熸潵鐨勬墿灞曞睘鎬т俊鎭紝淇濈暀鏈�鏂扮殑
+ settleClaimsExtMapper.delete(new UpdateWrapper<SettleClaimsExt>().lambda().eq(SettleClaimsExt::getSettileClaimsId,model.getId()));
+ settleClaims.getExtData().setCreator(settleClaims.getCreator());
+ settleClaims.getExtData().setCreateDate(date);
+ settleClaims.getExtData().setEditor(settleClaims.getCreator());
+ settleClaims.getExtData().setEditDate(date);
+ settleClaims.getExtData().setIsdeleted(Constants.ZERO);
+ settleClaims.getExtData().setSettileClaimsId(settleClaims.getId());
+ settleClaimsExtMapper.insert(settleClaims.getExtData());
+ //澶勭悊闄勪欢寮�濮�
+ multifileJoinMapper.update(null,new UpdateWrapper<Multifile>().lambda()
+ .set(Multifile::getIsdeleted,Constants.ZERO)
+ .eq(Multifile::getObjId,model.getId())
+ .in(Multifile::getObjType,Constants.MultiFile.LP_YGGX_FILE.getKey()
+ ,Constants.MultiFile.LP_ZYCL_FILE.getKey()
+ ,Constants.MultiFile.LP_MZCL_FILE.getKey()
+ ,Constants.MultiFile.LP_OTHER_FILE.getKey()
+ ,Constants.MultiFile.LP_SCZL_FILE.getKey()));
+ dealSysFileListBiz(settleClaims);
+ }
+
+ private void dealCreateSysBiz(SettleClaims settleClaims,Date date,LoginUserInfo loginUserInfo) {
+ settleClaims.setCreateDate(date);
+ settleClaims.setIsdeleted(Constants.ZERO);
+ settleClaims.setCreator(loginUserInfo.getId());
+
+ settleClaimsMapper.insert(settleClaims);
+ settleClaims.getExtData().setCreator(settleClaims.getCreator());
+ settleClaims.getExtData().setCreateDate(date);
+ settleClaims.getExtData().setEditor(settleClaims.getCreator());
+ settleClaims.getExtData().setEditDate(date);
+ settleClaims.getExtData().setIsdeleted(Constants.ZERO);
+ settleClaims.getExtData().setSettileClaimsId(settleClaims.getId());
+ settleClaimsExtMapper.insert(settleClaims.getExtData());
+ //澶勭悊闄勪欢寮�濮�
+ dealSysFileListBiz(settleClaims);
+ }
+
+ /**
+ * 澶勭悊闄勪欢寮�濮�
+ * @param settleClaims
+ */
+
+ private void dealSysFileListBiz(SettleClaims settleClaims) {
+ List<Multifile> relationFileList = settleClaims.getRelationFileList();//鍛樺伐鍏崇郴鏉愭枡
+ List<Multifile> hospitalFileList = settleClaims.getHospitalFileList();//浣忛櫌鏉愭枡
+ List<Multifile> outpatientFileList = settleClaims.getOutpatientFileList();//闂ㄨ瘖鏉愭枡
+ List<Multifile> otherFileList = settleClaims.getOtherFileList();//鍏朵粬鏉愭枡
+ List<Multifile> disabilityFileList = settleClaims.getDisabilityFileList();//浼ゆ畫鏉愭枡
+ List<Multifile> insetList = new ArrayList<>();
+ insetList.addAll(getMultifileListByObjtype(relationFileList,Constants.MultiFile.LP_YGGX_FILE.getKey(),settleClaims));
+ insetList.addAll(getMultifileListByObjtype(hospitalFileList,Constants.MultiFile.LP_ZYCL_FILE.getKey(),settleClaims));
+ insetList.addAll(getMultifileListByObjtype(outpatientFileList,Constants.MultiFile.LP_MZCL_FILE.getKey(),settleClaims));
+ insetList.addAll(getMultifileListByObjtype(otherFileList,Constants.MultiFile.LP_OTHER_FILE.getKey(),settleClaims));
+ insetList.addAll(getMultifileListByObjtype(disabilityFileList,Constants.MultiFile.LP_SCZL_FILE.getKey(),settleClaims));
+ if(CollectionUtils.isNotEmpty(insetList)){
+ multifileJoinMapper.insert(insetList);
+ }
+ //--------------澶勭悊闄勪欢缁撴潫----------------
+ }
+
+ private Collection<? extends Multifile> getMultifileListByObjtype(List<Multifile> list, int key,SettleClaims model) {
+ List<Multifile> insetList = new ArrayList<>();
+ if(CollectionUtils.isNotEmpty(list)){
+ int index = 0;
+ for (int i = 0; i < list.size(); i++) {
+ Multifile multifile = list.get(i);
+ if(Objects.isNull(multifile.getFileurl())
+ || Objects.isNull(multifile.getType())
+ || StringUtils.isBlank(multifile.getName()) ){
+ continue;
+ }
+ multifile.setCreator(model.getEditor());
+ multifile.setCreateDate(model.getEditDate());
+ multifile.setEditor(model.getEditor());
+ multifile.setEditDate(model.getEditDate());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(model.getId());
+ multifile.setObjType(key);
+ multifile.setSortnum(index++);
+ insetList.add(multifile);
+ }
+ }
+ return insetList;
+ }
+
@Override
public Integer create(SettleClaims settleClaims) {
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -1174,7 +1260,7 @@
//澶氭鍑洪櫓鎻愰啋
if(StringUtils.isNotBlank(riskConfigVO.getRiskTimesOpen()) && StringUtils.equals(riskConfigVO.getRiskTimesOpen(),Constants.ONE+"")
&& StringUtils.isNotBlank(riskConfigVO.getRiskTimesReportTimes())){
- Integer cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
+ Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
.eq(SettleClaims::getMemberId,settleClaimsDTO.getMemberId())
.ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId())
.apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ")
@@ -1192,7 +1278,7 @@
&& StringUtils.equals(riskConfigVO.getRiskRepeatReportOpen(),Constants.ONE+"")
&& StringUtils.isNotBlank(riskConfigVO.getRiskRepeatReportTimeUnit())
&& StringUtils.isNotBlank(riskConfigVO.getRiskRepeatReportTime())){
- Integer cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
+ 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) ")
@@ -1212,7 +1298,7 @@
if(StringUtils.isNotBlank(riskConfigVO.getRiskClaimTimesOpen())
&& StringUtils.equals(riskConfigVO.getRiskClaimTimesOpen(),Constants.ONE+"")
&& StringUtils.isNotBlank(riskConfigVO.getRiskClaimTimes())){
- Integer cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
+ Long cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
.eq(SettleClaims::getInsuranceApplyId,settleClaimsDTO.getInsuranceApplyId())
.ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId())
.apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ")
@@ -1790,11 +1876,23 @@
@Override
- public List<CompensationVO> getCompensation(Integer id){
- SettleClaims settleClaims = settleClaimsMapper.selectById(id);
+ public List<CompensationVO> getCompensation(CompensationFeeDTO compensationFeeDTO){
+ if(Objects.isNull(compensationFeeDTO)
+ || Objects.isNull(compensationFeeDTO.getType())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ SettleClaims settleClaims = null;
+ if(Objects.nonNull(compensationFeeDTO.getId())){
+ settleClaims = settleClaimsMapper.selectById(compensationFeeDTO.getId());
+ }
List<CompensationVO> modelList = new ArrayList<>();
- if (Objects.nonNull(settleClaims)&&StringUtils.isNotBlank(settleClaims.getAccountContent())) {
- modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class);
+ if (Objects.nonNull(settleClaims)) {
+ 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.TWO)&&StringUtils.isNotBlank(settleClaims.getHpAccountContent())){
+ modelList = JSONArray.parseArray(settleClaims.getHpAccountContent(),CompensationVO.class);
+ }
}
Constants.compensation [] compensations = Constants.compensation.values();
List<CompensationVO> list = new ArrayList<>();
@@ -1837,7 +1935,7 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
}
- List<CompensationVO> modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class);
+ List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
SettleClaims update = new SettleClaims();
update.setEditDate(new Date());
@@ -1925,18 +2023,17 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
}
- List<CompensationVO> modelList = JSONArray.parseArray(settleClaims.getAccountContent(),CompensationVO.class);
+
+ List<CompensationVO> modelList = JSONArray.parseArray(dto.getCompensationJson(),CompensationVO.class);
SettleClaims update = new SettleClaims();
update.setEditDate(new Date());
update.setEditor(loginUserInfo.getId());
- update.setYlClaimAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&i.getName().equals(Constants.compensation.YL_COMPENSATION.getName())).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
- 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));
- update.setOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
- update.setAccountContent(dto.getCompensationJson());
+ update.setHpAccountContent(dto.getCompensationJson());
+ update.setHpAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+ update.setHpOtherAccount(modelList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).map(i->i.getFee()).reduce(BigDecimal.ZERO,BigDecimal::add));
+
+
update.setId(settleClaims.getId());
update.setStatus(Constants.SettleClaimsStatus.COMPENSATION.getKey());
settleClaimsMapper.updateById(update);
@@ -1985,7 +2082,7 @@
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.getAccountContent(),CompensationVO.class);
+ 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());
@@ -1999,7 +2096,6 @@
continue;
}
}
- update.setAccountContent(dto.getCompensationJson());
update.setAccountContent(JSONArray.toJSONString(oldList));
update.setId(settleClaims.getId());
settleClaimsMapper.updateById(update);
@@ -2039,38 +2135,62 @@
}
-// @Override
-// @Transactional(rollbackFor = {BusinessException.class,Exception.class})
-// public void payCash(PayCashDTO dto){
-// if(Objects.isNull(dto)
-// || Objects.isNull(dto.getId())
-// || StringUtils.isBlank(dto.getDescribe())
-// ){
-// 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.COMPENSATION.getKey(),settleClaims.getStatus())){
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
-// }
-// SettleClaims update = new SettleClaims();
-// update.setEditDate(new Date());
-// update.setEditor(loginUserInfo.getId());
-// update.setStatus(Constants.SettleClaimsStatus.WAIT_DEAL.getKey());
-// update.setId(settleClaims.getId());
-// settleClaimsMapper.updateById(update);
-//
-// //瀛樺偍鏃ュ織
-// this.saveSettleClaimsLog(settleClaims,
-// Constants.SettleClaimsLogType.CONFIRM_FEE,
-// Constants.SettleClaimsLogType.CONFIRM_FEE.getInfo());
-// }
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public void payCash(PayCashDTO dto){
+ if(Objects.isNull(dto)
+ || Objects.isNull(dto.getId())
+ || StringUtils.isBlank(dto.getDescribe())
+ ){
+ 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_FEE.getKey(),settleClaims.getStatus())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝涓氬姟鐘舵�佸凡娴佽浆~");
+ }
+ SettleClaims update = new SettleClaims();
+ update.setEditDate(new Date());
+ update.setEditor(loginUserInfo.getId());
+ update.setStatus(Constants.SettleClaimsStatus.CLOSE_CASE.getKey());
+ update.setId(settleClaims.getId());
+ settleClaimsMapper.updateById(update);
+
+ if(CollectionUtils.isNotEmpty(dto.getMultifileList())){
+ List<Multifile> fileList = dto.getMultifileList();
+ if(CollectionUtils.isNotEmpty(fileList)){
+ for (int i = 0; i < fileList.size(); i++) {
+ Multifile multifile = fileList.get(i);
+ if(Objects.isNull(multifile.getFileurl())
+ || Objects.isNull(multifile.getType())
+ || StringUtils.isBlank(multifile.getName())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"闄勪欢鍐呭寮傚父");
+ }
+ multifile.setCreator(loginUserInfo.getId());
+ multifile.setCreateDate(new Date());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setObjId(settleClaims.getId());
+ //娣诲姞鏉愭枡鏀惧叆 鍏朵粬鏉愭枡涓氬姟鍐�
+ multifile.setObjType(Constants.MultiFile.LP_PAY_FILE.getKey());
+ multifile.setSortnum(i+1);
+ multifileJoinMapper.insert(multifile);
+ }
+ }
+ }
+
+
+ //瀛樺偍鏃ュ織
+ this.saveSettleClaimsLog(settleClaims,
+ Constants.SettleClaimsLogType.PLATFORM_FINISH,
+ dto.getDescribe());
+ }
--
Gitblit v1.9.3