From 0bfe2cbbe3b338f585ed85f5def9d22dcae0cc86 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 03 一月 2025 11:31:01 +0800
Subject: [PATCH] git ch
---
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 859 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 751 insertions(+), 108 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 cb5f934..01050aa 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
@@ -2,7 +2,6 @@
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.constants.ResponseStatus;
@@ -15,13 +14,12 @@
import com.doumee.core.utils.Utils;
import com.doumee.core.utils.aliyun.ALiYunUtil;
import com.doumee.dao.business.*;
-import com.doumee.dao.business.dto.CountCyclePriceDTO;
-import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
-import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
-import com.doumee.dao.business.dto.SmsCheckDTO;
+import com.doumee.dao.business.dto.*;
import com.doumee.dao.business.join.*;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.ApplyPowerVO;
import com.doumee.dao.business.vo.CountCyclePriceVO;
+import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.InsuranceApplyService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -104,6 +102,8 @@
private DuWorktypeMapper duWorktypeMapper;
@Autowired
private DuWorkTypeJoinMapper duWorkTypeJoinMapper;
+ @Autowired
+ private SolutionWorktypeJoinMapper solutionWorktypeJoinMapper;
@Autowired
private NoticesMapper noticesMapper;
@@ -113,6 +113,13 @@
private UnionChangeJoinMapper unionChangeJoinMapper;
@Autowired
private CompanySolutionMapper companySolutionMapper;
+ @Autowired
+ private ContractJoinMapper contractJoinMapper;
+ @Autowired
+ private SystemUserMapper systemUserMapper;
+ @Autowired
+ private CompanyDepartmentMapper companyDepartmentMapper;
+
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -314,7 +321,7 @@
for (ApplyDetail applyDetail:applyDetailList) {
//鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
- this.checkMemberSolution(solutions.getBaseId(),applyDetail.getIdcardNo(),applyDetail.getMemberName(),update.getStartTime()
+ this.checkMemberSolution(solutions.getParentId(),applyDetail.getIdcardNo(),applyDetail.getMemberName(),update.getStartTime()
,update.getEndTime(),insuranceApply.getId());
MemberInsurance memberInsurance = new MemberInsurance(applyDetail,user.getId());
@@ -354,8 +361,11 @@
if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇峰綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()) ||
+ Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) ){
+ if(model.getStartTime().getTime()<System.currentTimeMillis()){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇峰綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ }
}
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -564,9 +574,29 @@
public Multifile uploadSignedFileDo(InsuranceApply model,String fileurl,String fullUrl) {
InsuranceApply update = new InsuranceApply();
+ Boolean retrial = false;
+ Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
+ if(Constants.equalsInteger(solutions.getRetrial(),Constants.ONE)){
+ ApplyLog applyLog = applyLogMapper.selectOne(new QueryWrapper<ApplyLog>().lambda()
+ .eq(ApplyLog::getObjId,model.getId())
+ .eq(ApplyLog::getObjType,Constants.ApplyLogType.PLATFORM_CHECK_PASS.getKey())
+ .orderByDesc(ApplyLog::getCreateDate)
+ .last(" limit 1 ")
+ );
+ if(Objects.nonNull(applyLog)){
+ SystemUser systemUser = systemUserMapper.selectById(applyLog.getCreator());
+ if(Objects.nonNull(systemUser) && Objects.nonNull(systemUser.getDepartmentId())){
+ CompanyDepartment companyDepartment = companyDepartmentMapper.selectById(systemUser.getDepartmentId());
+ if(Objects.nonNull(companyDepartment)&&Objects.nonNull(companyDepartment.getHeadId())){
+ retrial = true;
+ update.setRetrialId(companyDepartment.getHeadId());
+ }
+ }
+ }
+ }
update.setEditDate(new Date());
update.setEditor(model.getCreator());
- update.setStatus(Constants.InsuranceApplyStatus.SIGNATURE.getKey());
+ update.setStatus(retrial?Constants.InsuranceApplyStatus.REEXAMINE.getKey():Constants.InsuranceApplyStatus.SIGNATURE.getKey());
update.setCheckDate(update.getEditDate());
update.setCheckInfo("浼佷笟瀹屾垚绛剧讲");
update.setCheckUserId(model.getCreator());
@@ -575,10 +605,13 @@
//瀛樺偍寰呭姙淇℃伅
Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+
//鍒犻櫎鍏朵粬寰呭姙
- noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda()
+ .eq(Notices::getObjType,noticeObjectType.getKey())
.ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
.eq(Notices::getObjId,model.getId()));
+
//骞冲彴寰呭姙
Notices notices = new Notices(noticeObjectType,Constants.ZERO,model.getId(),model.getSolutionsName(),model.getCompanyId(),Constants.NoticeType.TWO);
noticesMapper.insert(notices);
@@ -859,9 +892,9 @@
UnionApply update = new UnionApply();
update.setEditDate(new Date());
update.setEditor(model.getCreator());
- update.setStatus(Constants.UnionApplyStatus.UPLOAD_INSURANCE_POLICY.getKey());
+ update.setStatus(Objects.nonNull(model.getRetrialId())?Constants.UnionApplyStatus.RETRIAL.getKey() : Constants.UnionApplyStatus.UPLOAD_INSURANCE_POLICY.getKey());
update.setCheckDate(update.getEditDate());
- update.setCheckInfo("鍟嗘埛瀹屾垚绛剧讲");
+ update.setCheckInfo(Objects.nonNull(model.getRetrialId())?"寰呭瀹�":"瀹屾垚绛剧讲");
update.setCheckUserId(model.getCreator());
update.setId(model.getId());
unionApplyJoinMapper.updateById(update);
@@ -879,10 +912,35 @@
f.setName("鍟嗘埛绛剧讲鎶曚繚鍗�.pdf");
multifileMapper.insert(f);
+
+ List<InsuranceApply> insuranceApplyList = insuranceApplyJoinMapper.selectList(new QueryWrapper<InsuranceApply>().
+ lambda().eq(InsuranceApply::getUnionApplyId,model.getId()));
+ if(CollectionUtils.isNotEmpty(insuranceApplyList)){
+ for (InsuranceApply insuranceApply:insuranceApplyList) {
+
+ f.setId(null);
+ f.setIsdeleted(Constants.ZERO);
+ f.setCreateDate(new Date());
+ f.setObjType(Constants.MultiFile.BD_SIGNED_PDF.getKey());
+ f.setType(Constants.TWO);
+ f.setObjId(insuranceApply.getId());
+ f.setInfo("鎶曚繚鍗�");
+ f.setName("鎶曚繚鍗�.pdf");
+ multifileMapper.insert(f);
+
+ insuranceApplyJoinMapper.update(null,new UpdateWrapper<InsuranceApply>().lambda()
+ .set(InsuranceApply::getUnionApplyTbdStatus,Constants.TWO)
+ .set(InsuranceApply::getEditDate,new Date())
+ .eq(InsuranceApply::getId,insuranceApply.getId())
+ );
+ }
+ }
+
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.IA_HBD_SIGNATURE_TBD;
ApplyLog log = new ApplyLog(model,applyLogType.getName(), null
,model.getId(),applyLogType.getKey(),null, JSONObject.toJSONString(model));
applyLogMapper.insert(log);
+
return f;
}
@@ -923,6 +981,128 @@
return f;
}
+
+
+ public Multifile uploadContractFirstSignedFileDo(Contract model,String fileurl,String fullUrl) {
+ Contract update = new Contract();
+ update.setEditDate(new Date());
+ update.setEditor(model.getCreator());
+ update.setFileSignUrl(fileurl);
+ update.setStatus(Constants.equalsInteger(model.getType(),Constants.ZERO)?Constants.ONE:Constants.THREE);
+ update.setId(model.getId());
+ contractJoinMapper.updateById(update);
+
+ Multifile f = new Multifile();
+ f.setIsdeleted(Constants.ZERO);
+ f.setCreator(model.getCreator());
+ f.setObjId(update.getId());
+ f.setCreateDate(update.getEditDate());
+ f.setObjType(Constants.MultiFile.CONTRACT_FIRST_PDF.getKey());
+ f.setType(Constants.TWO);
+ f.setFileurl(fileurl);
+ f.setFileurlFull(fullUrl);
+ f.setInfo("鍚堝悓绛剧讲鏂囦欢");
+ f.setName("鍚堝悓绛剧讲鏂囦欢.pdf");
+ multifileMapper.insert(f);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.CONTRACT;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+ .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+ .eq(Notices::getObjId,model.getId()));
+ //鍙屾柟绛剧讲 鎵嶄細鍙戞柊閫氱煡
+ if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
+ Notices notices = new Notices(noticeObjectType,
+ Constants.equalsInteger(model.getSignType(),Constants.ZERO)?Constants.TWO:Constants.ONE
+ ,model.getId(),this.getNoticeInfo(model,companyMapper.selectById(model.getCompanyId())),model.getCompanyId(),Constants.NoticeType.ZERO);
+ noticesMapper.insert(notices);
+ }
+ return f;
+ }
+
+ public String getNoticeInfo(Contract contract,Company company){
+ String noticeInfo = contract.getName();
+ //鍟嗘埛淇℃伅
+ if(Constants.equalsInteger(contract.getSignType(),Constants.TWO)){
+ Company shop = companyMapper.selectById(contract.getPartyCompanyId());
+ noticeInfo = noticeInfo + "("+shop.getName()+"/"+company.getName()+")";
+ }else{
+ noticeInfo = noticeInfo + "(骞冲彴/"+company.getName()+")";
+ }
+ return noticeInfo;
+ }
+
+
+
+ public Multifile uploadContractDoneSignedFileDo(Contract model,String fileurl,String fullUrl) {
+ Contract update = new Contract();
+ update.setEditDate(new Date());
+ update.setEditor(model.getCreator());
+ update.setDoneFileUrl(fileurl);
+ update.setStatus(Constants.THREE);
+ update.setId(model.getId());
+ contractJoinMapper.updateById(update);
+
+ Multifile f = new Multifile();
+ f.setIsdeleted(Constants.ZERO);
+ f.setCreator(model.getCreator());
+ f.setObjId(update.getId());
+ f.setCreateDate(update.getEditDate());
+ f.setObjType(Constants.MultiFile.CONTRACT_DONE_PDF.getKey());
+ f.setType(Constants.TWO);
+ f.setFileurl(fileurl);
+ f.setFileurlFull(fullUrl);
+ f.setInfo("鍚堝悓绛剧讲鏂囦欢");
+ f.setName("鍚堝悓绛剧讲鏂囦欢.pdf");
+ multifileMapper.insert(f);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.CONTRACT;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+ .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+ .eq(Notices::getObjId,model.getId()));
+
+ return f;
+ }
+
+
+ public Multifile uploadCompanySolutionSignedFileDo(CompanySolution model,String fileurl,String fullUrl) {
+ CompanySolution update = new CompanySolution();
+ update.setEditDate(new Date());
+ update.setEditor(model.getCreator());
+ update.setFileSignUrl(fileurl);
+ update.setSignStatus(Constants.ONE);
+ update.setSignUserId(model.getEditor());
+ update.setSignDate(new Date());
+ update.setId(model.getId());
+ companySolutionMapper.updateById(update);
+
+ Multifile f = new Multifile();
+ f.setIsdeleted(Constants.ZERO);
+ f.setCreator(model.getCreator());
+ f.setObjId(update.getId());
+ f.setCreateDate(update.getEditDate());
+ f.setObjType(Constants.MultiFile.COMPANY_SOLUTION_SIGN_PDF.getKey());
+ f.setType(Constants.TWO);
+ f.setFileurl(fileurl);
+ f.setFileurlFull(fullUrl);
+ f.setInfo("鏂规纭涔�");
+ f.setName("鏂规纭涔�.pdf");
+ multifileMapper.insert(f);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.SOLUTIONS;
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
+ .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
+ .eq(Notices::getObjId,model.getId()));
+
+ return f;
+ }
+
+
private void startSendEmail(Multifile f, String companyName, String solutionsName, String solutionEmail) {
if(StringUtils.isBlank(solutionEmail) || f==null|| StringUtils.isBlank(f.getFileurl())){
@@ -1180,8 +1360,79 @@
}
+ /**
+ * 鎴戞柟绛剧讲 鍚堝悓淇℃伅
+ */
+ List<Contract> contractFirstList = contractJoinMapper.selectJoinList(Contract.class,
+ new MPJLambdaWrapper<Contract>()
+ .selectAll(Contract.class)
+ .eq(Contract::getStatus,Constants.ZERO)
+ .isNotNull(Contract::getApplyNo));
+ if(contractFirstList !=null && contractFirstList.size()>0 ){
+ for(Contract contract : contractFirstList){
+ String status = signService.linkFileStatus(contract.getApplyNo());
+ if(!StringUtils.equals(status,"3")){
+ continue;
+ }
+ String link = signService.linkFile(contract.getApplyNo());
+ String fileUrl = uploadSignFile(link);
+ if(StringUtils.isBlank(fileUrl)){
+ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+ continue;
+ }
+ uploadContractFirstSignedFileDo(contract,fileUrl,path+fileUrl);
+ }
+ }
+
+ /**
+ * 浼佷笟/鍟嗘埛绛剧讲 鍚堝悓淇℃伅
+ */
+ List<Contract> contractDoneList = contractJoinMapper.selectJoinList(Contract.class,
+ new MPJLambdaWrapper<Contract>()
+ .selectAll(Contract.class)
+ .eq(Contract::getStatus,Constants.ONE)
+ .isNotNull(Contract::getDoneApplyNo));
+ if(contractDoneList !=null && contractDoneList.size()>0 ){
+ for(Contract contract : contractDoneList){
+ String status = signService.linkFileStatus(contract.getDoneApplyNo());
+ if(!StringUtils.equals(status,"3")){
+ continue;
+ }
+ String link = signService.linkFile(contract.getDoneApplyNo());
+ String fileUrl = uploadSignFile(link);
+ if(StringUtils.isBlank(fileUrl)){
+ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+ continue;
+ }
+ uploadContractDoneSignedFileDo(contract,fileUrl,path+fileUrl);
+ }
+ }
+
+ /**
+ * 浼佷笟 鏂规纭涔︾缃�
+ */
+ List<CompanySolution> companySolutionList = companySolutionMapper.selectList(
+ new QueryWrapper<CompanySolution>().lambda()
+ .eq(CompanySolution::getSignStatus,Constants.ZERO)
+ .isNotNull(CompanySolution::getApplyNo));
+ if(companySolutionList !=null && companySolutionList.size()>0 ){
+ for(CompanySolution companySolution : companySolutionList){
+ String status = signService.linkFileStatus(companySolution.getApplyNo());
+ if(!StringUtils.equals(status,"3")){
+ continue;
+ }
+ String link = signService.linkFile(companySolution.getApplyNo());
+ String fileUrl = uploadSignFile(link);
+ if(StringUtils.isBlank(fileUrl)){
+ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+ continue;
+ }
+ uploadCompanySolutionSignedFileDo(companySolution,fileUrl,path+fileUrl);
+ }
+ }
}
+
@Override
public String dealSignResult(NotifyDataReq data){
if(data.getApplyNo() == null ){
@@ -1224,6 +1475,19 @@
if(StringUtils.isNotBlank(r)){
return r;
}
+ r = dealContractFirstBiz(path,data,"鍚堝悓鎴戞柟绛剧讲");
+ if(StringUtils.isNotBlank(r)){
+ return r;
+ }
+ r = dealContractDoneBiz(path,data,"鍚堝悓浼佷笟/鍟嗘埛绛剧讲");
+ if(StringUtils.isNotBlank(r)){
+ return r;
+ }
+ r = dealCompanySolutionBiz(path,data,"浼佷笟绛剧讲鏂规纭涔�");
+ if(StringUtils.isNotBlank(r)){
+ return r;
+ }
+
}
return "鏃犲鐞嗘暟鎹�";
}
@@ -1253,6 +1517,100 @@
unionChangeJoinMapper.update(null,new UpdateWrapper<UnionChange>().lambda()
.set(UnionChange::getSignApplyNo,null)
.eq(UnionChange::getSignApplyNo,data.getApplyNo()));
+ return title+"鍚堝悓鎷掔澶勭悊鎴愬姛";
+ }
+ }
+ return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�";
+ }
+
+ private String dealContractFirstBiz(String path, NotifyDataReq data, String title) {
+ Contract contract = contractJoinMapper.selectOne(new QueryWrapper<Contract>()
+ .lambda().
+ eq(Contract::getApplyNo,data.getApplyNo())
+ .last(" limit 1")
+ );
+
+ if(contract == null){
+ return null;
+ }
+ if( Constants.equalsInteger(contract.getStatus(),Constants.ONE)){
+ if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){
+ //瀹屾垚绛剧讲宸插畬鎴愭搷浣�
+ String link = signService.linkFile(contract.getApplyNo());
+ String fileUrl = uploadSignFile(link);
+ if(StringUtils.isBlank(fileUrl)){
+ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+ return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�";
+ }
+
+ uploadContractFirstSignedFileDo(contract,fileUrl,path+fileUrl);
+ return title+"鐘舵�佸鐞嗘垚鍔�";
+ }else{
+ //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓
+ contractJoinMapper.update(null,new UpdateWrapper<Contract>().lambda()
+ .set(Contract::getApplyNo,null)
+ .eq(Contract::getApplyNo,data.getApplyNo()));
+ return title+"鍚堝悓鎷掔澶勭悊鎴愬姛";
+ }
+ }
+ return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�";
+ }
+
+ private String dealContractDoneBiz(String path, NotifyDataReq data, String title) {
+ Contract contract = contractJoinMapper.selectOne(new QueryWrapper<Contract>()
+ .lambda().
+ eq(Contract::getDoneApplyNo,data.getApplyNo())
+ .last(" limit 1")
+ );
+ if(contract == null){
+ return null;
+ }
+ if( Constants.equalsInteger(contract.getStatus(),Constants.THREE)){
+ if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){
+ //瀹屾垚绛剧讲宸插畬鎴愭搷浣�
+ String link = signService.linkFile(contract.getDoneApplyNo());
+ String fileUrl = uploadSignFile(link);
+ if(StringUtils.isBlank(fileUrl)){
+ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+ return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�";
+ }
+ uploadContractDoneSignedFileDo(contract,fileUrl,path+fileUrl);
+ return title+"鐘舵�佸鐞嗘垚鍔�";
+ }else{
+ //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓
+ contractJoinMapper.update(null,new UpdateWrapper<Contract>().lambda()
+ .set(Contract::getDoneApplyNo,null)
+ .eq(Contract::getDoneApplyNo,data.getApplyNo()));
+ return title+"鍚堝悓鎷掔澶勭悊鎴愬姛";
+ }
+ }
+ return title+"鐘舵�佸凡娴佽浆锛屼笉鍋氬鐞�";
+ }
+ private String dealCompanySolutionBiz(String path, NotifyDataReq data, String title) {
+ CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>()
+ .lambda().
+ eq(CompanySolution::getApplyNo,data.getApplyNo())
+ .last(" limit 1")
+ );
+ if(companySolution == null){
+ return null;
+ }
+ if( Constants.equalsInteger(companySolution.getSignStatus(),Constants.ZERO)){
+ if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){
+ //瀹屾垚绛剧讲宸插畬鎴愭搷浣�
+ String link = signService.linkFile(companySolution.getApplyNo());
+ String fileUrl = uploadSignFile(link);
+ if(StringUtils.isBlank(fileUrl)){
+ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+ return title+"鍚堝悓涓嬭浇澶辫触锛岀瓑寰呬笅娆℃帹閫佸鐞�";
+ }
+ uploadCompanySolutionSignedFileDo(companySolution,fileUrl,path+fileUrl);
+ return title+"鐘舵�佸鐞嗘垚鍔�";
+ }else{
+ //濡傛灉宸叉嫆绛撅紝娓呴櫎鍚堝悓锛屼笅娆$绔犻噸鏂扮敓鎴愭柊鍚堝悓
+ companySolutionMapper.update(null,new UpdateWrapper<CompanySolution>().lambda()
+ .set(CompanySolution::getApplyNo,null)
+ .eq(CompanySolution::getApplyNo,data.getApplyNo()));
return title+"鍚堝悓鎷掔澶勭悊鎴愬姛";
}
}
@@ -1607,7 +1965,7 @@
*/
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
- public Integer check(InsuranceApply insuranceApply) {
+ public Integer check(InsuranceApply insuranceApply,UnionApplyServiceImpl unionApplyServiceImpl) {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
if(insuranceApply.getId() == null){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
@@ -1626,9 +1984,6 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
}
}else{
- if(!Constants.equalsObject(user.getType(),Constants.TWO)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风鏃犳硶杩涜璇ユ搷浣�");
- }
//濮旀墭淇濆緟绛剧讲銆佸緟瀹℃牳鍙繘琛岄��鍥炴搷浣�
if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey())
||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey())
@@ -1687,8 +2042,122 @@
}
ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
applyLogMapper.insert(log);
- return 1;
+ //2024骞�11鏈�8鏃�16:12:43 濡傛灉鏄鎵樻姇淇濆崟鍒欒嚜鍔ㄥ垱寤哄悎骞跺崟鏁版嵁
+ if(Constants.equalsInteger(insuranceApply.getDealBackApply(),Constants.ZERO) && Constants.equalsObject(solutions.getType(),Constants.ONE)){
+ SaveUnionApplyDTO saveUnionApplyDTO = new SaveUnionApplyDTO();
+ List<Integer> applyIds = new ArrayList<Integer>();
+ applyIds.add(update.getId());
+ saveUnionApplyDTO.setApplyIds(applyIds);
+ saveUnionApplyDTO.setBaseSolutionId(solutions.getBaseId());
+ saveUnionApplyDTO.setStartDate(model.getStartTime());
+ saveUnionApplyDTO.setEndDate(model.getEndTime());
+ unionApplyServiceImpl.merge(saveUnionApplyDTO);
+ }
+ return 1;
+ }
+
+ /**
+ * 澶嶅 瀹℃牳閫氳繃鎴栬�呬笉閫氳繃
+ * @param insuranceApply
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public Integer reexamineCheck(InsuranceApply insuranceApply) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(insuranceApply.getId() == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
+
+ if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ Solutions solutions = solutionsMapper.selectById(model.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+ }
+ if(Constants.equalsObject(solutions.getType(),Constants.ZERO)){
+ if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.REEXAMINE.getKey())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ }
+ }else{
+ if(Constants.equalsObject(user.getType(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+ }
+ //濡傛灉鏄晢鎴风锛屽垯鍙兘鐢辨寚瀹氫汉杩涜澶勭悊
+ if(Constants.equalsInteger(user.getType(),Constants.TWO)){
+ if(!Constants.equalsInteger(model.getRetrialId(),user.getId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勫瀹℃暟鎹紝鏃犳硶杩涜瀹℃壒");
+ }
+ }else{
+ //濡傛灉鏄钩鍙扮锛屾牴鎹汉鍛樼被鍨嬪鐞� 濡傛灉鏄浐瀹氫汉鍛樺垯涓嶉檺鍒� 鍏朵粬浜哄憳闇�瑕佹瘮瀵�
+ if(!user.getFixed()){
+ if(!Constants.equalsInteger(model.getRetrialId(),user.getId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勫瀹℃暟鎹紝鏃犳硶杩涜瀹℃壒");
+ }
+ }
+ }
+ //濮旀墭淇濆緟绛剧讲銆佸緟瀹℃牳鍙繘琛岄��鍥炴搷浣�
+ if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_UPLOAD.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE.getKey())
+ ||Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WTB_COMPANY_MEMBER_LIST_SIGNATURE.getKey())
+ )){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ }
+ }
+
+ Constants.ApplyLogType applyLogType = null;
+ InsuranceApply update = new InsuranceApply();
+ update.setEditDate(new Date());
+ update.setEditor(user.getId());
+ update.setCheckDate(update.getEditDate());
+ update.setCheckInfo(insuranceApply.getCheckInfo());
+ update.setCheckUserId(user.getId());
+ update.setId(model.getId());
+ if(insuranceApply.getDealBackApply() ==1){
+ //濡傛灉鏄笉閫氳繃
+ applyLogType = Constants.ApplyLogType.PLATFORM_RETURN ;
+ update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey());
+ if(Constants.equalsObject(solutions.getType(),Constants.ONE)){
+ update.setStatus(Constants.InsuranceApplyStatus.WTB_RETURN.getKey());
+ }
+ }else{
+ applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS;
+ if(Constants.equalsObject(solutions.getType(),Constants.ONE)){
+ update.setStatus(Constants.InsuranceApplyStatus.WTB_BUSINESS_CHECK_PASS.getKey());
+ }else{
+ update.setStatus(Constants.InsuranceApplyStatus.SIGNATURE.getKey());
+ }
+ }
+ insuranceApplyMapper.updateById(update);
+
+ //瀛樺偍寰呭姙淇℃伅
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.INSURANCE_APPLY;
+ if(Constants.equalsObject(solutions.getType(),Constants.ZERO)) {
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda()
+ .eq(Notices::getObjType, noticeObjectType.getKey())
+ .ne(Notices::getType, Constants.NoticeType.SIX.getStatus())
+ .eq(Notices::getObjId, model.getId()));
+ }else{
+ //鍒犻櫎鍏ㄩ儴寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda()
+ .eq(Notices::getObjType, noticeObjectType.getKey())
+ .eq(Notices::getObjId, model.getId()));
+ }
+
+
+ String info =applyLogType.getInfo();
+ if(StringUtils.isNotBlank(update.getCheckInfo())){
+ info = info.replace("${param}", update.getCheckInfo());
+ }else{
+ info = null;
+ }
+ ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+ applyLogMapper.insert(log);
+ return 1;
}
@@ -1699,14 +2168,18 @@
|| Objects.isNull(insuranceApply.getSolutionId())
|| Objects.isNull(insuranceApply.getApplyStartTime())
|| Objects.isNull(insuranceApply.getApplyEndTime())
+ || Objects.isNull(insuranceApply.getCompanyId())
|| !CollectionUtils.isNotEmpty(insuranceApply.getApplyDetailList())
) {
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
- if(!loginUserInfo.getType().equals(Constants.ONE)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛绫诲瀷閿欒锛氶潪浼佷笟鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+
+ Company company = companyMapper.selectById(insuranceApply.getCompanyId());
+ if(Objects.isNull(company) || Constants.equalsInteger(company.getType(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟淇℃伅閿欒锛岃纭!");
}
+
Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
if(Objects.isNull(solutions)){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
@@ -1725,7 +2198,6 @@
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"淇濆崟鐢熸晥璧锋湡閿欒");
}
}
-
List<ApplyDetail> applyDetailList = insuranceApply.getApplyDetailList();
//鍒ゆ柇鏄惁瀛樺湪閲嶅淇℃伅
List<String> idCardList = applyDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList());
@@ -1735,14 +2207,13 @@
}
Constants.InsuranceApplyStatus insuranceApplyStatus = Constants.InsuranceApplyStatus.UPLOAD;
if(solutions.getType().equals(Constants.ONE)){
- insuranceApplyStatus = Constants.InsuranceApplyStatus.WTB_UPLOAD;
+ insuranceApplyStatus = Constants.InsuranceApplyStatus.WTB_COMPANY_APPLY_SIGNATURE;
}
insuranceApply.setCreateDate(new Date());
insuranceApply.setCreator(loginUserInfo.getId());
insuranceApply.setEditor(loginUserInfo.getId());
insuranceApply.setEditDate(new Date());
insuranceApply.setIsdeleted(Constants.ZERO);
- insuranceApply.setCompanyId(loginUserInfo.getCompanyId());
insuranceApply.setCheckInfo(insuranceApplyStatus.getName());
insuranceApply.setStartTime(insuranceApply.getApplyStartTime());
insuranceApply.setCheckDate(new Date());
@@ -1765,14 +2236,9 @@
updBean.setFee(applyDetailList.stream().map(ApplyDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add));
insuranceApplyMapper.updateById(updBean);
-// if(1==1){
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED);
-// }
-
//瀛樺偍鏃ュ織鏁版嵁
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.UPLOAD;
String info =applyLogType.getInfo();
-// info = info.replace("${param}", update.getCheckInfo());
ApplyLog log = new ApplyLog(insuranceApply,applyLogType.getName(),info,insuranceApply.getId(),applyLogType.getKey(),null, null);
applyLogMapper.insert(log);
@@ -1893,35 +2359,48 @@
public void dealApplyDetailData(InsuranceApply insuranceApply,Solutions solutions,List<ApplyDetail> applyDetailList,
LoginUserInfo loginUserInfo,CountCyclePriceVO countCyclePriceVO,Boolean checkNewData){
- //鏌ヨ淇濋櫓鏂规涓嬬殑鎵�鏈夋淳閬e崟浣�
- List<DuSolution> duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class,new MPJLambdaWrapper<DuSolution>()
- .selectAll(DuSolution.class)
- .innerJoin(DispatchUnit.class,DispatchUnit::getId,DuSolution::getDispatchUnitId)
- .eq(DispatchUnit::getCompanyId,insuranceApply.getCompanyId())
- .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
- .eq(DispatchUnit::getUnitStatus,Constants.ONE)
- .eq(DuSolution::getIsdeleted,Constants.ZERO)
- .eq(checkNewData,DispatchUnit::getDataType,Constants.TWO)
- .eq(DuSolution::getStatus,Constants.ONE)
- .eq(DuSolution::getSolutionId,insuranceApply.getSolutionId())
- .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(),"瀵逛笉璧凤紝淇濋櫓鏂规涓嬫湭鏌ヨ鍒版淳閬e崟浣嶄俊鎭紝璇风‘淇濇淳閬e崟浣嶅拰宸ヤ綔閰嶇疆骞跺鏍搁�氳繃锛�");
+ //2024骞�11鏈�6鏃�15:01:34 鍔犲叆 鏂规閰嶇疆浜嗘湁娲鹃仯鍗曚綅 鎵嶄細鍘婚獙璇佹淳閬e崟浣嶆暟鎹�
+ List<DuSolution> duSolutionList = new ArrayList<>();
+ List<DuWorktype> duWorktypeList = new ArrayList<>();
+ List<Integer> worktypeIdList = new ArrayList<>();
+ if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){
+ //鏌ヨ淇濋櫓鏂规涓嬬殑鎵�鏈夋淳閬e崟浣�
+ duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class,new MPJLambdaWrapper<DuSolution>()
+ .selectAll(DuSolution.class)
+ .innerJoin(DispatchUnit.class,DispatchUnit::getId,DuSolution::getDispatchUnitId)
+ .eq(DispatchUnit::getCompanyId,insuranceApply.getCompanyId())
+ .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
+ .eq(DispatchUnit::getUnitStatus,Constants.ONE)
+ .eq(DuSolution::getIsdeleted,Constants.ZERO)
+ .eq(checkNewData,DispatchUnit::getDataType,Constants.TWO)
+ .eq(DuSolution::getStatus,Constants.ONE)
+ .eq(DuSolution::getSolutionId,insuranceApply.getSolutionId())
+ .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(),"瀵逛笉璧凤紝淇濋櫓鏂规涓嬫湭鏌ヨ鍒版淳閬e崟浣嶄俊鎭紝璇风‘淇濇淳閬e崟浣嶅拰宸ヤ綔閰嶇疆骞跺鏍搁�氳繃锛�");
+ }
+ //鏌ヨ鎵�鏈夋淳閬e崟浣嶄笅鐨勫伐绉�
+ List<Integer> duSolutionIdList = duSolutionList.stream().map(i->i.getId()).collect(Collectors.toList());
+ duWorktypeList = duWorkTypeJoinMapper.selectJoinList(DuWorktype.class,new MPJLambdaWrapper<DuWorktype>()
+ .selectAll(DuWorktype.class)
+ .innerJoin(Worktype.class,Worktype::getId,DuWorktype::getWorkTypeId)
+ .eq(DuWorktype::getIsdeleted,Constants.ZERO)
+ .eq(DuWorktype::getStatus,Constants.ONE)
+ .eq(checkNewData,Worktype::getDataType,Constants.TWO)
+ .in(DuWorktype::getDuSolutionId,duSolutionIdList));
+ if(!CollectionUtils.isNotEmpty(duWorktypeList)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝淇濋櫓鏂规涓嬫湭鏌ヨ鍒板伐绉嶄俊鎭紝璇风‘淇濇淳閬e崟浣嶅拰宸ヤ綔閰嶇疆骞跺鏍搁�氳繃锛�");
+ }
+ worktypeIdList = duWorktypeList.stream().map(i->i.getWorkTypeId()).collect(Collectors.toList());
+ }else{
+ //鏌ヨ鏂规涓嬫墍鏈夊伐绉嶆暟鎹�
+ List<SolutionWorktype> solutionWorktypeList = solutionWorktypeJoinMapper.selectList(new QueryWrapper<SolutionWorktype>().lambda().eq(SolutionWorktype::getSolutionId,solutions.getId()));
+ if(CollectionUtils.isEmpty(solutionWorktypeList)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝淇濋櫓鏂规涓嬫湭鏌ヨ鍒板伐绉嶄俊鎭�");
+ }
+ worktypeIdList = solutionWorktypeList.stream().map(i->i.getWorktypeId()).collect(Collectors.toList());
}
- //鏌ヨ鎵�鏈夋淳閬e崟浣嶄笅鐨勫伐绉�
- List<Integer> duSolutionIdList = duSolutionList.stream().map(i->i.getId()).collect(Collectors.toList());
- List<DuWorktype> duWorktypeList = duWorkTypeJoinMapper.selectJoinList(DuWorktype.class,new MPJLambdaWrapper<DuWorktype>()
- .selectAll(DuWorktype.class)
- .innerJoin(Worktype.class,Worktype::getId,DuWorktype::getWorkTypeId)
- .eq(DuWorktype::getIsdeleted,Constants.ZERO)
- .eq(DuWorktype::getStatus,Constants.ONE)
- .eq(checkNewData,Worktype::getDataType,Constants.TWO)
- .in(DuWorktype::getDuSolutionId,duSolutionIdList));
- if(!CollectionUtils.isNotEmpty(duWorktypeList)){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝淇濋櫓鏂规涓嬫湭鏌ヨ鍒板伐绉嶄俊鎭紝璇风‘淇濇淳閬e崟浣嶅拰宸ヤ綔閰嶇疆骞跺鏍搁�氳繃锛�");
- }
-
if(CollectionUtils.isNotEmpty(applyDetailList)){
List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
.eq(Member::getCompanyId,insuranceApply.getCompanyId())
@@ -1950,14 +2429,12 @@
}
member.setIdcardNo(applyDetail.getIdcardNo());
member.setApplyId(insuranceApply.getId());
- member.setStartTime(applyDetail.getStartTime());
- member.setEndTime(applyDetail.getEndTime());
member.setDuId(applyDetail.getDuId());
member.setWorktypeId(applyDetail.getWorktypeId());
addMemberList.add(member);
}
//鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
- this.checkMemberSolution(solutions.getBaseId(),member.getIdcardNo(),member.getName(),insuranceApply.getStartTime(),insuranceApply.getEndTime(),insuranceApply.getId());
+ this.checkMemberSolution(solutions.getParentId(),member.getIdcardNo(),member.getName(),insuranceApply.getStartTime(),insuranceApply.getEndTime(),insuranceApply.getId());
}
if(CollectionUtils.isNotEmpty(addMemberList)){
memberJoinMapper.insertBatchSomeColumn(addMemberList);
@@ -1968,7 +2445,7 @@
if(Objects.isNull(applyDetail)
||StringUtils.isBlank(applyDetail.getIdcardNo())
||StringUtils.isBlank(applyDetail.getMemberName())
- ||Objects.isNull(applyDetail.getDuId())
+ || (Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)&&Objects.isNull(applyDetail.getDuId()))
||Objects.isNull(applyDetail.getWorktypeId())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け锛岃鎸夌収瑕佹眰濉啓鍛樺伐鐨勬湁鏁堜俊鎭紒");
@@ -1981,6 +2458,15 @@
applyDetail.setEndTime(insuranceApply.getApplyEndTime());
applyDetail.setSortnum(i);
applyDetail.setApplyId(insuranceApply.getId());
+
+ //鏍规嵁鍛樺伐韬唤璇佽繘琛屽垽鏂勾榫�
+ long age = Constants.getAgeByIdCard(applyDetail.getIdcardNo());
+ if(Objects.isNull(age)
+ || age > solutions.getMaxAge()
+ || age < solutions.getMinAge()){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ勾榫勮秴鍑烘柟妗堥厤缃�,鏂规閰嶇疆銆�"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"銆戯紒");
+ }
+
Member member = null;
if(Objects.isNull(applyDetail.getMemberId())){
if(CollectionUtils.isNotEmpty(memberList)){
@@ -1994,9 +2480,8 @@
member.setApplyId(insuranceApply.getId());
member.setDuId(applyDetail.getDuId());
member.setWorktypeId(applyDetail.getWorktypeId());
- member.setStartTime(applyDetail.getStartTime());
- member.setEndTime(applyDetail.getEndTime());
memberMapper.updateById(member);
+ applyDetail.setMemberName(member.getName());
}
}else{
member = memberMapper.selectById(applyDetail.getMemberId());
@@ -2006,17 +2491,8 @@
member.setApplyId(insuranceApply.getId());
member.setDuId(applyDetail.getDuId());
member.setWorktypeId(applyDetail.getWorktypeId());
- member.setStartTime(applyDetail.getStartTime());
- member.setEndTime(applyDetail.getEndTime());
memberMapper.updateById(member);
- }
-
- //鏍规嵁鍛樺伐韬唤璇佽繘琛屽垽鏂勾榫�
- long age = Constants.getAgeByIdCard(member.getIdcardNo());
- if(Objects.isNull(age)
- || age > solutions.getMaxAge()
- || age < solutions.getMinAge()){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ勾榫勮秴鍑烘柟妗堥厤缃�,鏂规閰嶇疆銆�"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"銆戯紒");
+ applyDetail.setMemberName(member.getName());
}
applyDetail.setMemberId(member.getId());
applyDetail.setIdcardNo(member.getIdcardNo());
@@ -2032,13 +2508,19 @@
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()+applyDetail.getIdcardNo()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
+ if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){
+ 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()+applyDetail.getIdcardNo()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
+ }
}
- if(duWorktypeList.stream().filter(d->d.getWorkTypeId().equals(applyDetail.getWorktypeId()))
+ if(worktypeIdList.stream().filter(d->Constants.equalsInteger(d,applyDetail.getWorktypeId()))
.collect(Collectors.toList()).size()<=Constants.ZERO){
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+applyDetail.getIdcardNo()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒");
}
+// 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()+applyDetail.getIdcardNo()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒");
+// }
}
applyDetailJoinMapper.insertBatchSomeColumn(applyDetailList);
}
@@ -2047,25 +2529,30 @@
/**
* 鏌ヨ 浼氬憳淇℃伅鍦ㄦ柟妗堜笅鏄惁瀛樺湪鍐茬獊鏁版嵁
- * @param solutionId
* @param startTime
* @param endTime
*/
@Override
- public void checkMemberSolution(Integer solutionId,String idCode,String memberName,Date startTime,Date endTime,Integer applyId){
+ public void checkMemberSolution(Integer solutionParentId,String idCode,String memberName,Date startTime,Date endTime,Integer applyId){
List<ApplyDetail> applyDetailList = new ArrayList<ApplyDetail>();
try {
applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
new MPJLambdaWrapper<ApplyDetail>()
.selectAll(ApplyDetail.class)
.selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
+ .selectAs(Company::getName,ApplyDetail::getCompanyName)
.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+ .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
.eq(ApplyDetail::getIdcardNo,idCode)
- .eq(Solutions::getBaseId,solutionId)
+ .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
+ .eq(Solutions::getParentId,solutionParentId)
.ne(Objects.nonNull(applyId),InsuranceApply::getId,applyId)
.notIn(InsuranceApply::getStatus
+ ,Constants.InsuranceApplyStatus.FAIL_RETURN.getKey()
+ ,Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey()
,Constants.InsuranceApplyStatus.CLOSE.getKey()
+ ,Constants.InsuranceApplyStatus.WTB_RETURN.getKey()
,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
.apply(" ( " +
" '"+DateUtil.getPlusTime(startTime)+"' <= t.start_time AND t.start_time < '"+DateUtil.getPlusTime(endTime)+"' " +
@@ -2077,8 +2564,13 @@
}catch (Exception e){
}
if(applyDetailList.size() >Constants.ZERO){
- ApplyDetail applyDetail = applyDetailList.get(Constants.ZERO);
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
+ String companyName = applyDetailList.get(Constants.ZERO).getCompanyName();
+ if(StringUtils.isNotBlank(companyName)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝凡鍦ㄣ��"+companyName+"銆戝瓨鍦ㄤ繚闄�,璇疯仈绯诲鏈嶇‘璁�");
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
+ }
+
};
}
@@ -2090,10 +2582,13 @@
new MPJLambdaWrapper<ApplyDetail>()
.selectAll(ApplyDetail.class)
.selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
+ .selectAs(Company::getName,ApplyDetail::getCompanyName)
.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+ .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
.eq(ApplyDetail::getIdcardNo,idCode)
.eq(Solutions::getBaseId,solutionId)
+ .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
.notIn(InsuranceApply::getStatus
,Constants.InsuranceApplyStatus.CLOSE.getKey()
,Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
@@ -2108,9 +2603,14 @@
}
if(applyDetailList.size() >Constants.ZERO){
- ApplyDetail applyDetail = applyDetailList.get(Constants.ZERO);
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
+ String companyName = applyDetailList.get(Constants.ZERO).getCompanyName();
+ if(StringUtils.isNotBlank(companyName)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝凡鍦ㄣ��"+companyName+"銆戝瓨鍦ㄤ繚闄�,璇疯仈绯诲鏈嶇‘璁�");
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+memberName+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
+ }
};
+
}
@Override
@@ -2195,48 +2695,70 @@
MPJLambdaWrapper<InsuranceApply> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
+/* //鏁版嵁鏉冮檺寮�濮�--------------------start----------------
+ LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(userInfo!=null && userInfo.getDepartIdList()!=null){
+ if( userInfo.getDepartIdList().size() ==0){
+ //鍙湅鑷繁
+ queryWrapper.and(wrapper ->{
+ wrapper.eq(InsuranceApply::getCreator,userInfo.getId());
+ });
+ }else{
+ //鏉冮檺鑼冨洿鍐�
+ queryWrapper.and(wrapper ->{
+ wrapper.in(SystemUser::getDepartmentId ,userInfo.getDepartIdList());
+ });
+ }
+ }*/
+
+
List<Integer> statusList = this.getCollectStatus(pageWrap.getModel().getStatusCollect());
queryWrapper.selectAll(InsuranceApply.class);
queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName);
queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName);
queryWrapper.selectAs(Solutions::getType,InsuranceApply::getSolutionType);
+ queryWrapper.selectAs(Solutions::getHasDispatchUnit,InsuranceApply::getHasDispatchUnit);
queryWrapper.selectAs(Solutions::getMaxAge,InsuranceApply::getMaxAge);
queryWrapper.selectAs(Solutions::getMinAge,InsuranceApply::getMinAge);
queryWrapper.selectAs(Solutions::getPrice,InsuranceApply::getPrice);
queryWrapper.selectAs(Solutions::getTimeUnit,InsuranceApply::getTimeUnit);
+ queryWrapper.select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad left join apply_change a on a.id = ad.APPLY_CHANGE_ID where t.id = a.APPLY_ID and a.status = 2 )",InsuranceApply::getChangeMoney);
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 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 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() and ad.START_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 ");
}
queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
queryWrapper.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId);
+ queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,InsuranceApply::getCreator);
queryWrapper.eq(InsuranceApply::getIsdeleted,Constants.ZERO);
queryWrapper.eq(pageWrap.getModel().getBaseSolutionId()!=null,Solutions::getBaseId,pageWrap.getModel().getBaseSolutionId());
queryWrapper.in(statusList.size()>0,InsuranceApply::getStatus,statusList);
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getSolutionName()),Solutions::getName,pageWrap.getModel().getSolutionName());
- if(Constants.equalsInteger(pageWrap.getModel().getStatusCollect(),Constants.ApplyCollectStatus.YGQ.getKey()) ){
- //濡傛灉鏄凡閬庢湡
-// queryWrapper.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey());
- queryWrapper.lt(InsuranceApply::getEndTime, Utils.Date.getStart(new Date()));
- }else if(Constants.equalsInteger(pageWrap.getModel().getStatusCollect(),Constants.ApplyCollectStatus.BZZ.getKey()) ){
- //濡傛灉鏄繚闅滀腑
-// queryWrapper.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey());
- queryWrapper.gt(InsuranceApply::getEndTime, Utils.Date.getStart(new Date()));
- }
+// if(Constants.equalsInteger(pageWrap.getModel().getStatusCollect(),Constants.ApplyCollectStatus.YGQ.getKey()) ){
+// //濡傛灉鏄凡杩囨湡
+// queryWrapper.lt(InsuranceApply::getEndTime, Utils.Date.getStart(new Date()));
+// }else if(Constants.equalsInteger(pageWrap.getModel().getStatusCollect(),Constants.ApplyCollectStatus.BZZ.getKey()) ){
+// //濡傛灉鏄繚闅滀腑
+// queryWrapper.gt(InsuranceApply::getEndTime, Utils.Date.getStart(new Date()));
+// }
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
//浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
if(loginUserInfo.getType().equals(Constants.ONE)){
queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
+ //2024骞�10鏈�29鏃�15:14:28 鍔犲叆 浼佷笟鍚堝苟2绫绘姇淇濇暟鎹�
+ if(pageWrap.getModel().getSolutionType()!=null && Constants.equalsInteger(pageWrap.getModel().getSolutionType(),Constants.ZERO)){
+ queryWrapper.eq(Solutions::getType,pageWrap.getModel().getSolutionType());
+ }
}else if(loginUserInfo.getType().equals(Constants.TWO)){
//濡傛灉鏄晢鎴锋煡鐪�
- if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType().equals(0)){
+ if(pageWrap.getModel().getSolutionType()!=null && Constants.equalsInteger(pageWrap.getModel().getSolutionType(),Constants.ZERO)){
queryWrapper.exists("select cs.id from company_solution cs left join solutions s on cs.solution_id=s.id where cs.isdeleted=0 and s.base_id=t1.base_id and cs.shop_id="+loginUserInfo.getCompanyId());
- }else if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==1){
+ }else if(pageWrap.getModel().getSolutionType()!=null && Constants.equalsInteger(pageWrap.getModel().getSolutionType(),Constants.ONE)){
queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId());
}else{
queryWrapper.apply("((t1.type=0 and exists(select cs.id from company_solution cs left join solutions s on cs.solution_id=s.id where cs.isdeleted=0 and s.base_id=t1.base_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" +
@@ -2286,6 +2808,18 @@
if (pageWrap.getModel().getStatus() != null) {
queryWrapper.in(InsuranceApply::getStatus, pageWrap.getModel().getStatus().split(","));
}
+
+ if (pageWrap.getModel().getTimeOut() != null) {
+ if(Constants.equalsInteger(pageWrap.getModel().getTimeOut(),Constants.ZERO)){
+ queryWrapper.apply(" t.START_TIME > now() ");
+ }else if(Constants.equalsInteger(pageWrap.getModel().getTimeOut(),Constants.ONE)){
+ queryWrapper.apply(" now() between t.START_TIME and t.END_TIME ");
+ }else if(Constants.equalsInteger(pageWrap.getModel().getTimeOut(),Constants.TWO)){
+ queryWrapper.apply(" t.END_TIME < now() ");
+ }else if(Constants.equalsInteger(pageWrap.getModel().getTimeOut(),Constants.THREE)){
+ queryWrapper.apply(" t.END_TIME > now() ");
+ }
+ }
if (pageWrap.getModel().getLoseEfficacy() != null && pageWrap.getModel().getLoseEfficacy() ==1) {
queryWrapper.apply(" DATEDIFF(t.END_TIME,CURRENT_DATE() ) <= 5 and t.END_TIME >= now() ");
}
@@ -2305,6 +2839,8 @@
if(pageData.getRecords()!=null){
for (InsuranceApply apply : pageData.getRecords()){
initApplyStatus(apply) ;
+ apply.setChangeMoney(Constants.getTwoPoint(apply.getChangeMoney()));
+ apply.setFee(Constants.getTwoPoint(apply.getFee()));
}
}
return pageData;
@@ -2321,6 +2857,16 @@
}
setServiceDays(apply);
apply.setStatusInfo(Constants.ApplyCollectStatus.getName(apply.getStatusCollect()));
+ if(Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+ || Constants.equalsInteger(apply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()) ){
+ if(apply.getStartTime().getTime()>System.currentTimeMillis()){
+ apply.setStatusInfo("寰呯敓鏁�");
+ }else if(apply.getEndTime().getTime()<System.currentTimeMillis()){
+ apply.setStatusInfo("宸茶繃鏈�");
+ }else{
+ apply.setStatusInfo("淇濋殰涓�");
+ }
+ }
}
@@ -2334,7 +2880,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 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() and ad.START_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 ");
@@ -2477,10 +3023,13 @@
.selectAs(Solutions::getTimeUnit,InsuranceApply::getTimeUnit)
.selectAs(Solutions::getType,InsuranceApply::getSolutionType)
.selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
+ .selectAs(Solutions::getHasDispatchUnit,InsuranceApply::getHasDispatchUnit)
+ .selectAs(Solutions::getSignType,InsuranceApply::getSignType)
.selectAs(Company::getName,InsuranceApply::getCompanyName)
+ .select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad left join apply_change a on a.id = ad.APPLY_CHANGE_ID where t.id = a.APPLY_ID and a.status = 2 )",InsuranceApply::getChangeMoney)
.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(" ( 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() and ad.START_TIME < now() ) as guaranteeNum")
.select(" t3.name as shopName")
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
@@ -2512,6 +3061,10 @@
initApplyStatus(insuranceApply);
//鏌ヨ闄勪欢鏁版嵁
initImgData(insuranceApply);
+
+ insuranceApply.setChangeMoney(Constants.getTwoPoint(insuranceApply.getChangeMoney()));
+ insuranceApply.setFee(Constants.getTwoPoint(insuranceApply.getFee()));
+
//鏌ヨ鎿嶄綔璁板綍
List<ApplyLog> applyLogList = applyLogJoinMapper.selectJoinList(ApplyLog.class,
new MPJLambdaWrapper<ApplyLog>()
@@ -2549,6 +3102,21 @@
}
private void initImgData(InsuranceApply model) {
+ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode();
+
+ //鏌ヨ鏂规纭涔�
+ CompanySolution companySolution =companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>().lambda().eq(CompanySolution::getSolutionId,model.getSolutionId()).eq(CompanySolution::getCompanyId,model.getCompanyId()).last("limit 1"));
+ if(Objects.nonNull(companySolution)){
+ Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda()
+ .eq(Multifile::getObjId,companySolution.getId())
+ .eq(Multifile::getObjType,Constants.MultiFile.COMPANY_SOLUTION_SIGN_PDF.getKey())
+ .eq(Multifile::getIsdeleted,Constants.ZERO).last("limit 1"));
+ if(Objects.nonNull(multifile)){
+ multifile.setFileurlFull(path + multifile.getFileurl());
+ model.setFanganFile(multifile);
+ }
+ }
List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
.eq(Multifile::getObjId, model.getId())
.in(Multifile::getObjType,Arrays.asList(new Integer[]{Constants.MultiFile.BD_APPLY_PDF.getKey()
@@ -2559,8 +3127,11 @@
.eq(Multifile::getIsdeleted,Constants.ZERO)
.orderByAsc(Multifile::getId));
if(multifiles!=null){
- String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
- +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode();
+
+
+
+
+
for(Multifile f : multifiles){
if(StringUtils.isBlank(f.getFileurl())){
continue;
@@ -2578,10 +3149,11 @@
}else if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.MEMBER_LIST_LATTER.getKey())){
//鐢宠鍗�
model.setShenqingdanFile(f);
- }else if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.WTB_CONFIRMATION_LATTER.getKey())){
- //绛剧讲鍚庣‘璁や功
- model.setFanganFile(f);
}
+// else if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.WTB_CONFIRMATION_LATTER.getKey())){
+// //绛剧讲鍚庣‘璁や功
+// model.setFanganFile(f);
+// }
// if(model.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
// //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈�
@@ -2605,7 +3177,7 @@
.selectAs(Solutions::getType,InsuranceApply::getSolutionType)
.selectAs(Company::getName,InsuranceApply::getCompanyName)
.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad where ad.apply_id = t.id ) as insureNum")
- .select(" ifnull(( 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() ),0) as guaranteeNum")
+ .select(" ifnull(( 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() and ad.START_TIME < now() ),0) as guaranteeNum")
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
.eq(InsuranceApply::getId,model.getId())
@@ -2710,11 +3282,6 @@
insuranceApply.getId(),solutions.getName(),companySolution.getShopId(),Constants.NoticeType.THREE);
noticesMapper.insert(shopNotices);
}
-
-
-
-
-
}else if(insuranceApplyOptDTO.getOptType().equals(Constants.TWO)){
insuranceApplyStatus = Constants.InsuranceApplyStatus.CLOSE;
@@ -3006,10 +3573,11 @@
if(solutions.getType().equals(Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝闈炲鎵樹繚鏂规淇濆崟锛屾棤娉曡繘琛岃鎿嶄綔!");
}
- String fileUrl = ExcelExporter.build(InsuranceApply.class).exportApplyExcelToPdf(model,"浜哄憳鍚嶅崟");
+ String fileUrl = "https://yybred.oss-cn-hangzhou.aliyuncs.com/apply/20241230/a0d128f2-ba6c-4ad4-b86b-b2610a513d41.pdf";//ExcelExporter.build(InsuranceApply.class).exportApplyExcelToPdf(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);
+ //String applyNo = signService.applySignLocalFile(company.getName(),company.getName(),fileUrl,company.getCode(),company.getEmail(),"鎶曚繚鍚嶅崟绛剧珷",company.getSignId(),notifyUrl);
+ String applyNo = signService.applySign(company.getName(),fileUrl,company.getName(),company.getCode(),company.getEmail(),model.getSignKeyword(),company.getSignId(),notifyUrl);
if(StringUtils.isBlank(applyNo) ){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
@@ -3106,4 +3674,79 @@
return link;
}
+
+
+
+
+ /**
+ * 鏍规嵁淇濆崟鏌ヨ鏄惁鍙互杩涜鍔犲噺淇濇搷浣�
+ * @param applyPowerDTO
+ * @return
+ */
+ @Override
+ public ApplyPowerVO getApplyPower(ApplyPowerDTO applyPowerDTO){
+ if(Objects.isNull(applyPowerDTO)
+ || Objects.isNull(applyPowerDTO.getApplyId())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍙傛暟閿欒");
+ }
+ if(Objects.isNull(applyPowerDTO.getBeginDate())){
+ applyPowerDTO.setBeginDate(new Date());
+ }
+ InsuranceApply insuranceApply = insuranceApplyMapper.selectById(applyPowerDTO.getApplyId());
+ if(Objects.isNull(insuranceApply)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if(insuranceApply.getIsdeleted().equals(Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"鏁版嵁宸插垹闄�,鏃犳硶杩涜璇ユ搷浣�");
+ }
+ Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
+ }
+ ApplyPowerVO applyPowerVO = InsuranceApplyServiceImpl.getApplyPowerStatic(applyPowerDTO,insuranceApply,solutions);
+ return applyPowerVO;
+ }
+
+
+
+ public static ApplyPowerVO getApplyPowerStatic(ApplyPowerDTO applyPowerDTO,InsuranceApply insuranceApply,Solutions solutions){
+ if(Objects.isNull(applyPowerDTO)
+ || Objects.isNull(applyPowerDTO.getApplyId())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍙傛暟閿欒");
+ }
+ if(Objects.isNull(applyPowerDTO.getBeginDate())){
+ applyPowerDTO.setBeginDate(new Date());
+ }
+ ApplyPowerVO applyPowerVO = new ApplyPowerVO();
+ //鑾峰彇鏂规 缁撴潫鏃堕棿
+ Date endTime = insuranceApply.getEndTime();
+ //鏌ヨ褰撳墠鍘诲姞淇濈殑寮�濮嬫棩鏈� yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00
+ Date addStartDate = DateUtil.getMontageDate(
+ DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()),
+ 1
+ );
+ applyPowerVO.setAddStartDate(addStartDate);
+ //鍔犱繚鐢熸晥鏃ユ湡澶т簬 淇濆崟缁撴潫鏃ユ湡 鍒欎笉鍙互杩涜鍔犱繚
+ if(addStartDate.getTime()>=endTime.getTime()){
+ applyPowerVO.setAddTrue(Constants.ONE);
+ }else{
+ applyPowerVO.setAddTrue(Constants.ZERO);
+ }
+ //鏌ヨ褰撳墠鍘诲噺淇濈殑寮�濮嬫棩鏈� yyyy-MM-dd HH:mm:ss 2024-10-29 00:00:00
+ Date delStartDate = DateUtil.getMontageDate(
+ DateUtil.afterDateByType(applyPowerDTO.getBeginDate(),Constants.ZERO,solutions.getAddValidDays()),
+ 1
+ );
+ applyPowerVO.setDelStartDate(delStartDate);
+ //鍔犱繚鐢熸晥鏃ユ湡澶т簬 淇濆崟缁撴潫鏃ユ湡 鍒欎笉鍙互杩涜鍑忎繚
+ if(delStartDate.getTime()>=endTime.getTime()){
+ applyPowerVO.setDelTrue(Constants.ONE);
+ }else{
+ applyPowerVO.setDelTrue(Constants.ZERO);
+ }
+ return applyPowerVO;
+ }
+
}
+
+
--
Gitblit v1.9.3