|
@@ -353,6 +353,15 @@ public class PolicyOrderLogic {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ List<WorkerPolicy> workerPolicyList = workerPolicyService.lambdaQuery().eq(WorkerPolicy::getWebsitUserId, websitUser.getId())
|
|
|
+ .eq(WorkerPolicy::getPolicyType, "IN").list();
|
|
|
+
|
|
|
+ Boolean wp = this.hasOverlap(workerPolicyList);
|
|
|
+
|
|
|
+ if (wp)
|
|
|
+ throw new RemoteServiceException(user.getIdCard()+"工伤险有相同覆盖范围内的保险");
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -448,6 +457,8 @@ public class PolicyOrderLogic {
|
|
|
policyOrder.insert();
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
WorkerPolicy workerPolicy = new WorkerPolicy();
|
|
|
workerPolicy.setWorkerId(websitUser.getWorkerNumber());
|
|
|
workerPolicy.setType("LINE");
|
|
@@ -472,11 +483,34 @@ public class PolicyOrderLogic {
|
|
|
}
|
|
|
workerPolicy.insert();
|
|
|
|
|
|
+ List<WorkerPolicy> workerPolicyList = workerPolicyService.lambdaQuery().eq(WorkerPolicy::getWebsitUserId, websitUser.getId())
|
|
|
+ .eq(WorkerPolicy::getPolicyType, "EM").list();
|
|
|
+
|
|
|
+ Boolean wp = this.hasOverlap(workerPolicyList);
|
|
|
+
|
|
|
+ if (wp)
|
|
|
+ throw new RemoteServiceException(user.getIdCard()+"雇主险有相同覆盖范围内的保险");
|
|
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public Boolean hasOverlap(List<WorkerPolicy> workerPolicies){
|
|
|
|
|
|
+ for (int i= 0; i<workerPolicies.size();i++){
|
|
|
+ WorkerPolicy workerPolicy = workerPolicies.get(i);
|
|
|
+ for (int j = i+1; j <workerPolicies.size() ; j++) {
|
|
|
+ WorkerPolicy workerPolicy2 = workerPolicies.get(j);
|
|
|
+ if (workerPolicy.getEndTime().after(workerPolicy2.getStartTime()) && workerPolicy2.getEndTime().after(workerPolicy.getStartTime())){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ return false;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|