From 49c7ea314c2070a2090fee2c77acbd21435f0455 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 20 六月 2024 16:51:09 +0800 Subject: [PATCH] 提交一把 --- server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 625 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 420 insertions(+), 205 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java index faf61b2..ddcd07f 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java @@ -308,6 +308,10 @@ if(CollectionUtils.isNotEmpty(applyDetailList)){ List<MemberInsurance> memberInsuranceList = new ArrayList<>(); for (ApplyDetail applyDetail:applyDetailList) { + + //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁 + this.checkMemberSolution(applyDetail.getSolutionId(),applyDetail.getIdcardNo(),applyDetail.getMemberName(),update.getStartTime(),update.getEndTime()); + MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId()); memberInsurance.setRelationType(Constants.ZERO); memberInsuranceList.add(memberInsurance); @@ -1174,218 +1178,350 @@ } @Override - public void dealSignResult(NotifyDataReq data){ + public String dealSignResult(NotifyDataReq data){ if(data.getApplyNo() == null ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } - if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ + if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE ) + || Constants.equalsInteger(data.getSignStatus(), Constants.TWO )){ //濡傛灉宸蹭繚鍏�,鍙笅杞界绾﹂檮浠� String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode(); - //鐩翠繚 鎶曚繚鐢宠 - InsuranceApply model = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class, - new MPJLambdaWrapper<InsuranceApply>() - .selectAll(InsuranceApply.class) - .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) - .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) - .selectAs(Company::getName,InsuranceApply::getCompanyName) - .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) - .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) - .eq(Solutions::getType,Constants.ZERO) - .eq(InsuranceApply::getSignApplyNo,data.getApplyNo()) - .last("limit 1" )); - if(model != null && Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())){ + String r = dealXBTBBiz(path,data,"鐩翠繚-鎶曚繚鐢宠绛剧讲"); + if(StringUtils.isNotBlank(r)){ + return r; + } + r = dealWTBQYQRSBiz(path,data,"濮旀墭淇�-浼佷笟鏂规纭涔︾缃�"); + if(StringUtils.isNotBlank(r)){ + return r; + } + r = dealWTBQYRYMQDBiz(path,data,"濮旀墭淇�-浼佷笟浜哄憳鍚嶅崟绛剧讲"); + if(StringUtils.isNotBlank(r)){ + return r; + } + r = dealWTBTBSQBiz(path,data,"濮旀墭淇�-鎶曚繚鐢宠涔︾缃�"); + if(StringUtils.isNotBlank(r)){ + return r; + } + r = dealZBJJBQYBiz(path,data,"鐩翠繚-鍔犲噺淇濅紒涓氱缃�"); + if(StringUtils.isNotBlank(r)){ + return r; + } + r = dealWTBJJBQYBiz(path,data,"濮旀墭淇�-鍔犲噺淇濅紒涓氱缃�"); + if(StringUtils.isNotBlank(r)){ + return r; + } + r = dealHBDSHBiz(path,data,"鎶曚繚鍚堝苟鍗�-鍟嗘埛绛剧讲绛剧讲"); + if(StringUtils.isNotBlank(r)){ + return r; + } + r = dealHBCHANGEQYBiz(path,data,"鍚堝苟鍔犲噺淇�/鎹㈠巶绛剧讲"); + if(StringUtils.isNotBlank(r)){ + return r; + } + } + return "鏃犲鐞嗘暟鎹�"; + } + + private String dealHBCHANGEQYBiz(String path, NotifyDataReq data, String title) { + UnionChange unionChange = unionChangeJoinMapper.selectOne( + new MPJLambdaWrapper<UnionChange>() + .selectAll(UnionChange.class) + .eq(UnionChange::getSignApplyNo,data.getApplyNo()) + .last(" limit 1 ")); + if(unionChange == null){ + return null; + } + if( Constants.equalsInteger(unionChange.getStatus(),Constants.UnionChangeStatus.MERGE.getKey())){ + if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ //瀹屾垚绛剧讲宸插畬鎴愭搷浣� - String link = signService.linkFile(data.getApplyNo()); + String link = signService.linkFile(unionChange.getSignApplyNo()); String fileUrl = uploadSignFile(link); if(StringUtils.isBlank(fileUrl)){ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� - return; - } - uploadSignedFileDo(model,fileUrl,path+fileUrl); - return; - } - //濮旀墭淇� 浼佷笟鏂规纭涔� - InsuranceApply modelTBQRS = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class, - new MPJLambdaWrapper<InsuranceApply>() - .selectAll(InsuranceApply.class) - .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) - .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) - .selectAs(Company::getName,InsuranceApply::getCompanyName) - .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) - .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) - .eq(Solutions::getType,Constants.ONE) - .eq(InsuranceApply::getSignQrsNo,data.getApplyNo()) - .last("limit 1" )); - if(modelTBQRS != null && Constants.equalsInteger(modelTBQRS.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey())){ - //瀹屾垚绛剧讲宸插畬鎴愭搷浣� - String link = signService.linkFile(data.getApplyNo()); - String fileUrl = uploadSignFile(link); - if(StringUtils.isBlank(fileUrl)){ - //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� - return; - } - uploadFAQRSSignedFileDo(modelTBQRS,fileUrl,path+fileUrl); - return; - } - - - - //濮旀墭淇� 浼佷笟绛剧讲浜哄憳鍚嶅崟 - InsuranceApply modelMemberList = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class, - new MPJLambdaWrapper<InsuranceApply>() - .selectAll(InsuranceApply.class) - .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) - .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) - .selectAs(Company::getName,InsuranceApply::getCompanyName) - .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) - .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) - .eq(Solutions::getType,Constants.ONE) - .eq(InsuranceApply::getSignMemberListNo,data.getApplyNo()) - .last("limit 1" )); - if(modelMemberList != null && Constants.equalsInteger(modelMemberList.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey())){ - //瀹屾垚绛剧讲宸插畬鎴愭搷浣� - String link = signService.linkFile(data.getApplyNo()); - String fileUrl = uploadSignFile(link); - if(StringUtils.isBlank(fileUrl)){ - //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� - return; - } - uploadApplyMemberListSignedFileDo(modelMemberList,fileUrl,path+fileUrl); - return; - } - - - //濮旀墭淇� 鎶曚繚鐢宠涔︾缃� - InsuranceApply modelTBQSQ = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class, - new MPJLambdaWrapper<InsuranceApply>() - .selectAll(InsuranceApply.class) - .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) - .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) - .selectAs(Company::getName,InsuranceApply::getCompanyName) - .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) - .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) - .eq(Solutions::getType,Constants.ONE) - .eq(InsuranceApply::getApplyTbdNo,data.getApplyNo()) - .last("limit 1" )); - if(modelTBQRS != null && Constants.equalsInteger(modelTBQSQ.getUnionApplyTbdStatus(),Constants.ONE)){ - //瀹屾垚绛剧讲宸插畬鎴愭搷浣� - String link = signService.linkFile(data.getApplyNo()); - String fileUrl = uploadSignFile(link); - if(StringUtils.isBlank(fileUrl)){ - //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� - return; - } - uploadTBSQSSignedFileDo(modelTBQSQ,fileUrl,path+fileUrl); - return; - } - - //鐩翠繚 鍔犲噺淇濅紒涓氱缃� - ApplyChange applyChange = applyChangeMapper.selectJoinOne(ApplyChange.class, - new MPJLambdaWrapper<ApplyChange>() - .selectAll(ApplyChange.class) - .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) - .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) - .selectAs(Solutions::getId,ApplyChange::getSolutionsId) - .selectAs(Company::getName,InsuranceApply::getCompanyName) - .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId) - .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) - .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) - .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) - .eq(Solutions::getType,Constants.ZERO) - .eq(ApplyChange::getSignApplyNo,data.getApplyNo()).last("limit 1" )); - if(applyChange != null &&Constants.equalsInteger(applyChange.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey())){ - String link = signService.linkFile(data.getApplyNo()); - String fileUrl = uploadSignFile(link); - if(StringUtils.isBlank(fileUrl)){ - //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� - return; - } - uploadChangeSignedFileDo(applyChange,fileUrl,path+fileUrl); - } - - //濮旀墭淇� 鍔犲噺淇濅紒涓氱缃� - ApplyChange applyChangeMemberList = applyChangeMapper.selectJoinOne(ApplyChange.class, - new MPJLambdaWrapper<ApplyChange>() - .selectAll(ApplyChange.class) - .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) - .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) - .selectAs(Solutions::getId,ApplyChange::getSolutionsId) - .selectAs(Company::getName,InsuranceApply::getCompanyName) - .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId) - .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) - .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) - .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) - .eq(Solutions::getType,Constants.ONE) - .eq(ApplyChange::getSignMemberListNo,data.getApplyNo()).last("limit 1" )); - if(applyChangeMemberList != null &&Constants.equalsInteger(applyChangeMemberList.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey())){ - String link = signService.linkFile(data.getApplyNo()); - String fileUrl = uploadSignFile(link); - if(StringUtils.isBlank(fileUrl)){ - //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� - return; - } - uploadChangeMemberListSignedFileDo(applyChangeMemberList,fileUrl,path+fileUrl); - } - - - //鎶曚繚鍚堝苟鍗� 鍟嗘埛绛剧讲淇濆崟 - UnionApply unionApply = unionApplyJoinMapper.selectOne(new QueryWrapper<UnionApply>() - .lambda().eq(UnionApply::getSignApplyNo,data.getApplyNo()).last(" limit 1 ")); - if(unionApply != null &&Constants.equalsInteger(unionApply.getStatus(),Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey())){ - String link = signService.linkFile(data.getApplyNo()); - String fileUrl = uploadSignFile(link); - if(StringUtils.isBlank(fileUrl)){ - //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� - return; - } - uploadUnionApplySignedFileDo(unionApply,fileUrl,path+fileUrl); - } - - - /** - *鍚堝苟鍔犲噺淇濇崲鍘� 绛剧讲涓氬姟 - */ - UnionChange unionChange = unionChangeJoinMapper.selectOne( - new MPJLambdaWrapper<UnionChange>() - .selectAll(UnionChange.class) - .eq(UnionChange::getSignApplyNo,data.getApplyNo()) - .last(" limit 1 ")); - if(unionChange != null &&Constants.equalsInteger(unionChange.getStatus(),Constants.UnionChangeStatus.MERGE.getKey())){ - String link = signService.linkFile(model.getSignApplyNo()); - String fileUrl = uploadSignFile(link); - if(StringUtils.isBlank(fileUrl)){ - //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� - return; + return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�"; } uploadUnionChangeSignedFileDo(unionChange,fileUrl,path+fileUrl); + return title+"鐘舵�佸鐞嗘垚鍔�"; + }else{ + //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 + unionChangeJoinMapper.update(null,new UpdateWrapper<UnionChange>().lambda() + .set(UnionChange::getSignApplyNo,null) + .eq(UnionChange::getSignApplyNo,data.getApplyNo())); + return title+"鍚堝悓鎷掔澶勭悊鎴愬姛"; + } + } + return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�"; + } + + private String dealHBDSHBiz(String path, NotifyDataReq data, String title) { + //鎶曚繚鍚堝苟鍗� 鍟嗘埛绛剧讲淇濆崟 + UnionApply unionApply = unionApplyJoinMapper.selectOne(new QueryWrapper<UnionApply>() + .lambda().eq(UnionApply::getSignApplyNo,data.getApplyNo()).last(" limit 1 ")); + if(unionApply == null){ + return null; + } + if( Constants.equalsInteger(unionApply.getStatus(),Constants.UnionApplyStatus.WAIT_SIGNATURE.getKey())){ + if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ + //瀹屾垚绛剧讲宸插畬鎴愭搷浣� + String link = signService.linkFile(data.getApplyNo()); + String fileUrl = uploadSignFile(link); + if(StringUtils.isBlank(fileUrl)){ + //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� + return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�"; + } + uploadUnionApplySignedFileDo(unionApply,fileUrl,path+fileUrl); + return title+"鐘舵�佸鐞嗘垚鍔�"; + }else{ + //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 + unionApplyJoinMapper.update(null,new UpdateWrapper<UnionApply>().lambda() + .set(UnionApply::getSignApplyNo,null) + .eq(UnionApply::getSignApplyNo,data.getApplyNo())); + return title+"鍚堝悓鎷掔澶勭悊鎴愬姛"; + } + } + return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�"; + + } + + private String dealWTBJJBQYBiz(String path, NotifyDataReq data, String title) { + //濮旀墭淇� 鍔犲噺淇濅紒涓氱缃� + ApplyChange applyChangeMemberList = applyChangeMapper.selectJoinOne(ApplyChange.class, + new MPJLambdaWrapper<ApplyChange>() + .selectAll(ApplyChange.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Solutions::getId,ApplyChange::getSolutionsId) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .eq(Solutions::getType,Constants.ONE) + .eq(ApplyChange::getSignMemberListNo,data.getApplyNo()).last("limit 1" )); + if(applyChangeMemberList == null){ + return null; + } + if( Constants.equalsInteger(applyChangeMemberList.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey())){ + if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ + //瀹屾垚绛剧讲宸插畬鎴愭搷浣� + String link = signService.linkFile(data.getApplyNo()); + String fileUrl = uploadSignFile(link); + if(StringUtils.isBlank(fileUrl)){ + //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� + return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�"; + } + uploadChangeMemberListSignedFileDo(applyChangeMemberList,fileUrl,path+fileUrl); + return title+"鐘舵�佸鐞嗘垚鍔�"; + }else{ + //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 + applyChangeMapper.update(null,new UpdateWrapper<ApplyChange>().lambda() + .set(ApplyChange::getSignMemberListNo,null) + .eq(ApplyChange::getSignMemberListNo,data.getApplyNo())); + return title+"鍚堝悓鎷掔澶勭悊鎴愬姛"; + } + } + return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�"; + } + + private String dealZBJJBQYBiz(String path, NotifyDataReq data, String title) { + //鐩翠繚 鍔犲噺淇濅紒涓氱缃� + ApplyChange applyChange = applyChangeMapper.selectJoinOne(ApplyChange.class, + new MPJLambdaWrapper<ApplyChange>() + .selectAll(ApplyChange.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Solutions::getId,ApplyChange::getSolutionsId) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .selectAs(InsuranceApply::getCompanyId,ApplyChange::getCompanyId) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .eq(Solutions::getType,Constants.ZERO) + .eq(ApplyChange::getSignApplyNo,data.getApplyNo()).last("limit 1" )); + if(applyChange == null){ + return null; + } + if( Constants.equalsInteger(applyChange.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey())){ + if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ + //瀹屾垚绛剧讲宸插畬鎴愭搷浣� + String link = signService.linkFile(data.getApplyNo()); + String fileUrl = uploadSignFile(link); + if(StringUtils.isBlank(fileUrl)){ + //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� + return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�"; + } + uploadChangeSignedFileDo(applyChange,fileUrl,path+fileUrl); + return title+"鐘舵�佸鐞嗘垚鍔�"; + }else{ + //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 + applyChangeMapper.update(null,new UpdateWrapper<ApplyChange>().lambda() + .set(ApplyChange::getSignApplyNo,null) + .eq(ApplyChange::getSignApplyNo,data.getApplyNo())); + return title+"鍚堝悓鎷掔澶勭悊鎴愬姛"; + } + } + + return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�"; + } + + private String dealWTBTBSQBiz(String path, NotifyDataReq data, String title) { + //濮旀墭淇� 鎶曚繚鐢宠涔︾缃� + InsuranceApply modelTBQSQ = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class, + new MPJLambdaWrapper<InsuranceApply>() + .selectAll(InsuranceApply.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .eq(Solutions::getType,Constants.ONE) + .eq(InsuranceApply::getApplyTbdNo,data.getApplyNo()) + .last("limit 1" )); + if(modelTBQSQ == null){ + return null; + } + if( Constants.equalsInteger(modelTBQSQ.getUnionApplyTbdStatus(),Constants.ONE)){ + if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ + //瀹屾垚绛剧讲宸插畬鎴愭搷浣� + String link = signService.linkFile(data.getApplyNo()); + String fileUrl = uploadSignFile(link); + if(StringUtils.isBlank(fileUrl)){ + //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� + return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�"; + } + uploadTBSQSSignedFileDo(modelTBQSQ,fileUrl,path+fileUrl); + return title+"鐘舵�佸鐞嗘垚鍔�"; + }else{ + //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 + insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda() + .set(InsuranceApply::getApplyTbdNo,null) + .eq(InsuranceApply::getApplyTbdNo,data.getApplyNo())); + return title+"鍚堝悓鎷掔澶勭悊鎴愬姛"; + } + } + return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�"; + } + + private String dealWTBQYRYMQDBiz(String path, NotifyDataReq data, String title) { + //濮旀墭淇� 浼佷笟绛剧讲浜哄憳鍚嶅崟 + InsuranceApply modelMemberList = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class, + new MPJLambdaWrapper<InsuranceApply>() + .selectAll(InsuranceApply.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .eq(Solutions::getType,Constants.ONE) + .eq(InsuranceApply::getSignMemberListNo,data.getApplyNo()) + .last("limit 1" )); + if(modelMemberList == null){ + return null; + } + if( Constants.equalsInteger(modelMemberList.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey())){ + if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ + //瀹屾垚绛剧讲宸插畬鎴愭搷浣� + String link = signService.linkFile(data.getApplyNo()); + String fileUrl = uploadSignFile(link); + if(StringUtils.isBlank(fileUrl)){ + //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� + return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�"; + } + uploadApplyMemberListSignedFileDo(modelMemberList,fileUrl,path+fileUrl); + return title+"鐘舵�佸鐞嗘垚鍔�"; + }else{ + //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 + insuranceApplyMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda() + .set(InsuranceApply::getSignMemberListNo,null) + .eq(InsuranceApply::getSignMemberListNo,data.getApplyNo())); + return title+"鍚堝悓鎷掔澶勭悊鎴愬姛"; + } + } + return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�"; + } + + private String dealWTBQYQRSBiz(String path, NotifyDataReq data, String title) { + //濮旀墭淇� 浼佷笟鏂规纭涔� + InsuranceApply modelTBQRS = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class, + new MPJLambdaWrapper<InsuranceApply>() + .selectAll(InsuranceApply.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .eq(Solutions::getType,Constants.ONE) + .eq(InsuranceApply::getSignQrsNo,data.getApplyNo()) + .last("limit 1" )); + if(modelTBQRS == null){ + return null; + } + if( Constants.equalsInteger(modelTBQRS.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey())){ + if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ + //瀹屾垚绛剧讲宸插畬鎴愭搷浣� + String link = signService.linkFile(data.getApplyNo()); + String fileUrl = uploadSignFile(link); + if(StringUtils.isBlank(fileUrl)){ + //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� + return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�"; + } + uploadFAQRSSignedFileDo(modelTBQRS,fileUrl,path+fileUrl); + return title+"鐘舵�佸鐞嗘垚鍔�"; + }else{ + //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 + insuranceApplyMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda() + .set(InsuranceApply::getSignQrsNo,null) + .eq(InsuranceApply::getSignQrsNo,data.getApplyNo())); + return title+"鍚堝悓鎷掔澶勭悊鎴愬姛"; } - - }else if(Constants.equalsInteger(data.getSignStatus(), Constants.TWO )){ - //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 - insuranceApplyMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda() - .set(InsuranceApply::getSignApplyNo,null) - .eq(InsuranceApply::getSignApplyNo,data.getApplyNo())); - applyChangeMapper.update(null,new UpdateWrapper<ApplyChange>().lambda() - .set(ApplyChange::getSignApplyNo,null) - .eq(ApplyChange::getSignApplyNo,data.getApplyNo())); - insuranceApplyMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda() - .set(InsuranceApply::getSignQrsNo,null) - .eq(InsuranceApply::getSignQrsNo,data.getApplyNo())); - insuranceApplyMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda() - .set(InsuranceApply::getSignMemberListNo,null) - .eq(InsuranceApply::getSignMemberListNo,data.getApplyNo())); - unionApplyJoinMapper.update(null,new UpdateWrapper<UnionApply>().lambda() - .set(UnionApply::getSignApplyNo,null) - .eq(UnionApply::getSignApplyNo,data.getApplyNo())); - applyChangeMapper.update(null,new UpdateWrapper<ApplyChange>().lambda() - .set(ApplyChange::getSignMemberListNo,null) - .eq(ApplyChange::getSignMemberListNo,data.getApplyNo())); - unionChangeJoinMapper.update(null,new UpdateWrapper<UnionChange>().lambda() - .set(UnionChange::getSignApplyNo,null) - .eq(UnionChange::getSignApplyNo,data.getApplyNo())); } + return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�"; + } + + /** + * 鎶曚繚鐩翠繚鐢宠绛剧讲 + * @param path + * @param data + * @return + */ + private String dealXBTBBiz(String path, NotifyDataReq data,String title) { + InsuranceApply model = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class, + new MPJLambdaWrapper<InsuranceApply>() + .selectAll(InsuranceApply.class) + .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) + .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail) + .selectAs(Company::getName,InsuranceApply::getCompanyName) + .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) + .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) + .eq(Solutions::getType,Constants.ZERO) + .eq(InsuranceApply::getSignApplyNo,data.getApplyNo()) + .last("limit 1" )); + if(model == null){ + return null; + } + if( Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())){ + //瀹屾垚绛剧讲宸插畬鎴愭搷浣� + if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){ + String link = signService.linkFile(data.getApplyNo()); + String fileUrl = uploadSignFile(link); + if(StringUtils.isBlank(fileUrl)){ + //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚� + return title + "鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�"; + } + uploadSignedFileDo(model,fileUrl,path+fileUrl); + return title +"鐘舵�佸鐞嗘垚鍔�"; + }else{ + //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓 + insuranceApplyMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda() + .set(InsuranceApply::getSignApplyNo,null) + .eq(InsuranceApply::getSignApplyNo,data.getApplyNo())); + return title+"鍚堝悓鎷掔澶勭悊鎴愬姛"; + } + + } + return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�"; } @@ -1763,7 +1899,7 @@ .apply(" t1.BASE_ID in ( select du.id from dispatch_unit du where du.STATUS = 0 and du.ISDELETED = 0 ) ") ); if(!CollectionUtils.isNotEmpty(duSolutionList)){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏁版嵁寮傚父锛氫繚闄╂柟妗堜笅鏈煡璇㈠埌娲鹃仯鍗曚綅"); + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝淇濋櫓鏂规涓嬫湭鏌ヨ鍒版淳閬e崟浣嶄俊鎭紝璇风‘淇濇淳閬e崟浣嶅拰宸ヤ綔閰嶇疆骞跺鏍搁�氳繃锛�"); } //鏌ヨ鎵�鏈夋淳閬e崟浣嶄笅鐨勫伐绉� List<Integer> duSolutionIdList = duSolutionList.stream().map(i->i.getId()).collect(Collectors.toList()); @@ -1775,7 +1911,7 @@ .eq(checkNewData,Worktype::getDataType,Constants.TWO) .in(DuWorktype::getDuSolutionId,duSolutionIdList)); if(!CollectionUtils.isNotEmpty(duWorktypeList)){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏁版嵁寮傚父锛氫繚闄╂柟妗堜笅鏈煡璇㈠埌宸ョ淇℃伅"); + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝淇濋櫓鏂规涓嬫湭鏌ヨ鍒板伐绉嶄俊鎭紝璇风‘淇濇淳閬e崟浣嶅拰宸ヤ綔閰嶇疆骞跺鏍搁�氳繃锛�"); } if(CollectionUtils.isNotEmpty(applyDetailList)){ @@ -1802,7 +1938,7 @@ member.setCompanyId(insuranceApply.getCompanyId()); member.setSex(Constants.getSexByIdCard(applyDetail.getIdcardNo())); if(!IdcardUtil.isValidCard(applyDetail.getIdcardNo())){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅韬唤璇佷俊鎭敊璇痆"+member.getName()+"]"); + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鎶曚繚鍛樺伐銆�"+member.getName()+"銆戣韩浠借瘉淇℃伅銆�"+applyDetail.getIdcardNo()+"銆戦敊璇�"); } member.setIdcardNo(applyDetail.getIdcardNo()); member.setApplyId(insuranceApply.getId()); @@ -1812,6 +1948,8 @@ member.setWorktypeId(applyDetail.getWorktypeId()); addMemberList.add(member); } + //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁 + this.checkMemberSolution(solutions.getId(),member.getIdcardNo(),member.getName(),insuranceApply.getStartTime(),insuranceApply.getEndTime()); } if(CollectionUtils.isNotEmpty(addMemberList)){ memberJoinMapper.insertBatchSomeColumn(addMemberList); @@ -1825,8 +1963,9 @@ ||Objects.isNull(applyDetail.getDuId()) ||Objects.isNull(applyDetail.getWorktypeId()) ){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け"); + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け锛岃鎸夌収瑕佹眰濉啓鍛樺伐鐨勬湁鏁堜俊鎭紒"); } + applyDetail.setChangeStatus(Constants.ZERO); applyDetail.setCreateDate(new Date()); applyDetail.setCreator(loginUserInfo.getId()); applyDetail.setIsdeleted(Constants.ZERO); @@ -1879,24 +2018,93 @@ //鑾峰彇璁$畻鎬诲ぉ鏁� Integer maxDays = DateUtil.calculateBetween(applyDetail.getStartTime(),applyDetail.getEndTime(),0); if(Constants.equalsInteger(maxDays,0)||Objects.isNull(applyDetail.getFee())){ - throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚淇℃伅寮傚父锛氭�诲ぉ鏁颁笌鎬婚噾棰濋敊璇�"); + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚淇℃伅寮傚父锛氭姇淇濇�诲ぉ鏁颁笌鎬婚噾棰濋敊璇�"); } applyDetail.setPrice( applyDetail.getFee().divide(new BigDecimal(maxDays),7,RoundingMode.HALF_UP) ); //楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪 if(duSolutionList.stream().filter(d->d.getDispatchUnitId().equals(applyDetail.getDuId())).collect(Collectors.toList()).size()<=Constants.ZERO){ - throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒"); + throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+applyDetail.getIdcardNo()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒"); } if(duWorktypeList.stream().filter(d->d.getWorkTypeId().equals(applyDetail.getWorktypeId())) .collect(Collectors.toList()).size()<=Constants.ZERO){ - throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒"); + throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+applyDetail.getIdcardNo()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒"); } } applyDetailJoinMapper.insertBatchSomeColumn(applyDetailList); } } + + /** + * 鏌ヨ 浼氬憳淇℃伅鍦ㄦ柟妗堜笅鏄惁瀛樺湪鍐茬獊鏁版嵁 + * @param solutionId + * @param startTime + * @param endTime + */ + @Override + public void checkMemberSolution(Integer solutionId,String idCode,String memberName,Date startTime,Date endTime){ + try { + List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, + new MPJLambdaWrapper<ApplyDetail>() + .selectAll(ApplyDetail.class) + .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) + .eq(ApplyDetail::getIdcardNo,idCode) + .eq(InsuranceApply::getSolutionId,solutionId) + .notIn(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD + ,Constants.InsuranceApplyStatus.PLATFORM_RETURN + ,Constants.InsuranceApplyStatus.FAIL_RETURN + ,Constants.InsuranceApplyStatus.CLOSE + ,Constants.InsuranceApplyStatus.WTB_RETURN + ,Constants.InsuranceApplyStatus.WTB_CLOSED ) + .apply(" ( " + + " '"+DateUtil.getPlusTime(startTime)+"' <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " + + " or " + + " ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' ) " + + " or " + + " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" + + " ) " )); + if(applyDetailList.size() >Constants.ZERO){ + ApplyDetail applyDetail = applyDetailList.get(Constants.ZERO); + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ョ敤鎴枫��"+memberName+" "+idCode+"銆戝湪淇濆崟銆�"+applyDetail.getApplyCode()+"銆戜笅宸插瓨鍦ㄤ笌鏈鎻愭姤鍐茬獊鐨勬棩鏈�"); + }; + }catch (Exception e){ + + } + } + + public static void checkStaticMemberSolution(Integer solutionId,String idCode,String memberName,Date startTime,Date endTime,ApplyDetailJoinMapper applyDetailJoinMapper){ + try { + List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class, + new MPJLambdaWrapper<ApplyDetail>() + .selectAll(ApplyDetail.class) + .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode) + .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId) + .eq(ApplyDetail::getIdcardNo,idCode) + .eq(InsuranceApply::getSolutionId,solutionId) + .notIn(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD + ,Constants.InsuranceApplyStatus.PLATFORM_RETURN + ,Constants.InsuranceApplyStatus.FAIL_RETURN + ,Constants.InsuranceApplyStatus.CLOSE + ,Constants.InsuranceApplyStatus.WTB_RETURN + ,Constants.InsuranceApplyStatus.WTB_CLOSED ) + .apply(" ( " + + " '"+DateUtil.getPlusTime(startTime)+"' <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " + + " or " + + " ( '"+DateUtil.getPlusTime(startTime)+"' < t.end_time AND t.end_time < '"+DateUtil.getPlusTime(endTime)+"' ) " + + " or " + + " ( '"+DateUtil.getPlusTime(startTime)+"' > t.start_time AND '"+DateUtil.getPlusTime(endTime)+"' < t.end_time )" + + " ) " )); + if(applyDetailList.size() >Constants.ZERO){ + ApplyDetail applyDetail = applyDetailList.get(Constants.ZERO); + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ョ敤鎴枫��"+memberName+" "+idCode+"銆戝湪淇濆崟銆�"+applyDetail.getApplyCode()+"銆戜笅宸插瓨鍦ㄤ笌鏈鎻愭姤鍐茬獊鐨勬棩鏈�"); + }; + }catch (Exception e){ + + } + } @Override public void deleteById(Integer id) { @@ -1991,7 +2199,8 @@ queryWrapper.selectAs(Solutions::getPrice,InsuranceApply::getPrice); queryWrapper.selectAs(Solutions::getTimeUnit,InsuranceApply::getTimeUnit); queryWrapper.select(" DATEDIFF( t.END_TIME ,now() ) AS loseEfficacyDays "); - queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum"); + queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum"); + queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad inner join insurance_apply a on ad.apply_id = a.id and a.status in ( 5 , 27 ) where ad.apply_id = t.id and ad.END_TIME > now() ) as guaranteeNum"); if(!Objects.isNull(pageWrap.getModel())&&!Objects.isNull(pageWrap.getModel().getType())){ queryWrapper.select(" ifnull(( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ),0) as taxesMoney"); queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status = 1 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast "); @@ -2118,6 +2327,7 @@ queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName); queryWrapper.selectAs(Solutions::getType,InsuranceApply::getSolutionType); queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum"); + queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad inner join insurance_apply a on ad.apply_id = a.id and a.status in ( 5 , 27 ) where ad.apply_id = t.id and ad.END_TIME > now() ) as guaranteeNum"); queryWrapper.select(" ( select max(ac.APPLY_START_TIME) from apply_change ac where ac.apply_id = t.id and ac.status = 2 ) as lastChangeDate"); queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney "); queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast "); @@ -2263,6 +2473,7 @@ .selectAs(Company::getName,InsuranceApply::getCompanyName) .select(" ( select max(ac.APPLY_START_TIME) from apply_change ac where ac.apply_id = t.id and ac.status = 2 ) as lastChangeDate") .select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum") + .select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad inner join insurance_apply a on ad.apply_id = a.id and a.status in ( 5 , 27 ) where ad.apply_id = t.id and ad.END_TIME > now() ) as guaranteeNum") .select(" t3.name as shopName") .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) @@ -2386,6 +2597,7 @@ .selectAs(Solutions::getName,InsuranceApply::getSolutionsName) .selectAs(Solutions::getType,InsuranceApply::getSolutionType) .selectAs(Company::getName,InsuranceApply::getCompanyName) + .select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad inner join insurance_apply a on ad.apply_id = a.id and a.status in ( 5 , 27 ) where ad.apply_id = t.id and ad.END_TIME > now() ) as guaranteeNum") .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId) .eq(InsuranceApply::getId,model.getId()) @@ -2402,6 +2614,7 @@ .selectAs(DispatchUnit::getName,ApplyDetail::getDuName) .leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId) .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId) + .ge(ApplyDetail::getEndTime,DateUtil.getPlusTime2(new Date())) .eq(ApplyDetail::getApplyId,model.getId()); //鏌ヨ鏄庣粏 List<ApplyDetail> detailList =applyDetailJoinMapper.selectJoinList(ApplyDetail.class,wrapper1); @@ -2577,6 +2790,7 @@ BigDecimal sumAmount = BigDecimal.ZERO; List<ApplyDetail> applyDetailList = applyDetailMapper .selectList(new QueryWrapper<ApplyDetail>().lambda() + .eq(ApplyDetail::getChangeStatus,Constants.ZERO) .eq(ApplyDetail::getApplyId,insuranceApply.getId())); if(CollectionUtils.isNotEmpty(applyDetailList)){ for (ApplyDetail applyDetail: applyDetailList) { @@ -2737,6 +2951,7 @@ .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId) .isNull(ApplyDetail::getFromId) .eq(ApplyDetail::getApplyId,model.getId()) + .orderByAsc(ApplyDetail::getId) ); model.setApplyDetailList(applyDetailList); return model; -- Gitblit v1.9.3