|
@@ -1,6 +1,8 @@
|
|
|
package com.jpsoft.picc.modules.auth.controller;
|
|
|
|
|
|
import com.github.pagehelper.Page;
|
|
|
+import com.jpsoft.picc.modules.auth.dto.InsuranceApplicationDTO;
|
|
|
+import com.jpsoft.picc.modules.auth.dto.InsuranceJobsDTO;
|
|
|
import com.jpsoft.picc.modules.base.entity.Company;
|
|
|
import com.jpsoft.picc.modules.base.entity.InsuranceDefinition;
|
|
|
import com.jpsoft.picc.modules.base.entity.InsuranceDefinitionLimit;
|
|
@@ -10,7 +12,9 @@ import com.jpsoft.picc.modules.base.service.InsuranceDefinitionLimitService;
|
|
|
import com.jpsoft.picc.modules.base.service.InsuranceDefinitionService;
|
|
|
import com.jpsoft.picc.modules.base.service.InsuranceJobsService;
|
|
|
import com.jpsoft.picc.modules.business.entity.InsuranceApplication;
|
|
|
+import com.jpsoft.picc.modules.business.entity.InsurancePolicyMember;
|
|
|
import com.jpsoft.picc.modules.business.service.InsuranceApplicationService;
|
|
|
+import com.jpsoft.picc.modules.business.service.InsurancePolicyMemberService;
|
|
|
import com.jpsoft.picc.modules.common.constant.PolicyStatus;
|
|
|
import com.jpsoft.picc.modules.common.dto.MessageResult;
|
|
|
import com.jpsoft.picc.modules.common.dto.Sort;
|
|
@@ -27,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
|
|
|
@Api(description="投保信息")
|
|
@@ -50,6 +55,9 @@ public class InsuranceApplicationController {
|
|
|
@Autowired
|
|
|
private CompanyService companyService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private InsurancePolicyMemberService insurancePolicyMemberService;
|
|
|
+
|
|
|
@ApiOperation(value="投保单列表")
|
|
|
@RequestMapping(value = "pageList",method = RequestMethod.POST)
|
|
|
@ApiImplicitParams({
|
|
@@ -87,12 +95,13 @@ public class InsuranceApplicationController {
|
|
|
@ApiImplicitParams({
|
|
|
@ApiImplicitParam(name = "id",value = "编号", required = true, paramType = "form",dataType = "String")
|
|
|
})
|
|
|
- public MessageResult<Map<String,Object>> insureDetail(@RequestParam(value="id",defaultValue="") String id,
|
|
|
+ public MessageResult<InsuranceApplicationDTO> insureDetail(@RequestParam(value="id",defaultValue="") String id,
|
|
|
HttpServletRequest request){
|
|
|
- MessageResult<Map<String,Object>> msgResult = new MessageResult<>();
|
|
|
+ MessageResult<InsuranceApplicationDTO> msgResult = new MessageResult<>();
|
|
|
|
|
|
AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
|
|
|
Company company = companyService.findByCreateBy(principal.getName());
|
|
|
+
|
|
|
if(company == null){
|
|
|
msgResult.setResult(false);
|
|
|
msgResult.setMessage("请先完善企业信息!");
|
|
@@ -100,40 +109,35 @@ public class InsuranceApplicationController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
- Map<String,Object> objectMap = new HashMap<>();
|
|
|
+ InsuranceApplicationDTO insuranceApplicationDTO = new InsuranceApplicationDTO();
|
|
|
|
|
|
try {
|
|
|
InsuranceApplication insuranceApplication = insuranceApplicationService.get(id);
|
|
|
|
|
|
if (insuranceApplication != null) {
|
|
|
insuranceApplication = insuranceApplicationService.get(id);
|
|
|
+ PojoUtils.map(insuranceApplication, insuranceApplicationDTO);
|
|
|
} else {
|
|
|
- insuranceApplication = new InsuranceApplication();
|
|
|
-// insuranceApplication.setCompanyId();
|
|
|
-// insuranceApplication.setDefinitionId();
|
|
|
-
|
|
|
-// insuranceApplication.setStartTime();
|
|
|
-// insuranceApplication.setEndTime();
|
|
|
-//
|
|
|
-// insuranceApplication.setInsuredName();
|
|
|
-// insuranceApplication.setInsuredTel();
|
|
|
-// insuranceApplication.setCompanyName();
|
|
|
-// //business_nature
|
|
|
-// insuranceApplication.setUsccCode();
|
|
|
-// insuranceApplication.setBusinessScope();
|
|
|
-// insuranceApplication.setIndustryType();
|
|
|
-// insuranceApplication.setEmployeesNumber();
|
|
|
-// insuranceApplication.setInsuredNumber();
|
|
|
-// //tel_
|
|
|
-// //mail_
|
|
|
-// insuranceApplication.setCompanyAddress();
|
|
|
-// insuranceApplication.setLossInRecentYears();
|
|
|
+ insuranceApplicationDTO.setCompanyId(company.getId());
|
|
|
+// insuranceApplicationDTO.setDefinitionId();
|
|
|
+// insuranceApplicationDTO.setStartTime();
|
|
|
+// insuranceApplicationDTO.setEndTime();
|
|
|
+ insuranceApplicationDTO.setInsuredName(company.getName());
|
|
|
+ insuranceApplicationDTO.setInsuredTel(company.getTel());
|
|
|
+ insuranceApplicationDTO.setCompanyName(company.getName());
|
|
|
+ insuranceApplicationDTO.setBusinessNature(company.getBusinessNature());
|
|
|
+ insuranceApplicationDTO.setUsccCode(company.getUsccCode());
|
|
|
+ insuranceApplicationDTO.setBusinessScope(company.getBusinessScope());
|
|
|
+ insuranceApplicationDTO.setIndustryType(company.getIndustryType());
|
|
|
+ insuranceApplicationDTO.setEmployeesNumber(company.getEmployeesNumber());
|
|
|
+ insuranceApplicationDTO.setInsuredNumber(company.getInsuredNumber());
|
|
|
+ insuranceApplicationDTO.setTel(company.getTel());
|
|
|
+ insuranceApplicationDTO.setPostal(company.getPostal());
|
|
|
+ insuranceApplication.setCompanyAddress(company.getAddress());
|
|
|
+ insuranceApplication.setLossInRecentYears(company.getRemark());
|
|
|
}
|
|
|
|
|
|
- objectMap.put("insuranceApplication",insuranceApplication);
|
|
|
- objectMap.put("business_nature",company);
|
|
|
-
|
|
|
- msgResult.setData(objectMap);
|
|
|
+ msgResult.setData(insuranceApplicationDTO);
|
|
|
}
|
|
|
catch(Exception ex){
|
|
|
logger.error(ex.getMessage(),ex);
|
|
@@ -148,14 +152,16 @@ public class InsuranceApplicationController {
|
|
|
@ApiOperation(value="获取承保信息")
|
|
|
@RequestMapping(value = "acceptDetail",method = RequestMethod.POST)
|
|
|
@ApiImplicitParams({
|
|
|
- @ApiImplicitParam(name = "id",value = "编号", required = true, paramType = "form",dataType = "String")
|
|
|
+ @ApiImplicitParam(name = "ApplicationId",value = "投保单ID", required = true, paramType = "form",dataType = "String"),
|
|
|
+ @ApiImplicitParam(name = "policyId",value = "每月投保单ID", required = true, paramType = "form",dataType = "String"),
|
|
|
})
|
|
|
- public MessageResult<Map<String,Object>> acceptDetail(@RequestParam(value="id",defaultValue="") String id){
|
|
|
+ public MessageResult<Map<String,Object>> acceptDetail(@RequestParam(value="ApplicationId",defaultValue="") String ApplicationId,
|
|
|
+ @RequestParam(value="policyId",defaultValue="") String policyId){
|
|
|
MessageResult<Map<String,Object>> msgResult = new MessageResult<>();
|
|
|
Map<String,Object> objectMap = new HashMap<>();
|
|
|
|
|
|
try {
|
|
|
- InsuranceApplication insuranceApplication = insuranceApplicationService.get(id);
|
|
|
+ InsuranceApplication insuranceApplication = insuranceApplicationService.get(ApplicationId);
|
|
|
|
|
|
InsuranceDefinition insuranceDefinition = insuranceDefinitionService.get(insuranceApplication.getDefinitionId());
|
|
|
|
|
@@ -167,9 +173,28 @@ public class InsuranceApplicationController {
|
|
|
Page<InsuranceDefinitionLimit> insuranceDefinitionLimitPage = insuranceDefinitionLimitService.pageSearch(searchParams,1,100,sortList);
|
|
|
insuranceDefinition.setLimits(insuranceDefinitionLimitPage.getResult());
|
|
|
Page<InsuranceJobs> insuranceJobsPage = insuranceJobsService.pageSearch(searchParams,1,100,sortList);
|
|
|
+ BigDecimal allMoney = new BigDecimal(0);
|
|
|
+ for(InsuranceJobs insuranceJobs : insuranceJobsPage.getResult()){
|
|
|
+ InsuranceJobsDTO insuranceJobsDTO = new InsuranceJobsDTO();
|
|
|
+ PojoUtils.map(insuranceApplication, insuranceJobsDTO);
|
|
|
+
|
|
|
+ Map<String,Object> searchParams1 = new HashMap<>();
|
|
|
+ searchParams1.put("policyId",policyId);
|
|
|
+ searchParams1.put("jobsId",insuranceJobs.getJobsId());
|
|
|
+ List<Sort> sortList1 = new ArrayList<>();
|
|
|
+ sortList1.add(new Sort("id_","asc"));
|
|
|
+ Page<InsurancePolicyMember> insurancePolicyMemberPage = insurancePolicyMemberService.pageSearch(searchParams1,1,100,sortList1);
|
|
|
+
|
|
|
+ insuranceJobsDTO.setChargesY(insuranceJobsDTO.getCharges().multiply(new BigDecimal(12)));
|
|
|
+ insuranceJobsDTO.setNumber(insurancePolicyMemberPage.size());
|
|
|
+ insuranceJobsDTO.setMoney(insuranceJobsDTO.getCharges().multiply(new BigDecimal(insurancePolicyMemberPage.size())));
|
|
|
+
|
|
|
+ allMoney.add(insuranceJobsDTO.getCharges().multiply(new BigDecimal(insurancePolicyMemberPage.size())));
|
|
|
+ }
|
|
|
|
|
|
objectMap.put("insuranceDefinition",insuranceDefinition);
|
|
|
objectMap.put("insuranceJobs",insuranceJobsPage.getResult());
|
|
|
+ objectMap.put("allMoney",allMoney);
|
|
|
|
|
|
msgResult.setData(objectMap);
|
|
|
}
|
|
@@ -214,36 +239,39 @@ public class InsuranceApplicationController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value="保存草稿")
|
|
|
+ @ApiOperation(value="保存草稿(如果点击保存,需要将返回的ID写入前台参数。如果点击下一步,需要将ID作为参数带入下个页面)")
|
|
|
@RequestMapping(value = "saveDraft",method = RequestMethod.POST)
|
|
|
- public MessageResult<InsuranceApplication> saveDraft(@ModelAttribute InsuranceApplication insuranceApplication,
|
|
|
+ public MessageResult<InsuranceApplicationDTO> saveDraft(@ModelAttribute InsuranceApplicationDTO insuranceApplicationDTO,
|
|
|
HttpServletRequest request){
|
|
|
AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
|
|
|
Company company = companyService.findByCreateBy(principal.getName());
|
|
|
|
|
|
- MessageResult<InsuranceApplication> msgResult = new MessageResult<>();
|
|
|
+ MessageResult<InsuranceApplicationDTO> msgResult = new MessageResult<>();
|
|
|
+ InsuranceApplication insuranceApplication = new InsuranceApplication();
|
|
|
|
|
|
try {
|
|
|
int affectCount = 0;
|
|
|
- if(insuranceApplication.getId() == null){
|
|
|
- insuranceApplication.setId(UUID.randomUUID().toString());
|
|
|
- insuranceApplication.setCompanyId(company.getId());
|
|
|
- insuranceApplication.setStatus(String.valueOf(PolicyStatus.Draft));
|
|
|
- insuranceApplication.setDelFlag(false);
|
|
|
- insuranceApplication.setCreateBy(principal.getName());
|
|
|
- insuranceApplication.setCreateTime(new Date());
|
|
|
-
|
|
|
+ if(insuranceApplicationDTO.getId() == null){
|
|
|
+ insuranceApplicationDTO.setId(UUID.randomUUID().toString());
|
|
|
+ insuranceApplicationDTO.setCompanyId(company.getId());
|
|
|
+ insuranceApplicationDTO.setStatus(String.valueOf(PolicyStatus.Draft));
|
|
|
+ insuranceApplicationDTO.setDelFlag(false);
|
|
|
+ insuranceApplicationDTO.setCreateBy(principal.getName());
|
|
|
+ insuranceApplicationDTO.setCreateTime(new Date());
|
|
|
+
|
|
|
+ PojoUtils.map(insuranceApplicationDTO, insuranceApplication);
|
|
|
affectCount = insuranceApplicationService.insert(insuranceApplication);
|
|
|
}else {
|
|
|
- insuranceApplication.setUpdateBy(principal.getName());
|
|
|
- insuranceApplication.setUpdateTime(new Date());
|
|
|
+ insuranceApplicationDTO.setUpdateBy(principal.getName());
|
|
|
+ insuranceApplicationDTO.setUpdateTime(new Date());
|
|
|
|
|
|
+ PojoUtils.map(insuranceApplicationDTO, insuranceApplication);
|
|
|
affectCount = insuranceApplicationService.update(insuranceApplication);
|
|
|
}
|
|
|
|
|
|
if(affectCount > 0) {
|
|
|
msgResult.setResult(true);
|
|
|
- msgResult.setData(insuranceApplication);
|
|
|
+ msgResult.setData(insuranceApplicationDTO);
|
|
|
}else {
|
|
|
msgResult.setResult(false);
|
|
|
}
|