diff --git a/src/main/java/cn/timer/api/controller/insure/InsureContorll.java b/src/main/java/cn/timer/api/controller/insure/InsureContorll.java
index 2841da5..ea25431 100644
--- a/src/main/java/cn/timer/api/controller/insure/InsureContorll.java
+++ b/src/main/java/cn/timer/api/controller/insure/InsureContorll.java
@@ -868,7 +868,7 @@ public class InsureContorll {
 
 
     @PostMapping(value = "/importUser")
-    @ApiOperation(value = "导入用户--8小时端", httpMethod = "post", notes = "导入用户")
+    @ApiOperation(value = "导入用户--运营后台", httpMethod = "post", notes = "导入用户")
     public Result<Object> importUser(@RequestParam("orgCode") String orgCode, @RequestParam("file") MultipartFile file) {
         SimpleDateFormat dtf = new SimpleDateFormat("yyyyMMdd");
         QyzxEntInfoM company = QyzxEntInfoM.builder().id(Integer.valueOf(orgCode)).build().selectById();
@@ -914,14 +914,14 @@ public class InsureContorll {
                         case "证件号":
                             String idNo = Optional.ofNullable(ExcelUtils.getString(cell)).orElse("");
                             if (Strings.isNullOrEmpty(idNo) && idNo.length() != 18) {
-                                return ResultUtil.error(y.getName()+"身份证格式不正确");
+                                return ResultUtil.error(y.getName() + "身份证格式不正确");
                             }
-                            if(!idNo.matches("^(\\d{6})(\\d{4})(\\d{2})(\\d{2})(\\d{3})([0-9]|X)$")) {
-                                return ResultUtil.error(y.getName()+"身份证格式不正确");
+                            if (!idNo.matches("^(\\d{6})(\\d{4})(\\d{2})(\\d{2})(\\d{3})([0-9]|X)$")) {
+                                return ResultUtil.error(y.getName() + "身份证格式不正确");
                             }
 
                             try {
-                                y.setBirthday(dtf.parse(idNo.substring(6,14)));
+                                y.setBirthday(dtf.parse(idNo.substring(6, 14)));
                             } catch (ParseException e) {
                                 e.printStackTrace();
                             }
@@ -940,15 +940,15 @@ public class InsureContorll {
                             break;
                     }
                 }
-                if (StringUtils.isNullOrEmpty(y.getName())||StringUtils.isNullOrEmpty(y.getZjNum())) {
+                if (StringUtils.isNullOrEmpty(y.getName()) || StringUtils.isNullOrEmpty(y.getZjNum())) {
                     continue;
                 }
                 yg.add(y);
             }
             List<YgglMainEmp> userList = YgglMainEmp.builder().build().selectList(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getOrgCode, orgCode));
-            List<String> idNumList=userList.stream().map(YgglMainEmp::getZjNum).collect(Collectors.toList());
-            List<YgglMainEmp> newList= yg.stream().filter(v->!idNumList.contains(v.getZjNum())).collect(Collectors.toList());
-            if(newList.size()>0) {
+            List<String> idNumList = userList.stream().map(YgglMainEmp::getZjNum).collect(Collectors.toList());
+            List<YgglMainEmp> newList = yg.stream().filter(v -> !idNumList.contains(v.getZjNum())).collect(Collectors.toList());
+            if (newList.size() > 0) {
                 newList.forEach(u -> u.insert());
             }
             //假期规则初始化
@@ -961,4 +961,146 @@ public class InsureContorll {
         return ResultUtil.data("成功添加");
     }
 
+    @PostMapping(value = "/importPolicy")
+    @ApiOperation(value = "导入保单--运营后台", httpMethod = "post", notes = "导入用户")
+    public Result<Object> importPolicy(@RequestParam("file") MultipartFile file) {
+        SimpleDateFormat dtf = new SimpleDateFormat("yyyyMMdd");
+
+        if (file.getSize() <= 0) {
+            return ResultUtil.error("请上传文件");
+        }
+
+        try {
+            XSSFWorkbook xw = new XSSFWorkbook(file.getInputStream());
+            XSSFSheet sheetAt = xw.getSheetAt(0);
+            //默认第一行为标题行,i = 0
+            XSSFRow titleRow = sheetAt.getRow(0);
+            InsurePolicy policy = InsurePolicy.builder().build();
+            QyzxEntInfoM company = null;
+            InsureUser user;
+            List<InsureUser> userList = Lists.newArrayList();
+            // 循环获取每一行数据
+            for (int i = 1; i < sheetAt.getPhysicalNumberOfRows(); i++) {
+                XSSFRow row = sheetAt.getRow(i);
+                user = InsureUser.builder().build();
+                // 读取每一格内容
+                for (int index = 0; index < row.getPhysicalNumberOfCells(); index++) {
+                    XSSFCell titleCell = titleRow.getCell(index);
+                    XSSFCell cell = row.getCell(index);
+                    cell.setCellType(CellType.STRING);
+                    switch (ExcelUtils.getString(titleCell)) {
+                        case "申报日期":
+                            Date createTime = null;
+                            try {
+                                createTime = dtf3.parse(ExcelUtils.getString(cell));
+                            } catch (ParseException e) {
+                                e.printStackTrace();
+                            }
+                            policy.setCreateTime(createTime);
+                            break;
+                        case "保单号":
+                            policy.setPolicyNo(Optional.ofNullable(ExcelUtils.getString(cell)).orElse(""));
+                            user.setPolicyNo(Optional.ofNullable(ExcelUtils.getString(cell)).orElse(""));
+                            break;
+                        case "申报类型":
+                            if (ExcelUtils.getString(cell).equals("新增")) {
+                                user.setApplyType(1);
+                            } else if (ExcelUtils.getString(cell).equals("批改")) {
+                                user.setApplyType(3);
+                            }
+                            break;
+                        case "方案名称":
+                            break;
+                        case "有效时间":
+                            Date start = null;
+                            try {
+                                start = dtf3.parse(ExcelUtils.getString(cell));
+                            } catch (ParseException e) {
+                                e.printStackTrace();
+                            }
+                            user.setPolicyDateStart(start);
+                            policy.setPolicyDateStart(start);
+                            break;
+                        case "有效期止":
+                            Date end = null;
+                            try {
+                                end = dtf3.parse(ExcelUtils.getString(cell));
+                            } catch (ParseException e) {
+                                e.printStackTrace();
+                            }
+                            user.setPolicyDateStart(end);
+                            policy.setPolicyDateStart(end);
+                            break;
+                        case "被保险人姓名":
+                            user.setInsuredEContact(ExcelUtils.getString(cell));
+                            break;
+                        case "证件类型":
+                            if (ExcelUtils.getString(cell).equals("身份证")) {
+
+                            }
+                            break;
+                        case "证件号码":
+                            user.setInsuredNo(ExcelUtils.getString(cell));
+                            break;
+                        case "二、三轮车车架号":
+                            user.setTricycleFrameNumber(!ExcelUtils.getString(cell).equals("无") ? ExcelUtils.getString(cell) : null);
+                            break;
+                        case "职业类别":
+                            if (ExcelUtils.getString(cell).equals("A类")) {
+                                user.setBenefitOccupationCategory("63119");
+                            } else if (ExcelUtils.getString(cell).equals("B类")) {
+                                user.setBenefitOccupationCategory("63120");
+                            } else if (ExcelUtils.getString(cell).equals("C类")) {
+                                user.setBenefitOccupationCategory("63121");
+                            }
+                            break;
+                        case "企业全称":
+                            company = QyzxEntInfoM.builder().build().selectOne(new QueryWrapper<QyzxEntInfoM>().lambda().eq(QyzxEntInfoM::getAttestName, ExcelUtils.getString(cell)));
+                            if (company == null) {
+                                return ResultUtil.error("企业不存在");
+                            }
+                            user.setOrgCode(company.getId());
+                            break;
+                        case "总保费":
+                            user.setPrice(ExcelUtils.getString(cell));
+                            break;
+                    }
+                }
+                userList.add(user);
+            }
+            InsurePolicy oldPolicy = InsurePolicy.builder().build().selectOne(new QueryWrapper<InsurePolicy>().lambda().eq(InsurePolicy::getPolicyNo, policy.getPolicyNo()));
+            if (oldPolicy == null) {
+                policy.insert();
+            } else {
+                policy = oldPolicy;
+            }
+            if (userList.size() <= 0) {
+                return ResultUtil.error("导入错误,保单已存在");
+            }
+            for (InsureUser insureUser : userList) {
+                /*根据名字,身份,所属企业获取员工*/
+                YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda()
+                        .eq(YgglMainEmp::getName, insureUser.getInsuredEContact())
+                        .eq(YgglMainEmp::getZjNum, insureUser.getInsuredNo())
+                        .eq(YgglMainEmp::getOrgCode, insureUser.getOrgCode()));
+                if (ygglMainEmp != null) {
+                    ygglMainEmp.setIsInsure(1);
+                } else {
+                    /*如果不存在员工就创建一名员工*/
+                    ygglMainEmp.builder().build();
+                    ygglMainEmp.setName(insureUser.getInsuredEContact());
+                    ygglMainEmp.setZjType(0);
+                    ygglMainEmp.setZjNum(insureUser.getInsuredNo());
+                    ygglMainEmp.setOrgCode(insureUser.getOrgCode());
+                }
+                insureUser.setPolicyId(policy.getId());
+                ygglMainEmp.insertOrUpdate();
+                insureUser.insert();
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return ResultUtil.data("成功导入");
+    }
+
 }