From 747ec8978ae04489f368ab699a74ed7b831d0731 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 29 五月 2025 11:41:57 +0800
Subject: [PATCH] 提交一把订单
---
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 149 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 139 insertions(+), 10 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 e752211..81a7198 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
@@ -67,6 +67,8 @@
@Autowired
private SettleClaimsMapper settleClaimsMapper;
@Autowired
+ private MemberMapper memberMapper;
+ @Autowired
private SettleClaimsExtMapper settleClaimsExtMapper;
@Autowired
@@ -396,6 +398,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())
@@ -567,6 +570,7 @@
)>Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鎻愭姤涓殑鎶ユ鏁版嵁!");
}
+
settleClaims.setCreateDate(new Date());
settleClaims.setIsdeleted(Constants.ZERO);
settleClaims.setCompanyId(loginUserInfo.getCompanyId());
@@ -783,6 +787,94 @@
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);
+ }
+
+
+
return settleClaims;
}
@@ -1112,6 +1204,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)
@@ -1130,7 +1223,8 @@
}else {
queryWrapper. in(Company::getId, user.getCompanyIdList());
}
- } else {
+ queryWrapper.ne(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_ACCEPTANCE.getKey());
+ }{
//浼佷笟鐢ㄦ埛鍙湅鑷繁鐨勬暟鎹�
pageWrap.getModel().setCompanyId(user.getCompanyId());
}
@@ -1186,6 +1280,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);
@@ -1202,7 +1297,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;
@@ -1252,10 +1349,25 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
}
+ Member member =memberMapper.selectById(settleClaimsDTO.getMemberId());
+ if(member == null){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍑洪櫓浜轰俊鎭笉姝g‘锛�");
+ }
SettleClaims settleClaims = new SettleClaims();
BeanUtils.copyProperties(settleClaimsDTO,settleClaims);
settleClaims.setReportNumStatus(Constants.ZERO);
+ settleClaims.setCompanyId(loginUserInfo.getCompanyId());
settleClaims.setOrigin(Constants.ZERO);
+ settleClaims.setMemberName(member.getName());
+ settleClaims.setCreateDate(new Date());
+ 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.setEditDate(new Date());
settleClaims.setEditor(loginUserInfo.getId());
@@ -1267,9 +1379,7 @@
}
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)){
@@ -1287,7 +1397,21 @@
this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.PLATFORM_REGISTER,null,Constants.SettleClaimsStatus.CONFIRM_INFORMATION);
}
}
+ if( Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey()) ||
+ Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())){
+ //-濡傛灉鏄緟绔嬫鎴栬�呭凡绔嬫寰呭鏍革紝鍙戝緟鍔為�氱煡-------------
+ 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(),getNoticeConttent(settleClaims),
+ settleClaims.getCompanyId(),
+ Constants.equalsInteger(settleClaims.getStatus(),Constants.SettleClaimsStatus.RETURN_ACCEPTANCE.getKey())?Constants.NoticeType.ZERO:Constants.NoticeType.TWO);
+ noticesMapper.insert(notices);
+ }
return settleClaims.getId();
+ }
+
+ private String getNoticeConttent(SettleClaims settleClaims) {
+ return "鎶ユ鍙凤細"+StringUtils.defaultString(settleClaims.getCode(),"")+" 鍑洪櫓浜猴細"+StringUtils.defaultString(settleClaims.getMemberName(),"");
}
public void saveRisk(SettleClaims settleClaims, SettleClaimsDTO settleClaimsDTO, SystemDictDataServiceImpl systemDictDataService){
@@ -1298,7 +1422,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)){
@@ -1726,6 +1850,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()));
@@ -1880,8 +2005,11 @@
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.CONFIRM_INFORMATION.getKey())
+ (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))
@@ -2018,11 +2146,11 @@
//鍙楃悊鍟嗚瀹℃壒
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()));
+ .set(SettleClaims::getStatus,Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT.getKey()));
//瀛樺偍鏃ュ織
this.saveSettleClaimsLog(settleClaims,
Constants.SettleClaimsLogType.PLATFORM_WAIT_DISCUSS,
- dto.getDescribe(),Constants.SettleClaimsStatus.REJECT_DEAL);
+ dto.getDescribe(),Constants.SettleClaimsStatus.WAIT_DISCUSS_AUDIT);
}
}
@@ -2250,7 +2378,8 @@
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.setId(settleClaims.getId());
+ update.setFeeUpdate(Constants.ONE);
settleClaimsMapper.updateById(update);
//瀛樺偍鏃ュ織
--
Gitblit v1.9.3