From 380bd86a8e78bff688dbdd0a0846a953bcc90478 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?yinjinlu-pc=5C=E5=B0=B9=E9=87=91=E8=B7=AF?= <411641505@qq.com> Date: Wed, 29 Mar 2023 11:00:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E4=BA=9B=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ktg/common/constant/UserConstants.java | 2 ++ .../framework/websocket/WebSocketServer.java | 18 +++++++++++------- .../md/controller/MdProductBomController.java | 4 ++++ .../mes/pro/controller/ProTaskController.java | 2 +- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java b/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java index b5c9f0a..70e52bc 100644 --- a/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java +++ b/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java @@ -64,6 +64,8 @@ public class UserConstants /** InnerLink组件标识 */ public final static String INNER_LINK = "InnerLink"; + public final static String WEBSOCKET_HEARTBEAT = "-heartbeat-"; + /** 校验返回结果码 */ public final static String UNIQUE = "0"; public final static String NOT_UNIQUE = "1"; diff --git a/ktg-framework/src/main/java/com/ktg/framework/websocket/WebSocketServer.java b/ktg-framework/src/main/java/com/ktg/framework/websocket/WebSocketServer.java index 342c970..973441e 100644 --- a/ktg-framework/src/main/java/com/ktg/framework/websocket/WebSocketServer.java +++ b/ktg-framework/src/main/java/com/ktg/framework/websocket/WebSocketServer.java @@ -12,6 +12,7 @@ import javax.websocket.server.ServerEndpoint; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; +import com.ktg.common.constant.UserConstants; import com.ktg.common.core.domain.entity.SysUser; import com.ktg.common.core.domain.model.LoginUser; import com.ktg.common.utils.StringUtils; @@ -124,15 +125,18 @@ public class WebSocketServer @OnMessage public void onMessage(String message, Session session) { - try{ - SysMessage msg = JSON.parseObject(message, new TypeReference(){}); - if(StringUtils.isNotNull(msg.getRecipientName())){ - //这里必须传递username - WebSocketUsers.sendMesssageToUserByName(msg.getRecipientName(),message); + if(!UserConstants.WEBSOCKET_HEARTBEAT.equals(message)){ + try{ + SysMessage msg = JSON.parseObject(message, new TypeReference(){}); + if(StringUtils.isNotNull(msg.getRecipientName())){ + //这里必须传递username + WebSocketUsers.sendMesssageToUserByName(msg.getRecipientName(),message); + } + }catch (Exception e){ + LOGGER.error("\n 错误的websocket信息格式 - {}", message); } - }catch (Exception e){ - LOGGER.error("\n 错误的websocket信息格式 - {}", message); } + LOGGER.debug("\n 收到客户端发送的消息 - {}", message); } } diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdProductBomController.java b/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdProductBomController.java index 158e28f..3495dba 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdProductBomController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdProductBomController.java @@ -79,6 +79,10 @@ public class MdProductBomController extends BaseController @PostMapping public AjaxResult add(@RequestBody MdProductBom mdProductBom) { + if(mdProductBom.getBomItemId() == mdProductBom.getItemId()){ + return AjaxResult.error("产品不能作为自身的BOM物料!"); + } + return toAjax(mdProductBomService.insertMdProductBom(mdProductBom)); } diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java index a97b1aa..9789510 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProTaskController.java @@ -120,7 +120,7 @@ public class ProTaskController extends BaseController } BigDecimal produced = workorder.getQuantityProduced(); BigDecimal quantitiy = workorder.getQuantity(); - wdata.setProgress( produced.divide(quantitiy).floatValue()); + wdata.setProgress( produced.divide(quantitiy,BigDecimal.ROUND_HALF_UP).floatValue()); wdata.setDuration(0L); wdata.setType(UserConstants.GANTT_TASK_TYPE_PROJECT); ganttData.add(wdata);