Kaynağa Gözat

企业首次投保 更改

jz.kai 5 yıl önce
ebeveyn
işleme
503876d529

+ 5 - 2
picc-common/src/main/resources/mapper/base/InsuranceJobs.xml

@@ -94,8 +94,11 @@ id_,jobs_id,definition_id,charges_,del_flag,create_by,create_time,update_by,upda
 		]]>
 		<where>
 			and del_flag = false
-			<if test="searchParams.id != null">
-				and ID_ like #{searchParams.id}
+			<if test="searchParams.jobsId != null">
+				and jobs_id like #{searchParams.jobsId}
+			</if>
+			<if test="searchParams.definitionId != null">
+				and definition_id like #{searchParams.definitionId}
 			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">

+ 34 - 3
picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/InsurancePolicyUserController.java

@@ -4,8 +4,10 @@ import cn.hutool.core.convert.Convert;
 import com.github.pagehelper.Page;
 import com.jpsoft.picc.modules.base.entity.Company;
 import com.jpsoft.picc.modules.base.entity.CompanyMember;
+import com.jpsoft.picc.modules.base.entity.InsuranceJobs;
 import com.jpsoft.picc.modules.base.service.CompanyMemberService;
 import com.jpsoft.picc.modules.base.service.CompanyService;
+import com.jpsoft.picc.modules.base.service.InsuranceJobsService;
 import com.jpsoft.picc.modules.business.entity.ApplicationPolicy;
 import com.jpsoft.picc.modules.business.entity.InsuranceApplication;
 import com.jpsoft.picc.modules.business.entity.InsurancePolicy;
@@ -31,6 +33,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -58,6 +61,9 @@ public class InsurancePolicyUserController {
     @Autowired
     private InsurancePolicyService insurancePolicyService;
 
+    @Autowired
+    private InsuranceJobsService insuranceJobsService;
+
     @ApiOperation(value="读取参保人员分页列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     @ApiImplicitParams({
@@ -85,6 +91,11 @@ public class InsurancePolicyUserController {
 
             InsurancePolicy insurancePolicy = new InsurancePolicy();
             insurancePolicy.setId(UUID.randomUUID().toString());
+            insurancePolicy.setStartTime(insuranceApplication.getStartTime());
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(insuranceApplication.getStartTime());
+            calendar.add(Calendar.MONTH, 1);
+            insurancePolicy.setEndTime(calendar.getTime());
             insurancePolicy.setEffectiveDate(sdf.format(insuranceApplication.getStartTime()));
             insurancePolicy.setDelFlag(false);
             insurancePolicy.setCreateBy(principal.getName());
@@ -119,19 +130,23 @@ public class InsurancePolicyUserController {
     @ApiOperation(value="添加参保人员(添加完成后,要将policyId作为参数,传至下一页)")
     @PostMapping("add")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "ApplicationId",value = "投保单ID", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "policyId",value = "每月投保单ID", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "memberIds",value = "企业用户ID", required = true, paramType = "form",dataType = "String"),
     })
-    public MessageResult<String> add(@RequestParam(value="policyId",defaultValue="") String policyId,
-                                                    @RequestParam(value="memberIds",defaultValue="") String memberIds,
-                                                    HttpServletRequest request){
+    public MessageResult<String> add(@RequestParam(value="applicationId",defaultValue="") String applicationId,
+                                    @RequestParam(value="policyId",defaultValue="") String policyId,
+                                    @RequestParam(value="memberIds",defaultValue="") String memberIds,
+                                    HttpServletRequest request){
         AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
         Company company = companyService.findByCreateBy(principal.getName());
+        InsurancePolicy insurancePolicy = insurancePolicyService.get(policyId);
 
         MessageResult<String> msgResult = new MessageResult<>();
 
         try {
             int affectCount = 0;
+            BigDecimal allMoney = new BigDecimal(0);
             String[] memberId = memberIds.split("|");
             for(String li : memberId) {
                 InsurancePolicyMember insurancePolicyMember = new InsurancePolicyMember();
@@ -147,7 +162,23 @@ public class InsurancePolicyUserController {
                 if(count > 0){
                     affectCount++;
                 }
+
+                InsuranceApplication insuranceApplication = insuranceApplicationService.get(applicationId);
+
+                CompanyMember companyMember = companyMemberService.get(li);
+                List<Sort> sortList = new ArrayList<>();
+                sortList.add(new Sort("id_","asc"));
+                Map<String,Object> searchParams = new HashMap<>();
+                searchParams.put("jobsId",companyMember.getJobsId());
+                searchParams.put("definitionId",insuranceApplication.getDefinitionId());
+                Page<InsuranceJobs> page = insuranceJobsService.pageSearch(searchParams,1,100,sortList);
+                if(page.size() > 0){
+                    allMoney.add(page.get(0).getCharges());
+                }
             }
+            insurancePolicy.setNumber(affectCount);
+            insurancePolicy.setInsuranceFee(allMoney);
+            insurancePolicyService.update(insurancePolicy);
 
             if (affectCount > 0) {
                 msgResult.setResult(true);