db52209b0d830d00c7ec807e2b66d94079d4aff6..0892d843cd394f383ff50f480f7f22f2ec3829bc
6 天以前 zhaowenxuan
Merge remote-tracking branch 'origin/master'
0892d8 对比 | 目录
6 天以前 zhaowenxuan
websocket
74ea67 对比 | 目录
6 天以前 zjh
zjh20250627
0a469f 对比 | 目录
8个文件已修改
4个文件已添加
174 ■■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/DictSfxmController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/websocket/ClientSessionInfo.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/websocket/MyWebSocketConfig.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/websocket/WebSockerManager.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/websocket/WebSocketClientInfo.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderYcxmMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjOrderYcxmService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderYcxmServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -133,7 +133,7 @@
            String code1 = object1.getStr("ResultCode");
            if (code1.equals("0")) {
                JSONArray resultDatas = object1.getJSONArray("ResultData");
                if (null != resultDatas && resultDatas.size() > 0) {
                if (null != resultDatas && !resultDatas.isEmpty()) {
                    Map<String, Object> resultDatasss = (Map<String, Object>) resultDatas.get(0);
                    String hisRegistrationId = resultDatasss.get("his_registration_id").toString();
                    jzh=hisRegistrationId;
ltkj-admin/src/main/java/com/ltkj/web/controller/system/DictSfxmController.java
@@ -178,7 +178,7 @@
        Map<String, Object> map = new HashMap<>();
        if (null != xmbm && xmbm.length() == 2) {
            List<DictSfxm> sfxms = dictSfxmService.getEjDictSfxmList(service.getId());
            if (null != sfxms && sfxms.size() > 0) {
            if (null != sfxms && !sfxms.isEmpty()) {
                for (DictSfxm sfxm : sfxms) {
                    List<DictSfxm> sfx = dictSfxmService.getSjDictSfxmList(service.getId());
                    sfxm.setDictSfxms(sfx);
@@ -195,9 +195,9 @@
        }
        if (null != xmbm && xmbm.length() == 4) {
            List<DictSfxm> sfx = dictSfxmService.getSjDictSfxmList(service.getId());
            if (null != sfx && sfx.size() > 0) {
            if (null != sfx && !sfx.isEmpty()) {
                List<DictSfxm> sfxmList = sfx.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
                if (null != sfxmList && sfxmList.size() > 0) {
                if (!sfxmList.isEmpty()) {
                    for (DictSfxm sfxm : sfxmList) {
                        DictHosp hosp = dictHospService.getById(sfxm.getYqid());
                        if (null != hosp) {
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -2104,6 +2104,25 @@
    }
    @GetMapping("/zongjianyishengHuiFuyichangxiangmuanniu")
    @ApiOperation(value = "总检恢复异常项目按钮接口")
    public AjaxResult zongjianyishengHuiFuyichangxiangmuanniu(@RequestParam String id) {
        int a = ycxmService.zongjianyishengHuiFuyichangxiangmuanniu(id);
        return AjaxResult.success(a);
    }
    @GetMapping("/zongjianyishengCheDiShanChuyichangxiangmuanniu")
    @ApiOperation(value = "总检彻底删除异常项目按钮接口")
    public AjaxResult zongjianyishengCheDiShanChuyichangxiangmuanniu(@RequestParam String id) {
        int a = ycxmService.zongjianyishengCheDiShanChuyichangxiangmuanniu(id);
        return AjaxResult.success(a);
    }
    @GetMapping("/csymxmxzqtyybcjk")
    @ApiOperation(value = "初审页面项目选择其他原因保存接口")
    @Transactional
ltkj-admin/src/main/java/com/ltkj/web/websocket/ClientSessionInfo.java
New file
@@ -0,0 +1,12 @@
package com.ltkj.web.websocket;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.web.socket.WebSocketSession;
@Data
@AllArgsConstructor
public class ClientSessionInfo {
    private WebSocketSession session;
    private String code;
}
ltkj-admin/src/main/java/com/ltkj/web/websocket/MyWebSocketConfig.java
New file
@@ -0,0 +1,25 @@
package com.ltkj.web.websocket;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
/**
 * @Company: 西安路泰科技有限公司
 * @Author: zhaowenxuan
 * @Date: 2025/6/27 15:47
 */
@Configuration
@EnableWebSocket
public class MyWebSocketConfig implements WebSocketConfigurer {
    @Autowired
    private WebSockerManager webSockerManager;
    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(webSockerManager, "/ws")
//                .addInterceptors(tokenHandshakeInterceptor)
                .setAllowedOrigins("*"); // 允许跨域
    }
}
ltkj-admin/src/main/java/com/ltkj/web/websocket/WebSockerManager.java
New file
@@ -0,0 +1,66 @@
package com.ltkj.web.websocket;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;
import redis.clients.jedis.util.SafeEncoder;
import java.util.concurrent.ConcurrentHashMap;
/**
 * @Company: 西安路泰科技有限公司
 * @Author: zhaowenxuan
 * @Date: 2025/6/27 14:59
 */
@Slf4j
@Component
public class WebSockerManager extends TextWebSocketHandler {
    private static final ConcurrentHashMap<Long, ClientSessionInfo> userSessions = new ConcurrentHashMap<>();
    private static final ConcurrentHashMap<String, WebSocketClientInfo> sessions = new ConcurrentHashMap<>();
    private WebSocketClientInfo getUser(WebSocketSession session) {
//        long uid = Long.parseLong(session.getAttributes().get("uid").toString());
//        String hospId = session.getAttributes().get("hospId").toString();
//        WebSocketClientInfo info = new WebSocketClientInfo();
//        info.setUid(uid);
//        info.setHospId(hospId);
//        return info;
        WebSocketClientInfo clientInfo = new WebSocketClientInfo();
        clientInfo.setUid(123L);
        clientInfo.setHospId("hosp");
        return clientInfo;
    }
    @Override
    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
        WebSocketClientInfo clientInfo = getUser(session);
//        userSessions.put(clientInfo.getUid(), new ClientSessionInfo(session, clientInfo.getHospId()));
        sessions.put(session.getId(),clientInfo);
        log.info(JSONUtil.toJsonStr(sessions));
        session.sendMessage(new TextMessage("连接成功"));
    }
    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
        String payload = message.getPayload();
        // 处理 ping/pong
        if ("ping".equals(payload)) {
            session.sendMessage(new TextMessage("pong"));
            return;
        }
        String sessionId = session.getId();
        WebSocketClientInfo clientInfo = sessions.get(sessionId);
        log.info("[WebSocket] 收到客户端消息 userId:{} msg: {}",clientInfo.getUid(),payload);
        session.sendMessage(new TextMessage("[WebSocket] 收到客户端消息 msg: " + payload));
    }
    @Override
    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
        log.info("[WebSocket] 连接关闭: " + status);
    }
}
ltkj-admin/src/main/java/com/ltkj/web/websocket/WebSocketClientInfo.java
New file
@@ -0,0 +1,14 @@
package com.ltkj.web.websocket;
import lombok.Data;
/**
 * @Company: 西安路泰科技有限公司
 * @Author: zhaowenxuan
 * @Date: 2025/6/27 15:33
 */
@Data
public class WebSocketClientInfo {
    private String hospId;
    private Long uid;
}
ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java
@@ -118,7 +118,7 @@
                .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
                .antMatchers("/api/**").permitAll()
                .antMatchers("/jmreport/**","/lis/**","/pacs/**","/callBack/**","/hosp/order/signOrderInfo").anonymous()
                .antMatchers("/jmreport/**","/lis/**","/pacs/**","/callBack/**","/hosp/order/signOrderInfo","/ws").anonymous()
                // 除上面外的所有请求全部需要鉴权认证
                .anyRequest().authenticated()
                .and()
ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java
@@ -26,7 +26,8 @@
                        "/hosp/order/signOrderInfo",
                        "/common/listExeVal",
                        "/profileupload/**",
                        "/common/getExeUploadImgList"
                        "/common/getExeUploadImgList",
                        "/ws"
                });
    }
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderYcxmMapper.java
@@ -5,6 +5,7 @@
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@@ -28,4 +29,14 @@
    @Select("select * FROM tj_order_ycxm WHERE tjh=#{tjNum} and deleted=1")
    List<TjOrderYcxm> zongjianyishengHuiFuyichangxiangmu(String tjNum);
    @Update("update  tj_order_ycxm a set" +
            "  a.deleted=0 " +
            "  where  a.id=id")
    int zongjianyishengHuiFuyichangxiangmuanniu(String id);
    @Delete("delete  from  tj_order_ycxm a where  a.id=id")
    int zongjianyishengCheDiShanChuyichangxiangmuanniu(String id);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjOrderYcxmService.java
@@ -19,4 +19,8 @@
    List<TjOrderYcxm> selectListByTjh(String tjNumber);
    List<TjOrderYcxm> zongjianyishengHuiFuyichangxiangmu(String tjNum);
    int zongjianyishengHuiFuyichangxiangmuanniu(String id);
    int zongjianyishengCheDiShanChuyichangxiangmuanniu(String id);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderYcxmServiceImpl.java
@@ -36,4 +36,14 @@
    public List<TjOrderYcxm> zongjianyishengHuiFuyichangxiangmu(String tjNum) {
        return mapper.zongjianyishengHuiFuyichangxiangmu(tjNum);
    }
    @Override
    public int zongjianyishengHuiFuyichangxiangmuanniu(String id) {
        return mapper.zongjianyishengHuiFuyichangxiangmuanniu(id);
    }
    @Override
    public int zongjianyishengCheDiShanChuyichangxiangmuanniu(String id) {
        return mapper.zongjianyishengCheDiShanChuyichangxiangmuanniu(id);
    }
}