|
@@ -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);
|