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);