From 346dacb7bf8c33ba6826572f79c16aa74c513650 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 10 六月 2025 15:26:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 281 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 238 insertions(+), 43 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index a7ca3b0..3edb558 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
@@ -2,8 +2,10 @@
import cn.hutool.core.util.IdcardUtil;
import com.alibaba.fastjson.JSONObject;
-
-import com.baomidou.mybatisplus.extension.api.R;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.biz.system.SystemDictDataBiz;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.constants.ResponseStatus;
@@ -15,37 +17,31 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
-import com.doumee.dao.business.dto.*;
+import com.doumee.dao.business.dto.ApplyChangeCyclePriceDTO;
+import com.doumee.dao.business.dto.ApplyChangeOptDTO;
+import com.doumee.dao.business.dto.SaveUnionChangeDTO;
+import com.doumee.dao.business.dto.SmsCheckDTO;
import com.doumee.dao.business.join.*;
import com.doumee.dao.business.model.*;
-import com.doumee.dao.business.vo.ChangeDealTypeVO;
import com.doumee.dao.business.vo.CountCyclePriceVO;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.ApplyChangeService;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-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.InsuranceApplyService;
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;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
-import org.checkerframework.checker.units.qual.A;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
-import java.util.*;
import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -264,7 +260,7 @@
pidanFile.setObjType(Constants.MultiFile.CA_PD_PDF.getKey());
pidanFile.setType(Constants.TWO);
}
- multifileMapper.insertBatchSomeColumn(pidanFileList);
+ multifileMapper.insert(pidanFileList);
update.setApplyId(model.getApplyId());
@@ -364,7 +360,7 @@
pidanFile.setObjType(Constants.MultiFile.CA_PD_PDF.getKey());
pidanFile.setType(Constants.TWO);
}
- multifileMapper.insertBatchSomeColumn(param.getPidanFileList());
+ multifileMapper.insert(param.getPidanFileList());
// param.getPidanFile().setIsdeleted(Constants.ZERO);
// param.getPidanFile().setObjId(update.getId());
@@ -734,7 +730,7 @@
}
//鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
- member.getIdcardNo(),member.getName(),detail.getStartTime(),detail.getEndTime(),
+ member.getId(),member.getIdcardNo(),member.getName(),detail.getStartTime(),detail.getEndTime(),
applyDetailJoinMapper);
//鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
@@ -809,7 +805,7 @@
}
if (memberInsuranceList != null && memberInsuranceList.size() > 0) {
- memberInsuranceJoinMapper.insertBatchSomeColumn(memberInsuranceList);
+ memberInsuranceJoinMapper.insert(memberInsuranceList);
}
if (totalFee.compareTo(new BigDecimal(0)) != 0) {
@@ -1140,9 +1136,12 @@
}
}
+ private static Logger logger = LoggerFactory.getLogger(ApplyChangeServiceImpl.class);
public BigDecimal dealApplyChangeData(ApplyChange applyChange,InsuranceApply insuranceApply
,CompanySolution companySolution,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal fee){
+ Long start = System.currentTimeMillis();
+ logger.error("澶勭悊鍔犲噺淇濅繚鍗曟暟鎹紑濮嬫椂闂�:=========================>"+start);
if(Constants.equalsInteger(applyChange.getType(),Constants.ZERO)){
if(Objects.nonNull(solutions.getDelOnlyReplace())&& solutions.getDelOnlyReplace().equals(Constants.ONE)){
if(applyChange.getDelDetailList().size() > applyChange.getAddDetailList().size()){
@@ -1194,6 +1193,14 @@
List<ApplyChagneDetail> delDetailList = applyChange.getDelDetailList();
//鍔犱繚鏁版嵁
List<ApplyChagneDetail> addDetailList = applyChange.getAddDetailList();
+ //鎹㈠巶涓氬姟
+ List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList();
+
+ if(CollectionUtils.isEmpty(delDetailList)
+ && CollectionUtils.isEmpty(addDetailList)
+ && CollectionUtils.isEmpty(changeDetailList)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏈坊鍔犱汉鍛樻暟鎹棤娉曡繘琛屾彁浜�");
+ }
if (CollectionUtils.isNotEmpty(addDetailList)) {
if(Objects.isNull(solutions.getCanAdd()) || solutions.getCanAdd().equals(Constants.ZERO)){
@@ -1231,10 +1238,7 @@
fee = fee.add(delDetailList.stream().map(ApplyChagneDetail::getFee).reduce(BigDecimal.ZERO,BigDecimal::add));
}
-
-
//鎹㈠巶涓氬姟
- List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList();
if (CollectionUtils.isNotEmpty(changeDetailList)) {
if(Objects.isNull(solutions.getCanChangeUnit()) || solutions.getCanChangeUnit().equals(Constants.ZERO)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇ヤ繚闄╂柟妗堟棤娉曡繘琛屾崲鍘傛搷浣�");
@@ -1248,6 +1252,8 @@
this.changeDetail(applyChange,changeDetailList,duSolutionList,loginUserInfo,solutions,worktypeIdList);
}
+ Long end = System.currentTimeMillis();
+ logger.error("澶勭悊鍔犲噺淇濅繚鍗曟暟鎹粨鏉熸椂闂�:=========================>"+end +";鍗曟潯鑰楁椂锛�====銆�"+(end-start));
return fee;
}
@@ -1352,6 +1358,7 @@
}
//鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
+ .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
.eq(ApplyDetail::getApplyId, applyChange.getApplyId())
.eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
// .le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getDelValidTime(),1))
@@ -1409,8 +1416,6 @@
}
}
-
-
/**
* 鍔犱繚鏁版嵁澶勭悊
* @param applyChange 鍔犲噺淇濅繚鍗曟暟鎹�
@@ -1419,6 +1424,202 @@
* @param loginUserInfo 鎿嶄綔浜�
*/
public void addChangeDetail(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList,
+ List<DuSolution> duSolutionList,
+ InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee,Integer delSize,
+ List<Integer> worktypeIdList){
+ if(applyChange.getApplyStartTime().getTime()>insuranceApply.getEndTime().getTime()){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚鐢熸晥鏈熶笉鑳藉ぇ浜庝繚鍗曠粨鏉熸棩鏈�");
+ }
+ //鏌ヨ鏈鍔犱繚鎵�鏈変汉鍛樹俊鎭�
+ List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .in(Member::getIdcardNo,addDetailList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList()))
+ );
+ //鏌ヨ鏈鍔犱繚鎵�鏈変汉鍛樼殑鍘嗗彶淇濆崟璁板綍
+ List<ApplyDetail> applyDetailAllList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
+ new MPJLambdaWrapper<ApplyDetail>()
+ .selectAll(ApplyDetail.class)
+ .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
+ .selectAs(InsuranceApply::getStatus,ApplyDetail::getApplyStatus)
+ .selectAs(Company::getName,ApplyDetail::getCompanyName)
+ .selectAs(Solutions::getBaseId,ApplyDetail::getSolutionBaseId)
+ .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
+ .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+ .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+ .in(ApplyDetail::getMemberId,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
+ .eq(ApplyDetail::getIsdeleted,Constants.ZERO));
+
+ List<ApplyChagneDetail> applyChangeDetailAllList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
+ new MPJLambdaWrapper<ApplyChagneDetail>()
+ .selectAll(ApplyChagneDetail.class)
+ .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
+ .leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId)
+ .eq(ApplyChange::getApplyId,applyChange.getApplyId())
+ .in(Member::getIdcardNo,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
+ .in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE));
+
+ for (int i = 0; i < addDetailList.size(); i++) {
+ ApplyChagneDetail applyChagneDetail = addDetailList.get(i);
+ if (
+ Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO) && Objects.isNull(applyChagneDetail.getDuId())
+ || Objects.isNull(applyChagneDetail.getWorktypeId())
+ || StringUtils.isBlank(applyChagneDetail.getIdcardNo())
+ ) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け");
+ }
+
+ //鏍规嵁鍛樺伐韬唤璇佽繘琛屽垽鏂勾榫�
+ long age = Constants.getAgeByIdCard(applyChagneDetail.getIdcardNo());
+ if(Objects.isNull(age)
+ || age > solutions.getMaxAge()
+ || age < solutions.getMinAge()){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+applyChagneDetail.getMemberName()+"銆戝憳宸ュ勾榫勮秴鍑烘柟妗堥厤缃� 鏂规閰嶇疆銆�"+solutions.getMinAge()+" - "+solutions.getMaxAge()+"銆戝瓨鍦ㄥ紓甯告暟鎹紒");
+ }
+
+ //鏌ヨ褰撳墠澶勭悊鐨勪汉鍛樹俊鎭�
+ List<Member> optMembers = memberList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList());
+ Member member = new Member();
+ if(CollectionUtils.isEmpty(optMembers)){
+ member = new Member();
+ member.setCreateDate(new Date());
+ member.setCreator(loginUserInfo.getId());
+ member.setIsdeleted(Constants.ZERO);
+ member.setName(applyChagneDetail.getMemberName());
+ member.setCompanyId(insuranceApply.getCompanyId());
+ member.setSex(Constants.getSexByIdCard(applyChagneDetail.getIdcardNo()));
+ if(!IdcardUtil.isValidCard(applyChagneDetail.getIdcardNo())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍔犱繚鍛樺伐淇℃伅韬唤璇佷俊鎭敊璇痆"+member.getName()+"]");
+ }
+ member.setIdcardNo(applyChagneDetail.getIdcardNo());
+ member.setApplyId(insuranceApply.getId());
+ member.setDuId(applyChagneDetail.getDuId());
+ member.setWorktypeId(applyChagneDetail.getWorktypeId());
+ memberMapper.insert(member);
+ applyChagneDetail.setMemberId(member.getId());
+ }else{
+ member = optMembers.get(Constants.ZERO);
+ member.setApplyId(insuranceApply.getId());
+ member.setDuId(applyChagneDetail.getDuId());
+ member.setWorktypeId(applyChagneDetail.getWorktypeId());
+ member.setStartTime(applyChagneDetail.getStartTime());
+ member.setEndTime(applyChagneDetail.getEndTime());
+ memberMapper.updateById(member);
+ applyChagneDetail.setMemberId(member.getId());
+
+ if(applyChangeDetailAllList.stream().filter(
+ j->Constants.equalsInteger(j.getMemberId(),applyChagneDetail.getMemberId())
+ ).collect(Collectors.toList()).size()>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄧ敵璇蜂腑鐨勫姞鍑忎繚/鎹㈠巶鍗曟嵁");
+ }
+
+ }
+ List<ApplyDetail> memberApplyDetailList = new ArrayList<>();
+ if(CollectionUtils.isNotEmpty(applyDetailAllList)){
+ memberApplyDetailList = applyDetailAllList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())).collect(Collectors.toList());
+ }
+ if(CollectionUtils.isEmpty(memberApplyDetailList)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍");
+ }
+
+ if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())&&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
+ && j.getStartTime().getTime() <= DateUtil.getMontageDate(applyChange.getApplyStartTime(),1).getTime()
+ && j.getEndTime().getTime() >= DateUtil.getMontageDate(insuranceApply.getEndTime(),2).getTime()
+ ).collect(Collectors.toList()).size()>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁");
+ };
+
+ if(memberApplyDetailList.stream().filter(j->j.getIdcardNo().equals(applyChagneDetail.getIdcardNo())
+ &&Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
+ && j.getStartTime().getTime() <= System.currentTimeMillis()
+ && j.getEndTime().getTime() >= System.currentTimeMillis()
+ ).collect(Collectors.toList()).size()>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚");
+ };
+
+
+ List<ApplyDetail> optApplyDetailList = applyDetailAllList.stream()
+ .filter(j->Constants.equalsInteger(j.getApplyId(),applyChange.getApplyId())
+ ).collect(Collectors.toList());
+
+ if(CollectionUtils.isEmpty(optApplyDetailList)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍");
+ }
+
+ ApplyDetail applyDetail = optApplyDetailList.get(Constants.ZERO);
+ applyChagneDetail.setPrice(applyDetail.getPrice());
+ applyChagneDetail.setCreateDate(new Date());
+ applyChagneDetail.setCreator(loginUserInfo.getId());
+ applyChagneDetail.setIsdeleted(Constants.ZERO);
+ applyChagneDetail.setApplyChangeId(applyChange.getId());
+ applyChagneDetail.setStartTime(DateUtil.getMontageDate(applyChange.getApplyStartTime(),1));
+ applyChagneDetail.setEndTime(DateUtil.getMontageDate(insuranceApply.getEndTime(),2));
+ applyChagneDetail.setType(Constants.ZERO);
+
+
+ List<ApplyDetail> checkStaticMemberSolutionList = memberApplyDetailList.stream()
+ .filter(j->Constants.equalsInteger(j.getSolutionBaseId(),solutions.getBaseId())
+ && !( j.getApplyStatus() == Constants.InsuranceApplyStatus.CLOSE.getKey() || j.getApplyStatus() == Constants.InsuranceApplyStatus.WTB_CLOSED.getKey() )
+ && (
+ ( applyChange.getApplyStartTime().getTime()<= j.getStartTime().getTime() && j.getStartTime().getTime() < insuranceApply.getEndTime().getTime() )
+ ||
+ ( applyChange.getApplyStartTime().getTime()< j.getEndTime().getTime() && j.getEndTime().getTime() < insuranceApply.getEndTime().getTime() )
+ ||
+ ( applyChange.getApplyStartTime().getTime()> j.getStartTime().getTime() && insuranceApply.getEndTime().getTime() < j.getEndTime().getTime() )
+ )
+ ).collect(Collectors.toList());
+
+ if(checkStaticMemberSolutionList.size() >Constants.ZERO){
+ String companyName = checkStaticMemberSolutionList.get(Constants.ZERO).getCompanyName();
+ String idCode = checkStaticMemberSolutionList.get(Constants.ZERO).getIdcardNo();
+ if(StringUtils.isNotBlank(companyName)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+applyChagneDetail.getMemberName()+" "+idCode+"銆戝凡鍦ㄣ��"+companyName+"銆戝瓨鍦ㄤ繚闄�,璇疯仈绯诲鏈嶇‘璁�");
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇ュ憳宸ャ��"+applyChagneDetail.getMemberName()+" "+idCode+"銆戝湪璇ヤ繚闄╂柟妗堜笅宸插瓨鍦ㄦ姇淇濊褰曪紝鏃犳硶杩涜璇ユ搷浣�");
+ }
+ };
+
+ //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
+ if(!Objects.isNull(applyChagneDetail.getMemberId())){
+ if (applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda()
+ .eq(ApplyDetail::getApplyId, applyChange.getApplyId())
+ .eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
+ .le(ApplyDetail::getStartTime, "now()")
+ .ge(ApplyDetail::getEndTime, "now()")
+ ) > Constants.ZERO) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚");
+ }
+ }
+
+ //楠岃瘉娲鹃仯鍗曚綅淇℃伅 涓庡伐绉嶄俊鎭� 鏄惁瀛樺湪
+ if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){
+ if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) {
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "銆�" + applyChagneDetail.getMemberName() + "銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
+ }
+ }
+ if (worktypeIdList.stream().filter(d -> Constants.equalsInteger(d,applyChagneDetail.getWorktypeId()))
+ .collect(Collectors.toList()).size() <= Constants.ZERO) {
+ throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "銆�" + applyChagneDetail.getMemberName() + "銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒");
+ }
+ applyChagneDetail.setMemberId(member.getId());
+ //濡傛灉鏄噺淇濅笟鍔′负浠呮浛鎹� 涓� 鏂规鐨勬墸璐瑰懆鏈熷拰鎬诲懆鏈熺浉绛� 鍒欏鐞嗗噺淇濊垂鐢�
+ if(Constants.equalsInteger(solutions.getDelOnlyReplace(),Constants.ONE)
+ && Constants.equalsInteger(solutions.getTimeUnit(),solutions.getInsureCycleUnit()) && delSize> i){
+ applyChagneDetail.setFee(BigDecimal.ZERO);
+ }else{
+ applyChagneDetail.setFee(detailFee);
+ }
+ applyChagneDetailJoinMapper.insert(applyChagneDetail);
+ }
+ }
+
+ /**
+ * 鍔犱繚鏁版嵁澶勭悊
+ * @param applyChange 鍔犲噺淇濅繚鍗曟暟鎹�
+ * @param addDetailList 鍔犱繚浜哄憳
+ * @param duSolutionList 娲鹃仯鍗曚綅鏂规鏁版嵁
+ * @param loginUserInfo 鎿嶄綔浜�
+ */
+ public void addChangeDetailOld(ApplyChange applyChange ,List<ApplyChagneDetail> addDetailList,
List<DuSolution> duSolutionList,
InsuranceApply insuranceApply,Solutions solutions,LoginUserInfo loginUserInfo,BigDecimal detailFee,Integer delSize,
List<Integer> worktypeIdList){
@@ -1434,10 +1635,6 @@
) {
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝繀濉」缂哄け");
}
- //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
- InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
- applyChagneDetail.getIdcardNo(),applyChagneDetail.getMemberName(),applyChange.getApplyStartTime(),insuranceApply.getEndTime(),
- applyDetailJoinMapper);
//鏌ヨ鍔犱繚浜哄憳鏄惁瀛樺湪 鍐茬獊鐨� 淇濆崟鏄庣粏鏁版嵁
if(applyDetailJoinMapper.selectCount(new QueryWrapper<ApplyDetail>()
@@ -1445,7 +1642,7 @@
.eq(ApplyDetail::getApplyId,applyChange.getApplyId())
.eq(ApplyDetail::getIdcardNo,applyChagneDetail.getIdcardNo())
.le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))
- .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(insuranceApply.getEndTime(),2))
+ .ge(ApplyDetail::getEndTime,DateUtil.getMontageDate(insuranceApply.getEndTime(),2))
)>Constants.ZERO){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "褰撳墠淇濆崟涓嬶紝鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄦ棩鏈熷啿绐佺殑鏁版嵁");
}
@@ -1453,6 +1650,7 @@
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(), "淇濆崟涓湭瀛樺湪鏄庣粏璁板綍");
}
@@ -1488,17 +1686,14 @@
member.setApplyId(insuranceApply.getId());
member.setDuId(applyChagneDetail.getDuId());
member.setWorktypeId(applyChagneDetail.getWorktypeId());
-// member.setStartTime(applyChagneDetail.getStartTime());
-// member.setEndTime(applyChagneDetail.getEndTime());
memberMapper.insert(member);
}else{
member.setApplyId(insuranceApply.getId());
member.setDuId(applyChagneDetail.getDuId());
member.setWorktypeId(applyChagneDetail.getWorktypeId());
-// member.setStartTime(applyChagneDetail.getStartTime());
-// member.setEndTime(applyChagneDetail.getEndTime());
memberMapper.updateById(member);
}
+ applyChagneDetail.setMemberId(member.getId());
}else{
member = memberMapper.selectById(applyChagneDetail.getMemberId());
if(Objects.isNull(member)){
@@ -1511,6 +1706,11 @@
member.setEndTime(applyChagneDetail.getEndTime());
memberMapper.updateById(member);
}
+
+ //鏌ヨ浜哄憳淇℃伅鏄惁瀛樺湪鐩稿悓鐨勬柟妗堜笅鏄惁瀛樺湪 鍐茬獊鏁版嵁
+ InsuranceApplyServiceImpl.checkStaticMemberSolution(solutions.getBaseId(),
+ applyChagneDetail.getMemberId(),applyChagneDetail.getIdcardNo(),applyChagneDetail.getMemberName(),applyChange.getApplyStartTime(),insuranceApply.getEndTime(),
+ applyDetailJoinMapper);
//鏍规嵁鍛樺伐韬唤璇佽繘琛屽垽鏂勾榫�
long age = Constants.getAgeByIdCard(member.getIdcardNo());
@@ -1543,6 +1743,7 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄤ繚闅滀腑鐨勪繚鍗曚俊鎭紝鏃犳硶杩涜鍔犱繚");
}
}
+
//楠岃瘉娲鹃仯鍗曚綅淇℃伅 涓庡伐绉嶄俊鎭� 鏄惁瀛樺湪
if(Constants.equalsInteger(solutions.getHasDispatchUnit(),Constants.ZERO)){
if (duSolutionList.stream().filter(d -> d.getDispatchUnitId().equals(applyChagneDetail.getDuId())).collect(Collectors.toList()).size() <= Constants.ZERO) {
@@ -1612,6 +1813,7 @@
}
//鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
+ .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
.eq(ApplyDetail::getApplyId, applyChange.getApplyId())
.eq(ApplyDetail::getMemberId, applyChagneDetail.getMemberId())
.le(ApplyDetail::getStartTime,DateUtil.getMontageDate(applyChange.getApplyStartTime(),1))
@@ -2677,7 +2879,6 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濆崟鏁版嵁");
}
SaveUnionChangeDTO saveUnionChangeDTO = new SaveUnionChangeDTO();
-// saveUnionChangeDTO.setApplyDate(update.getApplyStartTime());
saveUnionChangeDTO.setApplyDate(model.getValidTime());
List<Integer> applyIds = new ArrayList<>();
applyIds.add(model.getId());
@@ -2685,27 +2886,21 @@
saveUnionChangeDTO.setApplyChange(model);
saveUnionChangeDTO.setUnionApplyId(insuranceApply.getUnionApplyId());
saveUnionChangeDTO.setBusinessType(model.getType());
-// if(Constants.equalsInteger(model.getType(),Constants.ONE)){
-// }
if(Constants.equalsInteger(user.getType(),Constants.TWO)){
saveUnionChangeDTO.setShopId(user.getCompanyId());
}else{
- CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>().lambda().eq(CompanySolution::getSolutionId,solutions.getId()).eq(CompanySolution::getCompanyId,insuranceApply.getCompanyId()).last(" limit 1 "));
+ CompanySolution companySolution = companySolutionMapper.selectOne(new QueryWrapper<CompanySolution>()
+ .lambda().eq(CompanySolution::getSolutionBaseId,solutions.getBaseId())
+ .eq(CompanySolution::getCompanyId,insuranceApply.getCompanyId()).last(" limit 1 "));
if(Objects.isNull(companySolution)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌浼佷笟鏂规淇℃伅");
}
saveUnionChangeDTO.setShopId(companySolution.getShopId());
}
-// if(1==1){
-// throw new BusinessException(ResponseStatus.DATA_EMPTY);
-// }
unionChangeService.merge(saveUnionChangeDTO);
}
-// if(1==1){
-// throw new BusinessException(ResponseStatus.DATA_EMPTY);
-// }
return 1;
}
--
Gitblit v1.9.3