소스 검색

Merge remote-tracking branch 'origin/master'

yanliming 5 년 전
부모
커밋
d4e7f7d9e8

+ 1 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/base/dao/CompanyMemberDAO.java

@@ -15,4 +15,5 @@ public interface CompanyMemberDAO {
 	int delete(String id);
 	List<CompanyMember> list();
 	List<CompanyMember> search(Map<String, Object> searchParams, List<Sort> sortList);
+	List<CompanyMember> search2(Map<String, Object> searchParams, List<Sort> sortList);
 }

+ 10 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/base/entity/InsuranceDefinition.java

@@ -4,6 +4,8 @@ import java.io.Serializable;
 import java.util.Date;
 import java.text.SimpleDateFormat;
 import java.math.BigDecimal;
+import java.util.List;
+
 import org.springframework.format.annotation.DateTimeFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
@@ -34,6 +36,7 @@ public class InsuranceDefinition {
 	private String updateBy;
     @ApiModelProperty(value = "修改时间")
 	private Date updateTime;
+    private List<InsuranceDefinitionLimit> limits;
 
     /**
 	 *获取编号
@@ -175,4 +178,11 @@ public class InsuranceDefinition {
 	public void setUpdateTime(Date updateTime){
 		this.updateTime = updateTime;
 	}
+
+	public List<InsuranceDefinitionLimit> getLimits(){
+		return limits;
+	}
+	public void setLimits(List<InsuranceDefinitionLimit> id){
+		this.limits = limits;
+	}
 }

+ 16 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/entity/InsurancePolicyMember.java

@@ -1,6 +1,7 @@
 package com.jpsoft.picc.modules.business.entity;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jpsoft.picc.modules.base.entity.CompanyMember;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -22,6 +23,7 @@ public class InsurancePolicyMember {
     private Date createTime;
     private String updateBy;
     private Date updateTime;
+    private CompanyMember companyMember;
 
     /**
      * 获取编号
@@ -176,4 +178,18 @@ public class InsurancePolicyMember {
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
+
+    /**
+     *获取企业人员
+     */
+    public CompanyMember getCompanyMember(){
+        return companyMember;
+    }
+
+    /**
+     *设置企业人员
+     */
+    public void setCompanyMember(CompanyMember companyMember){
+        this.companyMember = companyMember;
+    }
 }

+ 3 - 1
picc-common/src/main/resources/mapper/business/InsurancePolicyMember.xml

@@ -14,6 +14,7 @@
 			<result property="createTime" column="create_time" />
 			<result property="updateBy" column="update_by" />
 			<result property="updateTime" column="update_time" />
+			<association property="companyMember" column="member_id" select="com.jpsoft.picc.modules.base.dao.CompanyMemberDAO.get"/>
 			</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.picc.modules.business.entity.InsurancePolicyMember">
 	<!--
@@ -83,13 +84,14 @@ id_,policy_id,member_id,status_,is_add,del_flag,create_by,create_time,update_by,
 		select count(*) from business_insurance_policy_member where id_=#{0}
 	</select>
 	<select id="list" resultMap="InsurancePolicyMemberMap">
-		select * from business_insurance_policy_member
+		select * from business_insurance_policy_member where del_flag = false
 	</select>
 	<select id="search" parameterType="hashmap" resultMap="InsurancePolicyMemberMap">
 		<![CDATA[
 			select * from business_insurance_policy_member
 		]]>
 		<where>
+			and del_flag = false
 			<if test="searchParams.id != null">
 				and ID_ like #{searchParams.id}
 			</if>

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

@@ -2,8 +2,10 @@ package com.jpsoft.picc.modules.auth.controller;
 
 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.service.CompanyMemberService;
+import com.jpsoft.picc.modules.base.service.CompanyService;
 import com.jpsoft.picc.modules.common.dto.MessageResult;
 import com.jpsoft.picc.modules.common.dto.Sort;
 import com.jpsoft.picc.modules.common.utils.POIUtils;
@@ -33,12 +35,19 @@ public class CompanyMemberController {
     @Autowired
     private CompanyMemberService companyMemberService;
 
+    @Autowired
+    private CompanyService companyService;
+
     @ApiOperation(value="读取企业人员列表")
     @RequestMapping(value = "list",method = RequestMethod.POST)
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String")
+//            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String")
     })
-    public MessageResult<Map> list(@RequestParam(value="companyId",defaultValue="") String companyId){
+    public MessageResult<Map> list(//@RequestParam(value="companyId",defaultValue="") String companyId,
+                                   HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
+
         MessageResult<Map> msgResult = new MessageResult<>();
 
         Map<String,Object> searchParams = new HashMap<>();
@@ -47,8 +56,8 @@ public class CompanyMemberController {
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("id_","asc"));
 
-        if (StringUtils.isNotEmpty(companyId)) {
-            searchParams.put("companyId",companyId);
+        if (StringUtils.isNotEmpty(company.getId())) {
+            searchParams.put("companyId",company.getId());
         }
 
         Page<CompanyMember> page = companyMemberService.pageSearch(searchParams,1,1000,sortList);
@@ -62,12 +71,16 @@ public class CompanyMemberController {
     @ApiOperation(value="读取企业人员分页列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String")
+//            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String")
     })
     public MessageResult<Map> pageList(
-            @RequestParam(value="companyId",defaultValue="") String companyId,
+//            @RequestParam(value="companyId",defaultValue="") String companyId,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
-            @RequestParam(value="pageSize",defaultValue="20") int pageSize){
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
+
         MessageResult<Map> msgResult = new MessageResult<>();
 
         Map<String,Object> searchParams = new HashMap<>();
@@ -76,8 +89,8 @@ public class CompanyMemberController {
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("id_","asc"));
 
-        if (StringUtils.isNotEmpty(companyId)) {
-            searchParams.put("companyId",companyId);
+        if (StringUtils.isNotEmpty(company.getId())) {
+            searchParams.put("companyId",company.getId());
         }
 
         Page<CompanyMember> page = companyMemberService.pageSearch(searchParams,pageIndex,pageSize,sortList);
@@ -91,7 +104,7 @@ public class CompanyMemberController {
     @ApiOperation(value="添加企业人员")
     @PostMapping("add")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String"),
+//            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "name",value = "姓名", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "cardType",value = "证件类型", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "cardNo",value = "证件编号", required = true, paramType = "form",dataType = "String"),
@@ -102,7 +115,7 @@ public class CompanyMemberController {
             @ApiImplicitParam(name = "cardFiles",value = "身份证件附件", required = false, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "status",value = "状态", required = true, paramType = "form",dataType = "String")
     })
-    public MessageResult<CompanyMember> add(@RequestParam(value="companyId",defaultValue="") String companyId,
+    public MessageResult<CompanyMember> add(//@RequestParam(value="companyId",defaultValue="") String companyId,
                                             @RequestParam(value="name",defaultValue="") String name,
                                             @RequestParam(value="cardType",defaultValue="") String cardType,
                                             @RequestParam(value="cardNo",defaultValue="") String cardNo,
@@ -114,13 +127,14 @@ public class CompanyMemberController {
                                             @RequestParam(value="status",defaultValue="") String status,
                                             HttpServletRequest request){
         AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
 
         MessageResult<CompanyMember> msgResult = new MessageResult<>();
         CompanyMember companyMember = new CompanyMember();
 
         try {
             companyMember.setId(UUID.randomUUID().toString());
-            if(StringUtils.isNotEmpty(companyId)) companyMember.setCompanyId(companyId);
+            if(StringUtils.isNotEmpty(company.getId())) companyMember.setCompanyId(company.getId());
             if(StringUtils.isNotEmpty(name)) companyMember.setName(name);
             if(StringUtils.isNotEmpty(cardType)) companyMember.setCardType(cardType);
             if(StringUtils.isNotEmpty(cardNo)) companyMember.setCardNo(cardNo);
@@ -187,7 +201,7 @@ public class CompanyMemberController {
     @PostMapping("update")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id",value = "编号", required = true, paramType = "form",dataType = "String"),
-            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String"),
+//            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "name",value = "姓名", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "cardType",value = "证件类型", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "cardNo",value = "证件编号", required = true, paramType = "form",dataType = "String"),
@@ -199,7 +213,7 @@ public class CompanyMemberController {
             @ApiImplicitParam(name = "status",value = "状态", required = true, paramType = "form",dataType = "String")
     })
     public MessageResult<CompanyMember> update(@RequestParam(value="id",defaultValue="") String id,
-                                               @RequestParam(value="companyId",defaultValue="") String companyId,
+//                                               @RequestParam(value="companyId",defaultValue="") String companyId,
                                                @RequestParam(value="name",defaultValue="") String name,
                                                @RequestParam(value="cardType",defaultValue="") String cardType,
                                                @RequestParam(value="cardNo",defaultValue="") String cardNo,
@@ -211,13 +225,14 @@ public class CompanyMemberController {
                                                @RequestParam(value="status",defaultValue="") String status,
                                                HttpServletRequest request){
         AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
 
         MessageResult<CompanyMember> msgResult = new MessageResult<>();
 
         try {
             CompanyMember companyMember = companyMemberService.get(id);
 
-            if(StringUtils.isNotEmpty(companyId)) companyMember.setCompanyId(companyId);
+            if(StringUtils.isNotEmpty(company.getId())) companyMember.setCompanyId(company.getId());
             if(StringUtils.isNotEmpty(name)) companyMember.setName(name);
             if(StringUtils.isNotEmpty(cardType)) companyMember.setCardType(cardType);
             if(StringUtils.isNotEmpty(cardNo)) companyMember.setCardNo(cardNo);
@@ -290,11 +305,14 @@ public class CompanyMemberController {
     @ApiOperation(value="导入企业人员")
     @PostMapping("importXls")
     @ApiImplicitParams({
+//            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "uploadFile",value = "上传文件", required = true,paramType="form", dataType = "__file")
     })
-    public MessageResult<String> importXls(MultipartFile uploadFile,
+    public MessageResult<String> importXls(//@RequestParam(value="companyId",defaultValue="") String companyId,
+                                           MultipartFile uploadFile,
                                            HttpServletRequest request){
         AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
 
         MessageResult<String> msgResult = new MessageResult<>();
         CompanyMember companyMember = new CompanyMember();
@@ -314,7 +332,7 @@ public class CompanyMemberController {
                 String healthStatus = array[3].toString();
 
                 companyMember.setId(UUID.randomUUID().toString());
-//                if(StringUtils.isNotEmpty(companyId)) companyMember.setCompanyId(companyId);
+                if(StringUtils.isNotEmpty(company.getId())) companyMember.setCompanyId(company.getId());
                 if(StringUtils.isNotEmpty(name)) companyMember.setName(name);
                 if(StringUtils.isNotEmpty(cardType)) companyMember.setCardType(cardType);
                 if(StringUtils.isNotEmpty(cardNo)) companyMember.setCardNo(cardNo);

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

@@ -1,6 +1,14 @@
 package com.jpsoft.picc.modules.auth.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.picc.modules.base.entity.Company;
+import com.jpsoft.picc.modules.base.entity.InsuranceDefinition;
+import com.jpsoft.picc.modules.base.entity.InsuranceDefinitionLimit;
+import com.jpsoft.picc.modules.base.entity.InsuranceJobs;
+import com.jpsoft.picc.modules.base.service.CompanyService;
+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.service.InsuranceApplicationService;
 import com.jpsoft.picc.modules.common.dto.MessageResult;
@@ -11,6 +19,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
+import org.jasig.cas.client.authentication.AttributePrincipal;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,10 +28,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
 
 @Api(description="投保信息")
 @RestController
@@ -33,6 +40,18 @@ public class InsuranceApplicationController {
     @Autowired
     private InsuranceApplicationService insuranceApplicationService;
 
+    @Autowired
+    private InsuranceDefinitionService insuranceDefinitionService;
+
+    @Autowired
+    private InsuranceDefinitionLimitService insuranceDefinitionLimitService;
+
+    @Autowired
+    private InsuranceJobsService insuranceJobsService;
+
+    @Autowired
+    private CompanyService companyService;
+
     @ApiOperation(value="投保单列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     @ApiImplicitParams({
@@ -66,19 +85,96 @@ public class InsuranceApplicationController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id",value = "编号", required = true, paramType = "form",dataType = "String")
     })
-    public MessageResult<InsuranceApplication> insureDetail(@RequestParam(value="id",defaultValue="") String id){
-        MessageResult<InsuranceApplication> msgResult = new MessageResult<>();
+    public MessageResult<Map<String,Object>> insureDetail(@RequestParam(value="id",defaultValue="") String id,
+                                                          HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
+
+        MessageResult<Map<String,Object>> msgResult = new MessageResult<>();
+        Map<String,Object> objectMap = new HashMap<>();
 
         try {
             InsuranceApplication insuranceApplication = insuranceApplicationService.get(id);
 
             if (insuranceApplication != null) {
-                msgResult.setResult(true);
-                msgResult.setData(insuranceApplication);
+                insuranceApplication = insuranceApplicationService.get(id);
             } else {
-                msgResult.setResult(false);
-                msgResult.setMessage("数据库不存在该记录!");
+                insuranceApplication = new InsuranceApplication();
             }
+
+            objectMap.put("insuranceApplication",insuranceApplication);
+            objectMap.put("company",company);
+
+            msgResult.setData(objectMap);
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="获取承保信息")
+    @RequestMapping(value = "acceptDetail",method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id",value = "编号", required = true, paramType = "form",dataType = "String")
+    })
+    public MessageResult<Map<String,Object>> acceptDetail(@RequestParam(value="id",defaultValue="") String id){
+        MessageResult<Map<String,Object>> msgResult = new MessageResult<>();
+        Map<String,Object> objectMap = new HashMap<>();
+
+        try {
+            InsuranceApplication insuranceApplication = insuranceApplicationService.get(id);
+
+            InsuranceDefinition insuranceDefinition = insuranceDefinitionService.get(insuranceApplication.getDefinitionId());
+
+            Map<String,Object> searchParams = new HashMap<>();
+            searchParams.put("definitionId",insuranceApplication.getDefinitionId());
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("id_","asc"));
+
+            Page<InsuranceDefinitionLimit> insuranceDefinitionLimitPage = insuranceDefinitionLimitService.pageSearch(searchParams,1,100,sortList);
+            insuranceDefinition.setLimits(insuranceDefinitionLimitPage.getResult());
+            Page<InsuranceJobs> insuranceJobsPage = insuranceJobsService.pageSearch(searchParams,1,100,sortList);
+
+            objectMap.put("insuranceDefinition",insuranceDefinition);
+            objectMap.put("insuranceJobs",insuranceJobsPage.getResult());
+
+            msgResult.setData(objectMap);
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="提交保单")
+    @RequestMapping(value = "submit",method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id",value = "编号", required = true, paramType = "form",dataType = "String")
+    })
+    public MessageResult<InsuranceApplication> submit(@RequestParam(value="id",defaultValue="") String id,
+                                                      HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+
+        MessageResult<InsuranceApplication> msgResult = new MessageResult<>();
+
+        try {
+            InsuranceApplication insuranceApplication = insuranceApplicationService.get(id);
+
+            insuranceApplication.setStatus("20");
+            insuranceApplication.setUpdateBy(principal.getName());
+            insuranceApplication.setUpdateTime(new Date());
+            int affectCount = insuranceApplicationService.update(insuranceApplication);
+
+            msgResult.setResult(true);
         }
         catch(Exception ex){
             logger.error(ex.getMessage(),ex);

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

@@ -1,9 +1,236 @@
 package com.jpsoft.picc.modules.auth.controller;
 
+import cn.hutool.core.convert.Convert;
+import com.github.pagehelper.Page;
+import com.jpsoft.picc.modules.base.entity.CompanyMember;
+import com.jpsoft.picc.modules.base.service.CompanyMemberService;
+import com.jpsoft.picc.modules.business.entity.InsurancePolicyMember;
+import com.jpsoft.picc.modules.business.service.InsurancePolicyMemberService;
+import com.jpsoft.picc.modules.common.dto.MessageResult;
+import com.jpsoft.picc.modules.common.dto.Sort;
+import com.jpsoft.picc.modules.common.utils.POIUtils;
+import com.jpsoft.picc.modules.common.utils.PojoUtils;
 import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.jasig.cas.client.authentication.AttributePrincipal;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
 
 @Api(description="每月参保人员")
 @RestController
+@RequestMapping("/auth/insurancePolicyUser")
 public class InsurancePolicyUserController {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private CompanyMemberService companyMemberService;
+
+    @Autowired
+    private InsurancePolicyMemberService insurancePolicyMemberService;
+
+    @ApiOperation(value="读取参保人员分页列表")
+    @RequestMapping(value = "pageList",method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "PolicyId",value = "每月投保单ID", required = true, paramType = "form",dataType = "String")
+    })
+    public MessageResult<Map> pageList(
+            @RequestParam(value="PolicyId",defaultValue="") String PolicyId,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize){
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("id_","asc"));
+
+        if (StringUtils.isNotEmpty(PolicyId)) {
+            searchParams.put("PolicyId",PolicyId);
+        }
+
+        Page<InsurancePolicyMember> page = insurancePolicyMemberService.pageSearch(searchParams,pageIndex,pageSize,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="添加参保人员")
+    @PostMapping("add")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "policyId",value = "每月投保单ID", required = true, paramType = "form",dataType = "String"),
+            @ApiImplicitParam(name = "memberId",value = "企业用户ID", required = true, paramType = "form",dataType = "String")
+    })
+    public MessageResult<InsurancePolicyMember> add(@RequestParam(value="policyId",defaultValue="") String policyId,
+                                                    @RequestParam(value="memberId",defaultValue="") String memberId,
+                                                    HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+
+        MessageResult<InsurancePolicyMember> msgResult = new MessageResult<>();
+        InsurancePolicyMember insurancePolicyMember = new InsurancePolicyMember();
+
+        try {
+            insurancePolicyMember.setId(UUID.randomUUID().toString());
+            if(StringUtils.isNotEmpty(policyId)) insurancePolicyMember.setPolicyId(policyId);
+            if(StringUtils.isNotEmpty(memberId)) insurancePolicyMember.setMemberId(memberId);
+            insurancePolicyMember.setStatus("0");
+            insurancePolicyMember.setDelFlag(false);
+            insurancePolicyMember.setCreateBy(principal.getName());
+            insurancePolicyMember.setCreateTime(new Date());
+
+            int affectCount = insurancePolicyMemberService.insert(insurancePolicyMember);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(insurancePolicyMember);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库添加失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="删除参保人员")
+    @PostMapping("delete")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id",value = "编号", required = true, paramType = "form",dataType = "String")
+    })
+    public MessageResult<Integer> delete(@RequestParam(value="id",defaultValue="") String id,
+                                         HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            InsurancePolicyMember insurancePolicyMember = insurancePolicyMemberService.get(id);
+            insurancePolicyMember.setDelFlag(true);
+            insurancePolicyMember.setUpdateBy(principal.getName());
+            insurancePolicyMember.setUpdateTime(new Date());
+
+            int affectCount = insurancePolicyMemberService.update(insurancePolicyMember);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(affectCount);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("删除失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="批量导入参保人员")
+    @PostMapping("batchImport")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String"),
+            @ApiImplicitParam(name = "policyId",value = "每月投保单ID", required = true, paramType = "form",dataType = "String"),
+            @ApiImplicitParam(name = "uploadFile",value = "上传文件", required = true,paramType="form", dataType = "__file")
+    })
+    public MessageResult<String> batchImport(@RequestParam(value="companyId",defaultValue="") String companyId,
+                                             @RequestParam(value="policyId",defaultValue="") String policyId,
+                                            MultipartFile uploadFile,
+                                            HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+
+        MessageResult<String> msgResult = new MessageResult<>();
+        CompanyMember companyMember = new CompanyMember();
+
+        try {
+            POIUtils aaa = new POIUtils(uploadFile.getInputStream());
+            List<Object[]> list = aaa.getAllData(0);
+
+            int affectCount = 0;
+            for(Object[] array : list){
+                String name = array[1].toString();
+                String cardType = array[2].toString();
+                String cardNo = array[3].toString();
+                Boolean sex = Convert.toBool(array[3]);
+                int age = Convert.toInt(array[3]);
+                String jobsId = array[3].toString();
+                String healthStatus = array[3].toString();
+
+                Map<String,Object> searchParams = new HashMap<>();
+                searchParams.put("companyId",companyId);
+                searchParams.put("name",name);
+                searchParams.put("cardNo",cardNo);
+                List<Sort> sortList = new ArrayList<>();
+                Page<CompanyMember> page = companyMemberService.pageSearch(searchParams,1,100,sortList);
+
+                if(page.size() == 1) {
+                    companyMember = page.get(0);
+                }else{
+                    companyMember.setId(UUID.randomUUID().toString());
+                    if(StringUtils.isNotEmpty(companyId)) companyMember.setCompanyId(companyId);
+                    if (StringUtils.isNotEmpty(name)) companyMember.setName(name);
+                    if (StringUtils.isNotEmpty(cardType)) companyMember.setCardType(cardType);
+                    if (StringUtils.isNotEmpty(cardNo)) companyMember.setCardNo(cardNo);
+                    if (sex != null) companyMember.setSex(sex);
+                    if (age != 0) companyMember.setAge(age);
+                    if (StringUtils.isNotEmpty(jobsId)) companyMember.setJobsId(jobsId);
+                    if (StringUtils.isNotEmpty(healthStatus)) companyMember.setHealthStatus(healthStatus);
+//                if(StringUtils.isNotEmpty(cardFiles)) companyMember.setCardFiles(cardFiles);
+//                if(StringUtils.isNotEmpty(status)) companyMember.setStatus(status);
+                    companyMember.setDelFlag(false);
+                    companyMember.setCreateBy(principal.getName());
+                    companyMember.setCreateTime(new Date());
+                }
+
+                InsurancePolicyMember insurancePolicyMember = new InsurancePolicyMember();
+                insurancePolicyMember.setId(UUID.randomUUID().toString());
+                if(StringUtils.isNotEmpty(policyId)) insurancePolicyMember.setPolicyId(policyId);
+                insurancePolicyMember.setMemberId(companyMember.getId());
+                insurancePolicyMember.setStatus("0");
+                insurancePolicyMember.setDelFlag(false);
+                insurancePolicyMember.setCreateBy(principal.getName());
+                insurancePolicyMember.setCreateTime(new Date());
+
+                if(insurancePolicyMemberService.insert(insurancePolicyMember) > 0){
+                    affectCount++;
+                }
+            }
+
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData("成功导入" + affectCount + "条记录。");
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库添加失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
 }