From 056b28af319dca3ee6fde9662fa447f4bba86992 Mon Sep 17 00:00:00 2001 From: dfdg <2710245601@qq.com> Date: Wed, 10 Sep 2025 19:38:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=91=E7=9A=84=E4=BB=BB=E5=8A=A1=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E3=80=81=E5=B7=A5=E7=A8=8B=E9=87=8F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E3=80=81gps=E6=B6=88=E6=81=AFwebsocket?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E3=80=81=E7=89=A9=E8=B5=84=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=9A=E7=89=A9=E8=B5=84=E9=AA=8C=E6=94=B6=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=99=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/WebSocketConstants.java | 2 ++ .../handler/PlusWebSocketHandler.java | 29 ++++++++++++------- .../interceptor/PlusWebSocketInterceptor.java | 4 +++ .../domain/BusBiddingLimitVersions.java | 8 +++++ .../domain/bo/BusBiddingLimitVersionsBo.java | 8 +++++ .../domain/vo/BusBiddingLimitVersionsVo.java | 8 +++++ .../domain/BusBillofquantitiesVersions.java | 5 ++++ .../bo/BusBillofquantitiesVersionsBo.java | 7 +++++ .../vo/BusBillofquantitiesVersionsVo.java | 7 +++++ ...usBillofquantitiesVersionsServiceImpl.java | 14 +++++++++ .../controller/GpsEquipmentController.java | 13 +++++++++ .../gps/service/IGpsEquipmentService.java | 2 ++ .../service/impl/GpsEquipmentServiceImpl.java | 13 +++++++++ .../materials/domain/MatMaterialReceive.java | 10 +++++++ .../MatMaterialReceiveCreateReq.java | 10 +++++++ .../MatMaterialReceiveUpdateReq.java | 4 +++ .../materialreceive/MatMaterialReceiveVo.java | 9 ++++++ .../impl/MatMaterialReceiveServiceImpl.java | 14 +++++++-- .../tender/domain/BusBLimitListVersions.java | 8 +++++ .../domain/bo/BusBLimitListVersionsBo.java | 8 +++++ .../domain/vo/BusBLimitListVersionsVo.java | 8 +++++ .../workflow/domain/vo/FlowHisTaskVo.java | 3 ++ .../workflow/domain/vo/FlowInstanceVo.java | 2 ++ .../workflow/domain/vo/FlowTaskVo.java | 3 ++ .../mapper/workflow/FlwInstanceMapper.xml | 4 ++- .../mapper/workflow/FlwTaskMapper.xml | 12 ++++++-- 26 files changed, 198 insertions(+), 17 deletions(-) diff --git a/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java b/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java index e243279d..e5029729 100644 --- a/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java +++ b/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java @@ -12,6 +12,8 @@ public interface WebSocketConstants { */ String LOGIN_USER_KEY = "loginUser"; + String PROJECT_ID = "projectId"; + /** * 订阅的频道 */ diff --git a/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java b/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java index 8b1cc5da..97834a44 100644 --- a/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java +++ b/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java @@ -13,6 +13,7 @@ import java.io.IOException; import java.util.List; import static org.dromara.common.websocket.constant.WebSocketConstants.LOGIN_USER_KEY; +import static org.dromara.common.websocket.constant.WebSocketConstants.PROJECT_ID; /** * WebSocketHandler 实现类 @@ -27,14 +28,17 @@ public class PlusWebSocketHandler extends AbstractWebSocketHandler { */ @Override public void afterConnectionEstablished(WebSocketSession session) throws IOException { - LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY); - if (ObjectUtil.isNull(loginUser)) { +// LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY); + Long loginUser = (Long) session.getAttributes().get(PROJECT_ID); +// if (ObjectUtil.isNull(loginUser) ) { + if (loginUser == null ) { session.close(CloseStatus.BAD_DATA); log.info("[connect] invalid token received. sessionId: {}", session.getId()); return; } - WebSocketSessionHolder.addSession(loginUser.getUserId(), session); - log.info("[connect] sessionId: {},userId:{},userType:{}", session.getId(), loginUser.getUserId(), loginUser.getUserType()); + WebSocketSessionHolder.addSession(loginUser, session); +// WebSocketSessionHolder.addSession(loginUser.getUserId(), session); +// log.info("[connect] sessionId: {},userId:{},userType:{}", session.getId(), loginUser.getUserId(), loginUser.getUserType()); } /** @@ -47,11 +51,13 @@ public class PlusWebSocketHandler extends AbstractWebSocketHandler { @Override protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { // 从WebSocket会话中获取登录用户信息 - LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY); +// LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY); + Long loginUser = (Long) session.getAttributes().get(PROJECT_ID); // 创建WebSocket消息DTO对象 WebSocketMessageDto webSocketMessageDto = new WebSocketMessageDto(); - webSocketMessageDto.setSessionKeys(List.of(loginUser.getUserId())); +// webSocketMessageDto.setSessionKeys(List.of(loginUser.getUserId())); + webSocketMessageDto.setSessionKeys(List.of(loginUser)); webSocketMessageDto.setMessage(message.getPayload()); WebSocketUtils.publishMessage(webSocketMessageDto); } @@ -100,13 +106,16 @@ public class PlusWebSocketHandler extends AbstractWebSocketHandler { */ @Override public void afterConnectionClosed(WebSocketSession session, CloseStatus status) { - LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY); - if (ObjectUtil.isNull(loginUser)) { +// LoginUser loginUser = (LoginUser) session.getAttributes().get(LOGIN_USER_KEY); + Long loginUser = (Long) session.getAttributes().get(PROJECT_ID); +// if (ObjectUtil.isNull(loginUser)) { + if (loginUser != null ) { log.info("[disconnect] invalid token received. sessionId: {}", session.getId()); return; } - WebSocketSessionHolder.removeSession(loginUser.getUserId()); - log.info("[disconnect] sessionId: {},userId:{},userType:{}", session.getId(), loginUser.getUserId(), loginUser.getUserType()); +// WebSocketSessionHolder.removeSession(loginUser.getUserId()); + WebSocketSessionHolder.removeSession(loginUser); +// log.info("[disconnect] sessionId: {},userId:{},userType:{}", session.getId(), loginUser.getUserId(), loginUser.getUserType()); } /** diff --git a/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java b/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java index c70e3772..7638f790 100644 --- a/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java +++ b/xinnengyuan/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java @@ -15,6 +15,7 @@ import org.springframework.web.socket.server.HandshakeInterceptor; import java.util.Map; import static org.dromara.common.websocket.constant.WebSocketConstants.LOGIN_USER_KEY; +import static org.dromara.common.websocket.constant.WebSocketConstants.PROJECT_ID; /** * WebSocket握手请求的拦截器 @@ -44,6 +45,8 @@ public class PlusWebSocketInterceptor implements HandshakeInterceptor { String headerCid = ServletUtils.getRequest().getHeader(LoginHelper.CLIENT_KEY); String paramCid = ServletUtils.getParameter(LoginHelper.CLIENT_KEY); String clientId = StpUtil.getExtra(LoginHelper.CLIENT_KEY).toString(); + String projectIdStr = ServletUtils.getRequest().getParameter("projectId"); + Long projectId = Long.parseLong(projectIdStr); if (!StringUtils.equalsAny(clientId, headerCid, paramCid)) { // token 无效 throw NotLoginException.newInstance(StpUtil.getLoginType(), @@ -52,6 +55,7 @@ public class PlusWebSocketInterceptor implements HandshakeInterceptor { } attributes.put(LOGIN_USER_KEY, loginUser); + attributes.put(PROJECT_ID,projectId); return true; } catch (NotLoginException e) { log.error("WebSocket 认证失败'{}',无法访问系统资源", e.getMessage()); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/BusBiddingLimitVersions.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/BusBiddingLimitVersions.java index e45ef015..69bb8cf3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/BusBiddingLimitVersions.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/BusBiddingLimitVersions.java @@ -42,6 +42,14 @@ public class BusBiddingLimitVersions extends BaseEntity { */ private String versions; + + /** + * 版本号名称 + */ + private String versionsName; + + + /** * excel文件 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/bo/BusBiddingLimitVersionsBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/bo/BusBiddingLimitVersionsBo.java index 2f49e01c..95b1393e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/bo/BusBiddingLimitVersionsBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/bo/BusBiddingLimitVersionsBo.java @@ -44,6 +44,14 @@ public class BusBiddingLimitVersionsBo extends BaseEntity { @NotBlank(message = "版本号不能为空", groups = { AddGroup.class, EditGroup.class }) private String versions; + + /** + * 版本号名称 + */ + private String versionsName; + + + /** * excel文件 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/vo/BusBiddingLimitVersionsVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/vo/BusBiddingLimitVersionsVo.java index d1e73501..2a1094d1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/vo/BusBiddingLimitVersionsVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bidding/domain/vo/BusBiddingLimitVersionsVo.java @@ -52,6 +52,14 @@ public class BusBiddingLimitVersionsVo implements Serializable { @ExcelProperty(value = "版本号") private String versions; + + /** + * 版本号名称 + */ + private String versionsName; + + + /** * excel文件 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/BusBillofquantitiesVersions.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/BusBillofquantitiesVersions.java index b68de523..457da527 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/BusBillofquantitiesVersions.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/BusBillofquantitiesVersions.java @@ -40,6 +40,11 @@ public class BusBillofquantitiesVersions extends BaseEntity { */ private String versions; + /** + * 版本号名称 + */ + private String versionsName; + /** * exlce文件 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/BusBillofquantitiesVersionsBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/BusBillofquantitiesVersionsBo.java index 154280c0..0b844b9f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/BusBillofquantitiesVersionsBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/BusBillofquantitiesVersionsBo.java @@ -39,4 +39,11 @@ public class BusBillofquantitiesVersionsBo extends BaseEntity { private String versions; + + /** + * 版本号名称 + */ + private String versionsName; + + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/BusBillofquantitiesVersionsVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/BusBillofquantitiesVersionsVo.java index 9468e74d..4ae7b63f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/BusBillofquantitiesVersionsVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/BusBillofquantitiesVersionsVo.java @@ -48,6 +48,13 @@ public class BusBillofquantitiesVersionsVo implements Serializable { private String versions; + + /** + * 版本号名称 + */ + private String versionsName; + + /** * Excel文件 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusBillofquantitiesVersionsServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusBillofquantitiesVersionsServiceImpl.java index a4ed6685..b97ee357 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusBillofquantitiesVersionsServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusBillofquantitiesVersionsServiceImpl.java @@ -191,8 +191,22 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl setData(@RequestBody String jsonData) { + log.info("接收设备数据:{}", jsonData); + gpsEquipmentService.setData(jsonData); + return toAjax(true); + } + + /** * 接收设备数据 * @param jsonData diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/IGpsEquipmentService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/IGpsEquipmentService.java index 6e19d0a6..523f38d1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/IGpsEquipmentService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/IGpsEquipmentService.java @@ -97,4 +97,6 @@ public interface IGpsEquipmentService extends IService{ List getProjectList(); List getClientList(Long projectId); + + void setData(String jsonData); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/impl/GpsEquipmentServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/impl/GpsEquipmentServiceImpl.java index a160f916..ebcd6f88 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/impl/GpsEquipmentServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/gps/service/impl/GpsEquipmentServiceImpl.java @@ -434,5 +434,18 @@ public class GpsEquipmentServiceImpl extends ServiceImpl licenseCountFile; + /** + * 附件地址 + */ + private String attachmentUrl; + /** + * 附件名称 + */ + private String attachmentName; + /** * 设备材料入库/移交 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialReceiveServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialReceiveServiceImpl.java index 393cae99..743b132c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialReceiveServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialReceiveServiceImpl.java @@ -241,7 +241,8 @@ public class MatMaterialReceiveServiceImpl extends ServiceImpl diff --git a/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml index c632b0dc..1e90ba73 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml +++ b/xinnengyuan/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml @@ -64,11 +64,13 @@ COALESCE(t.form_path, d.form_path) as form_path, d.version, uu.processed_by, - uu.type + uu.type, + bp.project_name from flow_task t left join flow_user uu on uu.associated = t.id left join flow_definition d on t.definition_id = d.id left join flow_instance i on t.instance_id = i.id + LEFT JOIN bus_project bp ON bp.id = SUBSTRING_INDEX( d.flow_code, '_', 1 ) where t.node_type = 1 and t.del_flag = '0' and uu.del_flag = '0' @@ -180,10 +182,12 @@ c.flow_name, c.flow_code, c.category, - c.version + c.version, + bp.project_name from flow_his_task a left join flow_instance b on a.instance_id = b.id left join flow_definition c on a.definition_id = c.id + LEFT JOIN bus_project bp ON bp.id = SUBSTRING_INDEX( c.flow_code, '_', 1 ) where a.del_flag ='0' and b.del_flag = '0' and c.del_flag = '0' @@ -214,11 +218,13 @@ d.flow_name, d.flow_code, d.category, - d.version + d.version, + bp.project_name from flow_user a left join flow_his_task b on a.associated = b.task_id left join flow_instance c on b.instance_id = c.id left join flow_definition d on c.definition_id=d.id + LEFT JOIN bus_project bp ON bp.id = SUBSTRING_INDEX( d.flow_code, '_', 1 ) where a.type = '4' and a.del_flag = '0' and b.del_flag = '0'