zjh
2025-03-20 b57c0f8b28c5cfbf66986f7e73cf3d1f601bc60e
zjh20250320
8个文件已修改
410 ■■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/app/CustomerController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReservationController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java 251 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/app/CustomerController.java
@@ -147,7 +147,7 @@
        substring = DigestUtils.md5DigestAsHex(substring.getBytes());
        tjCustomer.setCusPassword(substring);
        try {
            tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(cusIdcard), "yyyy-MM-dd"));
            tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(cusIdcard));
        } catch (Exception e) {
            return AjaxResult.error("身份证号不正确");
        }
ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReservationController.java
@@ -98,7 +98,7 @@
        TjReservation reservation = reservationService.getOne(wq);
        if (null != reservation) return AjaxResult.success("您已成功预约,无需再约");
        try {
            tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
            tjReservation.setBirthday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
        } catch (Exception e) {
            e.printStackTrace();
        }
ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java
@@ -14,6 +14,7 @@
import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
import com.ltkj.hosp.domain.DictHosp;
import com.ltkj.hosp.domain.TjJcycxm;
import com.ltkj.hosp.domain.TjOrder;
import com.ltkj.hosp.domain.TjProject;
import com.ltkj.hosp.mapper.TestMapper;
import com.ltkj.hosp.service.*;
@@ -282,6 +283,28 @@
                jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s);
                jcsqdService.saveBatch(jcsqdList);
                List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s);
                if(null !=jcsqdList && !jcsqdList.isEmpty()){
                    for (LtkjExamJcsqd jcsqd : jcsqdList) {
                        if(StringUtil.isNotBlank(jcsqd.getJgzt())){
                            String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;");
                            for (String jg : split) {
                                if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
                                        && !jg.contains("未见明显异常") && !jg.contains("未见占位") && !jg.contains("未见")
                                        && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")){
                                    TjJcycxm jcycxm=new TjJcycxm();
                                    jcycxm.setTjh(s);
                                    jcycxm.setYqid(dqyyyqbm);
                                    String[] split1 = jcsqd.getJcxmid().split(";");
                                    jcycxm.setProId(split1[0]);
                                    jcycxm.setProName(jcsqd.getJcxmmc());
                                    jcycxm.setCreateTime(new Date());
                                    jcycxm.setJcjg(jg);
                                    jcycxmService.save(jcycxm);
                                }
                            }
                        }
                    }
                }
                DynamicDataSourceContextHolder.clearDataSourceType();
                if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList);
                DynamicDataSourceContextHolder.clearDataSourceType();
@@ -347,39 +370,48 @@
    @GetMapping ("/tjjcycxm")//同步his项目单价信息
//    @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')")
    @ApiOperation (value = "tjjcycxm")
    public AjaxResult tjjcycxm() {
    public AjaxResult tjjcycxm(@RequestParam(required = false)@ApiParam(value = "体检号") String tjh) {
        String yqbm = configService.selectConfigByKey("common_api_service_hospbm");
        if(StringUtil.isNotBlank(tjh)){
            zongjianshengchengyichangxiangmu(tjh, yqbm);
            return AjaxResult.success();
        }
        List<String> jc = orderService.getJianChaTjNum();
        if (null != jc && !jc.isEmpty()) {
            for (String s : jc) {
                jcycxmService.deletedByTjh(s);
                List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(s);
                if(null !=list && !list.isEmpty()){
                    for (LtkjExamJcsqd jcsqd : list) {
                        if(StringUtil.isNotBlank(jcsqd.getJgzt())){
                            String[] split = jcsqd.getJgzt().split("。");
                            for (String jg : split) {
                                if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
                                        && !jg.contains("未见明显异常") && !jg.contains("未见占位")
                                        && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")&& !jg.contains("无殊")){
                                    TjJcycxm jcycxm=new TjJcycxm();
                                    jcycxm.setTjh(s);
                                    jcycxm.setYqid(yqbm);
                                    String[] split1 = jcsqd.getJcxmid().split(";");
                                    jcycxm.setProId(split1[0]);
                                    jcycxm.setProName(jcsqd.getJcxmmc());
                                    jcycxm.setCreateTime(new Date());
                                    jcycxm.setJcjg(jg);
                                    jcycxmService.save(jcycxm);
                                }
                            }
                        }
                    }
                }
                zongjianshengchengyichangxiangmu(s, yqbm);
            }
        }
        return AjaxResult.success();
    }
    public void zongjianshengchengyichangxiangmu(String s, String yqbm) {
        TjOrder order = orderService.getOrderByTjNum(s);
        jcycxmService.deletedByTjh(order.getCardId());
        List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(order.getCardId());
        if(null !=list && !list.isEmpty()){
            for (LtkjExamJcsqd jcsqd : list) {
                if(StringUtil.isNotBlank(jcsqd.getJgzt())){
                    String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;");
                    for (String jg : split) {
                        if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
                                && !jg.contains("未见明显异常") && !jg.contains("未见占位")
                                && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")&& !jg.contains("无殊")){
                            TjJcycxm jcycxm=new TjJcycxm();
                            jcycxm.setTjh(s);
                            jcycxm.setYqid(yqbm);
                            String[] split1 = jcsqd.getJcxmid().split(";");
                            jcycxm.setProId(split1[0]);
                            jcycxm.setProName(jcsqd.getJcxmmc());
                            jcycxm.setCreateTime(new Date());
                            jcycxm.setJcjg(jg);
                            jcycxmService.save(jcycxm);
                        }
                    }
                }
            }
        }
    }
}
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -37,6 +37,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import jodd.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import lombok.var;
import org.aspectj.weaver.AjAttribute;
@@ -131,6 +132,8 @@
    private TjOrderYcxmService ycxmService;
    @Autowired
    private SysConfigController configController;
    @Autowired
    private TjJcycxmService jcycxmService;
    @GetMapping ("/ceshicc")
@@ -734,7 +737,7 @@
                String doctorId = configService.selectConfigByKey("request_default_check_doctorId");
                //根据配置调取存储过程 将临时表数据存入预约表2023.12.12
                final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
                String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm");
                final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
                TjOrder order = orderService.getOrderByTjNum(tjNumber);
                if (null != order) {
@@ -878,8 +881,32 @@
                                            jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
                                        jcbgd.setCreateTime(new Date());
                                        jcbgdService.save(jcbgd);
                                    }
                                    jcsqdService.saveLtkjExamJcsqd(order.getCardId());
                        /*            List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(order.getCardId());
                                    if(null !=jcsqdList && !jcsqdList.isEmpty()) {
                                        for (LtkjExamJcsqd jcsqd : jcsqdList) {
                                            if (StringUtil.isNotBlank(jcsqd.getJgzt())) {
                                                String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;");
                                                for (String jg : split) {
                                                    if (StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
                                                            && !jg.contains("未见明显异常") && !jg.contains("未见占位") && !jg.contains("未见")
                                                            && !jg.contains("未见明显") && !jg.contains("正常") && !jg.contains("双侧椎间孔无狭窄")) {
                                                        TjJcycxm jcycxm = new TjJcycxm();
                                                        jcycxm.setTjh(order.getTjNumber());
                                                        jcycxm.setYqid(dqyyyqbm);
                                                        String[] split1 = jcsqd.getJcxmid().split(";");
                                                        jcycxm.setProId(split1[0]);
                                                        jcycxm.setProName(jcsqd.getJcxmmc());
                                                        jcycxm.setCreateTime(new Date());
                                                        jcycxm.setJcjg(jg);
                                                        jcycxmService.save(jcycxm);
                                                    }
                                                }
                                            }
                                        }
                                    }*/
                                    testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
                                }else {
//                                    return AjaxResult.error("检查项目暂时未出结果,请稍后同步!!!");
@@ -1682,12 +1709,16 @@
    @GetMapping ("/getzongjianyishengchakanyichangxiangmu")
    @ApiOperation (value = "总检查看异常项目接口")
    public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
        long l = System.currentTimeMillis();
        if (StrUtil.isNotBlank(tjNum)) {
            TjOrder one = orderService.getOrderByTjNum(tjNum);
            if (one == null) {
                return AjaxResult.error("暂无数据!!");
            }
            String yqbm = configService.selectConfigByKey("common_api_service_hospbm");
            jcycxmService.deletedByTjh(tjNum);
            configController.zongjianshengchengyichangxiangmu(tjNum,yqbm);
        LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>();
        wq.eq(TjOrderYcxm::getTjh,tjNum);
@@ -1741,14 +1772,15 @@
                List<Map<String, Object>> collect1 = maps.stream()
                        .sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString()))
                        .collect(Collectors.toList());
                System.out.println("总耗时:"+(System.currentTimeMillis()-l));
                return AjaxResult.success(collect1);
            }
           return AjaxResult.success(maps);
            System.out.println("总耗时:"+(System.currentTimeMillis()-l));
            return AjaxResult.success(maps);
        }else {
            List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum);
//            if(mapList.isEmpty()){
//                return AjaxResult.success("暂无数据");
//            }
            System.out.println("总耗时:"+(System.currentTimeMillis()-l));
            return AjaxResult.success(mapList);
        }
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -46,6 +46,8 @@
import com.ltkj.common.utils.poi.ExcelUtil;
import com.ltkj.common.core.page.TableDataInfo;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
import java.util.stream.Collectors;
@@ -244,7 +246,7 @@
                    tjCustomer1.setCusName(tjReservation.getName());
                    tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
                    try {
                        tjCustomer1.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
                        tjCustomer1.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
                    } catch (Exception e) {
                        return AjaxResult.error("身份证号不正确");
                    }
@@ -278,7 +280,7 @@
                    tjCustomer.setCusName(tjReservation.getName());
                    tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex()));
                    try {
                        tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
                        tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
                    } catch (Exception e) {
                        return AjaxResult.error("身份证号不正确");
                    }
@@ -522,7 +524,7 @@
        tjCustomer.setCusPassword(substring);
        if(cusIdcard.length()==18) {
            try {
                tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
                tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()));
            } catch (Exception e) {
                return AjaxResult.error("身份证号不正确");
            }
@@ -666,7 +668,7 @@
            tjCustomer.setCusPhone(cusPhone);
            tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),""));
            tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
            tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()));
            if (tjCustomerService.updateById(tjCustomer)) {
                String config = sysConfigService.selectConfigByKey("sfkqdyhis");
                if (null != config && config.equals("Y")) {
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java
@@ -333,7 +333,7 @@
                Map<String, Object> map = new HashMap<>();
                map.put("waterId", tjFlowingWater.getWaterId());
                map.put("mobanId", reportService.getMoBanIds());
                tjFlowingWaterService.getTjBlCall(order.getTjNumber());
                return AjaxResult.success("收费成功", map);
            }
        }
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
@@ -45,6 +45,7 @@
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.NoTransactionException;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
@@ -282,7 +283,7 @@
                    tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard())));
                    //出生日期
                    try {
                        tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
                        tjReservation.setBirthday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
                    } catch (Exception e) {
                        return AjaxResult.error("身份证号不正确");
                    }
@@ -395,40 +396,43 @@
            return AjaxResult.error("分组信息有误请重新分组!");
        }
        String sfjysfzh = configService.selectConfigByKey("sfjysfzh");
        String sfjysjh = configService.selectConfigByKey("sfjysjh");
        try {
            String sfjysfzh = configService.selectConfigByKey("sfjysfzh");
            String sfjysjh = configService.selectConfigByKey("sfjysjh");
        //计算合计
        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;//女组人数
        List<String> ids=new ArrayList<>();
            //计算合计
            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;//女组人数
            List<String> ids=new ArrayList<>();
        for (TjReservation tjReservation : tjReservations) {
            String idCard = tjReservation.getIdCard();
            String phoe = tjReservation.getPhoe();
                  idCard= idCard.replaceAll("[',,;.。 ‘“]","");
            String errMsg="";
            for (TjReservation tjReservation : tjReservations) {
                String idCard = tjReservation.getIdCard();
                String phoe = tjReservation.getPhoe();
                idCard= idCard.replaceAll("[',,;.。 ‘“]","");
            if (!StringUtils.isBlank(idCard) || !StringUtils.isBlank(phoe) || null != tjReservation.getDwxm()) {
                //将科学计数的手机号转换成文本形式
                phoe = MatchUtils.translateToPlainStr(tjReservation.getPhoe());
                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()+" 重复,请核对后上传!");
                }
                    if(!ids.isEmpty() && ids.contains(tjReservation.getIdCard())){
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return AjaxResult.error("此身份证号: "+tjReservation.getIdCard()+" 重复,请核对后上传!");
                    }
                ids.add(tjReservation.getIdCard());
                    ids.add(tjReservation.getIdCard());
//                if (sfjysfzh.equalsIgnoreCase("Y") || sfjysjh.equalsIgnoreCase("Y")) {
                    //                if (sfjysfzh.equalsIgnoreCase("Y") || sfjysjh.equalsIgnoreCase("Y")) {
                    if ((sfjysfzh.equalsIgnoreCase("Y") && !MatchUtils.isIdCard(idCard)) ||
                            (sfjysjh.equalsIgnoreCase("Y") && !MatchUtils.isMobileNO(phoe))) {
                        wrongList.add(tjReservation.getName());
                        errMsg="身份证号/手机号 格式不准确";
                        log.info(tjReservation.getName()+idCard+MatchUtils.isIdCard(idCard)+MatchUtils.isMobileNO(phoe));
                    }else {
@@ -439,12 +443,12 @@
                        tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard())));
                        //出生日期
                        try {
                            tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
                            tjReservation.setBirthday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
                        } catch (Exception e) {
                            return AjaxResult.error("身份证号不正确");
                        }
                        TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm()));
                        TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm().trim()));
                        if (null != dwDept) {
                            for (TjDwGrouping groupingMan : groupingMans) {
                                if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) {
@@ -501,102 +505,109 @@
                            rightList.add(tjReservation);
                        } else {
                            wrongList.add(tjReservation.getName());
                            errMsg="所选项目名 不正确";
                        }
                    }
//                }
//                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 {
                    //                    //将科学计数的手机号转换成文本形式
                    //                    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());
                } else {
                    wrongList.add(tjReservation.getName());
                    errMsg="身份证号/手机号/项目名为空";
                }
            }
        }
        if (!yyList.isEmpty()) {
            map.put("list", yyList);
            map.put("hjMoney", hjMoney);
            return AjaxResult.error("操作失败,以上人员已经预约无需导入!!!", map);
        }
            if (!yyList.isEmpty()) {
                map.put("list", yyList);
                map.put("hjMoney", hjMoney);
                return AjaxResult.error("操作失败,以上人员已经预约无需导入!!!", map);
            }
        if (!wrongList.isEmpty()) {
            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);
            if (!wrongList.isEmpty()) {
                map.put("list", wrongList);
                map.put("hjMoney", hjMoney);
                return AjaxResult.error("操作失败, 请认真核对信息后重新导入!!!"+errMsg, 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);
            }
        } catch (NoTransactionException e) {
//            throw new RuntimeException(e);
            log.error(String.valueOf(e),e.getMessage());
            return AjaxResult.error();
        }
    }
@@ -629,7 +640,7 @@
        if (null != reservation) return AjaxResult.success("您已成功预约,无需再约");
        //tjReservation.setAge(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()));
        try {
            tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
            tjReservation.setBirthday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
        } catch (Exception e) {
            e.printStackTrace();
        }
ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java
@@ -1,12 +1,12 @@
package com.ltkj.framework.config;
import cn.hutool.core.date.DateUtil;
import com.ltkj.common.utils.StringUtils;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -248,7 +248,7 @@
    /**
     * @desc 通过身份证获取出生日期
     */
    public static String getBirthDayByIdCard(String idCard) throws Exception {
    public static Date getBirthDayByIdCard(String idCard) throws Exception {
        if (!isIdCard(idCard)) {
            throw new Exception("身份证不正确");
        }
@@ -258,7 +258,14 @@
        int year = Integer.parseInt(birth.substring(0, 4));
        int month = Integer.parseInt(birth.substring(4, 6));
        int day = Integer.parseInt(birth.substring(6, 8));
        return year + "-" + month + "-" + day;
        String sr= year + "-" + month + "-" + day;
        // 解析为 Date
        Date date = DateUtil.parse(sr, "yyyy-MM-dd");
        // 转换为 LocalDateTime
        LocalDateTime dateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
        // 设置固定时分秒
        dateTime = dateTime.withHour(12).withMinute(34).withSecond(56);
        return Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant());
    }
    /**