From 7341852b4449d689a7320b4f345ad2a10e47951e Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 12 四月 2024 18:38:03 +0800
Subject: [PATCH] git ch
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 453 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 406 insertions(+), 47 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index 2c1cacf..77527e1 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -12,10 +12,7 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
-import com.doumee.dao.business.dto.ApplyChangeCyclePriceDTO;
-import com.doumee.dao.business.dto.ApplyChangeOptDTO;
-import com.doumee.dao.business.dto.CountCyclePriceDTO;
-import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
+import com.doumee.dao.business.dto.*;
import com.doumee.dao.business.join.*;
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.vo.CountCyclePriceVO;
@@ -25,6 +22,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.SmsEmailService;
import com.doumee.service.business.third.SignService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -105,6 +103,8 @@
private SolutionsMapper solutionsMapper;
@Autowired
+ private SmsEmailService smsEmailService;
+ @Autowired
private NoticesMapper noticesMapper;
/**
* 骞冲彴閫�鍥炴姇淇�
@@ -135,13 +135,17 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈煡璇㈠埌鏂规淇℃伅");
}
- if(
-// Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey())
-// ||Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey())
-// ||
- Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.APPROVE.getKey())){
- //宸叉彁浜ゅ拰宸插畬鎴愮姸鎬佷笉鏀寔瀹℃牳涓嶉�氳繃
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){
+ if(Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.APPROVE.getKey())){
+ //宸叉彁浜ゅ拰宸插畬鎴愮姸鎬佷笉鏀寔瀹℃牳涓嶉�氳繃
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ }
+ }else if(Constants.equalsInteger(solutions.getType(),Constants.ZERO)){
+ if(Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.UPLOAD.getKey())
+ || Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey()) ){
+ //宸叉彁浜ゅ拰宸插畬鎴愮姸鎬佷笉鏀寔瀹℃牳涓嶉�氳繃
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ }
}
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
ApplyChange update = new ApplyChange();
@@ -163,12 +167,14 @@
noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),
insuranceApply.getCompanyId(), Constants.NoticeType.FOUR);
+// notices.setParam1(insuranceApply.getId().toString());
noticesMapper.insert(notices);
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_CHECK_PASS_NO;
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));
+ ApplyLog log = new ApplyLog(update,applyLogType.getName(),
+ info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
applyLogMapper.insert(log);
return 1;
@@ -236,6 +242,15 @@
// if(1==1){
// throw new BusinessException(ResponseStatus.DATA_EMPTY);
// }
+
+
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
+ if(model.getType().equals(Constants.ONE)){
+ noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
+ }
+ //鍒犻櫎鍏朵粬寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_APPROVE;
String info = "";
@@ -316,7 +331,7 @@
}
/**
- * 澶勭悊鍔犲噺淇濇槑缁嗘暟鎹�
+ * 澶勭悊鎹㈠巶鏄庣粏鏁版嵁
* @param update
*/
private void dealDetailsDUdata(ApplyChange update,InsuranceApply insuranceApply) {
@@ -347,7 +362,6 @@
//瀹為檯鎵瑰崟鐢熸晥鏃ユ湡
Date applyStartTime = DateUtil.getMontageDate(update.getApplyStartTime(),1);
for(ApplyChagneDetail detail : detailList){
- //鏌ヨ鍑忎繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
.lambda()
.eq(ApplyDetail::getApplyId,update.getApplyId())
@@ -664,7 +678,6 @@
);
update.setFee(totalFee);
-
}
}
@@ -777,7 +790,10 @@
if (Objects.isNull(insuranceApply)) {
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if (!Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())) {
+ if (!(Constants.equalsInteger(insuranceApply.getStatus(), Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+ ||Constants.equalsInteger(insuranceApply.getStatus(), Constants.InsuranceApplyStatus.WTB_DONE.getKey())
+ )
+ ) {
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "淇濆崟鐘舵�侀敊璇�");
}
if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO
@@ -877,7 +893,9 @@
if (Objects.isNull(insuranceApply)) {
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if (!Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())) {
+ if (!(Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+ ||Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())
+ )) {
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "淇濆崟鐘舵�侀敊璇�");
}
if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO
@@ -933,6 +951,11 @@
ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
applyLogMapper.insert(log);
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
+ if(applyChange.getType().equals(Constants.ONE)){
+ noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
+ }
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,applyChange.getId()));
return applyChange.getId();
}
@@ -1004,7 +1027,8 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇ヤ紒涓氬垎閰嶄繚闄╂柟妗堟棤娉曡繘琛屽噺淇�");
}
//鍑忎繚鏄庣粏鏁版嵁 璁$畻閲戦 鏍规嵁鎵瑰崟鏃堕棿 鍓嶄竴澶� 璁$畻
- applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),2));
+ applyChangeCyclePriceDTO.setValidTime(DateUtil.getMontageDate(applyChange.getValidTime(),3));
+
CountCyclePriceVO countCyclePriceVO = this.getChangeCountCyclePriceVO(applyChangeCyclePriceDTO);
BigDecimal detailFee = countCyclePriceVO.getCyclePrice();
this.delChangeDetail(applyChange,delDetailList,insuranceApply,solutions,loginUserInfo,detailFee,applyChangeCyclePriceDTO.getValidTime());
@@ -1014,6 +1038,13 @@
//鎹㈠巶涓氬姟
List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList();
if (CollectionUtils.isNotEmpty(changeDetailList)) {
+ //楠岃瘉鏄惁瀛樺湪閲嶅鏁版嵁
+ List<String> idcarNo = changeDetailList.stream().map(m->m.getIdcardNo()).collect(Collectors.toList());
+ Set<String> set = new HashSet<>(idcarNo);
+ if(idcarNo.size() != set.size()){
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝浜哄憳褰曞叆鏁版嵁瀛樺湪鐩稿悓鏁版嵁锛�");
+ }
+
this.changeDetail(applyChange,changeDetailList,duWorktypeList,duSolutionList,loginUserInfo);
}
return fee;
@@ -1090,6 +1121,9 @@
if (applyChange.getValidTime().compareTo(applyDetail.getEndTime()) > 0) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍑忎繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戜繚鍗曚繚闅滄棩鏈熻嚦锛氥��" + applyDetail.getEndTime() + "銆戞棤娉曢�氳繃鏈鐢宠");
}
+
+
+ applyChagneDetail.setPrice(applyDetail.getPrice());
applyChagneDetail.setCreateDate(new Date());
applyChagneDetail.setCreator(loginUserInfo.getId());
applyChagneDetail.setIsdeleted(Constants.ZERO);
@@ -1106,7 +1140,10 @@
member.setEndTime(applyChagneDetail.getEndTime());
memberMapper.updateById(member);
- applyChagneDetail.setFee( detailFee.multiply(new BigDecimal(-1)));
+ //鏌ヨ鍑忎繚鏃ユ湡
+ Integer delDays = DateUtil.daysBetweenDates(applyDetail.getEndTime(),endTime);
+
+ applyChagneDetail.setFee( new BigDecimal(delDays).multiply(applyDetail.getPrice()).multiply(new BigDecimal(-1)));
applyChagneDetailJoinMapper.insert(applyChagneDetail);
}
}
@@ -1143,6 +1180,13 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁");
}
+ ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>()
+ .lambda()
+ .eq(ApplyDetail::getApplyId,applyChange.getApplyId()).last("limit 1"));
+ if(Objects.isNull(applyDetail)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍");
+ }
+ applyChagneDetail.setPrice(applyDetail.getPrice());
applyChagneDetail.setCreateDate(new Date());
applyChagneDetail.setCreator(loginUserInfo.getId());
applyChagneDetail.setIsdeleted(Constants.ZERO);
@@ -1312,6 +1356,7 @@
&& applyChagneDetail.getOldWorktypeId().equals(applyChagneDetail.getWorktypeId())){
throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "鎹㈠巶浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戞崲鍘傛暟鎹浉鍚岋紒");
}
+ applyChagneDetail.setPrice(applyDetail.getPrice());
applyChagneDetail.setCreateDate(new Date());
applyChagneDetail.setCreator(loginUserInfo.getId());
applyChagneDetail.setIsdeleted(Constants.ZERO);
@@ -1385,6 +1430,8 @@
@Override
public PageData<ApplyChange> findPage(PageWrap<ApplyChange> pageWrap) {
+
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
IPage<ApplyChange> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
@@ -1392,6 +1439,7 @@
queryWrapper
.selectAll(ApplyChange.class)
.selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
+ .selectAs( Solutions::getType,InsuranceApply::getSolutionType)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 )",ApplyChange::getAddNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 )",ApplyChange::getDelNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum)
@@ -1403,10 +1451,22 @@
.in(!Objects.isNull(model.getStatus())&&model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,
Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey(),
Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
+ .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
.eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
.eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
.ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
.le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" );
+ if(loginUserInfo.getType().equals(Constants.TWO)){
+ //濡傛灉鏄晢鎴锋煡鐪�
+ if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==0){
+ queryWrapper.exists("select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId());
+ }else if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==1){
+ queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId());
+ }else{
+ queryWrapper.apply("((t1.type=0 and exists(select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" +
+ "t2.type=1 and t2.shop_id="+loginUserInfo.getCompanyId()+"))") ;
+ }
+ }
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -1437,10 +1497,11 @@
.selectAll(ApplyChange.class)
.selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
.selectAs(Solutions::getName,ApplyChange::getSolutionsName)
+ .selectAs(Solutions::getType,ApplyChange::getSolutionType)
.selectAs(Company::getName,ApplyChange::getCompanyName)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 )",ApplyChange::getAddNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 )",ApplyChange::getDelNum)
- .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum)
+ .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum)
.select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID )",ApplyChange::getChangeMoney)
.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
@@ -1450,16 +1511,30 @@
.in(!Objects.isNull(model.getStatus())&&model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,
Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey(),
Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
-// .eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
-// .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
+ .eq(!Objects.isNull(model.getUnionApplyId()),InsuranceApply::getUnionApplyId,model.getUnionApplyId())
+ .eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
+ .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
.eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId())
.eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
+ .like(StringUtils.isNotBlank(model.getSolutionsName()),Solutions::getName,model.getSolutionsName())
.ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
- .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" );
+ .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" )
+ .ge(StringUtils.isNotBlank(model.getApplyStartS()),ApplyChange::getApplyStartTime, model.getApplyStartS()+" 00:00:00" )
+ .le(StringUtils.isNotBlank(model.getApplyStartE()),ApplyChange::getApplyStartTime, model.getApplyStartE()+" 23:59:59" );
LoginUserInfo loginUserInfo =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
//浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
if(loginUserInfo.getType().equals(Constants.ONE)){
queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
+ }else if(loginUserInfo.getType().equals(Constants.TWO)){
+ //濡傛灉鏄晢鎴锋煡鐪�
+ if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==0){
+ queryWrapper.exists("select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId());
+ }else if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==1){
+ queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId());
+ }else{
+ queryWrapper.apply("((t1.type=0 and exists(select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" +
+ "t2.type=1 and t2.shop_id="+loginUserInfo.getCompanyId()+"))") ;
+ }
}else{
if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){
queryWrapper.in(InsuranceApply::getCompanyId, loginUserInfo.getCompanyIdList());
@@ -1471,15 +1546,110 @@
queryWrapper.orderByDesc(ApplyDetail::getCreateDate);
-// for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-// if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-// queryWrapper.orderByDesc(sortData.getProperty());
-// } else {
-// queryWrapper.orderByAsc(sortData.getProperty());
-// }
-// }
PageData<ApplyChange> pageData = PageData.from(applyChangeJoinMapper.selectJoinPage(page,ApplyChange.class, queryWrapper));
return pageData;
+ }
+
+ @Override
+ public List<ApplyChange> findListForCompany(ApplyChange model) {
+ MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper
+ .selectAll(ApplyChange.class)
+ .selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
+ .selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime)
+ .selectAs(InsuranceApply::getCode,ApplyChange::getValidCode)
+ .selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime)
+ .selectAs(Solutions::getName,ApplyChange::getSolutionsName)
+ .selectAs(Solutions::getType,ApplyChange::getSolutionType)
+ .selectAs(Company::getName,ApplyChange::getCompanyName)
+ .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 )",ApplyChange::getAddNum)
+ .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 )",ApplyChange::getDelNum)
+ .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum)
+ .select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID )",ApplyChange::getChangeMoney)
+ .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
+ .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+ .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+ .eq(!Objects.isNull(model.getType()),ApplyChange::getType,model.getType())
+ .eq(!Objects.isNull(model.getStatus())&&!model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,model.getStatus())
+ .in(!Objects.isNull(model.getStatus())&&model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),
+ ApplyChange::getStatus,
+ Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey(),
+ Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
+ .eq(!Objects.isNull(model.getUnionApplyId()),InsuranceApply::getUnionApplyId,model.getUnionApplyId())
+// .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
+ .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
+ .eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId())
+ .eq(!Objects.isNull(model.getUnionChangeId()),ApplyChange::getUnionChangeId,model.getUnionChangeId())
+ .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
+ .like(StringUtils.isNotBlank(model.getSolutionsName()),Solutions::getName,model.getSolutionsName())
+ .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
+ .le(StringUtils.isNotBlank(model.getCreateDateE()),ApplyChange::getCreateDate, model.getCreateDateE()+" 23:59:59" )
+ .ge(StringUtils.isNotBlank(model.getApplyStartS()),ApplyChange::getApplyStartTime, model.getApplyStartS()+" 00:00:00" )
+ .le(StringUtils.isNotBlank(model.getApplyStartE()),ApplyChange::getApplyStartTime, model.getApplyStartE()+" 23:59:59" );
+ LoginUserInfo loginUserInfo =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
+ if(loginUserInfo.getType().equals(Constants.ONE)){
+ queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
+ }else if(loginUserInfo.getType().equals(Constants.TWO)){
+ //濡傛灉鏄晢鎴锋煡鐪�
+ if(model.getSolutionType()!=null && model.getSolutionType() ==0){
+ queryWrapper.exists("select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId());
+ }else if(model.getSolutionType()!=null && model.getSolutionType() ==1){
+ queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId());
+ }else{
+ queryWrapper.apply("((t2.type=0 and exists(select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" +
+ "t2.type=1 and t2.shop_id="+loginUserInfo.getCompanyId()+"))") ;
+ }
+ }else{
+ if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){
+ queryWrapper.in(InsuranceApply::getCompanyId, loginUserInfo.getCompanyIdList());
+ }else{
+ queryWrapper.eq(InsuranceApply::getCompanyId, -1);
+ }
+ queryWrapper.eq(model.getCompanyId()!=null,InsuranceApply::getCompanyId, model.getCompanyId());
+ }
+
+ queryWrapper.orderByDesc(ApplyDetail::getCreateDate);
+ List<ApplyChange> list =applyChangeJoinMapper.selectJoinList(ApplyChange.class,queryWrapper);
+ if(Constants.equalsObject(model.getGetFiles(),Constants.ONE)){
+ //濡傛灉鏄悎骞跺崟,闇�瑕佹煡璇㈤檮浠朵俊鎭�
+ initFileForList(list);
+ }
+ return list;
+ }
+ private void initFileForList(List<ApplyChange> list) {
+ List<Integer> objList = new ArrayList<>();
+ if(list!=null && list.size()>0){
+ for(ApplyChange param : list){
+ objList.add(param.getId());
+ }
+ }else{
+ return;
+ }
+ List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+ .in(Multifile::getObjId,objList)
+ .in(Multifile::getObjType,Arrays.asList(new Integer[]{Constants.MultiFile.CA_PD_PDF.getKey()}))
+ .eq(Multifile::getIsdeleted,Constants.ZERO)
+ .orderByAsc(Multifile::getId));
+ if(multifiles!=null && multifiles.size()>0){
+ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode();
+ for(ApplyChange model : list){
+ for(Multifile f : multifiles) {
+ if (StringUtils.isBlank(f.getFileurl())) {
+ continue;
+ }
+ f.setFileurlFull(path+f.getFileurl());
+ if(Constants.equalsInteger(f.getObjId(), model.getId()) ){
+ if (Constants.equalsInteger(f.getObjType(), Constants.MultiFile.CA_PD_PDF.getKey())) {
+ //绛剧讲鍓嶇殑鎶曚繚鍗�
+ model.setPidanFile(f);
+ }
+ }
+ }
+ }
+ }
+
}
@@ -1537,7 +1707,12 @@
Notices notices = new Notices(noticeObjectType,Constants.ZERO,applyChange.getId(),solutions.getName(),
insuranceApply.getCompanyId(), Constants.NoticeType.THREE);
noticesMapper.insert(notices);
-
+ //鍟嗘埛寰呭姙
+ if(Objects.nonNull(solutions.getShopId())){
+ Notices shopNotices = new Notices(noticeObjectType,Constants.TWO,
+ applyChange.getId(),solutions.getName(),solutions.getShopId(),Constants.NoticeType.THREE);
+ noticesMapper.insert(shopNotices);
+ }
}else if(applyChangeOptDTO.getOptType().equals(4)){
applyLogType = Constants.ApplyLogType.CA_PLATFORM_AGREE_BACK_APPLY;
@@ -1569,14 +1744,11 @@
}else if(applyChangeOptDTO.getOptType().equals(6)){
//浼佷笟鍏抽棴
applyLogType = Constants.ApplyLogType.CA_COMPANY_CLOSE;
- if(!loginUserInfo.getType().equals(Constants.ONE)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
- }
- if(!applyChange.getStatus().equals(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey())){
+ if(!(applyChange.getStatus().equals(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey())
+ ||applyChange.getStatus().equals(Constants.ApplyChangeStatus.CHECHED_PASSED.getKey()))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀敊璇棤娉曡繘琛岃鎿嶄綔!");
}
applyChange.setStatus(Constants.ApplyChangeStatus.CLOSE.getKey());
-
//瀛樺偍寰呭姙淇℃伅
//鍒犻櫎鍏朵粬寰呭姙
noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,applyChange.getId()));
@@ -1604,13 +1776,17 @@
MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper.selectAll(ApplyChange.class)
.selectAs(InsuranceApply::getCode,ApplyChange::getApplyCode)
+ .selectAs(Company::getId,ApplyChange::getCompanyId)
.selectAs(Company::getName,ApplyChange::getCompanyName)
.selectAs(InsuranceApply::getStartTime,ApplyChange::getStartTime)
.selectAs(InsuranceApply::getEndTime,ApplyChange::getEndTime)
.selectAs(Solutions::getName,ApplyChange::getSolutionsName)
+ .selectAs(Solutions::getType,ApplyChange::getSolutionType)
+ .selectAs(Solutions::getId,ApplyChange::getSolutionsId)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0 )",ApplyChange::getAddNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1 )",ApplyChange::getDelNum)
.select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2 )",ApplyChange::getChangeNum)
+ .select(" ( select max(ac.APPLY_START_TIME) from apply_change ac where ac.apply_id = t.apply_id and ac.status = 2 ) as lastChangeDate")
.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
@@ -1633,10 +1809,10 @@
applyChange.setApplyLogList(applyLogList);
List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
- .eq(Multifile::getObjId,applyChange.getId())
- .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey()
- ,Constants.MultiFile.CA_PD_PDF.getKey()
- ,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()}))
+ .eq(Multifile::getObjId, applyChange.getId() )
+// .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.CA_APPLY_JIAJIAN_SIGN.getKey()
+// ,Constants.MultiFile.CA_PD_PDF.getKey()
+// ,Constants.MultiFile.CA_APPLY_CHANGEUNIT_SIGN.getKey()}))
.eq(Multifile::getIsdeleted,Constants.ZERO));
if(multifiles!=null){
String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
@@ -1709,9 +1885,9 @@
}
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
Company company = user.getCompany();
- if(debugModel){
+ /*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(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁");
}
@@ -1725,9 +1901,9 @@
}
String fileUrl = null;
if(Constants.equalsObject(model.getType(), Constants.ONE)){
- fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�");
+ fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","鎶曚繚浼佷笟");
}else{
- fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃");
+ fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","鎶曚繚浼佷笟");
}
String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode();
notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString());
@@ -1745,8 +1921,6 @@
update.setEditDate(new Date());
update.setSignApplyNo(applyNo);
applyChangeMapper.updateById(update);
-
-
return link;
}
@@ -1861,6 +2035,10 @@
if(Objects.isNull(solutions)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
}
+ ApplyDetail applyDetail = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getIsdeleted,Constants.ZERO).eq(ApplyDetail::getApplyId,insuranceApply.getId()).last("limit 1"));
+ if(Objects.isNull(applyDetail)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濆崟鏄庣粏璁板綍");
+ }
//鏍规嵁鎵瑰崟鏃ユ湡 鍜� 缁撴潫鏃ユ湡 璁$畻閲戦
//楠岃瘉鎵瑰崟鏃ユ湡鏄惁鍦ㄥ綋鍓嶆棩鏈熷悗 涓� 鍦ㄤ繚鍗曠粨鏉熸棩鏈熷墠 鐢宠鏃堕棿蹇呴』澶勪簬淇濆崟鐨勬椂闂磋寖鍥村唴
if (!(DateUtil.compareDate( insuranceApply.getStartTime(),applyChangeCyclePriceDTO.getValidTime()) >= Constants.ZERO
@@ -1877,7 +2055,8 @@
BigDecimal sumPrice = countCyclePriceVO.getCyclePrice();
CountCyclePriceVO returnCountCyclePriceVO = new CountCyclePriceVO();
//鍔犲噺淇濋噾棰�
- returnCountCyclePriceVO.setCyclePrice(sumPrice.multiply(new BigDecimal(optDays)).divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP));
+// returnCountCyclePriceVO.setCyclePrice(sumPrice.multiply(new BigDecimal(optDays)).divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP));
+ returnCountCyclePriceVO.setCyclePrice(applyDetail.getPrice().multiply(new BigDecimal(optDays)).setScale(2, RoundingMode.HALF_UP));
return returnCountCyclePriceVO;
}
@@ -1904,4 +2083,184 @@
return sumPrice.divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP).multiply(new BigDecimal(optDays));
}
+ public ApplyChange queryApplyChangeData(Integer applyChangeId){
+ ApplyChange model = findDetail(applyChangeId);
+ if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getIsdeleted())){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ MPJLambdaWrapper<ApplyChagneDetail> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(ApplyChagneDetail.class);
+ queryWrapper.select("t2.name",ApplyChagneDetail::getWorkTypeName);
+ queryWrapper.select("t3.name",ApplyChagneDetail::getDuName);
+ queryWrapper.select("t4.name",ApplyChagneDetail::getOldWorkTypeName);
+ queryWrapper.select("t5.name",ApplyChagneDetail::getOldDuName);
+ queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName);
+ queryWrapper.selectAs(Member::getSex,ApplyChagneDetail::getSex);
+ queryWrapper.selectAs(Member::getIdcardNo,ApplyChagneDetail::getMemberIdcardNo);
+ queryWrapper.leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId);
+ queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId);
+ queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId);
+ queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getOldWorktypeId);
+ queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getOldDuId);
+ queryWrapper.eq(ApplyChagneDetail::getApplyChangeId,applyChangeId);
+ List<ApplyChagneDetail> list = applyChangeDetailJoinMapper.selectJoinList(ApplyChagneDetail.class, queryWrapper);
+ for (ApplyChagneDetail applyChagneDetail:list) {
+ applyChagneDetail.setAge(Constants.getAgeByIdCard(applyChagneDetail.getMemberIdcardNo()));
+ }
+ if(CollectionUtils.isNotEmpty(list)){
+ model.setAddDetailList(list.stream().filter(m->m.getType().equals(Constants.ZERO)).collect(Collectors.toList()));
+ model.setDelDetailList(list.stream().filter(m->m.getType().equals(Constants.ONE)).collect(Collectors.toList()));
+ model.setChangeDetailList(list.stream().filter(m->m.getType().equals(Constants.TWO)).collect(Collectors.toList()));
+ }
+ return model;
+ }
+
+ /**
+ * 浜哄憳鍚嶅崟绛剧珷
+ */
+ @Override
+ public String getChangeMemberListOnlineSignLink(SmsCheckDTO smsCheckDTO) {
+ if(Objects.isNull(smsCheckDTO)
+ || Objects.isNull(smsCheckDTO.getBusinessId())
+ || StringUtils.isBlank(smsCheckDTO.getCode())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ //楠岃瘉 楠岃瘉鐮�
+ if(!debugModel){
+ smsEmailService.validateCode(smsCheckDTO.getCode());
+ }
+ ApplyChange model = this.queryApplyChangeData(smsCheckDTO.getBusinessId());
+ if(Objects.isNull(model)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠姞鍑忎繚/鎹㈠巶淇℃伅");
+ }
+ if(Objects.isNull(model) ||! Constants.equalsInteger(Constants.ZERO,model.getIsdeleted())){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ Company 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(),"瀵逛笉璧凤紝浼佷笟灏氭湭鍏峰鍦ㄧ嚎绛剧珷鏉′欢锛岃鑱旂郴骞冲彴绠$悊鍛樼‘璁");
+ }
+ Solutions solutions = solutionsMapper.selectById(model.getSolutionsId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+ }
+ String fileUrl = null;
+ if(solutions.getType().equals(Constants.ONE)){
+ if(!Constants.equalsInteger(Constants.ZERO,model.getStatus())){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔绛剧珷鎿嶄綔锛�");
+ }
+ if(Constants.equalsObject(model.getType(), Constants.ONE)){
+ fileUrl = ExcelExporter.build(ApplyChange.class).exportChangeUnitExcelToPdf(model,"鎹㈠巶鐢宠琛�","琚繚闄╀汉");
+ }else{
+ fileUrl = ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcelToPdf(model,"鍔犲噺淇濈敵璇疯〃","琚繚闄╀汉");
+ }
+ 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);
+ if(StringUtils.isBlank(applyNo) ){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+ }
+ String link = signService.signLink(applyNo,company.getName(),company.getCode());
+ if(StringUtils.isBlank(link) ){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鑾峰彇鍦ㄧ嚎绛剧珷鍦板潃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+ }
+ ApplyChange update= new ApplyChange();
+ update.setId(model.getId());
+ update.setEditor(user.getId());
+ update.setEditDate(new Date());
+ update.setSignMemberListNo(applyNo);
+ applyChangeMapper.updateById(update);
+ return link;
+ }else{
+ if(model.getType().equals(Constants.ONE)){
+ return this.getSignLinkChangeUnit(model);
+ }else{
+ return this.getSignLinkJiajiabao(model);
+ }
+
+
+
+ }
+ }
+
+
+
+ @Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ public Integer check(ApplyChange applyChange) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!user.getType().equals(Constants.TWO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲晢鎴风鏃犳硶杩涜璇ユ搷浣�");
+ }
+ if(applyChange.getId() == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(Objects.isNull(applyChange)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ ApplyChange model = applyChangeJoinMapper.selectJoinOne(ApplyChange.class,
+ new MPJLambdaWrapper<ApplyChange>()
+ .selectAll(ApplyChange.class)
+ .selectAs(InsuranceApply::getSolutionId,ApplyChange::getSolutionsId)
+ .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
+ .eq(ApplyChange::getId,applyChange.getId())
+ .last(" limit 1")
+ );
+
+ if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ Solutions solutions = solutionsMapper.selectById(model.getSolutionsId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈡柟妗堜俊鎭�");
+ }
+ if(solutions.getType().equals(Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐩翠繚鍗曟嵁鏃犳硶杩涜璇ユ搷浣�");
+ }else{
+ if(!Constants.equalsInteger(model.getStatus(),Constants.ApplyChangeStatus.SIGNATURE.getKey())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
+ }
+ }
+
+ ApplyChange update = new ApplyChange();
+ update.setEditDate(new Date());
+ update.setEditor(user.getId());
+ update.setCheckDate(update.getEditDate());
+ update.setCheckInfo(applyChange.getCheckInfo());
+ update.setCheckUserId(user.getId());
+ update.setId(model.getId());
+ if(applyChange.getDealBackApply() ==1){
+ //濡傛灉鏄笉閫氳繃
+ update.setStatus(Constants.ApplyChangeStatus.PLATFORM_AGREE.getKey());
+ }else{
+ update.setStatus(Constants.ApplyChangeStatus.CHECHED_PASSED.getKey());
+ }
+ applyChangeJoinMapper.updateById(update);
+
+
+ Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_HBD_AUDIT;
+ String info = applyChange.getCheckInfo();
+ if(StringUtils.isNotBlank(applyChange.getCheckInfo())){
+ info = info.replace("${param}", applyChange.getCheckInfo());
+ }else{
+ info = info.replace("${param}", "");
+ }
+ ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(), null, null);
+ applyLogMapper.insert(log);
+
+ Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
+ if(Constants.equalsInteger(model.getType(),Constants.ONE)){
+ noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
+ }
+ //鍒犻櫎鍏ㄩ儴寰呭姙
+ noticesMapper.delete(new QueryWrapper<Notices>().lambda()
+ .eq(Notices::getObjType, noticeObjectType.getKey())
+ .eq(Notices::getObjId, model.getId()));
+ return 1;
+
+ }
+
}
--
Gitblit v1.9.3