|
@@ -1,9 +1,236 @@
|
|
package com.jpsoft.picc.modules.auth.controller;
|
|
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 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="每月参保人员")
|
|
@Api(description="每月参保人员")
|
|
@RestController
|
|
@RestController
|
|
|
|
+@RequestMapping("/auth/insurancePolicyUser")
|
|
public class InsurancePolicyUserController {
|
|
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;
|
|
|
|
+ }
|
|
}
|
|
}
|