Procházet zdrojové kódy

1.投保历史查询(长期投保单->每月投保单)。
2.每月投保单明细查看。
3.生成下月投保单接口。

tomatozq před 5 roky
rodič
revize
a62bf7ada3
14 změnil soubory, kde provedl 402 přidání a 7 odebrání
  1. 3 0
      picc-common/src/main/java/com/jpsoft/picc/modules/business/dao/ApplicationPolicyDAO.java
  2. 2 0
      picc-common/src/main/java/com/jpsoft/picc/modules/business/dao/InsurancePolicyDAO.java
  3. 10 0
      picc-common/src/main/java/com/jpsoft/picc/modules/business/entity/InsuranceApplication.java
  4. 3 0
      picc-common/src/main/java/com/jpsoft/picc/modules/business/service/ApplicationPolicyService.java
  5. 2 0
      picc-common/src/main/java/com/jpsoft/picc/modules/business/service/InsurancePolicyMemberService.java
  6. 2 0
      picc-common/src/main/java/com/jpsoft/picc/modules/business/service/InsurancePolicyService.java
  7. 10 0
      picc-common/src/main/java/com/jpsoft/picc/modules/business/service/impl/ApplicationPolicyServiceImpl.java
  8. 7 0
      picc-common/src/main/java/com/jpsoft/picc/modules/business/service/impl/InsurancePolicyServiceImpl.java
  9. 7 0
      picc-common/src/main/resources/mapper/business/ApplicationPolicy.xml
  10. 7 1
      picc-common/src/main/resources/mapper/business/InsuranceApplication.xml
  11. 7 0
      picc-common/src/main/resources/mapper/business/InsurancePolicy.xml
  12. 335 0
      picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/ApplicationPolicyController.java
  13. 2 0
      picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/CompanyMemberController.java
  14. 5 6
      picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/InsuranceApplicationController.java

+ 3 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/dao/ApplicationPolicyDAO.java

@@ -1,6 +1,7 @@
 package com.jpsoft.picc.modules.business.dao;
 
 import com.jpsoft.picc.modules.business.entity.ApplicationPolicy;
+import com.jpsoft.picc.modules.business.entity.InsurancePolicy;
 import com.jpsoft.picc.modules.common.dto.Sort;
 import org.springframework.stereotype.Repository;
 
@@ -24,4 +25,6 @@ public interface ApplicationPolicyDAO {
     List<ApplicationPolicy> search(Map<String, Object> searchParams, List<Sort> sortList);
 
     List<ApplicationPolicy> findByApplicationId(String applicationId);
+
+    List<InsurancePolicy> findPolicyByApplicationId(String applicationId);
 }

+ 2 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/dao/InsurancePolicyDAO.java

@@ -22,4 +22,6 @@ public interface InsurancePolicyDAO {
     List<InsurancePolicy> list();
 
     List<InsurancePolicy> search(Map<String, Object> searchParams, List<Sort> sortList);
+
+    long countByApplicationIdAndEffectiveDate(String applicationId, String effectiveDate);
 }

+ 10 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/entity/InsuranceApplication.java

@@ -32,6 +32,8 @@ public class InsuranceApplication {
 	private String usccCode;
     @ApiModelProperty(value = "营业范围")
 	private String businessScope;
+	@ApiModelProperty(value = "营业性质")
+	private String businessNature;
     @ApiModelProperty(value = "行业类型")
 	private String industryType;
     @ApiModelProperty(value = "联系电话")
@@ -412,4 +414,12 @@ public class InsuranceApplication {
 	public void setDefinitionName(String definitionName) {
 		this.definitionName = definitionName;
 	}
+
+	public String getBusinessNature() {
+		return businessNature;
+	}
+
+	public void setBusinessNature(String businessNature) {
+		this.businessNature = businessNature;
+	}
 }

+ 3 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/service/ApplicationPolicyService.java

@@ -2,6 +2,7 @@ package com.jpsoft.picc.modules.business.service;
 
 import com.github.pagehelper.Page;
 import com.jpsoft.picc.modules.business.entity.ApplicationPolicy;
+import com.jpsoft.picc.modules.business.entity.InsurancePolicy;
 import com.jpsoft.picc.modules.common.dto.Sort;
 
 import java.util.List;
@@ -23,4 +24,6 @@ public interface ApplicationPolicyService {
     Page<ApplicationPolicy> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, List<Sort> sortList);
 
     List<ApplicationPolicy> findByApplicationId(String applicationId);
+
+    Page<InsurancePolicy> findPolicyByApplicationId(String applicationId, int pageIndex, int pageSize);
 }

+ 2 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/service/InsurancePolicyMemberService.java

@@ -23,4 +23,6 @@ public interface InsurancePolicyMemberService {
     Page<InsurancePolicyMember> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, List<Sort> sortList);
 
     long countByPolicyIdAndJobsId(String policyId, String jobsId);
+
+    List<InsurancePolicyMember> findByPolicyId(String policyId);
 }

+ 2 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/service/InsurancePolicyService.java

@@ -21,4 +21,6 @@ public interface InsurancePolicyService {
     List<InsurancePolicy> list();
 
     Page<InsurancePolicy> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, List<Sort> sortList);
+
+    boolean existByApplicationIdAndEffectiveDate(String applicationId, String effectiveDate);
 }

+ 10 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/service/impl/ApplicationPolicyServiceImpl.java

@@ -4,6 +4,7 @@ import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.jpsoft.picc.modules.business.dao.ApplicationPolicyDAO;
 import com.jpsoft.picc.modules.business.entity.ApplicationPolicy;
+import com.jpsoft.picc.modules.business.entity.InsurancePolicy;
 import com.jpsoft.picc.modules.business.service.ApplicationPolicyService;
 import com.jpsoft.picc.modules.common.dto.Sort;
 import org.springframework.stereotype.Component;
@@ -72,4 +73,13 @@ public class ApplicationPolicyServiceImpl implements ApplicationPolicyService {
     public List<ApplicationPolicy> findByApplicationId(String applicationId) {
         return applicationPolicyDAO.findByApplicationId(applicationId);
     }
+
+    @Override
+    public Page<InsurancePolicy> findPolicyByApplicationId(String applicationId, int pageIndex, int pageSize) {
+        Page<InsurancePolicy> page = PageHelper.startPage(pageIndex, pageSize).doSelectPage(() -> {
+            applicationPolicyDAO.findPolicyByApplicationId(applicationId);
+        });
+
+        return page;
+    }
 }

+ 7 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/service/impl/InsurancePolicyServiceImpl.java

@@ -67,4 +67,11 @@ public class InsurancePolicyServiceImpl implements InsurancePolicyService {
 
         return page;
     }
+
+    @Override
+    public boolean existByApplicationIdAndEffectiveDate(String applicationId, String effectiveDate) {
+        long count = insurancePolicyDAO.countByApplicationIdAndEffectiveDate(applicationId,effectiveDate);
+
+        return count>0;
+    }
 }

+ 7 - 0
picc-common/src/main/resources/mapper/business/ApplicationPolicy.xml

@@ -71,4 +71,11 @@
 		and b.del_flag=0
 		order by b.create_time asc
 	</select>
+    <select id="findPolicyByApplicationId" resultMap="com.jpsoft.picc.modules.business.dao.InsurancePolicyDAO.InsurancePolicyMap">
+		SELECT b.* FROM business_application_policy a,business_insurance_policy b
+		where a.application_id=#{0}
+		and a.policy_id = b.id_
+		and b.del_flag=0
+		order by b.create_time asc
+	</select>
 </mapper>

+ 7 - 1
picc-common/src/main/resources/mapper/business/InsuranceApplication.xml

@@ -13,6 +13,7 @@
         <result property="companyName" column="company_name"/>
         <result property="usccCode" column="uscc_code"/>
         <result property="businessScope" column="business_scope"/>
+        <result property="businessNature" column="business_nature"/>
         <result property="industryType" column="industry_type"/>
         <result property="tel" column="tel_"/>
         <result property="postal" column="postal_"/>
@@ -39,7 +40,8 @@
         -->
         <![CDATA[
 		insert into business_insurance_application
-	    (id_,company_id,definition_id,insured_name,insured_tel,company_name,uscc_code,business_scope,industry_type,tel_,postal_,employees_number,insured_number,company_address,loss_in_recent_years,start_time,end_time,insurance_fee,status_,process_status,create_by,create_time,update_by,update_time,del_flag)
+	    (id_,company_id,definition_id,insured_name,insured_tel,company_name,uscc_code,
+	    business_scope,business_nature,industry_type,tel_,postal_,employees_number,insured_number,company_address,loss_in_recent_years,start_time,end_time,insurance_fee,status_,process_status,create_by,create_time,update_by,update_time,del_flag)
 		values
 		(
             #{id,jdbcType=VARCHAR}
@@ -50,6 +52,7 @@
             ,#{companyName,jdbcType=VARCHAR}
             ,#{usccCode,jdbcType=VARCHAR}
             ,#{businessScope,jdbcType=VARCHAR}
+            ,#{businessNature,jdbcType=VARCHAR}
             ,#{industryType,jdbcType=VARCHAR}
             ,#{tel,jdbcType=VARCHAR}
             ,#{postal,jdbcType=VARCHAR}
@@ -97,6 +100,9 @@
             <if test="businessScope!=null">
                 business_scope=#{businessScope,jdbcType=VARCHAR},
             </if>
+            <if test="businessNature!=null">
+                business_nature=#{businessNature,jdbcType=VARCHAR},
+            </if>
             <if test="industryType!=null">
                 industry_type=#{industryType,jdbcType=VARCHAR},
             </if>

+ 7 - 0
picc-common/src/main/resources/mapper/business/InsurancePolicy.xml

@@ -150,4 +150,11 @@
             ${sort.name} ${sort.order}
         </foreach>
     </select>
+    <select id="countByApplicationIdAndEffectiveDate" resultType="java.lang.Long">
+        select count(*) from business_insurance_policy a,business_application_policy b
+        where a.id_=b.policy_id
+        and a.del_flag=0
+        and b.application_id = #{applicationId}
+        and a.effective_date = #{effectiveDate}
+    </select>
 </mapper>

+ 335 - 0
picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/ApplicationPolicyController.java

@@ -1,4 +1,339 @@
 package com.jpsoft.picc.modules.auth.controller;
 
+import com.github.pagehelper.Page;
+import com.jpsoft.picc.modules.auth.dto.AcceptInsuranceDTO;
+import com.jpsoft.picc.modules.auth.dto.InsuranceApplicationDTO;
+import com.jpsoft.picc.modules.auth.dto.InsuranceJobsDTO;
+import com.jpsoft.picc.modules.base.entity.*;
+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.base.service.JobsService;
+import com.jpsoft.picc.modules.business.entity.ApplicationPolicy;
+import com.jpsoft.picc.modules.business.entity.InsuranceApplication;
+import com.jpsoft.picc.modules.business.entity.InsurancePolicy;
+import com.jpsoft.picc.modules.business.entity.InsurancePolicyMember;
+import com.jpsoft.picc.modules.business.service.ApplicationPolicyService;
+import com.jpsoft.picc.modules.business.service.InsuranceApplicationService;
+import com.jpsoft.picc.modules.business.service.InsurancePolicyMemberService;
+import com.jpsoft.picc.modules.business.service.InsurancePolicyService;
+import com.jpsoft.picc.modules.common.constant.PolicyStatus;
+import com.jpsoft.picc.modules.common.dto.MessageResult;
+import com.jpsoft.picc.modules.common.dto.Sort;
+import com.jpsoft.picc.modules.common.utils.PojoUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.jasig.cas.client.authentication.AttributePrincipal;
+import org.joda.time.DateTime;
+import org.joda.time.Interval;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@Slf4j
+@Api(description="投保历史查询")
+@RestController
+@RequestMapping("/auth/applicationPolicy")
 public class ApplicationPolicyController {
+    @Autowired
+    private InsuranceApplicationService insuranceApplicationService;
+
+    @Autowired
+    private ApplicationPolicyService applicationPolicyService;
+
+    @Autowired
+    private InsurancePolicyService insurancePolicyService;
+
+    @Autowired
+    private InsuranceJobsService insuranceJobsService;
+
+    @Autowired
+    private InsuranceDefinitionService insuranceDefinitionService;
+
+    @Autowired
+    private InsuranceDefinitionLimitService insuranceDefinitionLimitService;
+
+    @Autowired
+    private JobsService jobsService;
+
+    @Autowired
+    private InsurancePolicyMemberService insurancePolicyMemberService;
+
+    @PostMapping(value="historyList")
+    @ApiOperation(value = "投保历史查看")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "applicationId",value = "参保单编号", required = true, paramType = "form"),
+    })
+    public MessageResult<Map> historyList(String applicationId,
+                                          @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+                                          @RequestParam(value="pageSize",defaultValue="20") int pageSize){
+        MessageResult<Map> messageResult = new MessageResult<>();
+    
+        try {
+            //todo
+            Page<InsurancePolicy> page = applicationPolicyService.findPolicyByApplicationId(applicationId,pageIndex,pageSize);
+
+            Map dataMap = PojoUtils.pageWrapper(page);
+
+            InsuranceApplication insuranceApplication = insuranceApplicationService.get(applicationId);
+
+            List<Map> mapList = new ArrayList<>();
+
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+
+            Date now = new Date();
+
+            for (InsurancePolicy policy : page.getResult()) {
+                Map<String,Object> map = new HashMap<>();
+
+                map.put("applicationId",applicationId);
+                map.put("policyId",policy.getId());
+                map.put("startTime",sdf.format(policy.getStartTime()));
+                map.put("endTime",sdf.format(policy.getEndTime()));
+                map.put("definitionName",insuranceApplication.getDefinitionName());
+
+                if (now.before(policy.getStartTime())){
+                    map.put("status","未生效");
+                }
+                else if(now.after(policy.getEndTime())){
+                    map.put("status","已过期");
+                }
+                else{
+                    map.put("status","保障中");
+                }
+
+                mapList.add(map);
+            }
+
+            dataMap.put("data",mapList);
+
+            messageResult.setData(dataMap);
+            messageResult.setResult(true);
+        }
+        catch (Exception ex){
+            messageResult.setResult(false);
+            messageResult.setMessage(ex.getMessage());
+        }
+        
+        return messageResult;
+    }
+
+    @ApiOperation(value="获取投保信息")
+    @RequestMapping(value = "insureDetail",method = RequestMethod.GET)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "applicationId",value = "投保编号", required = true, paramType = "query",dataType = "String")
+    })
+    public MessageResult<InsuranceApplicationDTO> insureDetail(String applicationId,
+                                                               HttpServletRequest request){
+        MessageResult<InsuranceApplicationDTO> msgResult = new MessageResult<>();
+
+        InsuranceApplicationDTO insuranceApplicationDTO = new InsuranceApplicationDTO();
+
+        try {
+            InsuranceApplication insuranceApplication = null;
+
+            if (StringUtils.isNotEmpty(applicationId)) {
+                insuranceApplication = insuranceApplicationService.get(applicationId);
+            }
+
+            if (insuranceApplication != null) {
+                PojoUtils.map(insuranceApplication, insuranceApplicationDTO);
+                insuranceApplicationDTO.setApplicationId(insuranceApplication.getId());
+
+                DateTime endTime = new DateTime(insuranceApplication.getEndTime());
+                DateTime startTime = new DateTime(insuranceApplication.getStartTime());
+                Interval interval = new Interval(startTime, endTime);
+
+                insuranceApplicationDTO.setMonthNumber(interval.toPeriod().getMonths());
+            }
+
+            msgResult.setData(insuranceApplicationDTO);
+
+            msgResult.setResult(true);
+        }
+        catch(Exception ex){
+            log.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    private List<InsuranceJobs> findByDefinitionId(String definitionId){
+        Map<String,Object> searchParams = new HashMap<>();
+        searchParams.put("definitionId",definitionId);
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("create_time","asc"));
+        Page<InsuranceJobs> insuranceJobsPage = insuranceJobsService.pageSearch(searchParams,1,100,sortList);
+
+        return insuranceJobsPage.getResult();
+    }
+
+    @ApiOperation(value="获取承保信息")
+    @RequestMapping(value = "acceptDetail",method = RequestMethod.GET)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "applicationId",value = "投保单ID", required = true,paramType = "query",dataType = "String"),
+            @ApiImplicitParam(name = "policyId",value = "每月投保单ID", required = true,paramType = "query",dataType = "String"),
+    })
+    public MessageResult<AcceptInsuranceDTO> acceptDetail(@RequestParam(value="applicationId",defaultValue="") String applicationId,
+                                                          @RequestParam(value="policyId",defaultValue="") String policyId){
+        MessageResult<AcceptInsuranceDTO> msgResult = new MessageResult<>();
+        AcceptInsuranceDTO acceptInsuranceDTO = new AcceptInsuranceDTO();
+
+        try {
+            //投保单
+            InsuranceApplication insuranceApplication = insuranceApplicationService.get(applicationId);
+
+            //险种
+            InsuranceDefinition insuranceDefinition = insuranceDefinitionService.get(insuranceApplication.getDefinitionId());
+
+            //险种名称
+            acceptInsuranceDTO.setInsuranceDefName(insuranceDefinition.getName());
+
+            //险种关联限额
+            List<InsuranceDefinitionLimit> insuranceDefinitionLimits = insuranceDefinitionLimitService.findByDefinitionId(insuranceApplication.getDefinitionId());
+
+            acceptInsuranceDTO.setInsuranceDefLimitList(insuranceDefinitionLimits);
+
+            //关联岗位
+            List<InsuranceJobs> InsuranceJobsList = findByDefinitionId(insuranceApplication.getDefinitionId());
+
+            DateTime endTime = new DateTime(insuranceApplication.getEndTime());
+            acceptInsuranceDTO.setEndTime(insuranceApplication.getEndTime());
+
+            DateTime startTime = new DateTime(insuranceApplication.getStartTime());
+            acceptInsuranceDTO.setStartTime(insuranceApplication.getStartTime());
+
+            Interval interval = new Interval(startTime, endTime);
+
+            //投保总月份
+            int months = interval.toPeriod().getMonths();
+
+            BigDecimal totalAmount = new BigDecimal(0);
+            int totalNumber = 0;
+
+            List<InsuranceJobsDTO> insuranceJobsList = new ArrayList<>();
+
+            //查询不同岗位,参保费用
+            for(InsuranceJobs insuranceJobs : InsuranceJobsList){
+                Jobs jobs = jobsService.get(insuranceJobs.getJobsId());
+
+                InsuranceJobsDTO insuranceJobsDTO = new InsuranceJobsDTO();
+
+                insuranceJobsDTO.setJobs(jobs);
+
+                long memberCount = insurancePolicyMemberService.countByPolicyIdAndJobsId(policyId,insuranceJobs.getJobsId());
+
+                insuranceJobsDTO.setCharges(insuranceJobs.getCharges());
+                insuranceJobsDTO.setChargesY(insuranceJobs.getCharges().multiply(new BigDecimal(12)));
+                insuranceJobsDTO.setNumber(Long.valueOf(memberCount).intValue());
+
+                insuranceJobsDTO.setMoney(insuranceJobsDTO.getCharges()
+                        .multiply(new BigDecimal(months))
+                        .multiply(new BigDecimal(insuranceJobsDTO.getNumber())));
+
+                totalAmount = totalAmount.add(insuranceJobsDTO.getMoney());
+                totalNumber += memberCount;
+
+                insuranceJobsList.add(insuranceJobsDTO);
+            }
+
+            acceptInsuranceDTO.setInsuranceJobsList(insuranceJobsList);
+            acceptInsuranceDTO.setTotalAmount(totalAmount);
+
+            msgResult.setData(acceptInsuranceDTO);
+        }
+        catch(Exception ex){
+            log.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @PostMapping(value="生成下月投保单")
+    @ApiOperation(value = "generateNextMonthPolicy")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "applicationId",value = "投保单编号", required = true, paramType = "form"),
+            @ApiImplicitParam(name = "policyId",value = "本月投保单编号", required = true, paramType = "form"),
+    })
+    public MessageResult<String> generateNextMonthPolicy(
+                                    String applicationId,String policyId,
+                                    HttpServletRequest request){
+        MessageResult<String> messageResult = new MessageResult<>();
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+
+        try {
+            //添加下月投保单
+            InsurancePolicy srcPolicy = insurancePolicyService.get(policyId);
+            InsurancePolicy destPolicy = new InsurancePolicy();
+
+            PojoUtils.map(srcPolicy,destPolicy);
+
+            DateTime startTime = new DateTime(srcPolicy.getEndTime()).plusDays(1);
+
+            destPolicy.setStartTime(startTime.toDate());
+            destPolicy.setEndTime(startTime.plusMonths(1).toDate());
+
+            destPolicy.setEffectiveDate(startTime.toString("yyyyMM"));
+
+            boolean exist = insurancePolicyService.existByApplicationIdAndEffectiveDate(applicationId,destPolicy.getEffectiveDate());
+
+            if (exist){
+                throw new Exception(destPolicy.getEffectiveDate() + "投保单已存在!");
+            }
+
+            destPolicy.setNo(srcPolicy.getNo()+1);
+            destPolicy.setId(UUID.randomUUID().toString());
+            destPolicy.setStatus(PolicyStatus.Draft.getValue() + "");
+            destPolicy.setCreateBy(principal.getName());
+            destPolicy.setCreateTime(new Date());
+            destPolicy.setUpdateBy(principal.getName());
+            destPolicy.setUpdateTime(new Date());
+
+            insurancePolicyService.insert(destPolicy);
+
+            //关联投保单及每月投保单
+            ApplicationPolicy applicationPolicy = new ApplicationPolicy();
+            applicationPolicy.setId(UUID.randomUUID().toString());
+            applicationPolicy.setApplicationId(applicationId);
+            applicationPolicy.setPolicyId(policyId);
+
+            applicationPolicyService.insert(applicationPolicy);
+
+            //关联参保人员
+            List<InsurancePolicyMember> memberList = insurancePolicyMemberService.findByPolicyId(policyId);
+
+            for (InsurancePolicyMember srcMember : memberList) {
+                InsurancePolicyMember destMember = new InsurancePolicyMember();
+
+                destMember.setId(UUID.randomUUID().toString());
+                destMember.setMemberId(srcMember.getMemberId());
+                destMember.setDelFlag(false);
+                destMember.setCreateBy(principal.getName());
+                destMember.setCreateTime(new Date());
+                destMember.setStatus(srcMember.getStatus());
+
+                insurancePolicyMemberService.insert(destMember);
+            }
+        }
+        catch (Exception ex){
+            messageResult.setResult(false);
+            messageResult.setMessage(ex.getMessage());
+        }
+
+        return messageResult;
+    }
 }

+ 2 - 0
picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/CompanyMemberController.java

@@ -115,6 +115,8 @@ public class CompanyMemberController {
 
             Page<CompanyMember> page = companyMemberService.pageSearch(searchParams, pageIndex, pageSize, sortList);
 
+
+
             msgResult.setResult(true);
             msgResult.setData(PojoUtils.pageWrapper(page));
         }

+ 5 - 6
picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/InsuranceApplicationController.java

@@ -294,6 +294,7 @@ public class InsuranceApplicationController {
             acceptInsuranceDTO.setTotalAmount(totalAmount);
 
             msgResult.setData(acceptInsuranceDTO);
+            msgResult.setResult(true);
         }
         catch(Exception ex){
             logger.error(ex.getMessage(),ex);
@@ -359,13 +360,11 @@ public class InsuranceApplicationController {
 
             insurancePolicy.setInsuranceFee(totalAmount);
             insurancePolicy.setNumber(totalNumber);
-            insurancePolicy.setNo(1); //首页
-
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
-            insurancePolicy.setEffectiveDate(sdf.format(insuranceApplication.getStartTime()));
+            insurancePolicy.setNo(1); //首月
+            insurancePolicy.setEffectiveDate(startTime.toString("yyyyMM"));
 
-            insurancePolicy.setStartTime(insuranceApplication.getStartTime());
-            insurancePolicy.setEndTime(insuranceApplication.getEndTime());
+            insurancePolicy.setStartTime(startTime.toDate());
+            insurancePolicy.setEndTime(startTime.plusMonths(1).toDate());
             insurancePolicy.setStatus(String.valueOf(PolicyStatus.PendingTrial.getValue()));
             insurancePolicy.setUpdateBy(principal.getName());
             insurancePolicy.setUpdateTime(new Date());