| | |
| | | import cn.hutool.extra.pinyin.PinyinUtil; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.alibaba.druid.sql.visitor.functions.Isnull; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.ltkj.common.core.controller.BaseController; |
| | | import com.ltkj.common.core.domain.AjaxResult; |
| | |
| | | @RestController |
| | | @RequestMapping("/reservation/reservation") |
| | | @Api(tags = "体检预约管理接口") |
| | | @Slf4j |
| | | public class TjReservationController extends BaseController { |
| | | @Resource |
| | | private ITjReservationService tjReservationService; |
| | |
| | | private ITjGroupingProService groupingProService; |
| | | @Resource |
| | | private TjAsyncService asyncService; |
| | | // @Resource |
| | | // private OrderDelayService delayService; |
| | | @Autowired |
| | | private TaskService taskService; |
| | | @Resource |
| | | private ITjReportTemplateService reportTemplateService; |
| | | @Autowired |
| | | private ISysDictDataService dictDataService; |
| | | @Autowired |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | String idCard = tjReservation.getIdCard(); |
| | | String phoe = tjReservation.getPhoe(); |
| | | if (null != idCard && null != phoe) { |
| | | // if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)) { |
| | | // if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)); |
| | | if (idCard.isEmpty() || phoe.isEmpty()) { |
| | | wrongList.add(tjReservation.getName()); |
| | | } else { |
| | | String str = MatchUtils.translateToPlainStr(tjReservation.getPhoe()); |
| | | |
| | | tjReservation.setPhoe(str); |
| | | //年龄 |
| | | tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); |
| | | //出生日期 |
| | |
| | | tjReservation.setGroupingName(groupingMan.getGroupingName()); |
| | | tjReservation.setYsPrice(groupingMan.getYsPrice()); |
| | | //合计 |
| | | hjMoney = hjMoney.add(groupingMan.getYsPrice()); count+=1; |
| | | hjMoney = hjMoney.add(groupingMan.getYsPrice()); |
| | | count += 1; |
| | | //男组人数 |
| | | manMoney=manMoney.add(groupingMan.getYsPrice()); manCount+=1; |
| | | manMoney = manMoney.add(groupingMan.getYsPrice()); |
| | | manCount += 1; |
| | | |
| | | } else if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex()))) { |
| | | |
| | |
| | | tjReservation.setGroupingName(groupingWoMan.getGroupingName()); |
| | | tjReservation.setYsPrice(groupingWoMan.getYsPrice()); |
| | | //合计 |
| | | hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); count+=1; |
| | | woManMoney=woManMoney.add(groupingWoMan.getYsPrice());woManCount+=1; |
| | | 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.setGroupingName(groupingWz.getGroupingName()); |
| | | tjReservation.setYsPrice(groupingWz.getYsPrice()); |
| | | //合计 |
| | | hjMoney = hjMoney.add(groupingWz.getYsPrice()); count+=1; |
| | | hjMoney = hjMoney.add(groupingWz.getYsPrice()); |
| | | count += 1; |
| | | |
| | | } |
| | | |
| | |
| | | } catch (Exception e) { |
| | | return AjaxResult.error("分组信息有误请重新分组!"); |
| | | } |
| | | |
| | | String sfjysfzh = configService.selectConfigByKey("sfjysfzh"); |
| | | String sfjysjh = configService.selectConfigByKey("sfjysjh"); |
| | | |
| | | //计算合计 |
| | | BigDecimal hjMoney = new BigDecimal("0.00"); |
| | | //男组金额 |
| | |
| | | int count=0;//总计人数 |
| | | int manCount=0;//男组人数 |
| | | int woManCount=0;//女组人数 |
| | | List<String> ids=new ArrayList<>(); |
| | | |
| | | 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() || null==tjReservation.getDwxm()) { |
| | | idCard= idCard.replaceAll("[',,;.。 ‘“]",""); |
| | | |
| | | if (!StringUtils.isBlank(idCard) || !StringUtils.isBlank(phoe) || null != tjReservation.getDwxm()) { |
| | | //将科学计数的手机号转换成文本形式 |
| | | phoe = MatchUtils.translateToPlainStr(tjReservation.getPhoe()); |
| | | |
| | | if(!ids.isEmpty() && ids.contains(tjReservation.getIdCard())){ |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return AjaxResult.error("此身份证号: "+tjReservation.getIdCard()+" 重复,请核对后上传!"); |
| | | } |
| | | |
| | | ids.add(tjReservation.getIdCard()); |
| | | |
| | | // if (sfjysfzh.equalsIgnoreCase("Y") || sfjysjh.equalsIgnoreCase("Y")) { |
| | | if ((sfjysfzh.equalsIgnoreCase("Y") && !MatchUtils.isIdCard(idCard)) || |
| | | (sfjysjh.equalsIgnoreCase("Y") && !MatchUtils.isMobileNO(phoe))) { |
| | | wrongList.add(tjReservation.getName()); |
| | | log.info(tjReservation.getName()+idCard+MatchUtils.isIdCard(idCard)+MatchUtils.isMobileNO(phoe)); |
| | | } else { |
| | | |
| | | |
| | | tjReservation.setPhoe(phoe); |
| | | |
| | | //年龄 |
| | | tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); |
| | | //出生日期 |
| | |
| | | tjReservation.setGroupingName(groupingMan.getGroupingName()); |
| | | tjReservation.setYsPrice(groupingMan.getYsPrice()); |
| | | //合计 |
| | | hjMoney = hjMoney.add(groupingMan.getYsPrice()); count+=1; |
| | | hjMoney = hjMoney.add(groupingMan.getYsPrice()); |
| | | count += 1; |
| | | //男组人数 |
| | | manMoney=manMoney.add(groupingMan.getYsPrice()); manCount+=1; |
| | | manMoney = manMoney.add(groupingMan.getYsPrice()); |
| | | manCount += 1; |
| | | } |
| | | } |
| | | |
| | |
| | | tjReservation.setGroupingName(groupingWoMan.getGroupingName()); |
| | | tjReservation.setYsPrice(groupingWoMan.getYsPrice()); |
| | | //合计 |
| | | hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); count+=1; |
| | | woManMoney=woManMoney.add(groupingWoMan.getYsPrice());woManCount+=1; |
| | | hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); |
| | | count += 1; |
| | | woManMoney = woManMoney.add(groupingWoMan.getYsPrice()); |
| | | woManCount += 1; |
| | | } |
| | | } |
| | | for (TjDwGrouping groupingWz : groupingWzs) { |
| | |
| | | tjReservation.setGroupingName(groupingWz.getGroupingName()); |
| | | tjReservation.setYsPrice(groupingWz.getYsPrice()); |
| | | //合计 |
| | | hjMoney = hjMoney.add(groupingWz.getYsPrice());count+=1; |
| | | hjMoney = hjMoney.add(groupingWz.getYsPrice()); |
| | | count += 1; |
| | | if(tjReservation.getSex()==0){ |
| | | manMoney=manMoney.add(groupingWz.getYsPrice()); manCount+=1; |
| | | manMoney = manMoney.add(groupingWz.getYsPrice()); |
| | | manCount += 1; |
| | | } |
| | | if(tjReservation.getSex()==1){ |
| | | woManMoney=woManMoney.add(groupingWz.getYsPrice());woManCount+=1; |
| | | woManMoney = woManMoney.add(groupingWz.getYsPrice()); |
| | | woManCount += 1; |
| | | } |
| | | |
| | | } |
| | |
| | | }else { |
| | | wrongList.add(tjReservation.getName()); |
| | | } |
| | | |
| | | } |
| | | // } |
| | | // else { |
| | | // //将科学计数的手机号转换成文本形式 |
| | | // String str = MatchUtils.translateToPlainStr(tjReservation.getPhoe()); |
| | | // tjReservation.setPhoe(str); |
| | | // |
| | | // //年龄 |
| | | // tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); |
| | | // //出生日期 |
| | | // tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); |
| | | // |
| | | // TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm())); |
| | | // if (null != dwDept) { |
| | | // for (TjDwGrouping groupingMan : groupingMans) { |
| | | // if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) { |
| | | // 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; |
| | | // } |
| | | // } |
| | | // |
| | | // for (TjDwGrouping groupingWoMan : groupingWoMans) { |
| | | // if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) { |
| | | // 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; |
| | | // } |
| | | // } |
| | | // for (TjDwGrouping groupingWz : groupingWzs) { |
| | | // if (null != groupingWz && groupingWz.getDwDeptId().equals(dwDept.getId())) { |
| | | // tjReservation.setGroupingId(groupingWz.getId()); |
| | | // tjReservation.setGroupingName(groupingWz.getGroupingName()); |
| | | // tjReservation.setYsPrice(groupingWz.getYsPrice()); |
| | | // //合计 |
| | | // hjMoney = hjMoney.add(groupingWz.getYsPrice()); |
| | | // count += 1; |
| | | // if (tjReservation.getSex() == 0) { |
| | | // manMoney = manMoney.add(groupingWz.getYsPrice()); |
| | | // manCount += 1; |
| | | // } |
| | | // if (tjReservation.getSex() == 1) { |
| | | // woManMoney = woManMoney.add(groupingWz.getYsPrice()); |
| | | // woManCount += 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()); |
| | | // } |
| | | // } |
| | | |
| | | } else { |
| | | wrongList.add(tjReservation.getName()); |
| | | } |
| | |
| | | JSONObject parseObj = JSONUtil.parseObj(payTypeGlTjType); |
| | | if (null != rightList && !rightList.isEmpty()) { |
| | | |
| | | List<String> ids=new ArrayList<>(); |
| | | |
| | | for (TjReservation reservation : rightList) { |
| | | |
| | | if(!ids.isEmpty() && ids.contains(reservation.getIdCard())){ |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return AjaxResult.error("此身份证号: "+reservation.getIdCard()+" 重复,请核对后上传!"); |
| | | |
| | | } |
| | | |
| | | ids.add(reservation.getIdCard()); |
| | | |
| | | TjDwGrouping dwGrouping = dwGroupingService.getById(reservation.getGroupingId()); |
| | | |
| | |
| | | compPayService.save(tjCompPay); |
| | | } |
| | | |
| | | // .filter(a-> null != a.getPacId()) |
| | | |
| | | Map<String, List<TjReservation>> collect = rightList.stream().collect(Collectors.groupingBy(TjReservation::getPacId)); |
| | | |
| | | if(!collect.isEmpty()){ |