From cdd6551b190b981b807a3b95e9635c559ccc769d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 19 五月 2025 09:45:07 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 120 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 77 insertions(+), 43 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java index 0d224e2..9959130 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java @@ -3,8 +3,10 @@ import cn.hutool.core.util.IdcardUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.api.R; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.annotation.excel.ExcelExporter; +import com.doumee.core.annotation.excel.Reflections; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; @@ -33,6 +35,8 @@ import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.checkerframework.checker.units.qual.A; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -733,7 +737,7 @@ } //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁 InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(), - member.getIdcardNo(),member.getName(),detail.getStartTime(),detail.getEndTime(), + member.getId(),member.getIdcardNo(),member.getName(),detail.getStartTime(),detail.getEndTime(), applyDetailJoinMapper); //鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁 @@ -991,6 +995,9 @@ Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_COMPANY_COMMIT; ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),"",applyChange.getId(),applyLogType.getKey(), null, null); applyLogMapper.insert(log); +// if(1==1){ +// throw new BusinessException(ResponseStatus.DATA_EMPTY ); +// } return applyChange.getId(); } @@ -1136,9 +1143,12 @@ } } + private static Logger logger = LoggerFactory.getLogger(ApplyChangeServiceImpl.class); public BigDecimal dealApplyChangeData(ApplyChange applyChange,InsuranceApply insuranceApply ,CompanySolution companySolution,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal fee){ + Long start = System.currentTimeMillis(); + logger.error("澶勭悊鍔犲噺淇濅繚鍗曟暟鎹紑濮嬫椂闂�:=========================>"+start); if(Constants.equalsInteger(applyChange.getType(),Constants.ZERO)){ if(Objects.nonNull(solutions.getDelOnlyReplace())&& solutions.getDelOnlyReplace().equals(Constants.ONE)){ if(applyChange.getDelDetailList().size() > applyChange.getAddDetailList().size()){ @@ -1190,6 +1200,14 @@ List<ApplyChagneDetail> delDetailList = applyChange.getDelDetailList(); //鍔犱繚鏁版嵁 List<ApplyChagneDetail> addDetailList = applyChange.getAddDetailList(); + //鎹㈠巶涓氬姟 + List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList(); + + if(CollectionUtils.isEmpty(delDetailList) + && CollectionUtils.isEmpty(addDetailList) + && CollectionUtils.isEmpty(changeDetailList)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈坊鍔犱汉鍛樻暟鎹棤娉曡繘琛屾彁浜�"); + } if (CollectionUtils.isNotEmpty(addDetailList)) { if(Objects.isNull(solutions.getCanAdd()) || solutions.getCanAdd().equals(Constants.ZERO)){ @@ -1227,10 +1245,7 @@ fee = fee.add(delDetailList.stream().map(ApplyChagneDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add)); } - - //鎹㈠巶涓氬姟 - List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList(); if (CollectionUtils.isNotEmpty(changeDetailList)) { if(Objects.isNull(solutions.getCanChangeUnit()) || solutions.getCanChangeUnit().equals(Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇ヤ繚闄╂柟妗堟棤娉曡繘琛屾崲鍘傛搷浣�"); @@ -1244,6 +1259,8 @@ this.changeDetail(applyChange,changeDetailList,duSolutionList,loginUserInfo,solutions,worktypeIdList); } + Long end = System.currentTimeMillis(); + logger.error("澶勭悊鍔犲噺淇濅繚鍗曟暟鎹粨鏉熸椂闂�:=========================>"+end +";鍗曟潯鑰楁椂锛�====銆�"+(end-start)); return fee; } @@ -1292,18 +1309,35 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝凡鍑洪櫓鏃犳硶杩涜鍑忎繚"); }; //2024-10-29 15:17:54 鏌ヨ浜哄憳鏄惁宸插噺淇� 宸插噺淇濆悗鏃犳硶鍐嶆鍑忎繚 - if(applyChangeDetailJoinMapper.selectJoinCount(new MPJLambdaWrapper<ApplyChagneDetail>() +// if(applyChangeDetailJoinMapper.selectJoinCount(new MPJLambdaWrapper<ApplyChagneDetail>() +// .leftJoin(ApplyChange.class,ApplyChange::getId,ApplyChagneDetail::getApplyChangeId) +// .eq(ApplyChagneDetail::getType,Constants.ONE) +// .eq(ApplyChange::getApplyId,applyChange.getApplyId()) +// .eq(ApplyChagneDetail::getMemberId,applyChagneDetail.getMemberId()) +// .notIn(ApplyChange::getStatus,Constants.ApplyChangeStatus.CLOSE.getKey() +// ,Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS_NO.getKey() +// ) +// )>Constants.ZERO){ +// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝凡鍑忎繚鏃犳硶鍐嶆杩涜鍑忎繚"); +// }; + //2025-1-16 09:11:14 鏍规嵁鏌ヨ褰撳墠浜哄憳鏈�鍚庝竴娆$殑鍔犲噺淇濊褰� 濡傛灉鏈�鍚庝竴鏉¤褰曟槸鍔犱繚杩涘叆 鍒欏彲浠ュ噺淇� 濡傛灉鏈�鍚庝竴鏉¤褰曟槸鍑忎繚璁板綍 鍒欎笉鍙互鍑忎繚 濡傛灉涓虹┖ 杩欏彲浠ヨ繘琛屾搷浣� + ApplyChagneDetail lastApplyChagneDetail = applyChangeDetailJoinMapper.selectJoinOne(ApplyChagneDetail.class, + new MPJLambdaWrapper<ApplyChagneDetail>() .leftJoin(ApplyChange.class,ApplyChange::getId,ApplyChagneDetail::getApplyChangeId) - .eq(ApplyChagneDetail::getType,Constants.ONE) + .ne(ApplyChagneDetail::getType,Constants.TWO) .eq(ApplyChange::getApplyId,applyChange.getApplyId()) - .eq(ApplyChagneDetail::getMemberId,applyChagneDetail.getMemberId()) + .eq(ApplyChagneDetail::getMemberId,applyChagneDetail.getMemberId()) .notIn(ApplyChange::getStatus,Constants.ApplyChangeStatus.CLOSE.getKey() - ,Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS_NO.getKey() + ,Constants.ApplyChangeStatus.PALTFORM_CHECK_PASS_NO.getKey() ) - )>Constants.ZERO){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝凡鍑忎繚鏃犳硶鍐嶆杩涜鍑忎繚"); - }; - + .orderByDesc(ApplyChagneDetail::getId) + .last(" limit 1 ") + ); + if(Objects.nonNull(lastApplyChagneDetail)){ + if(Constants.equalsInteger(lastApplyChagneDetail.getType(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝凡鍑忎繚鏃犳硶鍐嶆杩涜鍑忎繚"); + } + } //鏌ヨ鍑忎繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁 if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>() .lambda() @@ -1331,6 +1365,7 @@ } //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁 List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda() + .eq(ApplyDetail::getIsdeleted,Constants.ZERO) .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId()) // .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getDelValidTime(),1)) @@ -1413,10 +1448,6 @@ ) { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け"); } - //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁 - InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(), - applyChagneDetail.getIdcardNo(),applyChagneDetail.getMemberName(),applyChange.getApplyStartTime(),insuranceApply.getEndTime(), - applyDetailJoinMapper); //鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁 if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>() @@ -1467,17 +1498,14 @@ member.setApplyId(insuranceApply.getId()); member.setDuId(applyChagneDetail.getDuId()); member.setWorktypeId(applyChagneDetail.getWorktypeId()); -// member.setStartTime(applyChagneDetail.getStartTime()); -// member.setEndTime(applyChagneDetail.getEndTime()); memberMapper.insert(member); }else{ member.setApplyId(insuranceApply.getId()); member.setDuId(applyChagneDetail.getDuId()); member.setWorktypeId(applyChagneDetail.getWorktypeId()); -// member.setStartTime(applyChagneDetail.getStartTime()); -// member.setEndTime(applyChagneDetail.getEndTime()); memberMapper.updateById(member); } + applyChagneDetail.setMemberId(member.getId()); }else{ member = memberMapper.selectById(applyChagneDetail.getMemberId()); if(Objects.isNull(member)){ @@ -1490,6 +1518,11 @@ member.setEndTime(applyChagneDetail.getEndTime()); memberMapper.updateById(member); } + + //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁 + InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(), + applyChagneDetail.getMemberId(),applyChagneDetail.getIdcardNo(),applyChagneDetail.getMemberName(),applyChange.getApplyStartTime(),insuranceApply.getEndTime(), + applyDetailJoinMapper); //鏍规嵁鍛樺伐韬唤璇佽繘琛屽垽鏂勾榫� long age = Constants.getAgeByIdCard(member.getIdcardNo()); @@ -1591,6 +1624,7 @@ } //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁 List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda() + .eq(ApplyDetail::getIsdeleted,Constants.ZERO) .eq(ApplyDetail::getApplyId, applyChange.getApplyId()) .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId()) .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1)) @@ -2280,18 +2314,18 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�"); } String fileUrl = null; -// if(Constants.equalsObject(model.getType(), Constants.ONE)){ -// fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","鎶曚繚浼佷笟"); -// }else{ -// fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","鎶曚繚浼佷笟"); -// } + if(Constants.equalsObject(model.getType(), Constants.ONE)){ + fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","鎶曚繚浼佷笟"); + }else{ + fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","鎶曚繚浼佷笟"); + } String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode(); -// notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString()); -// String applyNo = signService.applySignLocalFile(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"鎶曚繚浼佷笟绛剧珷",company.getSignId(),notifyUrl); + notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString()); + String applyNo = signService.applySignLocalFileByParam(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"鎶曚繚浼佷笟绛剧珷",company.getSignId(),notifyUrl,new Float(0.7)); //涓存椂浣跨敤 - fileUrl = - "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241120/1c80f0d7-ab35-4355-b9fe-944464643115.pdf"; - String applyNo = signService.applySign(companyName,fileUrl,companyName,creditCode,email,"浜哄憳鍚嶅崟绛剧珷",null,notifyUrl); +// fileUrl = +// "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241120/1c80f0d7-ab35-4355-b9fe-944464643115.pdf"; +// String applyNo = signService.applySign(companyName,fileUrl,companyName,creditCode,email,"浜哄憳鍚嶅崟绛剧珷",null,notifyUrl); if(StringUtils.isBlank(applyNo) ){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�"); } @@ -2538,19 +2572,19 @@ if(!Constants.equalsInteger(Constants.ZERO,model.getStatus())){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔绛剧珷鎿嶄綔锛�"); } -// if(Constants.equalsObject(model.getType(), Constants.ONE)){ -// fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","琚繚闄╀汉"); -// }else{ -// fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","琚繚闄╀汉"); -// } + if(Constants.equalsObject(model.getType(), Constants.ONE)){ + fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","琚繚闄╀汉"); + }else{ + fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","琚繚闄╀汉"); + } String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode(); notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString()); //涓存椂浣跨敤 - fileUrl = "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241230/a0d128f2-ba6c-4ad4-b86b-b2610a513d41.pdf"; - String applyNo = signService.applySignDoByParam(company.getName(),fileUrl,company.getName(),company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl,new Float(0.7)); +// fileUrl = "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241230/a0d128f2-ba6c-4ad4-b86b-b2610a513d41.pdf"; +// String applyNo = signService.applySignDoByParam(company.getName(),fileUrl,company.getName(),company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl,new Float(0.7)); -// String applyNo = signService.applySignLocalFile(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl); + String applyNo = signService.applySignLocalFileByParam(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"浜哄憳鍚嶅崟绛剧珷",company.getSignId(),notifyUrl,new Float(0.7)); if(StringUtils.isBlank(applyNo) ){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�"); } @@ -2656,26 +2690,26 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濆崟鏁版嵁"); } SaveUnionChangeDTO saveUnionChangeDTO = new SaveUnionChangeDTO(); - saveUnionChangeDTO.setApplyDate(update.getApplyStartTime()); + saveUnionChangeDTO.setApplyDate(model.getValidTime()); List<Integer> applyIds = new ArrayList<>(); applyIds.add(model.getId()); saveUnionChangeDTO.setApplyIds(applyIds); saveUnionChangeDTO.setApplyChange(model); saveUnionChangeDTO.setUnionApplyId(insuranceApply.getUnionApplyId()); saveUnionChangeDTO.setBusinessType(model.getType()); - if(Constants.equalsInteger(model.getType(),Constants.ONE)){ - saveUnionChangeDTO.setApplyDate(model.getApplyStartTime()); - } if(Constants.equalsInteger(user.getType(),Constants.TWO)){ saveUnionChangeDTO.setShopId(user.getCompanyId()); }else{ - CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>().lambda().eq(CompanySolution::getSolutionId,solutions.getId()).eq(CompanySolution::getCompanyId,insuranceApply.getCompanyId()).last(" limit 1 ")); + CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>() + .lambda().eq(CompanySolution::getSolutionBaseId,solutions.getBaseId()) + .eq(CompanySolution::getCompanyId,insuranceApply.getCompanyId()).last(" limit 1 ")); if(Objects.isNull(companySolution)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌浼佷笟鏂规淇℃伅"); } saveUnionChangeDTO.setShopId(companySolution.getShopId()); } + unionChangeService.merge(saveUnionChangeDTO); } return 1; -- Gitblit v1.9.3