From 831cafdd72242d89fcc1f5e447c919a31e129f51 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 29 一月 2024 17:43:43 +0800
Subject: [PATCH] 开发业务接口
---
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 278 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 233 insertions(+), 45 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 4be1bc8..70ba94a 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
@@ -10,6 +10,7 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
@@ -31,6 +32,7 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -45,6 +47,8 @@
*/
@Service
public class InsuranceApplyServiceImpl implements InsuranceApplyService {
+ @Value("${debug_model}")
+ private boolean debugModel;
@Autowired
private InsuranceApplyMapper insuranceApplyMapper;
@@ -55,6 +59,8 @@
private SystemDictDataBiz systemDictDataBiz;
@Autowired
private InsuranceApplyJoinMapper insuranceApplyJoinMapper;
+ @Autowired
+ private CompanyMapper companyMapper;
@Autowired
private ApplyDetailMapper applyDetailMapper;
@@ -99,7 +105,7 @@
InsuranceApply update = new InsuranceApply();
update.setEditDate(new Date());
update.setEditor(user.getId());
- update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_RETURN.getKey());
+ update.setStatus(Constants.InsuranceApplyStatus.FAIL_RETURN.getKey());
update.setCheckDate(update.getEditDate());
update.setCheckInfo(insuranceApply.getCheckInfo());
update.setCheckUserId(user.getId());
@@ -134,11 +140,11 @@
if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.SIGNATURE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
}
- if(model.getApplyEndTime()== null || insuranceApply.getStartTime().getTime()>insuranceApply.getApplyEndTime().getTime() ){
+ if(model.getApplyEndTime()== null || model.getStartTime().getTime()>model.getApplyEndTime().getTime() ){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风敓鏁堝懆鏈熸椂闂翠笉绗﹀悎瑕佹眰锛岃纭鍚庝慨鏀归噸璇晘");
}
//璁$畻瀹為檯鎴鏃堕棿
- Date actEndTime = new Date(insuranceApply.getApplyEndTime().getTime() + (insuranceApply.getStartTime().getTime() - model.getApplyStartTime().getTime()));
+ Date actEndTime = new Date(model.getApplyEndTime().getTime() + (insuranceApply.getStartTime().getTime() - model.getApplyStartTime().getTime()));
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
InsuranceApply update = new InsuranceApply();
update.setEditDate(new Date());
@@ -155,7 +161,7 @@
insuranceApply.getBaoxiandanFile().setIsdeleted(Constants.ZERO);
insuranceApply.getBaoxiandanFile().setCreator(user.getId());
- insuranceApply.getToubaodanFile().setObjId(update.getId());
+ insuranceApply.getBaoxiandanFile().setObjId(update.getId());
insuranceApply.getBaoxiandanFile().setCreateDate(update.getEditDate());
insuranceApply.getBaoxiandanFile().setObjType(Constants.MultiFile.BD_DONE_PDF.getKey());
insuranceApply.getBaoxiandanFile().setType(Constants.TWO);
@@ -218,7 +224,7 @@
param.getBaoxiandanFile().setObjType(Constants.MultiFile.BD_DONE_PDF.getKey());
param.getBaoxiandanFile().setType(Constants.TWO);
multifileMapper.insert(param.getBaoxiandanFile());
-
+ update.setStatus(model.getStatus());
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PALTFORM_EDIT_BD;
String info = applyLogType.getInfo();
info = info.replace("${param}",param.getCheckInfo());
@@ -288,7 +294,14 @@
if(id == null ){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- InsuranceApply model = insuranceApplyMapper.selectById(id);
+ MPJLambdaWrapper wrapper= new MPJLambdaWrapper<InsuranceApply>()
+ .selectAll(InsuranceApply.class)
+ .selectAs(Solutions::getSignKeyword,InsuranceApply::getSignKeyword)
+ .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+ .eq(InsuranceApply::getId,id)
+ .last("limit 1");
+
+ InsuranceApply model = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,wrapper);
if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
@@ -297,11 +310,14 @@
Constants.ApplyLogType applyLogType = null;
String info = "";
//濡傛灉鏄┏鍥�,鍙兘鍙┏鍥炲凡绛剧珷鐘舵�佷笅鐨勯��鍥炵敵璇风姸鎬佽繘琛屾搷浣�
- if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())){
+ if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
}
Company company = user.getCompany();
- if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.ONE)){
+ if(debugModel){
+ company = companyMapper.selectById(model.getCompanyId());
+ }
+ if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.THREE)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁");
}
@@ -315,11 +331,11 @@
String url = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode()+f.getFileurl();
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.applySign(company.getName(),url,company.getName(),company.getCode(),company.getEmail(),null,company.getSignId(),notifyUrl);
+ String applyNo = signService.applySign(company.getName(),url,company.getName(),company.getCode(),company.getEmail(),model.getSignKeyword(),company.getSignId(),notifyUrl);
if(StringUtils.isBlank(applyNo) ){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
- String link = signService.signLink(applyNo,company.getEmail(),company.getCode());
+ String link = signService.signLink(applyNo,company.getName(),company.getCode());
if(StringUtils.isBlank(link) ){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
@@ -331,23 +347,155 @@
insuranceApplyMapper.updateById(update);
return link;
}
+ public String uploadSignFile(String link){
+ try {
+ String bucketName = systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode();
+ String access_id= systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode();
+ String access_key= systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode();
+ String endpoint = systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode();
+ String folder = systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode();
+ String tempFileName = DateUtil.getNowShortDate() + "/" + UUID.randomUUID().toString() + ".pdf";
+ String key = folder + tempFileName;// 鏂囦欢鍚�
+ ALiYunUtil obs = new ALiYunUtil(endpoint,access_id, access_key);
+ if (obs.uploadOnlineObject(link,bucketName, key,null)) {
+ // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
+ return tempFileName;
+ }
+ }catch (Exception e){
+
+ }
+ return null;
+
+ }
+
+
+ public Integer uploadSignedFileDo(InsuranceApply model,String fileurl) {
+ InsuranceApply update = new InsuranceApply();
+ update.setEditDate(new Date());
+ update.setEditor(model.getCreator());
+ update.setStatus(Constants.InsuranceApplyStatus.SIGNATURE.getKey());
+ update.setCheckDate(update.getEditDate());
+ update.setCheckInfo("浼佷笟瀹屾垚绛剧讲");
+ update.setCheckUserId(model.getCreator());
+ update.setId(model.getId());
+ insuranceApplyMapper.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.BD_SIGNED_PDF.getKey());
+ f.setType(Constants.TWO);
+ f.setFileurl(fileurl);
+ f.setName("鎶曚繚鍗曠绾﹀悎鍚�.pdf");
+ multifileMapper.insert(f);
+ Constants.ApplyLogType applyLogType = Constants.ApplyLogType.SIGNATURE;
+ ApplyLog log = new ApplyLog(update,applyLogType.getName(), null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+ applyLogMapper.insert(log);
+ return 1;
+
+ }
+ public Integer uploadChangeSignedFileDo(ApplyChange model,String fileurl) {
+ ApplyChange update = new ApplyChange();
+ update.setEditDate(new Date());
+ update.setEditor(model.getCreator());
+ update.setStatus(Constants.ApplyChangeStatus.SIGNATURE.getKey());
+ update.setCheckDate(update.getEditDate());
+ update.setCheckInfo("浼佷笟瀹屾垚绛剧讲");
+ update.setCheckUserId(model.getCreator());
+ update.setId(model.getId());
+ applyChangeMapper.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.equalsInteger(Constants.ZERO,model.getType())?Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey() : Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey());
+ f.setType(Constants.TWO);
+ f.setFileurl(fileurl);
+ f.setName("绛剧珷鐢宠琛�.pdf");
+ multifileMapper.insert(f);
+ Constants.ApplyLogType applyLogType =Constants.equalsInteger(Constants.ZERO,model.getType())? Constants.ApplyLogType.CA_JIAJIAN_APPLY_SIGN: Constants.ApplyLogType.CA_CHANGUNIT_APPLY_SIGN;
+ ApplyLog log = new ApplyLog(update,applyLogType.getName(), null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+ applyLogMapper.insert(log);
+ return 1;
+
+ }
+ @Override
+ public void dealWaitSignedData(){
+ List<InsuranceApply> applyList = insuranceApplyMapper.selectList(new QueryWrapper<InsuranceApply>().lambda()
+ .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WAIT_SIGNATURE)
+ .isNotNull(InsuranceApply::getSignApplyNo));
+ if(applyList !=null && applyList.size()>0 ){
+ for(InsuranceApply model : applyList){
+ String link = signService.linkFile(model.getSignApplyNo());
+ String fileUrl = uploadSignFile(link);
+ if(StringUtils.isBlank(fileUrl)){
+ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+ return;
+ }
+ uploadSignedFileDo(model,fileUrl);
+ return;
+ }
+ }
+ List<ApplyChange> chagneList = applyChangeMapper.selectList(new QueryWrapper<ApplyChange>().lambda()
+ .eq(ApplyChange::getStatus,Constants.ApplyChangeStatus.UPLOAD)
+ .isNotNull(ApplyChange::getSignApplyNo));
+ if(chagneList !=null && chagneList.size()>0 ){
+ for(ApplyChange model : chagneList){
+ String link = signService.linkFile(model.getSignApplyNo());
+ String fileUrl = uploadSignFile(link);
+ if(StringUtils.isBlank(fileUrl)){
+ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+ return;
+ }
+ uploadChangeSignedFileDo(model,fileUrl);
+ return;
+ }
+ }
+ }
@Override
public void dealSignResult(NotifyDataReq data){
if(data.getApplyNo() == null ){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- InsuranceApply model = insuranceApplyMapper.selectOne(new QueryWrapper<InsuranceApply>().lambda().eq(InsuranceApply::getSignApplyNo,data.getApplyNo()).last("limit 1" ));
- if(model != null ){
- //-----------------TUDO--------瀹屽杽绛剧害瀹屾垚涓氬姟------
-
- }else{
- ApplyChange applyChange = applyChangeMapper.selectOne(new QueryWrapper<ApplyChange>().lambda().eq(ApplyChange::getSignApplyNo,data.getApplyNo()).last("limit 1" ));
- if(applyChange == null){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"绯荤粺鏈壘鍒板尮閰嶅悎鍚屽彿!");
+ if(Constants.equalsInteger(data.getSignStatus(), Constants.THREE )){
+ //濡傛灉宸蹭繚鍏�,鍙笅杞界绾﹂檮浠�
+ InsuranceApply model = insuranceApplyMapper.selectOne(new QueryWrapper<InsuranceApply>().lambda().eq(InsuranceApply::getSignApplyNo,data.getApplyNo()).last("limit 1" ));
+ if(model != null && Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())){
+ //瀹屾垚绛剧讲宸插畬鎴愭搷浣�
+ String link = signService.linkFile(data.getApplyNo());
+ String fileUrl = uploadSignFile(link);
+ if(StringUtils.isBlank(fileUrl)){
+ //濡傛灉涓嬭浇澶辫触锛屾竻闄ゅ悎鍚岋紝涓嬫绛剧珷閲嶆柊鐢熸垚鏂板悎鍚�
+ return;
+ }
+ uploadSignedFileDo(model,fileUrl);
+ return;
}
- //-----------------TUDO-------瀹屽杽绛剧害瀹屾垚-------
- }
+ ApplyChange applyChange = applyChangeMapper.selectOne(new QueryWrapper<ApplyChange>().lambda().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);
+ }
+ }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()));
+ }
}
@Override
@@ -389,7 +537,7 @@
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.WAIT_SIGNATURE;
String info =applyLogType.getInfo();
- info = info.replace("${param}", update.getCheckInfo());
+// info = info.replace("${param}", update.getCheckInfo());
ApplyLog log = new ApplyLog(update,applyLogType.getName(),StringUtils.isNotBlank(update.getCheckInfo())?info:"",update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
applyLogMapper.insert(log);
return 1;
@@ -397,14 +545,14 @@
}
/**
- * 瀹℃牳閫氳繃
+ * 瀹℃牳閫氳繃鎴栬�呬笉閫氳繃
* @param insuranceApply
* @return
*/
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer check(InsuranceApply insuranceApply) {
- if(insuranceApply.getId() == null ||StringUtils.isBlank(insuranceApply.getCheckInfo())){
+ if(insuranceApply.getId() == null || StringUtils.isBlank(insuranceApply.getCheckInfo())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
InsuranceApply model = insuranceApplyMapper.selectById(insuranceApply.getId());
@@ -415,19 +563,28 @@
if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
}
+
+ Constants.ApplyLogType applyLogType = null;
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
InsuranceApply update = new InsuranceApply();
update.setEditDate(new Date());
update.setEditor(user.getId());
- update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey());
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());
+ }else{
+ applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS;
+ update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey());
+ }
insuranceApplyMapper.updateById(update);
-
- Constants.ApplyLogType applyLogType = Constants.ApplyLogType.PLATFORM_CHECK_PASS;
- ApplyLog log = new ApplyLog(update,applyLogType.getName(),null,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+ String info =applyLogType.getInfo();
+ info = info.replace("${param}", update.getCheckInfo());
+ ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(),JSONObject.toJSONString(model), JSONObject.toJSONString(update));
applyLogMapper.insert(log);
return 1;
@@ -624,16 +781,25 @@
IPage<InsuranceApply> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<InsuranceApply> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
+ List<Integer> statusList = Constants.InsuranceApplyStatus.getKesByStatus(pageWrap.getModel().getStatusCollect());
queryWrapper.selectAll(InsuranceApply.class);
queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName);
queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName);
queryWrapper.select(" DATEDIFF( t.END_TIME ,now() ) AS loseEfficacyDays ");
queryWrapper.select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum");
- queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on ts.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 ts.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 ");
+ if(!Objects.isNull(pageWrap.getModel())&&!Objects.isNull(pageWrap.getModel().getType())){
+ 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 ");
+ }
queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
queryWrapper.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId);
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);
+ if(Constants.equalsInteger(pageWrap.getModel().getStatusCollect(),Constants.THREE) ){
+ queryWrapper.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey());
+ queryWrapper.lt(InsuranceApply::getEndTime, Utils.Date.getStart(new Date()));
+ }
//浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
if(loginUserInfo.getType().equals(Constants.ONE)){
queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
@@ -676,9 +842,26 @@
}
}
PageData<InsuranceApply> pageData = PageData.from(insuranceApplyJoinMapper.selectJoinPage(page,InsuranceApply.class, queryWrapper));
+ if(pageData.getRecords()!=null){
+ for (InsuranceApply apply : pageData.getRecords()){
+ initApplyStatus(apply) ;
+ }
+ }
return pageData;
}
+ public void initApplyStatus(InsuranceApply apply){
+ apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus()));
+ if(Constants.equalsInteger(apply.getStatusCollect(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
+ //濡傛灉宸插畬鎴�
+ if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){
+ apply.setStatusCollect(Constants.THREE);//宸茶繃鏈�
+ }
+ }
+ setServiceDays(apply);
+ apply.setStatusInfo(Constants.ApplyCollectStatus.getName(apply.getStatusCollect()));
+
+ }
@Override
public List<InsuranceApply> findListByDTO(InsuranceApplyQueryDTO model) {
@@ -749,6 +932,7 @@
.selectAll(InsuranceApply.class)
.selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
.selectAs(Company::getName,ApplyLog::getCompanyName)
+ .select(" ( select count(1) from apply_detail ad where ad.apply_id = t.id ) as insureNum")
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
.eq(InsuranceApply::getId,id)
@@ -758,21 +942,8 @@
if(Objects.isNull(insuranceApply)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- insuranceApply.setInsureNum(applyDetailMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId())
- .eq(ApplyDetail::getIsdeleted,Constants.ZERO)));
- //璁剧疆鍦ㄤ繚鏃堕暱锛堝ぉ鏁帮級
- if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
- //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈�
- if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){
- insuranceApply.setServiceDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime()));
- }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){
- //鏈紑濮�
- insuranceApply.setServiceDays(Constants.ZERO);
- }else{
- insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime()));
- }
- }
+ initApplyStatus(insuranceApply);
//鏌ヨ闄勪欢鏁版嵁
initImgData(insuranceApply);
@@ -791,6 +962,23 @@
insuranceApply.setApplyLogList(applyLogList);
return insuranceApply;
}
+
+ private void setServiceDays(InsuranceApply insuranceApply) {
+ //璁剧疆鍦ㄤ繚鏃堕暱锛堝ぉ鏁帮級
+ insuranceApply.setServiceDays(Constants.ZERO);
+ if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
+ //濡傛灉褰撳墠鏃堕棿澶т簬缁撴潫鏃ユ湡 鍒欎娇鐢ㄧ粨鏉熸棩鏈熷姣斿紑濮嬫棩鏈�
+ if(DateUtil.compareDate(new Date(),insuranceApply.getEndTime())>=Constants.ZERO){
+ insuranceApply.setServiceDays(DateUtil.daysBetweenDates(insuranceApply.getEndTime(),insuranceApply.getStartTime()));
+ }else if(DateUtil.compareDate(insuranceApply.getStartTime(),new Date())>=Constants.ZERO){
+ //鏈紑濮�
+ insuranceApply.setServiceDays(Constants.ZERO);
+ }else{
+ insuranceApply.setServiceDays(DateUtil.daysBetweenDates(new Date(),insuranceApply.getStartTime()));
+ }
+ }
+ }
+
private void initImgData(InsuranceApply model) {
List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
.eq(Multifile::getObjId,model.getId())
@@ -808,7 +996,7 @@
f.setFileurlFull(path+f.getFileurl());
if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.BD_APPLY_PDF.getKey())){
//绛剧讲鍓嶇殑鎶曚繚鍗�
- model.setBaoxiandanFile(f);
+ model.setToubaodanFile(f);
}else if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.BD_SIGNED_PDF.getKey())){
//绛剧讲鍚庣殑鎶曚繚鍗�
model.setToubaodanSignedFile(f);
@@ -841,7 +1029,7 @@
.selectAs(DispatchUnit::getName,ApplyDetail::getDuName)
.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId)
.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId)
- .eq(InsuranceApply::getId,model.getId());
+ .eq(ApplyDetail::getApplyId,model.getId());
//鏌ヨ鏄庣粏
List<ApplyDetail> detailList =applyDetailJoinMapper.selectJoinList(ApplyDetail.class,wrapper1);
if(detailList!=null){
--
Gitblit v1.9.3