zjh
6 天以前 cbc1828ae240e37a37670f2760b80649c11679e2
zjh20250811
7个文件已修改
179 ■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/app/WxloginController.java 131 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/test/java/zjhTest.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/app/WxloginController.java
@@ -9,19 +9,18 @@
import com.google.gson.reflect.TypeToken;
import com.ltkj.common.core.controller.BaseController;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.common.core.domain.entity.SysDept;
import com.ltkj.common.utils.StringUtils;
import com.ltkj.common.utils.WechatUtil;
import com.ltkj.common.utils.sign.Base64;
import com.ltkj.framework.config.JwtUtils;
import com.ltkj.framework.config.UserHoder;
import com.ltkj.hosp.domain.GetPhone;
import com.ltkj.hosp.domain.TjCustomer;
import com.ltkj.hosp.domain.TjOrder;
import com.ltkj.hosp.domain.Wxuser;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.service.IAbucoderWxuserService;
import com.ltkj.hosp.service.ITjCustomerService;
import com.ltkj.hosp.service.ITjOrderRemarkService;
import com.ltkj.hosp.service.ITjOrderService;
import com.ltkj.system.service.ISysDeptService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -74,6 +73,9 @@
    @Resource
    private ITjOrderRemarkService remarkService;
    @Resource
    private ISysDeptService deptService;
    @Value("${xcx.appid}")
    private String appid;
@@ -237,13 +239,13 @@
                for (TjOrder order : list) {
                    Map<String, Object> map = new HashMap<>();
                    if(order.getPacId().equals("0")){
                        map.put("pacName","普通体检");
                        map.put("title", "普通体检");
                    }else {
                        map.put("pacName",orderService.getpacName(order.getPacId()));
                        map.put("title", orderService.getpacName(order.getPacId()));
                    }
                    map.put("zjq",orderService.gettjzj(order.getOrderId()));
                    map.put("tjsj",order.getCreateTime());
                    map.put("tjxm",remarkService.getTjxm(order.getTjNumber()));
                    map.put("price", orderService.gettjzj(order.getOrderId()));
                    map.put("time", order.getCreateTime());
                    map.put("items", remarkService.getTjxm(order.getTjNumber()));
                    int czwj = remarkService.panduaniscunzaiweijian(order.getTjNumber());
                    int sfwc = remarkService.panduaniswancheng(order.getTjNumber());
                    Date checkTime = order.getCheckTime();
@@ -251,25 +253,25 @@
                    Integer heshouStatus = order.getHeshouStatus();
                    Date lastTime = order.getPrintLastTime();
                    if (czwj == 0) {
                        map.put("tjzt","未检");
                        map.put("status", "未检");
                    }
                    if (czwj > 0) {
                        map.put("tjzt","在检");
                        map.put("status", "在检");
                    }
                    if (sfwc == 0) {
                        map.put("tjzt","已完成");
                        map.put("status", "已完成");
                    }
                    if (null != checkTime) {
                        map.put("tjzt","已审核");
                        map.put("status", "已审核");
                    }
                    if (null != reportTime) {
                        map.put("tjzt","生成报告");
                        map.put("status", "生成报告");
                    }
                    if (1 == heshouStatus) {
                        map.put("tjzt","报告核收");
                        map.put("status", "报告核收");
                    }
                    if (null != lastTime) {
                        map.put("tjzt","已打印");
                        map.put("status", "已打印");
                    }
                    mapList.add(map);
                }
@@ -280,6 +282,103 @@
        return AjaxResult.error("暂无问诊记录");
    }
    @PostMapping("/wx/tijianjilu")
    @ApiOperation("小程序体检记录")
    public AjaxResult tijianjilu(@RequestBody String json) {
        cn.hutool.json.JSONObject entries = JSONUtil.parseObj(json);
        String idCard = entries.getStr("idCard");
        TjCustomer tjCustomer = customerService.getTjCustomerByCusIdCard(idCard);
        if (null != tjCustomer) {
            List<Map<String, Object>> mapList = new ArrayList<>();
            LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
            wq.eq(TjOrder::getUserId, tjCustomer.getCusId());
            List<TjOrder> list = orderService.list(wq);
            if (null != list && !list.isEmpty()) {
                for (TjOrder order : list) {
                    Map<String, Object> map = new HashMap<>();
                    map.put("tjNumber", order.getTjNumber());
                    int czwj = remarkService.panduaniscunzaiweijian(order.getTjNumber());
                    int sfwc = remarkService.panduaniswancheng(order.getTjNumber());
                    Date checkTime = order.getCheckTime();
                    Date reportTime = order.getReportTime();
                    Integer heshouStatus = order.getHeshouStatus();
                    Date lastTime = order.getPrintLastTime();
                    if (czwj == 0) {
                        map.put("status", "未检");
                    }
                    if (czwj > 0) {
                        map.put("status", "在检");
                    }
                    if (sfwc == 0) {
                        map.put("status", "已完成");
                    }
                    if (null != checkTime) {
                        map.put("status", "已审核");
                    }
                    if (null != reportTime) {
                        map.put("status", "生成报告");
                    }
                    if (1 == heshouStatus) {
                        map.put("status", "报告核收");
                    }
                    if (null != lastTime) {
                        map.put("status", "已打印");
                    }
                    mapList.add(map);
                }
                return AjaxResult.success(mapList);
            }
        }
        return AjaxResult.error("暂无体检记录");
    }
    @PostMapping("/wx/tijianjiluxiangqing")
    @ApiOperation("小程序体检记录详情")
    public AjaxResult tijianjiluxiangqing(@RequestBody String json) {
        cn.hutool.json.JSONObject entries = JSONUtil.parseObj(json);
        String tjNumber = entries.getStr("tjNumber");
        TjOrder order = orderService.getOrderByTjNum(tjNumber);
        if (null != order) {
            TjCustomer tjCustomer = customerService.selectTjCustomerByCusId(order.getUserId());
            if (null != tjCustomer) {
                Map<String, Object> map = new HashMap<>();
                map.put("cusName", tjCustomer.getCusName());
                map.put("cusSex", tjCustomer.getCusSex());
                if (order.getPacId().equals("0")) {
                    map.put("pacName", "普通体检");
                } else {
                    map.put("pacName", orderService.getpacName(order.getPacId()));
                }
                map.put("price", orderService.gettjzj(order.getOrderId()));
                map.put("createTime", order.getCreateTime());
                List<TjOrderRemark> remarkList = remarkService.getTjOrderRemarkListByTjNum(order.getTjNumber());
                List<Map<String, Object>> mapList = new ArrayList<>();
                if (null != remarkList && !remarkList.isEmpty()) {
                    for (TjOrderRemark remark : remarkList) {
                        Map<String, Object> map1 = new HashMap<>();
                        SysDept dept = deptService.getById(remark.getDeptId());
                        if(null != dept){
                            map1.put("deptName", dept.getDeptName());
                            map1.put("officialWeb",dept.getOfficialWeb());
                        }
                        map1.put("checkStatus", remark.getType());
                        mapList.add(map1);
                    }
                    map.put("reportlist", mapList);
                } else {
                    map.put("reportlist", mapList);
                }
                return AjaxResult.success(map);
            }
        }
        return AjaxResult.error("暂无记录");
    }
    /**
     * 发送请求用code换取sessionKey和相关信息
     *
ltkj-admin/src/test/java/zjhTest.java
@@ -1,4 +1,5 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import com.ltkj.LtkjApplication;import com.ltkj.framework.config.MatchUtils;
import com.ltkj.hosp.domain.TjJcycxm;
@@ -22,6 +23,9 @@
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
@@ -34,6 +38,8 @@
import java.io.File;
import java.io.IOException;
import static com.ltkj.framework.config.MatchUtils.getIdCardBirthDayStr;
import static com.ltkj.framework.config.MatchUtils.isIdCard;
/**
@@ -85,10 +91,37 @@
        public static void main(String[] args) throws Exception {
            String s = "62272219610528411X";
            System.out.println(isValidIdCard(s) ? "合法" : "非法");
            System.out.println(getBirthDayByIdCard(s));
        }
    public static String getBirthDayByIdCard(String idCard) throws Exception {
        if (!isIdCard(idCard)) {
            throw new Exception("身份证不正确");
        }
        // 获取身份证的出生年月日串
        String birth = getIdCardBirthDayStr(idCard);
        // 获取年月日
        int year = Integer.parseInt(birth.substring(0, 4));
        int month = Integer.parseInt(birth.substring(4, 6));
        int day = Integer.parseInt(birth.substring(6, 8));
        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);
        // 格式化为字符串返回
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        return dateTime.format(formatter);
    }
    public static boolean isValidIdCard(String idCardNumber) {
        // 正则表达式,匹配身份证号码的格式
        String regex = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)";
ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java
@@ -338,7 +338,7 @@
    /**
     * @desc 通过身份证获取出生日期的字符串
     */
    private static String getIdCardBirthDayStr(String idCard) {
    public static String getIdCardBirthDayStr(String idCard) {
        // 获取身份证的出生年月日串
        if (idCard.length() == FIRST_ID_CARD_LENGTH) {
            return FIRST_ID_CARD_YEAR + idCard.substring(ID_CARD_YEAR_INDEX, 12);
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
@@ -329,9 +329,8 @@
    List<TjOrderRemark> newpacsJianChaData(String tjnumber);
    @Select(" SELECT CONCAT(CONCAT('共',COUNT(*),'项'),': '," +
            "TRIM(GROUP_CONCAT(b.pro_name ORDER BY b.pro_name SEPARATOR ' | '))) AS xmm" +
    @Select(" SELECT b.pro_name xmm" +
            " FROM tj_order_remark a LEFT JOIN tj_project b ON b.pro_id=a.pro_id" +
            " WHERE a.tj_number=#{tjNumber} AND a.type !=2 AND a.deleted=0")
    String getTjxm(String tjNumber);
    List<String> getTjxm(String tjNumber);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java
@@ -109,5 +109,5 @@
    List<TjOrderRemark> newpacsJianChaData(String tjNumber);
    String getTjxm(String tjNumber);
    List<String> getTjxm(String tjNumber);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java
@@ -225,7 +225,7 @@
    }
    @Override
    public String getTjxm(String tjNumber) {
    public List<String> getTjxm(String tjNumber) {
        return mapper.getTjxm(tjNumber);
    }
ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml
@@ -96,7 +96,7 @@
    <select id="selectTjCustomerByCusId" parameterType="Long" resultMap="TjCustomerResult">
        <include refid="selectTjCustomerVo"/>
        where cus_id = #{cusId} and deleted = '0'
        where cus_id = #{cusId}
    </select>
    <insert id="insertTjCustomer" parameterType="TjCustomer" useGeneratedKeys="true" keyProperty="cusId">