From 8b1dffc0ce5787d74020ac8a1c6ed00f16a7a0f4 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期六, 17 五月 2025 18:28:55 +0800
Subject: [PATCH] git ch
---
server/service/src/main/java/com/doumee/core/utils/DateUtil.java | 226 +++++++++++++++++-----------
server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java | 10
server/service/src/main/java/com/doumee/dao/business/model/SolutionsBase.java | 4
server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java | 33 ++++
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 5
server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java | 183 ++++++++++++++++++++++
server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java | 7
server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java | 2
server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java | 2
server/service/src/main/java/com/doumee/dao/business/dto/SettleClaimsDTO.java | 6
10 files changed, 377 insertions(+), 101 deletions(-)
diff --git a/server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java b/server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java
index 18f0c15..43f74a6 100644
--- a/server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java
+++ b/server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java
@@ -126,6 +126,13 @@
}
+ @ApiOperation("鏌ヨ浜哄憳鍙姤妗堟暟鎹�")
+ @GetMapping("/getMemberSettleClaimsList")
+ public ApiResponse<List<ApplyDetail>> getMemberSettleClaimsList(@RequestParam Integer memberId) {
+ return ApiResponse.success(applyDetailService.getMemberSettleClaimsList(memberId));
+ }
+
+
}
diff --git a/server/service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/service/src/main/java/com/doumee/core/utils/DateUtil.java
index fa297b0..6860dfb 100644
--- a/server/service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -113,6 +113,33 @@
}
}
+ public static long getBetweenMin(Date fromDate, Date toDate) {
+ long m_intervalday = 0;// 鍒濆鍖栨椂闂撮棿闅旂殑鍊间负0
+ // 浣跨敤鐨勬椂闂存牸寮忎负yyyy-MM-dd
+ try {
+ m_intervalday = toDate.getTime() - fromDate.getTime();// 璁$畻鎵�寰椾负寰鏁�
+ m_intervalday = m_intervalday / 1000 / 60 ;// 璁$畻鎵�寰楃殑澶╂暟
+
+ return m_intervalday + 1;
+ } catch (Exception e) {
+ return Integer.MIN_VALUE;
+ }
+ }
+
+
+ public static long getBetweenDay(Date fromDate, Date toDate) {
+ long m_intervalday = 0;// 鍒濆鍖栨椂闂撮棿闅旂殑鍊间负0
+ // 浣跨敤鐨勬椂闂存牸寮忎负yyyy-MM-dd
+ try {
+ m_intervalday = toDate.getTime() - fromDate.getTime();// 璁$畻鎵�寰椾负寰鏁�
+ m_intervalday = m_intervalday / 1000 / 60 / 60 / 24 ;// 璁$畻鎵�寰楃殑澶╂暟
+
+ return m_intervalday + 1;
+ } catch (Exception e) {
+ return Integer.MIN_VALUE;
+ }
+ }
+
/**
* @author Pablo Descrption:取锟矫碉拷前锟斤拷锟斤拷getgetg get Date format
* Example锛�2008.03.15
@@ -889,95 +916,95 @@
* @return 杞崲寰楀埌鐨勬棩鏈�
*/
@SuppressWarnings("unchecked")
- public static Date stringToDate(String strDate, String oracleFormat) {
- if (strDate == null)
- return null;
- Hashtable<Integer, String> h = new Hashtable<Integer, String>();
- String javaFormat = new String();
- String s = oracleFormat.toLowerCase();
- if (s.indexOf("yyyy") != -1)
- h.put(new Integer(s.indexOf("yyyy")), "yyyy");
- else if (s.indexOf("yy") != -1)
- h.put(new Integer(s.indexOf("yy")), "yy");
- if (s.indexOf("mm") != -1)
- h.put(new Integer(s.indexOf("mm")), "MM");
-
- if (s.indexOf("dd") != -1)
- h.put(new Integer(s.indexOf("dd")), "dd");
- if (s.indexOf("hh24") != -1)
- h.put(new Integer(s.indexOf("hh24")), "HH");
- if (s.indexOf("mi") != -1)
- h.put(new Integer(s.indexOf("mi")), "mm");
- if (s.indexOf("ss") != -1)
- h.put(new Integer(s.indexOf("ss")), "ss");
-
- int intStart = 0;
- while (s.indexOf("-", intStart) != -1) {
- intStart = s.indexOf("-", intStart);
- h.put(new Integer(intStart), "-");
- intStart++;
- }
-
- intStart = 0;
- while (s.indexOf("/", intStart) != -1) {
- intStart = s.indexOf("/", intStart);
- h.put(new Integer(intStart), "/");
- intStart++;
- }
-
- intStart = 0;
- while (s.indexOf(" ", intStart) != -1) {
- intStart = s.indexOf(" ", intStart);
- h.put(new Integer(intStart), " ");
- intStart++;
- }
-
- intStart = 0;
- while (s.indexOf(":", intStart) != -1) {
- intStart = s.indexOf(":", intStart);
- h.put(new Integer(intStart), ":");
- intStart++;
- }
-
- if (s.indexOf("骞�") != -1)
- h.put(new Integer(s.indexOf("骞�")), "骞�");
- if (s.indexOf("鏈�") != -1)
- h.put(new Integer(s.indexOf("鏈�")), "鏈�");
- if (s.indexOf("鏃�") != -1)
- h.put(new Integer(s.indexOf("鏃�")), "鏃�");
- if (s.indexOf("鏃�") != -1)
- h.put(new Integer(s.indexOf("鏃�")), "鏃�");
- if (s.indexOf("鍒�") != -1)
- h.put(new Integer(s.indexOf("鍒�")), "鍒�");
- if (s.indexOf("绉�") != -1)
- h.put(new Integer(s.indexOf("绉�")), "绉�");
-
- int i = 0;
- while (h.size() != 0) {
- Enumeration e = h.keys();
- int n = 0;
- while (e.hasMoreElements()) {
- i = ((Integer) e.nextElement()).intValue();
- if (i >= n)
- n = i;
- }
- String temp = (String) h.get(new Integer(n));
- h.remove(new Integer(n));
-
- javaFormat = temp + javaFormat;
- }
- SimpleDateFormat df = new SimpleDateFormat(javaFormat);
-
- Date myDate = new Date();
- try {
- myDate = df.parse(strDate);
- } catch (Exception e) {
- // e.printStackTrace();
- return null;
- }
-
- return myDate;
- }
+// public static Date stringToDate(String strDate, String oracleFormat) {
+// if (strDate == null)
+// return null;
+// Hashtable<Integer, String> h = new Hashtable<Integer, String>();
+// String javaFormat = new String();
+// String s = oracleFormat.toLowerCase();
+// if (s.indexOf("yyyy") != -1)
+// h.put(new Integer(s.indexOf("yyyy")), "yyyy");
+// else if (s.indexOf("yy") != -1)
+// h.put(new Integer(s.indexOf("yy")), "yy");
+// if (s.indexOf("mm") != -1)
+// h.put(new Integer(s.indexOf("mm")), "MM");
+//
+// if (s.indexOf("dd") != -1)
+// h.put(new Integer(s.indexOf("dd")), "dd");
+// if (s.indexOf("hh24") != -1)
+// h.put(new Integer(s.indexOf("hh24")), "HH");
+// if (s.indexOf("mi") != -1)
+// h.put(new Integer(s.indexOf("mi")), "mm");
+// if (s.indexOf("ss") != -1)
+// h.put(new Integer(s.indexOf("ss")), "ss");
+//
+// int intStart = 0;
+// while (s.indexOf("-", intStart) != -1) {
+// intStart = s.indexOf("-", intStart);
+// h.put(new Integer(intStart), "-");
+// intStart++;
+// }
+//
+// intStart = 0;
+// while (s.indexOf("/", intStart) != -1) {
+// intStart = s.indexOf("/", intStart);
+// h.put(new Integer(intStart), "/");
+// intStart++;
+// }
+//
+// intStart = 0;
+// while (s.indexOf(" ", intStart) != -1) {
+// intStart = s.indexOf(" ", intStart);
+// h.put(new Integer(intStart), " ");
+// intStart++;
+// }
+//
+// intStart = 0;
+// while (s.indexOf(":", intStart) != -1) {
+// intStart = s.indexOf(":", intStart);
+// h.put(new Integer(intStart), ":");
+// intStart++;
+// }
+//
+// if (s.indexOf("骞�") != -1)
+// h.put(new Integer(s.indexOf("骞�")), "骞�");
+// if (s.indexOf("鏈�") != -1)
+// h.put(new Integer(s.indexOf("鏈�")), "鏈�");
+// if (s.indexOf("鏃�") != -1)
+// h.put(new Integer(s.indexOf("鏃�")), "鏃�");
+// if (s.indexOf("鏃�") != -1)
+// h.put(new Integer(s.indexOf("鏃�")), "鏃�");
+// if (s.indexOf("鍒�") != -1)
+// h.put(new Integer(s.indexOf("鍒�")), "鍒�");
+// if (s.indexOf("绉�") != -1)
+// h.put(new Integer(s.indexOf("绉�")), "绉�");
+//
+// int i = 0;
+// while (h.size() != 0) {
+// Enumeration e = h.keys();
+// int n = 0;
+// while (e.hasMoreElements()) {
+// i = ((Integer) e.nextElement()).intValue();
+// if (i >= n)
+// n = i;
+// }
+// String temp = (String) h.get(new Integer(n));
+// h.remove(new Integer(n));
+//
+// javaFormat = temp + javaFormat;
+// }
+// SimpleDateFormat df = new SimpleDateFormat(javaFormat);
+//
+// Date myDate = new Date();
+// try {
+// myDate = df.parse(strDate);
+// } catch (Exception e) {
+// // e.printStackTrace();
+// return null;
+// }
+//
+// return myDate;
+// }
public static Date StringToDate(String DATE1) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
@@ -3084,7 +3111,25 @@
return cal.getTime();
}
+ /**
+ * 鑾峰彇鏌愪釜鏃堕棿X鍒嗛挓鍚庣殑鏃堕棿
+ * @param minutes
+ * @param date
+ * @return
+ */
+ public static Date afterMinutesByDate(Integer minutes,Date date){
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(date);
+ cal.add(Calendar.MINUTE,minutes);
+ return cal.getTime();
+ }
+ public static Date afterDayByDate(Integer days,Date date){
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(date);
+ cal.add(Calendar.DATE,days);
+ return cal.getTime();
+ }
/**
* 璁$畻澶氬皯鑷劧骞�/鏈�/鏃ュ悗鐨勬棩鏈�
* @param startDate 寮�濮嬫棩鏈�
@@ -3157,7 +3202,8 @@
public static void main(String[] args) throws Exception{
- System.out.println(DateUtil.getLongDateTime(new Date()));;
+ System.out.println(DateUtil.StringToDate("2025-05-16 13:49:40").getTime());
+// System.out.println(DateUtil.getLongDateTime(new Date()));;
}
/**
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/SettleClaimsDTO.java b/server/service/src/main/java/com/doumee/dao/business/dto/SettleClaimsDTO.java
index ac7fa87..9a61e6d 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/SettleClaimsDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/SettleClaimsDTO.java
@@ -23,6 +23,12 @@
@ApiModelProperty(value = "鍑洪櫓浜�")
private Integer memberId;
+ @ApiModelProperty(value = "鎶曚繚鐢宠缂栫爜", example = "1")
+ private Integer insuranceApplyId;
+
+ @ApiModelProperty(value = "鎶曚繚鐢宠鏄庣粏缂栫爜", example = "1")
+ private Integer applyDetailId;
+
@ApiModelProperty(value = "鍑洪櫓浜�")
private String idcardNo;
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
index aad4123..d88ad9c 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
@@ -182,19 +182,19 @@
private String syProblemOpts;
@ApiModelProperty(value = "鏄惁椋庨櫓妗堜欢 0鍚� 1鏄�")
@ExcelColumn(name="鏄惁椋庨櫓妗堜欢 0鍚� 1鏄�")
- private String isRisk;
+ private Integer isRisk;
@ApiModelProperty(value = "鏄惁澶氭鍑洪櫓椋庨櫓 0鍚�1鏄� ")
@ExcelColumn(name="鏄惁澶氭鍑洪櫓椋庨櫓 0鍚�1鏄� ")
- private String riskTimesCx;
+ private Integer riskTimesCx;
@ApiModelProperty(value = "鏄惁鐤戜技閲嶅鎶ユ椋庨櫓 0鍚�1鏄� ")
@ExcelColumn(name="鏄惁鐤戜技閲嶅鎶ユ椋庨櫓 0鍚�1鏄� ")
- private String riskRepeat;
+ private Integer riskRepeat;
@ApiModelProperty(value = "鏄惁绱㈣禂澶氭杩囧椋庨櫓 0鍚�1鏄�")
@ExcelColumn(name="鏄惁绱㈣禂澶氭杩囧椋庨櫓 0鍚�1鏄�")
- private String riskTimesSp;
+ private Integer riskTimesSp;
@ApiModelProperty(value = "鏄惁鏂板憳宸ュ嚭闄╅闄� 0鍚�1鏄�")
@ExcelColumn(name="鏄惁鏂板憳宸ュ嚭闄╅闄� 0鍚�1鏄�")
- private String riskNewUser ;
+ private Integer riskNewUser ;
@ApiModelProperty(value = "璁捐鏁忔劅璇嶏紝澶氫釜鑻辨枃閫楀彿闅斿紑")
@ExcelColumn(name="璁捐鏁忔劅璇嶏紝澶氫釜鑻辨枃閫楀彿闅斿紑")
private String riskSensitive;
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/SolutionsBase.java b/server/service/src/main/java/com/doumee/dao/business/model/SolutionsBase.java
index 7abb3c8..d8e1c54 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/SolutionsBase.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/SolutionsBase.java
@@ -158,8 +158,8 @@
@ApiModelProperty(value = "椋庨櫓璁剧疆-鍏佽瀵规柊鍛樺伐宸叉姇淇濇湭鐢熸晥淇濋櫓杩涜淇濋殰 0涓嶅厑璁� 1鍏佽")
@ExcelColumn(name="椋庨櫓璁剧疆-鍏佽瀵规柊鍛樺伐宸叉姇淇濇湭鐢熸晥淇濋櫓杩涜淇濋殰 0涓嶅厑璁� 1鍏佽")
private Integer riskNewUserStatus;
- @ApiModelProperty(value = "椋庨櫓璁剧疆-鍏佽鏂板憳宸ュ嚭闄╂椂闂存彁鍓嶆椂闂村崟浣� 0鍒嗛挓 1灏忔椂 2澶�")
- @ExcelColumn(name="椋庨櫓璁剧疆-鍏佽鏂板憳宸ュ嚭闄╂椂闂存彁鍓嶆椂闂村崟浣� 0鍒嗛挓 1灏忔椂 2澶�")
+ @ApiModelProperty(value = "椋庨櫓璁剧疆-鍏佽鏂板憳宸ュ嚭闄╂椂闂存彁鍓嶆椂闂村崟浣� 1灏忔椂 2澶�")
+ @ExcelColumn(name="椋庨櫓璁剧疆-鍏佽鏂板憳宸ュ嚭闄╂椂闂存彁鍓嶆椂闂村崟浣� 1灏忔椂 2澶�")
private Integer riskNewUserUnit;
@ApiModelProperty(value = "椋庨櫓璁剧疆-鍏佽鏂板憳宸ュ嚭闄╂椂闂存彁鍓嶆椂闂�")
@ExcelColumn(name="椋庨櫓璁剧疆-鍏佽鏂板憳宸ュ嚭闄╂椂闂存彁鍓嶆椂闂�")
diff --git a/server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java b/server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java
index a912c72..87aec30 100644
--- a/server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java
+++ b/server/service/src/main/java/com/doumee/dao/business/vo/RiskConfigVO.java
@@ -19,7 +19,7 @@
private String riskTimesReportTimes;
@ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-閲嶅鎶ユ鏄惁寮�鍚細0=鍚︼紱1=鏄�", example = "1")
private String riskRepeatReportOpen;
- @ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-閲嶅鎶ユ鏃堕棿鍗曚綅锛�0鍒嗛挓 1灏忔椂 2澶�", example = "1")
+ @ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-閲嶅鎶ユ鏃堕棿鍗曚綅锛�1灏忔椂 2澶�", example = "1")
private String riskRepeatReportTimeUnit;
@ApiModelProperty(value = "椋庨櫓鎻愰啋璁剧疆-閲嶅鎶ユ鏃堕棿", example = "1")
private String riskRepeatReportTime;
diff --git a/server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java b/server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java
index 2395b87..2d83d49 100644
--- a/server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java
+++ b/server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java
@@ -107,4 +107,6 @@
* @return
*/
List<ApplyDetail> getMemberApplyList(Integer memberId);
+
+ List<ApplyDetail> getMemberSettleClaimsList(Integer memberId);
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
index 2303812..bbf26b0 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
@@ -2,6 +2,7 @@
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
@@ -18,6 +19,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -366,6 +368,37 @@
}
+ /**
+ * 鏌ヨ浜哄憳鍙姤妗堟暟鎹�
+ * @param memberId
+ * @return
+ */
+ @Override
+ public List<ApplyDetail> getMemberSettleClaimsList(Integer memberId){
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectJoinList(ApplyDetail.class,
+ new MPJLambdaWrapper<ApplyDetail>()
+ .selectAll(ApplyDetail.class)
+ .selectAs(InsuranceApply::getCode,ApplyDetail::getApplyCode)
+ .selectAs(InsuranceApply::getStartTime,ApplyDetail::getParentStartTime)
+ .selectAs(InsuranceApply::getEndTime,ApplyDetail::getParentEndTime)
+ .selectAs(Company::getName,ApplyDetail::getCompanyName)
+ .selectAs(Solutions::getName,ApplyDetail::getSolutionName)
+ .selectAs(Worktype::getName,ApplyDetail::getWorkTypeName)
+ .selectAs(DispatchUnit::getName,ApplyDetail::getDuName)
+ .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
+ .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+ .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+ .leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId)
+ .leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId)
+ .in(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),
+ Constants.InsuranceApplyStatus.WTB_DONE.getKey())
+ .eq(ApplyDetail::getIsdeleted,Constants.ZERO)
+ .eq(InsuranceApply::getCompanyId,user.getCompanyId())
+ .eq(ApplyDetail::getMemberId,memberId)
+ );
+ return applyDetailList;
+ }
}
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 71b3d50..ac0a8a6 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
@@ -3776,6 +3776,11 @@
return applyPowerVO;
}
+
+
+
+
+
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
index 74ad590..d5c68c8 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -8,16 +8,16 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.NoticesMapper;
-import com.doumee.dao.business.SettleClaimsLogMapper;
-import com.doumee.dao.business.SettleClaimsMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.dto.SCSupplementDTO;
import com.doumee.dao.business.dto.SettleClaimsDTO;
import com.doumee.dao.business.join.MultifileJoinMapper;
import com.doumee.dao.business.join.SettleClaimsJoinMapper;
import com.doumee.dao.business.join.SettleClaimsLogJoinMapper;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.RiskConfigVO;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.SettleClaimsLogService;
import com.doumee.service.business.SettleClaimsService;
@@ -25,6 +25,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.system.impl.SystemDictDataServiceImpl;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.annotations.ApiModelProperty;
@@ -32,6 +33,7 @@
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
+import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -73,6 +75,19 @@
@Autowired
private NoticesMapper noticesMapper;
+
+ @Autowired
+ private InsuranceApplyMapper insuranceApplyMapper;
+
+ @Autowired
+ private SolutionsMapper solutionsMapper;
+
+ @Autowired
+ private SolutionsBaseMapper solutionsBaseMapper;
+
+ @Autowired
+ private ApplyDetailMapper applyDetailMapper;
+
/**
* 鍒犻櫎闄勪欢
* @return
@@ -954,6 +969,7 @@
|| Objects.isNull(settleClaimsDTO.getSaveType())
|| Objects.isNull(settleClaimsDTO.getMemberId())
||StringUtils.isBlank(settleClaimsDTO.getIdcardNo())
+ || Objects.isNull(settleClaimsDTO.getInsuranceApplyId())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
@@ -993,10 +1009,171 @@
settleClaimsMapper.insert(settleClaims);
}
this.saveFile(settleClaims,settleClaimsDTO,loginUserInfo);
+ //澶勭悊椋庨櫓淇℃伅
}
+ public void saveRisk(SettleClaims settleClaims, SettleClaimsDTO settleClaimsDTO, SystemDictDataServiceImpl systemDictDataService){
+ //鏍规嵁淇濆崟淇℃伅 鏌ヨ鍑轰富鏂规
+ InsuranceApply insuranceApply = insuranceApplyMapper.selectById(settleClaims.getInsuranceApplyId());
+ if(Objects.isNull(insuranceApply)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌淇濆崟鏁版嵁");
+ }
+ Date happenTime = DateUtil.StringToDate(settleClaims.getHappenTime());
+ if(happenTime.getTime() < insuranceApply.getStartTime().getTime() || happenTime.getTime() > insuranceApply.getEndTime().getTime()){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓浜嬩欢鏈湪淇濆崟鐢熸晥鑼冨洿鍐�");
+ }
+ Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+ if(Objects.isNull(solutions)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌瀛愭柟妗堜俊鎭�");
+ }
+ SolutionsBase solutionsBase = solutionsBaseMapper.selectById(solutions.getParentId());
+ if(Objects.isNull(solutionsBase)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌涓绘柟妗堜俊鎭�");
+ }
+ List<Map<String,String>> riskList = new ArrayList<>();
+ //鏌ヨ淇濆崟鏄庣粏鏁版嵁
+ ApplyDetail applyDetail = applyDetailMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,settleClaims.getInsuranceApplyId()).eq(ApplyDetail::getId,settleClaimsDTO.getApplyDetailId()).last("limit 1 "));
+ //鏄惁寮�鍚� 鏂板憳宸ユ姤妗� 0涓嶅厑璁� 1鍏佽
+ if(Constants.equalsInteger(solutionsBase.getRiskNewUserStatus(),Constants.ONE)
+ && Objects.nonNull(solutionsBase.getRiskNewUserUnit())
+ && Objects.nonNull(solutionsBase.getRiskNewUserTime())
+ ){
+ if(happenTime.getTime() > applyDetail.getEndTime().getTime()){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�");
+ }
+ Map<String,String> map = new HashMap<>();
+ map.put("title","淇濆崟宸叉姇淇濇湭鐢熸晥");
+ Date startDate = applyDetail.getStartTime();
+ if(Constants.equalsInteger(solutionsBase.getRiskNewUserUnit(),Constants.ONE)){
+ startDate = DateUtil.afterMinutesByDate(-solutionsBase.getRiskNewUserTime()*60,startDate);
+ }else if(Constants.equalsInteger(solutionsBase.getRiskNewUserUnit(),Constants.TWO)){
+ startDate = DateUtil.afterDayByDate(-solutionsBase.getRiskNewUserTime(),happenTime);
+ }else{
+ if(happenTime.getTime() < applyDetail.getStartTime().getTime() || happenTime.getTime() > applyDetail.getEndTime().getTime()){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�");
+ }
+ }
+ if(happenTime.getTime() < startDate.getTime() ){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�");
+ }else{
+ map.put("info","浜嬫晠鍙戠敓鏃堕棿鏃╀簬淇濆崟鐢熸晥鏃堕棿"+solutionsBase.getRiskNewUserUnit()+(Constants.equalsInteger(solutionsBase.getRiskNewUserUnit(),Constants.ONE)?"灏忔椂鍐�":"澶╁唴"));
+ riskList.add(map);
+ }
+ }else{
+ if(happenTime.getTime() < applyDetail.getStartTime().getTime() || happenTime.getTime() > applyDetail.getEndTime().getTime()){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浜嬫晠鍙戠敓鏃堕棿鏈湪浜哄憳淇濋殰鏃ユ湡鑼冨洿鍐�");
+ }
+ }
+
+ //鏄惁寮�鍚� 寤惰繜鎶ユ鎻愰啋鏄惁寮�鍚� 0涓嶅厑璁� 1鍏佽
+ if(Constants.equalsInteger(solutionsBase.getRiskDelayStatus(),Constants.ONE)){
+ Map<String,String> map = new HashMap<>();
+ map.put("title","寤惰繜鎶ユ鎻愰啋");
+ //鏍规嵁閰嶇疆 鏌ヨ 寤惰繜鎶ユ鎻愰啋鏃堕棿鍗曚綅 0鍒嗛挓 1灏忔椂 2澶�
+ if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.ZERO)){
+ if(DateUtil.getBetweenMin(happenTime,new Date())>solutionsBase.getRiskDelayTime()){
+ map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayUnit()+"鍒嗛挓");
+ riskList.add(map);
+ }
+ }else if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.ONE)){
+ if(DateUtil.getBetweenHours(happenTime,new Date())>solutionsBase.getRiskDelayTime()){
+ map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayUnit()+"灏忔椂");
+ riskList.add(map);
+ }
+ }else if(Constants.equalsInteger(solutionsBase.getRiskDelayUnit(),Constants.TWO)){
+ if(DateUtil.getBetweenDay(happenTime,new Date())>solutionsBase.getRiskDelayTime()){
+ map.put("info","鎶ユ鏃堕棿瓒呰繃妗堝彂鏃堕棿"+solutionsBase.getRiskDelayUnit()+"澶�");
+ riskList.add(map);
+ }
+ }
+ }
+
+ //鏌ヨ瀛楀吀鍊奸厤缃俊鎭�
+ RiskConfigVO riskConfigVO = systemDictDataService.getRiskConfig();
+ //澶氭鍑洪櫓鎻愰啋
+ if(StringUtils.isNotBlank(riskConfigVO.getRiskTimesOpen()) && StringUtils.equals(riskConfigVO.getRiskTimesOpen(),Constants.ONE+"")
+ && StringUtils.isNotBlank(riskConfigVO.getRiskTimesReportTimes())){
+ Integer cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getMemberId,settleClaimsDTO.getMemberId())
+ .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId())
+ .apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ")
+ );
+ if(cxcs>Integer.valueOf(riskConfigVO.getRiskTimesReportTimes())){
+ Map<String,String> map = new HashMap<>();
+ map.put("title","鐤戜技澶氭鍑洪櫓");
+ map.put("info","鍑洪櫓浜轰竴骞村唴宸插嚭闄�"+cxcs+"娆�");
+ riskList.add(map);
+ settleClaims.setRiskTimesCx(Constants.ONE);
+ };
+ }
+ //鐤戜技閲嶅鎶ユ
+ if(StringUtils.isNotBlank(riskConfigVO.getRiskRepeatReportOpen())
+ && StringUtils.equals(riskConfigVO.getRiskRepeatReportOpen(),Constants.ONE+"")
+ && StringUtils.isNotBlank(riskConfigVO.getRiskRepeatReportTimeUnit())
+ && StringUtils.isNotBlank(riskConfigVO.getRiskRepeatReportTime())){
+ Integer cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getMemberId,settleClaimsDTO.getMemberId())
+ .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId())
+ .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" HOUR) ")
+ .apply(riskConfigVO.getRiskRepeatReportTimeUnit().equals("2")," HAPPEN_TIME > DATE_SUB(now(), INTERVAL "+riskConfigVO.getRiskRepeatReportTime()+" DAY) ")
+ );
+ if(cxcs > Constants.TWO){
+ Map<String,String> map = new HashMap<>();
+ map.put("title","鐤戜技閲嶅鎶ユ");
+ map.put("info","璇ュ嚭闄╀汉鍦�"+riskConfigVO.getRiskRepeatReportTime()+(riskConfigVO.getRiskRepeatReportTimeUnit().equals("1")?"灏忔椂":"澶�")+"鍐呭凡鎶ユ"+cxcs+"娆�");
+ riskList.add(map);
+ settleClaims.setRiskRepeat(Constants.ONE);
+ }
+ }
+
+
+ //绱㈣禂娆℃暟杩囧鎻愰啋
+ if(StringUtils.isNotBlank(riskConfigVO.getRiskClaimTimesOpen())
+ && StringUtils.equals(riskConfigVO.getRiskClaimTimesOpen(),Constants.ONE+"")
+ && StringUtils.isNotBlank(riskConfigVO.getRiskClaimTimes())){
+ Integer cxcs = settleClaimsMapper.selectCount(new QueryWrapper<SettleClaims>().lambda()
+ .eq(SettleClaims::getInsuranceApplyId,settleClaimsDTO.getInsuranceApplyId())
+ .ne(Objects.nonNull(settleClaims.getId()),SettleClaims::getId,settleClaims.getId())
+ .apply(" HAPPEN_TIME > DATE_SUB(now(), INTERVAL 365 DAY) ")
+ );
+ if(cxcs > Integer.valueOf(riskConfigVO.getRiskClaimTimes())){
+ Map<String,String> map = new HashMap<>();
+ map.put("title","璇ヤ繚鍗曠储璧旀鏁拌繃澶�");
+ map.put("info","绱绱㈣禂娆℃暟宸插埌杈�"+cxcs+"娆�");
+ riskList.add(map);
+ settleClaims.setRiskTimesSp(Constants.ONE);
+ }
+ }
+
+ //璁捐鏁忔劅璇嶆眹
+ if(StringUtils.isNotBlank(riskConfigVO.getRiskSensitiveWordsOpen())
+ && StringUtils.equals(riskConfigVO.getRiskSensitiveWordsOpen(),Constants.ONE+"")
+ && StringUtils.isNotBlank(riskConfigVO.getRiskSensitiveWords())){
+ String [] words = riskConfigVO.getRiskSensitiveWords().split(",");
+ String sensitiveWord = "";
+ for (String word:words) {
+ if(settleClaims.getContent().indexOf(word)>=Constants.ZERO){
+ if(Constants.equalsInteger(sensitiveWord.length(),Constants.ZERO)){
+ sensitiveWord = word;
+ }else{
+ sensitiveWord = sensitiveWord + "銆�" + word ;
+ }
+ }
+ }
+ if(!Constants.equalsInteger(sensitiveWord.length(),Constants.ZERO)){
+ Map<String,String> map = new HashMap<>();
+ map.put("title","娑夊強鏁忔劅璇�");
+ map.put("info","妫�娴嬪埌鏁忔劅璇嶏細"+sensitiveWord);
+ riskList.add(map);
+ settleClaims.setRiskSensitive(sensitiveWord);
+ }
+ }
+
+ //鐤戜技鏂板憳宸ュ嚭闄�
+
+ }
public void saveFile(SettleClaims settleClaims,SettleClaimsDTO settleClaimsDTO,LoginUserInfo loginUserInfo){
multifileJoinMapper.delete(new QueryWrapper<Multifile>().lambda()
--
Gitblit v1.9.3