From 78a173f85f8a4666d83cf8d900f04dd9f8e3e127 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 17 六月 2025 08:53:12 +0800 Subject: [PATCH] 提交一把订单 --- server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 90 +++++++++++++++++++++++++++----------------- 1 files changed, 55 insertions(+), 35 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 e4d916d..0a0aa04 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 @@ -1146,7 +1146,7 @@ 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()); @@ -1311,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()); @@ -1388,6 +1388,7 @@ } SettleClaims settleClaims = new SettleClaims(); BeanUtils.copyProperties(settleClaimsDTO,settleClaims); + settleClaims.setEditDate(new Date()); settleClaims.setReportNumStatus(Constants.ZERO); settleClaims.setCompanyId(loginUserInfo.getCompanyId()); settleClaims.setOrigin(Constants.ZERO); @@ -1409,7 +1410,9 @@ 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()))){ + 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()); @@ -1560,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+"娆�"); @@ -1576,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+"娆�"); @@ -1863,6 +1866,7 @@ 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(),null); settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() @@ -1937,6 +1941,7 @@ multifileJoinMapper.insert(multifile); } } + settleClaims.setEditDate(new Date()); //瀛樺偍鏃ュ織 this.saveSettleClaimsLog(settleClaims,Constants.SettleClaimsLogType.SUPPLEMENT,null,null); //鍒犻櫎浼佷笟鐨勪唬鍔為�氱煡------ @@ -1969,13 +1974,12 @@ 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,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); @@ -2005,11 +2009,12 @@ ){ 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(),null); settleClaimsMapper.update(null,new UpdateWrapper<SettleClaims>().lambda() .eq(SettleClaims::getId,dto.getId()) - .set(SettleClaims::getEditDate,DateUtil.getCurrDateTime()) + .set(SettleClaims::getEditDate,settleClaims.getEditDate()) .set(SettleClaims::getEditor,loginUserInfo.getId()) .set(SettleClaims::getCaseType,dto.getCaseType())); } @@ -2041,10 +2046,11 @@ Constants.SettleClaimsStatus settleClaimsStatus = Constants.equalsInteger(dto.getRegisterStatus(),Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey())?Constants.SettleClaimsStatus.CONFIRM_INFORMATION:Constants.SettleClaimsStatus.FINISH_ACCEPTANCE; //瀛樺偍鏃ュ織 + 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::getEditDate, settleClaims.getEditDate()) .set(SettleClaims::getEditor,loginUserInfo.getId()) .set(SettleClaims::getStatus,settleClaimsStatus.getKey())); @@ -2108,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()); @@ -2127,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; @@ -2170,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; @@ -2203,10 +2213,11 @@ 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, @@ -2216,7 +2227,7 @@ }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, @@ -2225,7 +2236,7 @@ }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()) + .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, @@ -2337,7 +2348,7 @@ } 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()); @@ -2394,10 +2405,11 @@ //瀛樺偍鏃ュ織 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()),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);//鍒犻櫎閫氱煡 @@ -2438,9 +2450,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()); 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)); @@ -2483,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); @@ -2542,8 +2554,9 @@ 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.CONFIRM_FEE.getKey()); update.setId(settleClaims.getId()); @@ -2579,8 +2592,9 @@ 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()); @@ -2801,15 +2815,18 @@ } if(!(Constants.equalsInteger(Constants.SettleClaimsStatus.CONFIRM_INFORMATION.getKey(),settleClaims.getStatus()) || Constants.equalsInteger(Constants.SettleClaimsStatus.ACCEPTANCE.getKey(),settleClaims.getStatus()) - // || Constants.equalsInteger(Constants.SettleClaimsStatus.WAIT_DEAL.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(new Date()); + update.setEditDate(settleClaims.getEditDate()); update.setEditor(loginUserInfo.getId()); update.setHurtType(dto.getHurtType()); update.setId(settleClaims.getId()); @@ -2850,9 +2867,9 @@ ){ 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.setReceiveBank(dto.getReceiveBank()); update.setReceiveAccount(dto.getReceiveAccount()); @@ -2975,10 +2992,13 @@ 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) - ); + if(CollectionUtils.isNotEmpty(closeCaseList)){ + 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(); -- Gitblit v1.9.3