| | |
| | | |
| | | |
| | | /** |
| | | * 导入团体体检预约列表 |
| | | */ |
| | | @PostMapping("/newExcelImportNotDwDeptId") |
| | | @ApiOperation(value = "团体导入 (新版本不传单位部门id)") |
| | | @Transactional |
| | | public AjaxResult newExcelImportNotDwDeptId(@RequestPart(value = "file") @ApiParam(value = "Excel文件") MultipartFile file, |
| | | @RequestParam @ApiParam(value = "单位id") String dwId) { |
| | | List<TjReservation> tjReservations = null; |
| | | try { |
| | | tjReservations = ExcelUtils.readMultipartFile(file, TjReservation.class); |
| | | } catch (Exception e) { |
| | | return AjaxResult.error("导入文件有误请检查导入文件!"); |
| | | } |
| | | int grouping = dwGroupingService.selectTjDwGroupingByDwId(dwId); |
| | | |
| | | if(grouping==0){ |
| | | return AjaxResult.error("请检查该单位是否存否存在项目!"); |
| | | } |
| | | |
| | | List<String> wrongList = new ArrayList<>(); |
| | | List<TjReservation> rightList = new ArrayList<>(); |
| | | List<TjReservation> yyList = new ArrayList<>(); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | TjDwGrouping groupingMan = null;//男 |
| | | TjDwGrouping groupingWoMan = null;//女 |
| | | TjDwGrouping groupingWz = null;//未知(不分性别) |
| | | try { |
| | | groupingMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) |
| | | .eq(TjDwGrouping::getSex, 0)); |
| | | groupingWoMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) |
| | | .eq(TjDwGrouping::getSex, 1)); |
| | | groupingWz = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) |
| | | .eq(TjDwGrouping::getSex, 2)); |
| | | } catch (Exception e) { |
| | | return AjaxResult.error("分组信息有误请重新分组!"); |
| | | } |
| | | //计算合计 |
| | | BigDecimal hjMoney = new BigDecimal("0.00"); |
| | | //男组金额 |
| | | BigDecimal manMoney = new BigDecimal("0.00"); |
| | | //女组金额 |
| | | BigDecimal woManMoney = new BigDecimal("0.00"); |
| | | int count=0;//总计人数 |
| | | int manCount=0;//男组人数 |
| | | int woManCount=0;//女组人数 |
| | | for (TjReservation tjReservation : tjReservations) { |
| | | String idCard = tjReservation.getIdCard(); |
| | | String phoe = tjReservation.getPhoe(); |
| | | if (null != idCard && null != phoe) { |
| | | // if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)) { |
| | | if (idCard.isEmpty() || phoe.isEmpty()) { |
| | | wrongList.add(tjReservation.getName()); |
| | | } else { |
| | | //年龄 |
| | | tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); |
| | | //出生日期 |
| | | tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()),"yyyy-MM-dd")); |
| | | |
| | | if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex()))) { |
| | | |
| | | tjReservation.setGroupingId(groupingMan.getId()); |
| | | tjReservation.setGroupingName(groupingMan.getGroupingName()); |
| | | tjReservation.setYsPrice(groupingMan.getYsPrice()); |
| | | //合计 |
| | | hjMoney = hjMoney.add(groupingMan.getYsPrice()); count+=1; |
| | | //男组人数 |
| | | manMoney=manMoney.add(groupingMan.getYsPrice()); manCount+=1; |
| | | |
| | | } else if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex()))) { |
| | | |
| | | tjReservation.setGroupingId(groupingWoMan.getId()); |
| | | tjReservation.setGroupingName(groupingWoMan.getGroupingName()); |
| | | tjReservation.setYsPrice(groupingWoMan.getYsPrice()); |
| | | //合计 |
| | | hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); count+=1; |
| | | woManMoney=woManMoney.add(groupingWoMan.getYsPrice());woManCount+=1; |
| | | |
| | | } else if (null != groupingWz && groupingWz.getSex().equals(String.valueOf(tjReservation.getSex()))) { |
| | | |
| | | tjReservation.setGroupingId(groupingWz.getId()); |
| | | tjReservation.setGroupingName(groupingWz.getGroupingName()); |
| | | tjReservation.setYsPrice(groupingWz.getYsPrice()); |
| | | //合计 |
| | | hjMoney = hjMoney.add(groupingWz.getYsPrice()); count+=1; |
| | | |
| | | } |
| | | |
| | | LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjReservation::getIdCard, tjReservation.getIdCard()); |
| | | wq.eq(TjReservation::getIsExpire, 2); |
| | | TjReservation one = tjReservationService.getOne(wq); |
| | | if (null != one) { |
| | | yyList.add(one); |
| | | } |
| | | rightList.add(tjReservation); |
| | | } |
| | | } else { |
| | | wrongList.add(tjReservation.getName()); |
| | | } |
| | | } |
| | | if (yyList.size() > 0) { |
| | | map.put("list", yyList); |
| | | map.put("hjMoney", hjMoney); |
| | | return AjaxResult.error("操作失败,以上人员已经预约无需导入!!!", map); |
| | | } |
| | | |
| | | if (wrongList.size() > 0) { |
| | | map.put("list", wrongList); |
| | | map.put("hjMoney", hjMoney); |
| | | return AjaxResult.error("操作失败, 请核对信息后重新导入!!!", map); |
| | | } else { |
| | | map.put("list", rightList); |
| | | map.put("count", count); |
| | | map.put("hjMoney", hjMoney); |
| | | map.put("manCount", manCount); |
| | | map.put("manMoney", manMoney); |
| | | map.put("woManCount", woManCount); |
| | | map.put("woManMoney", woManMoney); |
| | | return AjaxResult.success("操作成功", map); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 个人预约接口 |
| | | */ |
| | | @PostMapping("/addTjReservation") |