From 8e17ffd131c99250f648c73c6c839c5088717951 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期一, 13 十一月 2023 19:54:47 +0800
Subject: [PATCH] Changes11

---
 mes-common/pom.xml                                                                             |    5 +
 mes-common/src/main/java/com/chinaztt/mes/common/server/WebSocketServer.java                   |  178 +++++++++++++++++++++++++++++++++++
 mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java                  |    1 
 mes-common/src/main/java/com/chinaztt/mes/common/aop/MybatisPlusDeleteAspect.java              |    1 
 mes-common/src/main/java/com/chinaztt/mes/common/config/WebSocketConfig.java                   |   19 +++
 mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java |   32 +++++-
 mes-web/src/main/java/com/chinaztt/mes/App.java                                                |    2 
 mes-aps/src/main/java/com/chinaztt/mes/aps/controller/CapabilityController.java                |    2 
 mes-web/src/main/resources/bootstrap.yml                                                       |    6 
 9 files changed, 235 insertions(+), 11 deletions(-)

diff --git a/mes-aps/src/main/java/com/chinaztt/mes/aps/controller/CapabilityController.java b/mes-aps/src/main/java/com/chinaztt/mes/aps/controller/CapabilityController.java
index 265bb03..54856da 100644
--- a/mes-aps/src/main/java/com/chinaztt/mes/aps/controller/CapabilityController.java
+++ b/mes-aps/src/main/java/com/chinaztt/mes/aps/controller/CapabilityController.java
@@ -47,7 +47,7 @@
 
 	@ApiOperation(value = "鏌ヨ鎵�鏈夎兘鍔�", notes = "鏌ヨ鎵�鏈夎兘鍔�")
 	@GetMapping("/all")
-	@PreAuthorize("@pms.hasPermission('aps_capability_view')")
+	//@PreAuthorize("@pms.hasPermission('aps_capability_view')")
 	public R getAllCapability() {
 		return R.ok(capabilityService.list());
 	}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java
index d1679eb..1db5adb 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java
@@ -86,6 +86,7 @@
 	@ApiOperation(value = "瑙﹀彂闆朵欢", notes = "瑙﹀彂闆朵欢")
 	@SysLog("瑙﹀彂闆朵欢")
 	@PostMapping("/triggerAdd")
+	@Inner(value = false)
 	public R triggerAdd(@RequestBody PartVo partVo) {
 		return R.ok(partService.triggerAdd(partVo));
 	}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java
index ef6f5c6..2383c05 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java
@@ -214,12 +214,18 @@
 				Map second = JsonUtil.jsonToPojo(JsonUtil.jsonToString(s), Map.class);
 				List<ParamJoinTemplate> collectSecond = paramJoinTemplates.stream().filter(p -> Objects.equals(s.getId(), p.getTechnologyOperationParamId())).collect(Collectors.toList());
 				if(collectSecond.size()>0){
-					second.put("paramValue",collectSecond.get(0).getDefaultValue());
-					s.setParamValue(String.valueOf(second.get("paramValue")));
+					System.out.println("绗簩灞傞亶鍘嗗墠=====銆�"+collectSecond.get(0).getDefaultValue());
+					if(!org.springframework.util.StringUtils.hasText(collectSecond.get(0).getDefaultValue())){
+						s.setParamValue("");
+					}else {
+						second.put("paramValue",collectSecond.get(0).getDefaultValue());
+						s.setParamValue(collectSecond.get(0).getDefaultValue());
+					}
 				}else {
 					second.put("paramValue","");
-					s.setParamValue(String.valueOf(second.get("paramValue")));
+					s.setParamValue("");
 				}
+				System.out.println("绗簩灞傞亶鍘嗗悗=====銆�"+s.getParamValue());
 				Optional.ofNullable(second.get("type")).ifPresent(o->{
 					List<SysDictItem> collect1 = dict.stream().filter(d -> Objects.equals(String.valueOf(d.getValue()), second.get("type"))).collect(Collectors.toList());
 					if(collect1.size()>0){
@@ -235,6 +241,8 @@
 				queryWrapperThird.lambda().eq(ParamJoinTemplate::getParentId,Long.valueOf(String.valueOf(s.getId())));
 				List<ParamJoinTemplate> paramJoinTemplates2 = paramJoinTemplateMapper.selectList(queryWrapperThird);
 				third.removeIf(t -> paramJoinTemplates2.stream().noneMatch(p->Objects.equals(p.getTechnologyOperationParamId(),t.getId())));
+				System.out.println("=11111111111111111==========================================>"+Objects.equals(s.getParamValue(),"null"));
+				boolean thirdIsNull =third.isEmpty();
 				if(third.isEmpty()){
 					Param p = new Param();
 					p.setType(s.getType());
@@ -246,6 +254,9 @@
 					third.add(p);
 				}
 				third.forEach(t->{
+					if(thirdIsNull){
+						System.out.println("绗簩灞傚埌绗笁灞�======銆�"+t.getParamValue());
+					}
 					Optional.ofNullable(t.getType()).ifPresent(o->{
 						List<SysDictItem> collect1 = dict.stream().filter(d -> Objects.equals(String.valueOf(d.getValue()), t.getType())).collect(Collectors.toList());
 						if(collect1.size()>0){
@@ -254,10 +265,17 @@
 					});
 					Map<String,Object> allMap = new HashMap<>();
 					List<ParamJoinTemplate> collectThird = paramJoinTemplates.stream().filter(p -> Objects.equals(t.getId(), p.getTechnologyOperationParamId())).collect(Collectors.toList());
-					if(collectThird.size()>0){
-						allMap.put("paramValue",collectThird.get(0).getDefaultValue());
+					if(collectThird.size()>0&&!thirdIsNull){
+						System.out.println("绗笁灞�====================銆�"+collectThird.get(0));
+						if(!org.springframework.util.StringUtils.hasText(collectThird.get(0).getDefaultValue())){
+							t.setParamValue("");
+						}else {
+							t.setParamValue(collectThird.get(0).getDefaultValue());
+						}
 					}else {
-						allMap.put("paramValue","");
+						if(!thirdIsNull) {
+							t.setParamValue("");
+						}
 					}
 					allMap.put("code",pojo.get("code"));
 					allMap.put("paramItem", com.chinaztt.mes.common.util.StringUtils.defaultString((String) pojo.get("parameterItem"),""));
@@ -270,7 +288,7 @@
 					//allMap.put("paramFormat", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getParameterFormat(),""));
 					allMap.put("unit", com.chinaztt.mes.common.util.StringUtils.defaultString(t.getUnit(),""));
 					allMap.put("parentId",t.getParentId());
-					allMap.put("paramValue",t.getParamValue());
+					allMap.put("paramValue",com.chinaztt.mes.common.util.StringUtils.defaultString(t.getParamValue(),""));
 					all.add(allMap);
 				});
 			});
diff --git a/mes-common/pom.xml b/mes-common/pom.xml
index fa9c0de..3c97df9 100644
--- a/mes-common/pom.xml
+++ b/mes-common/pom.xml
@@ -26,6 +26,11 @@
 			<artifactId>commons-text</artifactId>
 			<version>1.3</version>
 		</dependency>
+		<!-- 寮曞叆websocket -->
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-websocket</artifactId>
+		</dependency>
 
 		<dependency>
 			<groupId>commons-net</groupId>
diff --git a/mes-common/src/main/java/com/chinaztt/mes/common/aop/MybatisPlusDeleteAspect.java b/mes-common/src/main/java/com/chinaztt/mes/common/aop/MybatisPlusDeleteAspect.java
index c8fbefc..3547d25 100644
--- a/mes-common/src/main/java/com/chinaztt/mes/common/aop/MybatisPlusDeleteAspect.java
+++ b/mes-common/src/main/java/com/chinaztt/mes/common/aop/MybatisPlusDeleteAspect.java
@@ -140,6 +140,7 @@
 		sql = String.format(LINK_COUNT_SQL,
 				linkTableInfo.getTableName(),
 				appendSql, linkTableInfo.getLogicDeleteSql(true, true));
+		System.out.println("鎵цsql=============================>"+sql);
 		Long count = jdbcTemplate.queryForObject(sql, Long.class, valList.toArray());
 		if (count > 0) {
 			String ex = String.format(EXCEPTION_STR, linkFieldInfo.getSourceTable(), linkFieldInfo.getSourceField(), linkFieldInfo.getLinkedTable(), linkFieldInfo.getLinkedField());
diff --git a/mes-common/src/main/java/com/chinaztt/mes/common/config/WebSocketConfig.java b/mes-common/src/main/java/com/chinaztt/mes/common/config/WebSocketConfig.java
new file mode 100644
index 0000000..d88cc37
--- /dev/null
+++ b/mes-common/src/main/java/com/chinaztt/mes/common/config/WebSocketConfig.java
@@ -0,0 +1,19 @@
+package com.chinaztt.mes.common.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.socket.server.standard.ServerEndpointExporter;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/11/13
+ */
+
+@Configuration
+public class WebSocketConfig {
+
+	@Bean
+	public ServerEndpointExporter serverEndpointExporter() {
+		return new ServerEndpointExporter();
+	}
+}
diff --git a/mes-common/src/main/java/com/chinaztt/mes/common/server/WebSocketServer.java b/mes-common/src/main/java/com/chinaztt/mes/common/server/WebSocketServer.java
new file mode 100644
index 0000000..be5cbf0
--- /dev/null
+++ b/mes-common/src/main/java/com/chinaztt/mes/common/server/WebSocketServer.java
@@ -0,0 +1,178 @@
+//package com.chinaztt.mes.common.server;
+//import com.alibaba.fastjson.JSON;
+//import com.alibaba.fastjson.JSONObject;
+//import lombok.extern.slf4j.Slf4j;
+//import org.apache.commons.lang3.StringUtils;
+//import org.springframework.stereotype.Component;
+//
+//import javax.websocket.*;
+//import javax.websocket.server.PathParam;
+//import javax.websocket.server.ServerEndpoint;
+//import java.io.IOException;
+//import java.util.HashMap;
+//import java.util.Iterator;
+//import java.util.concurrent.ConcurrentHashMap;
+///**
+// * @Author 寮犲
+// * @Date 2023/11/13
+// * @Params: WebSocketServer.sendInfo(浣跨敤JSON,鐢ㄦ埛鍚�);
+// * @Return
+// */
+////@ServerEndpoint("/websocket/{userId}")
+//@Component
+//@Slf4j
+//public class WebSocketServer {
+//
+//	/**闈欐�佸彉閲忥紝鐢ㄦ潵璁板綍褰撳墠鍦ㄧ嚎杩炴帴鏁般�傚簲璇ユ妸瀹冭璁℃垚绾跨▼瀹夊叏鐨勩��*/
+//	private static int onlineCount = 0;
+//	/**concurrent鍖呯殑绾跨▼瀹夊叏Set锛岀敤鏉ュ瓨鏀炬瘡涓鎴风瀵瑰簲鐨凪yWebSocket瀵硅薄銆�*/
+//	private static ConcurrentHashMap<String, WebSocketServer> webSocketMap = new ConcurrentHashMap<>();
+//	/**涓庢煇涓鎴风鐨勮繛鎺ヤ細璇濓紝闇�瑕侀�氳繃瀹冩潵缁欏鎴风鍙戦�佹暟鎹�*/
+//	private Session session;
+//	/**鎺ユ敹userId*/
+//	private String userId="";
+//
+//	/**
+//	 * 杩炴帴寤虹珛鎴愬姛璋冪敤鐨勬柟娉�
+//	 * */
+//	@OnOpen
+//	public void onOpen(Session session, @PathParam("userId") String userId) {
+//		this.session = session;
+//		this.userId=userId;
+//		if(webSocketMap.containsKey(userId)){
+//			webSocketMap.remove(userId);
+//			//鍔犲叆set涓�
+//		}else{
+//			webSocketMap.put(userId,this);
+//			//鍔犲叆set涓�
+//			addOnlineCount();
+//			//鍦ㄧ嚎鏁板姞1
+//		}
+//
+//		log.info("鐢ㄦ埛杩炴帴:"+userId+",褰撳墠鍦ㄧ嚎浜烘暟涓�:" + getOnlineCount());
+//
+//		try {
+//			HashMap<Object, Object> map = new HashMap<>();
+//			map.put("key","杩炴帴鎴愬姛");
+//			sendMessage(JSON.toJSONString(map));
+//		} catch (IOException e) {
+//			log.error("鐢ㄦ埛:"+userId+",缃戠粶寮傚父!!!!!!");
+//		}
+//	}
+//
+//	/**
+//	 * 杩炴帴鍏抽棴璋冪敤鐨勬柟娉�
+//	 */
+//	@OnClose
+//	public void onClose() {
+//		if(webSocketMap.containsKey(userId)){
+//			webSocketMap.remove(userId);
+//			//浠巗et涓垹闄�
+//			subOnlineCount();
+//		}
+//		log.info("鐢ㄦ埛閫�鍑�:"+userId+",褰撳墠鍦ㄧ嚎浜烘暟涓�:" + getOnlineCount());
+//	}
+//
+//	/**
+//	 * 鏀跺埌瀹㈡埛绔秷鎭悗璋冪敤鐨勬柟娉�
+//	 *
+//	 * @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅*/
+//	@OnMessage
+//	public void onMessage(String message, Session session) {
+//		log.info("鐢ㄦ埛娑堟伅:"+userId+",鎶ユ枃:"+message);
+//		//鍙互缇ゅ彂娑堟伅
+//		//娑堟伅淇濆瓨鍒版暟鎹簱銆乺edis
+//		if(StringUtils.isNotBlank(message)){
+//			try {
+//				//瑙f瀽鍙戦�佺殑鎶ユ枃
+//				JSONObject jsonObject = JSONObject.parseObject(message);
+//				//杩藉姞鍙戦�佷汉(闃叉涓叉敼)
+//				jsonObject.put("fromUserId",this.userId);
+//				String fromUserId=jsonObject.getString("fromUserId");
+//				//浼犻�佺粰瀵瑰簲toUserId鐢ㄦ埛鐨剋ebsocket
+//				if(StringUtils.isNotBlank(fromUserId) && webSocketMap.containsKey(fromUserId)){
+//					webSocketMap.get(fromUserId).sendMessage(jsonObject.toJSONString());
+//					//鑷畾涔�-涓氬姟澶勭悊
+//
+////                    DeviceLocalThread.paramData.put(jsonObject.getString("group"),jsonObject.toJSONString());
+//				}else{
+//					log.error("璇锋眰鐨剈serId:"+fromUserId+"涓嶅湪璇ユ湇鍔″櫒涓�");
+//					//鍚﹀垯涓嶅湪杩欎釜鏈嶅姟鍣ㄤ笂锛屽彂閫佸埌mysql鎴栬�卹edis
+//				}
+//			}catch (Exception e){
+//				e.printStackTrace();
+//			}
+//		}
+//	}
+//
+//	/**
+//	 *  鍙戠敓閿欒鏃跺��
+//	 * @param session
+//	 * @param error
+//	 */
+//	@OnError
+//	public void onError(Session session, Throwable error) {
+//		log.error("鐢ㄦ埛閿欒:"+this.userId+",鍘熷洜:"+error.getMessage());
+//		error.printStackTrace();
+//	}
+//	/**
+//	 * 瀹炵幇鏈嶅姟鍣ㄤ富鍔ㄦ帹閫�
+//	 */
+//	public void sendMessage(String message) throws IOException {
+//		//鍔犲叆绾跨▼閿�
+//		synchronized (session){
+//			try {
+//				//鍚屾鍙戦�佷俊鎭�
+//				this.session.getBasicRemote().sendText(message);
+//			} catch (IOException e) {
+//				log.error("鏈嶅姟鍣ㄦ帹閫佸け璐�:"+e.getMessage());
+//			}
+//		}
+//	}
+//
+//
+//	/**
+//	 * 鍙戦�佽嚜瀹氫箟娑堟伅
+//	 * */
+//	/**
+//	 * 鍙戦�佽嚜瀹氫箟娑堟伅
+//	 * @param message 鍙戦�佺殑淇℃伅
+//	 * @param toUserId  濡傛灉涓簄ull榛樿鍙戦�佹墍鏈�
+//	 * @throws IOException
+//	 */
+//	public static void sendInfo(String message,String toUserId) throws IOException {
+//		//濡傛灉userId涓虹┖锛屽悜鎵�鏈夌兢浣撳彂閫�
+//		if(StringUtils.isEmpty(toUserId)) {
+//			//鍚戞墍鏈夌敤鎴峰彂閫佷俊鎭�
+//			Iterator<String> itera = webSocketMap.keySet().iterator();
+//			while (itera.hasNext()) {
+//				String keys = itera.next();
+//				WebSocketServer item = webSocketMap.get(keys);
+//				item.sendMessage(message);
+//			}
+//		}
+//		//濡傛灉涓嶄负绌猴紝鍒欏彂閫佹寚瀹氱敤鎴蜂俊鎭�
+//		else if(webSocketMap.containsKey(toUserId)){
+//			WebSocketServer item = webSocketMap.get(toUserId);
+//			item.sendMessage(message);
+//		}else{
+//			log.error("璇锋眰鐨剈serId:"+toUserId+"涓嶅湪璇ユ湇鍔″櫒涓�");
+//		}
+//	}
+//
+//	public static synchronized int getOnlineCount() {
+//		return onlineCount;
+//	}
+//
+//	public static synchronized void addOnlineCount() {
+//		WebSocketServer.onlineCount++;
+//	}
+//
+//	public static synchronized void subOnlineCount() {
+//		WebSocketServer.onlineCount--;
+//	}
+//
+//	public static synchronized ConcurrentHashMap<String, WebSocketServer> getWebSocketMap(){
+//		return WebSocketServer.webSocketMap;
+//	}
+//}
\ No newline at end of file
diff --git a/mes-web/src/main/java/com/chinaztt/mes/App.java b/mes-web/src/main/java/com/chinaztt/mes/App.java
index 7ae4f54..1e1ae50 100644
--- a/mes-web/src/main/java/com/chinaztt/mes/App.java
+++ b/mes-web/src/main/java/com/chinaztt/mes/App.java
@@ -7,6 +7,7 @@
 import org.springframework.boot.SpringApplication;
 import org.springframework.cloud.client.SpringCloudApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.web.socket.config.annotation.EnableWebSocket;
 
 /**
  * @author ztt archetype
@@ -19,6 +20,7 @@
 @EnableZttFeignClients(basePackages = {"com.chinaztt.**"})
 @EnableZttResourceServer
 @EnableZttXxlJob
+@EnableWebSocket
 public class App {
 	public static void main(String[] args) {
 		SpringApplication.run(App.class, args);
diff --git a/mes-web/src/main/resources/bootstrap.yml b/mes-web/src/main/resources/bootstrap.yml
index 8947b51..d99f0d8 100644
--- a/mes-web/src/main/resources/bootstrap.yml
+++ b/mes-web/src/main/resources/bootstrap.yml
@@ -6,9 +6,9 @@
     druid:
       username: postgres
       #      password: postgres123
-      password: root2022
+      password: zsAdmin123!
       #      灏勯寮�鍙戞暟鎹簱
-      url: jdbc:postgresql://106.13.194.57:9015/postgres
+      url: jdbc:postgresql://127.0.0.1:5432/postgres
   application:
     name: ztt-mes
   cloud:
@@ -17,7 +17,7 @@
       #      password: nacos
       password: zttZTT123!
       discovery:
-        server-addr: 106.13.194.57:8848
+        server-addr: 127.0.0.1:8848
         metadata:
           #          VERSION: 10.88.15.224
           VERSION: 127.0.0.1

--
Gitblit v1.9.3