jingbo 3 週間 前
コミット
49663698e8
100 ファイル変更14115 行追加0 行削除
  1. 70 0
      .gitignore
  2. 21 0
      LICENSE
  3. 508 0
      api.http
  4. 19 0
      bin/docker-build.bat
  5. 16 0
      bin/docker-build.sh
  6. 21 0
      bin/docker/Dockerfile
  7. 34 0
      bin/init-data.bat
  8. 33 0
      bin/init-data.sh
  9. 19 0
      bin/package.bat
  10. 16 0
      bin/package.sh
  11. 20 0
      bin/run-tomcat.bat
  12. 15 0
      bin/run-tomcat.sh
  13. 31 0
      bin/run-web.bat
  14. 27 0
      bin/run-web.sh
  15. 75 0
      db/h2/test.sql
  16. 75 0
      db/mssql/test.sql
  17. 0 0
      db/mysql/.keep
  18. 7068 0
      db/mysql/mes_cloud-2023-6-10.sql
  19. 15 0
      db/oracle/create_user.sql
  20. 132 0
      db/oracle/test.sql
  21. 132 0
      db/postgresql/test.sql
  22. 3590 0
      db/test.erm
  23. 329 0
      pom.xml
  24. 73 0
      src/main/java/com/jeesite/modules/Application.java
  25. 198 0
      src/main/java/com/jeesite/modules/Modbus.java
  26. 292 0
      src/main/java/com/jeesite/modules/S7.java
  27. 105 0
      src/main/java/com/jeesite/modules/Test.java
  28. 55 0
      src/main/java/com/jeesite/modules/config/BaseConfig.java
  29. 18 0
      src/main/java/com/jeesite/modules/config/WebConfig.java
  30. 25 0
      src/main/java/com/jeesite/modules/interceptor/SiteClosedInterceptor.java
  31. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesAppDao.java
  32. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesApplyDao.java
  33. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesApprovalDao.java
  34. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesApprovalNodeDao.java
  35. 17 0
      src/main/java/com/jeesite/modules/mes/dao/MesBatchSnDao.java
  36. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesCheckDao.java
  37. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesCheckFormDao.java
  38. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesCheckItemsDao.java
  39. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesCheckItemsFailDao.java
  40. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesCustomerDao.java
  41. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceAlarmDao.java
  42. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceCateDao.java
  43. 18 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceCheckDao.java
  44. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceClientDao.java
  45. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceConsumableDao.java
  46. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceConsumableRecordDao.java
  47. 18 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceDao.java
  48. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceFormDao.java
  49. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceLogDao.java
  50. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDevicePreventDao.java
  51. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDevicePreventFormDao.java
  52. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDevicePreventTaskDao.java
  53. 20 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceRecordDao.java
  54. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceStateDao.java
  55. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceTaskDao.java
  56. 17 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceTaskFormDao.java
  57. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceTaskUserDao.java
  58. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceTimeDao.java
  59. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDeviceUrgencyDao.java
  60. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDocumentCateDao.java
  61. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesDocumentDao.java
  62. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesElectricTorqueDao.java
  63. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesElectricTorqueInfoDao.java
  64. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesGp12RecordDao.java
  65. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesGroupDao.java
  66. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesGroupOprnoDao.java
  67. 18 0
      src/main/java/com/jeesite/modules/mes/dao/MesGroupUserDao.java
  68. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesIconsDao.java
  69. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesIpqcDao.java
  70. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesIqcDao.java
  71. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesJbLogDao.java
  72. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesLineDao.java
  73. 25 0
      src/main/java/com/jeesite/modules/mes/dao/MesLineProcessDao.java
  74. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesLineProcessMaterialDao.java
  75. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesLineProcessUserDao.java
  76. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesLogDao.java
  77. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesLogUselessDao.java
  78. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialBfRecordDao.java
  79. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialBfRecordItemsDao.java
  80. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialBlpRecordDao.java
  81. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialCheckDao.java
  82. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialCheckItemsDao.java
  83. 17 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialCheckRecordDao.java
  84. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialCheckRecordItemsDao.java
  85. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialCkLogDao.java
  86. 17 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialDao.java
  87. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialKcLogDao.java
  88. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialKwDao.java
  89. 17 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialLlRecordDao.java
  90. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialLlRecordItemsDao.java
  91. 16 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialPrebindDao.java
  92. 18 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialReportDao.java
  93. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialRkLogDao.java
  94. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialRkRecordDao.java
  95. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialRkRecordItemsDao.java
  96. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialThRecordDao.java
  97. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesMaterialThRecordItemsDao.java
  98. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesNgDao.java
  99. 15 0
      src/main/java/com/jeesite/modules/mes/dao/MesPeriodicMaintenanceDao.java
  100. 0 0
      src/main/java/com/jeesite/modules/mes/dao/MesPeriodicMaintenanceRecordDao.java

+ 70 - 0
.gitignore

@@ -0,0 +1,70 @@
+.metadata
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings
+.loadpath
+.recommenders
+.classpath
+.project
+.class
+jar
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# CDT- autotools
+.autotools
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Annotation Processing
+.apt_generated/
+.apt_generated_test/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
+
+# Uncomment this line if you wish to ignore the project description file.
+# Typically, this file would be tracked if it contains build/dependency configurations:
+#.project
+
+.idea
+**/target
+**/webapp/userfiles
+**/WEB-INF/classes
+jee-test.iml
+jeesite-web.iml

+ 21 - 0
LICENSE

@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 flyingfish
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

ファイルの差分が大きいため隠しています
+ 508 - 0
api.http


+ 19 - 0
bin/docker-build.bat

@@ -0,0 +1,19 @@
+@echo off
+rem /**
+rem  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+rem  * No deletion without permission, or be held responsible to law.
+rem  *
+rem  * Author: ThinkGem@163.com
+rem  */
+echo.
+echo [信息] 打包Web工程,编译Docker镜像
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+call mvn clean package docker:remove docker:build -Dmaven.test.skip=true -U
+
+cd bin
+pause

+ 16 - 0
bin/docker-build.sh

@@ -0,0 +1,16 @@
+#!/bin/sh
+# /**
+#  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+#  * No deletion without permission, or be held responsible to law.
+#  *
+#  * Author: ThinkGem@163.com
+#  * 
+#  */
+echo ""
+echo "[信息] 打包Web工程,编译Docker镜像。"
+echo ""
+
+cd ..
+mvn clean package docker:remove docker:build -Dmaven.test.skip=true -U
+
+cd bin

+ 21 - 0
bin/docker/Dockerfile

@@ -0,0 +1,21 @@
+FROM openjdk:8-slim
+LABEL maintainer="ThinkGem@163.com"
+ENV TZ "Asia/Shanghai"
+ENV LANG C.UTF-8
+VOLUME /tmp
+VOLUME /data
+
+WORKDIR /app
+
+#RUN mkdir WEB-INF
+#ADD jeesite.lic ./WEB-INF
+ADD ./maven/web.war ./app.war
+
+#ENV JAVA_OPTS "$JAVA_OPTS -Xms256m -Xmx1024m"
+ENV JAVA_OPTS "$JAVA_OPTS -Dspring.profiles.active=prod"
+
+ENTRYPOINT jar -xvf app.war && rm app.war && cd WEB-INF && sh startup.sh
+
+EXPOSE 8980
+
+#docker run -p 8980:8980 thinkgem/jeesite-web:5.1

+ 34 - 0
bin/init-data.bat

@@ -0,0 +1,34 @@
+@echo off
+rem /**
+rem  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+rem  * No deletion without permission, or be held responsible to law.
+rem  *
+rem  * Author: ThinkGem@163.com
+rem  */
+echo.
+echo [信息] 初始化数据库。
+echo.
+echo [信息] 本操作主要用于首次安装 JeeSite 或后安装 Module 的数据表初始化,若模块已安装会自动忽略。
+echo.
+echo [信息] 在 v4.2 版本以后,官方初始化数据库是比较安全的,官方代码中不会包含任何删除数据表及数据的脚本。
+echo.
+echo [信息] 如果你是升级到该版本,不排除你是否升级完整,为安全起见,建议先备份数据库后再操作。
+echo.
+pause
+
+%~d0
+cd %~dp0
+
+cd ..
+
+call mvn clean compile -Dmaven.test.skip=true -U
+echo.
+echo [信息] 依赖下载完成,下面开始初始化数据库。
+echo.
+pause
+
+set "MAVEN_OPTS=%MAVEN_OPTS% -Xms512m -Xmx1024m"
+call mvn test -Dmaven.test.skip=false -Dtest=com.jeesite.test.InitData
+
+cd bin
+pause

+ 33 - 0
bin/init-data.sh

@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+# /**
+#  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+#  * No deletion without permission, or be held responsible to law.
+#  *
+#  * Author: ThinkGem@163.com
+#  * 
+#  */
+echo ""
+echo "[信息] 初始化数据库。"
+echo ""
+echo "[信息] 本操作主要用于首次安装 JeeSite 或后安装 Module 的数据表初始化,若模块已安装会自动忽略。"
+echo ""
+echo "[信息] 在 v4.2 版本以后,官方初始化数据库是比较安全的,官方代码中不会包含任何删除数据表及数据的脚本。"
+echo ""
+echo "[信息] 如果你是升级到该版本,不排除你是否升级完整,为安全起见,建议先备份数据库后再操作。"
+echo ""
+echo -n "请按任意键继续 ... "
+read text
+
+cd ..
+
+mvn clean compile -Dmaven.test.skip=true -U
+echo ""
+echo "[信息] 依赖下载完成,下面开始初始化数据库。"
+echo ""
+echo -n "请按任意键继续 ... "
+read text
+
+MAVEN_OPTS="$MAVEN_OPTS -Xms512m -Xmx1024m"
+mvn test -Dmaven.test.skip=false -Dtest=com.jeesite.test.InitData
+
+cd bin

+ 19 - 0
bin/package.bat

@@ -0,0 +1,19 @@
+@echo off
+rem /**
+rem  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+rem  * No deletion without permission, or be held responsible to law.
+rem  *
+rem  * Author: ThinkGem@163.com
+rem  */
+echo.
+echo [信息] 打包Web工程,生成war/jar包文件。
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+call mvn clean package spring-boot:repackage -Dmaven.test.skip=true -U
+
+cd bin
+pause

+ 16 - 0
bin/package.sh

@@ -0,0 +1,16 @@
+#!/bin/sh
+# /**
+#  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+#  * No deletion without permission, or be held responsible to law.
+#  *
+#  * Author: ThinkGem@163.com
+#  * 
+#  */
+echo ""
+echo "[信息] 打包Web工程,生成war/jar包文件。"
+echo ""
+
+cd ..
+mvn clean package spring-boot:repackage -Dmaven.test.skip=true -U
+
+cd bin

+ 20 - 0
bin/run-tomcat.bat

@@ -0,0 +1,20 @@
+@echo off
+rem /**
+rem  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+rem  * No deletion without permission, or be held responsible to law.
+rem  *
+rem  * Author: ThinkGem@163.com
+rem  */
+echo.
+echo [ÐÅÏ¢] ʹÓà Spring Boot Tomcat ÔËÐÐ Web ¹¤³Ì¡£
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+title %cd%
+set "MAVEN_OPTS=%MAVEN_OPTS% -Xms512m -Xmx1024m"
+call mvn clean spring-boot:run -Dmaven.test.skip=true
+
+pause

+ 15 - 0
bin/run-tomcat.sh

@@ -0,0 +1,15 @@
+#!/bin/sh
+# /**
+#  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+#  * No deletion without permission, or be held responsible to law.
+#  *
+#  * Author: ThinkGem@163.com
+#  * 
+#  */
+echo ""
+echo "[信息] 使用 Spring Boot Tomcat 运行 Web 工程。"
+echo ""
+
+cd ..
+MAVEN_OPTS="$MAVEN_OPTS -Xms512m -Xmx1024m"
+mvn clean spring-boot:run -Dmaven.test.skip=true

+ 31 - 0
bin/run-web.bat

@@ -0,0 +1,31 @@
+@echo off
+rem /**
+rem  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+rem  * No deletion without permission, or be held responsible to law.
+rem  *
+rem  * Author: ThinkGem@163.com
+rem  */
+echo.
+echo [信息] 打包Web工程,并运行Web工程。
+echo.
+
+%~d0
+cd %~dp0
+
+rem 打包Web工程(开始)
+cd ..
+call mvn clean package spring-boot:repackage -Dmaven.test.skip=true -U
+cd target
+rem 打包Web工程(结束)
+
+
+rem 根据情况修改 web.jar 为您的 jar 包名称
+mkdir app
+copy web.war app
+cd app
+jar -xvf web.war
+del web.war
+cd WEB-INF
+call startup.bat
+
+pause

+ 27 - 0
bin/run-web.sh

@@ -0,0 +1,27 @@
+#!/bin/sh
+# /**
+#  * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+#  * No deletion without permission, or be held responsible to law.
+#  *
+#  * Author: ThinkGem@163.com
+#  * 
+#  */
+echo ""
+echo "[信息] 打包Web工程,并运行Web工程。"
+echo ""
+
+# 打包Web工程(开始)
+cd ..
+mvn clean package spring-boot:repackage -Dmaven.test.skip=true -U
+cd target
+# 打包Web工程(结束)
+
+
+# 根据情况修改 web.jar 为您的 jar 包名称
+mkdir app
+cp web.war ./app
+cd app
+jar -xvf web.war
+rm web.war
+cd WEB-INF
+sh ./startup.sh

+ 75 - 0
db/h2/test.sql

@@ -0,0 +1,75 @@
+
+
+/* Create Tables */
+
+-- 测试数据
+CREATE TABLE test_data
+(
+	id varchar(64) NOT NULL,
+	test_input varchar(200),
+	test_textarea varchar(200),
+	test_select varchar(10),
+	test_select_multiple varchar(200),
+	test_radio varchar(10),
+	test_checkbox varchar(200),
+	test_date datetime,
+	test_datetime datetime,
+	test_user_code varchar(64),
+	test_office_code varchar(64),
+	test_area_code varchar(64),
+	test_area_name varchar(100),
+	status char(1) DEFAULT '0' NOT NULL,
+	create_by varchar(64) NOT NULL,
+	create_date datetime NOT NULL,
+	update_by varchar(64) NOT NULL,
+	update_date datetime NOT NULL,
+	remarks varchar(500),
+	PRIMARY KEY (id)
+);
+
+
+-- 测试数据子表
+CREATE TABLE test_data_child
+(
+	id varchar(64) NOT NULL,
+	test_sort int,
+	test_data_id varchar(64),
+	test_input varchar(200),
+	test_textarea varchar(200),
+	test_select varchar(10),
+	test_select_multiple varchar(200),
+	test_radio varchar(10),
+	test_checkbox varchar(200),
+	test_date datetime,
+	test_datetime datetime,
+	test_user_code varchar(64),
+	test_office_code varchar(64),
+	test_area_code varchar(64),
+	test_area_name varchar(100),
+	PRIMARY KEY (id)
+);
+
+
+-- 测试树表
+CREATE TABLE test_tree
+(
+	tree_code varchar(64) NOT NULL,
+	parent_code varchar(64) NOT NULL,
+	parent_codes varchar(767) NOT NULL,
+	tree_sort decimal(10) NOT NULL,
+	tree_sorts varchar(767) NOT NULL,
+	tree_leaf char(1) NOT NULL,
+	tree_level decimal(4) NOT NULL,
+	tree_names varchar(767) NOT NULL,
+	tree_name varchar(200) NOT NULL,
+	status char(1) DEFAULT '0' NOT NULL,
+	create_by varchar(64) NOT NULL,
+	create_date datetime NOT NULL,
+	update_by varchar(64) NOT NULL,
+	update_date datetime NOT NULL,
+	remarks varchar(500),
+	PRIMARY KEY (tree_code)
+);
+
+
+

+ 75 - 0
db/mssql/test.sql

@@ -0,0 +1,75 @@
+
+
+/* Create Tables */
+
+-- 测试数据
+CREATE TABLE [test_data]
+(
+	[id] varchar(64) NOT NULL,
+	[test_input] varchar(200),
+	[test_textarea] nvarchar(200),
+	[test_select] varchar(10),
+	[test_select_multiple] varchar(200),
+	[test_radio] varchar(10),
+	[test_checkbox] varchar(200),
+	[test_date] datetime,
+	[test_datetime] datetime,
+	[test_user_code] varchar(64),
+	[test_office_code] varchar(64),
+	[test_area_code] varchar(64),
+	[test_area_name] nvarchar(100),
+	[status] char(1) DEFAULT '0' NOT NULL,
+	[create_by] varchar(64) NOT NULL,
+	[create_date] datetime NOT NULL,
+	[update_by] varchar(64) NOT NULL,
+	[update_date] datetime NOT NULL,
+	[remarks] nvarchar(500),
+	PRIMARY KEY ([id])
+);
+
+
+-- 测试数据子表
+CREATE TABLE [test_data_child]
+(
+	[id] varchar(64) NOT NULL,
+	[test_sort] int,
+	[test_data_id] varchar(64),
+	[test_input] varchar(200),
+	[test_textarea] nvarchar(200),
+	[test_select] varchar(10),
+	[test_select_multiple] varchar(200),
+	[test_radio] varchar(10),
+	[test_checkbox] varchar(200),
+	[test_date] datetime,
+	[test_datetime] datetime,
+	[test_user_code] varchar(64),
+	[test_office_code] varchar(64),
+	[test_area_code] varchar(64),
+	[test_area_name] nvarchar(100),
+	PRIMARY KEY ([id])
+);
+
+
+-- 测试树表
+CREATE TABLE [test_tree]
+(
+	[tree_code] varchar(64) NOT NULL,
+	[parent_code] varchar(64) NOT NULL,
+	[parent_codes] varchar(767) NOT NULL,
+	[tree_sort] decimal(10) NOT NULL,
+	[tree_sorts] varchar(767) NOT NULL,
+	[tree_leaf] char(1) NOT NULL,
+	[tree_level] decimal(4) NOT NULL,
+	[tree_names] varchar(767) NOT NULL,
+	[tree_name] nvarchar(200) NOT NULL,
+	[status] char(1) DEFAULT '0' NOT NULL,
+	[create_by] varchar(64) NOT NULL,
+	[create_date] datetime NOT NULL,
+	[update_by] varchar(64) NOT NULL,
+	[update_date] datetime NOT NULL,
+	[remarks] nvarchar(500),
+	PRIMARY KEY ([tree_code])
+);
+
+
+

+ 0 - 0
db/mysql/.keep


ファイルの差分が大きいため隠しています
+ 7068 - 0
db/mysql/mes_cloud-2023-6-10.sql


+ 15 - 0
db/oracle/create_user.sql

@@ -0,0 +1,15 @@
+
+create user jeesite
+	identified by jeesite
+	quota unlimited on users;
+  
+grant connect,resource,create session,select any table,
+		create any view,create any table,create any index,
+		drop any table,drop any view,drop any index
+	to jeesite;
+	
+-- 提示 oracle.jdbc.xa.OracleXAResource.recover 错误需要授权:
+grant select on sys.dba_pending_transactions to jeesite;
+grant select on sys.pending_trans$ to jeesite;
+grant select on sys.dba_2pc_pending to jeesite;
+grant execute on sys.dbms_system to jeesite;

+ 132 - 0
db/oracle/test.sql

@@ -0,0 +1,132 @@
+
+
+/* Create Tables */
+
+-- 测试数据
+CREATE TABLE test_data
+(
+	id varchar2(64) NOT NULL,
+	test_input varchar2(200),
+	test_textarea nvarchar2(200),
+	test_select varchar2(10),
+	test_select_multiple varchar2(200),
+	test_radio varchar2(10),
+	test_checkbox varchar2(200),
+	test_date timestamp,
+	test_datetime timestamp,
+	test_user_code varchar2(64),
+	test_office_code varchar2(64),
+	test_area_code varchar2(64),
+	test_area_name nvarchar2(100),
+	status char(1) DEFAULT '0' NOT NULL,
+	create_by varchar2(64) NOT NULL,
+	create_date timestamp NOT NULL,
+	update_by varchar2(64) NOT NULL,
+	update_date timestamp NOT NULL,
+	remarks nvarchar2(500),
+	PRIMARY KEY (id)
+);
+
+
+-- 测试数据子表
+CREATE TABLE test_data_child
+(
+	id varchar2(64) NOT NULL,
+	test_sort number(10,0),
+	test_data_id varchar2(64),
+	test_input varchar2(200),
+	test_textarea nvarchar2(200),
+	test_select varchar2(10),
+	test_select_multiple varchar2(200),
+	test_radio varchar2(10),
+	test_checkbox varchar2(200),
+	test_date timestamp,
+	test_datetime timestamp,
+	test_user_code varchar2(64),
+	test_office_code varchar2(64),
+	test_area_code varchar2(64),
+	test_area_name nvarchar2(100),
+	PRIMARY KEY (id)
+);
+
+
+-- 测试树表
+CREATE TABLE test_tree
+(
+	tree_code varchar2(64) NOT NULL,
+	parent_code varchar2(64) NOT NULL,
+	parent_codes varchar2(767) NOT NULL,
+	tree_sort number(10) NOT NULL,
+	tree_sorts varchar2(767) NOT NULL,
+	tree_leaf char(1) NOT NULL,
+	tree_level number(4) NOT NULL,
+	tree_names varchar2(767) NOT NULL,
+	tree_name nvarchar2(200) NOT NULL,
+	status char(1) DEFAULT '0' NOT NULL,
+	create_by varchar2(64) NOT NULL,
+	create_date timestamp NOT NULL,
+	update_by varchar2(64) NOT NULL,
+	update_date timestamp NOT NULL,
+	remarks nvarchar2(500),
+	PRIMARY KEY (tree_code)
+);
+
+
+
+/* Comments */
+
+COMMENT ON TABLE test_data IS '测试数据';
+COMMENT ON COLUMN test_data.id IS '编号';
+COMMENT ON COLUMN test_data.test_input IS '单行文本';
+COMMENT ON COLUMN test_data.test_textarea IS '多行文本';
+COMMENT ON COLUMN test_data.test_select IS '下拉框';
+COMMENT ON COLUMN test_data.test_select_multiple IS '下拉多选';
+COMMENT ON COLUMN test_data.test_radio IS '单选框';
+COMMENT ON COLUMN test_data.test_checkbox IS '复选框';
+COMMENT ON COLUMN test_data.test_date IS '日期选择';
+COMMENT ON COLUMN test_data.test_datetime IS '日期时间';
+COMMENT ON COLUMN test_data.test_user_code IS '用户选择';
+COMMENT ON COLUMN test_data.test_office_code IS '机构选择';
+COMMENT ON COLUMN test_data.test_area_code IS '区域选择';
+COMMENT ON COLUMN test_data.test_area_name IS '区域名称';
+COMMENT ON COLUMN test_data.status IS '状态(0正常 1删除 2停用)';
+COMMENT ON COLUMN test_data.create_by IS '创建者';
+COMMENT ON COLUMN test_data.create_date IS '创建时间';
+COMMENT ON COLUMN test_data.update_by IS '更新者';
+COMMENT ON COLUMN test_data.update_date IS '更新时间';
+COMMENT ON COLUMN test_data.remarks IS '备注信息';
+COMMENT ON TABLE test_data_child IS '测试数据子表';
+COMMENT ON COLUMN test_data_child.id IS '编号';
+COMMENT ON COLUMN test_data_child.test_sort IS '排序号';
+COMMENT ON COLUMN test_data_child.test_data_id IS '父表主键';
+COMMENT ON COLUMN test_data_child.test_input IS '单行文本';
+COMMENT ON COLUMN test_data_child.test_textarea IS '多行文本';
+COMMENT ON COLUMN test_data_child.test_select IS '下拉框';
+COMMENT ON COLUMN test_data_child.test_select_multiple IS '下拉多选';
+COMMENT ON COLUMN test_data_child.test_radio IS '单选框';
+COMMENT ON COLUMN test_data_child.test_checkbox IS '复选框';
+COMMENT ON COLUMN test_data_child.test_date IS '日期选择';
+COMMENT ON COLUMN test_data_child.test_datetime IS '日期时间';
+COMMENT ON COLUMN test_data_child.test_user_code IS '用户选择';
+COMMENT ON COLUMN test_data_child.test_office_code IS '机构选择';
+COMMENT ON COLUMN test_data_child.test_area_code IS '区域选择';
+COMMENT ON COLUMN test_data_child.test_area_name IS '区域名称';
+COMMENT ON TABLE test_tree IS '测试树表';
+COMMENT ON COLUMN test_tree.tree_code IS '节点编码';
+COMMENT ON COLUMN test_tree.parent_code IS '父级编号';
+COMMENT ON COLUMN test_tree.parent_codes IS '所有父级编号';
+COMMENT ON COLUMN test_tree.tree_sort IS '排序号(升序)';
+COMMENT ON COLUMN test_tree.tree_sorts IS '所有排序号';
+COMMENT ON COLUMN test_tree.tree_leaf IS '是否最末级';
+COMMENT ON COLUMN test_tree.tree_level IS '层次级别';
+COMMENT ON COLUMN test_tree.tree_names IS '全节点名';
+COMMENT ON COLUMN test_tree.tree_name IS '节点名称';
+COMMENT ON COLUMN test_tree.status IS '状态(0正常 1删除 2停用)';
+COMMENT ON COLUMN test_tree.create_by IS '创建者';
+COMMENT ON COLUMN test_tree.create_date IS '创建时间';
+COMMENT ON COLUMN test_tree.update_by IS '更新者';
+COMMENT ON COLUMN test_tree.update_date IS '更新时间';
+COMMENT ON COLUMN test_tree.remarks IS '备注信息';
+
+
+

+ 132 - 0
db/postgresql/test.sql

@@ -0,0 +1,132 @@
+
+
+/* Create Tables */
+
+-- 测试数据
+CREATE TABLE test_data
+(
+	id varchar(64) NOT NULL,
+	test_input varchar(200),
+	test_textarea varchar(200),
+	test_select varchar(10),
+	test_select_multiple varchar(200),
+	test_radio varchar(10),
+	test_checkbox varchar(200),
+	test_date timestamp,
+	test_datetime timestamp,
+	test_user_code varchar(64),
+	test_office_code varchar(64),
+	test_area_code varchar(64),
+	test_area_name varchar(100),
+	status char(1) DEFAULT '0' NOT NULL,
+	create_by varchar(64) NOT NULL,
+	create_date timestamp NOT NULL,
+	update_by varchar(64) NOT NULL,
+	update_date timestamp NOT NULL,
+	remarks varchar(500),
+	PRIMARY KEY (id)
+) WITHOUT OIDS;
+
+
+-- 测试数据子表
+CREATE TABLE test_data_child
+(
+	id varchar(64) NOT NULL,
+	test_sort int,
+	test_data_id varchar(64),
+	test_input varchar(200),
+	test_textarea varchar(200),
+	test_select varchar(10),
+	test_select_multiple varchar(200),
+	test_radio varchar(10),
+	test_checkbox varchar(200),
+	test_date timestamp,
+	test_datetime timestamp,
+	test_user_code varchar(64),
+	test_office_code varchar(64),
+	test_area_code varchar(64),
+	test_area_name varchar(100),
+	PRIMARY KEY (id)
+) WITHOUT OIDS;
+
+
+-- 测试树表
+CREATE TABLE test_tree
+(
+	tree_code varchar(64) NOT NULL,
+	parent_code varchar(64) NOT NULL,
+	parent_codes varchar(767) NOT NULL,
+	tree_sort decimal(10) NOT NULL,
+	tree_sorts varchar(767) NOT NULL,
+	tree_leaf char(1) NOT NULL,
+	tree_level decimal(4) NOT NULL,
+	tree_names varchar(767) NOT NULL,
+	tree_name varchar(200) NOT NULL,
+	status char(1) DEFAULT '0' NOT NULL,
+	create_by varchar(64) NOT NULL,
+	create_date timestamp NOT NULL,
+	update_by varchar(64) NOT NULL,
+	update_date timestamp NOT NULL,
+	remarks varchar(500),
+	PRIMARY KEY (tree_code)
+) WITHOUT OIDS;
+
+
+
+/* Comments */
+
+COMMENT ON TABLE test_data IS '测试数据';
+COMMENT ON COLUMN test_data.id IS '编号';
+COMMENT ON COLUMN test_data.test_input IS '单行文本';
+COMMENT ON COLUMN test_data.test_textarea IS '多行文本';
+COMMENT ON COLUMN test_data.test_select IS '下拉框';
+COMMENT ON COLUMN test_data.test_select_multiple IS '下拉多选';
+COMMENT ON COLUMN test_data.test_radio IS '单选框';
+COMMENT ON COLUMN test_data.test_checkbox IS '复选框';
+COMMENT ON COLUMN test_data.test_date IS '日期选择';
+COMMENT ON COLUMN test_data.test_datetime IS '日期时间';
+COMMENT ON COLUMN test_data.test_user_code IS '用户选择';
+COMMENT ON COLUMN test_data.test_office_code IS '机构选择';
+COMMENT ON COLUMN test_data.test_area_code IS '区域选择';
+COMMENT ON COLUMN test_data.test_area_name IS '区域名称';
+COMMENT ON COLUMN test_data.status IS '状态(0正常 1删除 2停用)';
+COMMENT ON COLUMN test_data.create_by IS '创建者';
+COMMENT ON COLUMN test_data.create_date IS '创建时间';
+COMMENT ON COLUMN test_data.update_by IS '更新者';
+COMMENT ON COLUMN test_data.update_date IS '更新时间';
+COMMENT ON COLUMN test_data.remarks IS '备注信息';
+COMMENT ON TABLE test_data_child IS '测试数据子表';
+COMMENT ON COLUMN test_data_child.id IS '编号';
+COMMENT ON COLUMN test_data_child.test_sort IS '排序号';
+COMMENT ON COLUMN test_data_child.test_data_id IS '父表主键';
+COMMENT ON COLUMN test_data_child.test_input IS '单行文本';
+COMMENT ON COLUMN test_data_child.test_textarea IS '多行文本';
+COMMENT ON COLUMN test_data_child.test_select IS '下拉框';
+COMMENT ON COLUMN test_data_child.test_select_multiple IS '下拉多选';
+COMMENT ON COLUMN test_data_child.test_radio IS '单选框';
+COMMENT ON COLUMN test_data_child.test_checkbox IS '复选框';
+COMMENT ON COLUMN test_data_child.test_date IS '日期选择';
+COMMENT ON COLUMN test_data_child.test_datetime IS '日期时间';
+COMMENT ON COLUMN test_data_child.test_user_code IS '用户选择';
+COMMENT ON COLUMN test_data_child.test_office_code IS '机构选择';
+COMMENT ON COLUMN test_data_child.test_area_code IS '区域选择';
+COMMENT ON COLUMN test_data_child.test_area_name IS '区域名称';
+COMMENT ON TABLE test_tree IS '测试树表';
+COMMENT ON COLUMN test_tree.tree_code IS '节点编码';
+COMMENT ON COLUMN test_tree.parent_code IS '父级编号';
+COMMENT ON COLUMN test_tree.parent_codes IS '所有父级编号';
+COMMENT ON COLUMN test_tree.tree_sort IS '排序号(升序)';
+COMMENT ON COLUMN test_tree.tree_sorts IS '所有排序号';
+COMMENT ON COLUMN test_tree.tree_leaf IS '是否最末级';
+COMMENT ON COLUMN test_tree.tree_level IS '层次级别';
+COMMENT ON COLUMN test_tree.tree_names IS '全节点名';
+COMMENT ON COLUMN test_tree.tree_name IS '节点名称';
+COMMENT ON COLUMN test_tree.status IS '状态(0正常 1删除 2停用)';
+COMMENT ON COLUMN test_tree.create_by IS '创建者';
+COMMENT ON COLUMN test_tree.create_date IS '创建时间';
+COMMENT ON COLUMN test_tree.update_by IS '更新者';
+COMMENT ON COLUMN test_tree.update_date IS '更新时间';
+COMMENT ON COLUMN test_tree.remarks IS '备注信息';
+
+
+

ファイルの差分が大きいため隠しています
+ 3590 - 0
db/test.erm


+ 329 - 0
pom.xml

@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>com.jeesite</groupId>
+		<artifactId>jeesite-parent</artifactId>
+		<version>5.2.0-SNAPSHOT</version>
+		<relativePath>../parent/pom.xml</relativePath>
+	</parent>
+
+
+	<artifactId>jee-mes-X13</artifactId>
+	<packaging>jar</packaging>
+	
+	<description>Web 服务,也可为分离端提供接口服务</description>
+	
+	<name>JeeSite Web</name>
+	<url>http://jeesite.com</url>
+	<inceptionYear>2013-Now</inceptionYear>
+	
+	<properties>
+		
+		<finalName>web</finalName><!-- war or jar 包的名称 -->
+		<start-class>com.jeesite.modules.Application</start-class>
+		
+		<!-- environment setting -->
+		<eclipse-plugin-download-sources>false</eclipse-plugin-download-sources>
+		<eclipse-plugin-download-javadocs>false</eclipse-plugin-download-javadocs>
+		
+		<!-- docker setting -->
+        <docker.run.port>8980:8980</docker.run.port>
+		
+	</properties>
+
+	<dependencies>
+
+		<!-- 核心模块 -->
+		<dependency>
+			<groupId>com.jeesite</groupId>
+			<artifactId>jeesite-module-core</artifactId>
+			<version>${project.parent.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>fastjson</artifactId>
+			<version>1.2.68</version>
+		</dependency>
+		<!-- 在线文档接口 -->
+		<dependency>
+			<groupId>com.jeesite</groupId>
+			<artifactId>jeesite-module-swagger</artifactId>
+			<version>${project.parent.version}</version>
+		</dependency>
+
+		<!-- 内容管理模块 -->
+<!--		<dependency>-->
+<!--			<groupId>com.jeesite</groupId>-->
+<!--			<artifactId>jeesite-module-cms</artifactId>-->
+<!--			<version>${project.parent.version}</version>-->
+<!--		</dependency>-->
+
+		<!-- 移动端模块 -->
+<!--		<dependency>-->
+<!--			<groupId>com.jeesite</groupId>-->
+<!--			<artifactId>jeesite-module-app</artifactId>-->
+<!--			<version>${project.parent.version}</version>-->
+<!--		</dependency>-->
+		
+		<!-- 文件管理共享(标准版)
+		<dependency>
+			<groupId>com.jeesite</groupId>
+			<artifactId>jeesite-module-filemanager</artifactId>
+			<version>${project.parent.version}</version>
+		</dependency> -->
+		
+		<!-- 文件在线预览(标准版)
+		<dependency>
+			<groupId>com.jeesite</groupId>
+			<artifactId>jeesite-module-filepreview</artifactId>
+			<version>${project.parent.version}</version>
+		</dependency> -->
+		
+		<!-- Spring Boot Tomcat
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-tomcat</artifactId>
+			<scope>provided</scope>
+		</dependency> -->
+
+		<dependency>
+            <groupId>org.elasticsearch.client</groupId>
+            <artifactId>elasticsearch-rest-high-level-client</artifactId>
+            <version>7.17.6</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.elasticsearch</groupId>
+                    <artifactId>elasticsearch</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.elasticsearch</groupId>
+            <artifactId>elasticsearch</artifactId>
+            <version>7.17.6</version>
+        </dependency>
+
+		<dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>3.9</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+        
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-all</artifactId>
+            <version>4.1.48.Final</version>
+        </dependency>
+
+		<dependency>
+			<groupId>com.github.s7connector</groupId>
+			<artifactId>s7connector</artifactId>
+			<version>2.1</version>
+		</dependency>
+
+<!--		<dependency>-->
+<!--			<groupId>com.github.dathlin</groupId>-->
+<!--			<artifactId>HslCommunication</artifactId>-->
+<!--			<version>3.1.1</version>-->
+<!--		</dependency>-->
+
+		<!-- https://mvnrepository.com/artifact/com.github.dathlin/HslCommunication -->
+		<dependency>
+			<groupId>com.github.dathlin</groupId>
+			<artifactId>HslCommunication</artifactId>
+			<version>3.3.1</version>
+		</dependency>
+
+		<dependency>
+			<groupId>com.github.xingshuangs</groupId>
+			<artifactId>iot-communication</artifactId>
+			<version>1.4.4</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.eclipse.milo</groupId>
+			<artifactId>sdk-client</artifactId>
+			<version>0.6.9</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.eclipse.milo</groupId>
+			<artifactId>sdk-server</artifactId>
+			<version>0.6.9</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.bouncycastle</groupId>
+			<artifactId>bcprov-jdk15on</artifactId>
+			<version>1.70</version>
+		</dependency>
+
+		<dependency>
+			<groupId>commons-net</groupId>
+			<artifactId>commons-net</artifactId>
+			<version>3.9.0</version>
+		</dependency>
+
+		<dependency>
+			<groupId>com.univocity</groupId>
+			<artifactId>univocity-parsers</artifactId>
+			<version>2.9.1</version>
+		</dependency>
+
+		<!--okhttp3 依赖-->
+		<dependency>
+			<groupId>com.squareup.okhttp3</groupId>
+			<artifactId>okhttp</artifactId>
+			<version>4.9.3</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.commons</groupId>
+			<artifactId>commons-csv</artifactId>
+			<version>1.8</version>
+		</dependency>
+
+
+		<dependency>
+			<groupId>cn.hutool</groupId>
+			<artifactId>hutool-all</artifactId>
+			<version>5.8.26</version>
+		</dependency>
+
+		<dependency>
+			<groupId>com.intelligt.modbus</groupId>
+			<artifactId>jlibmodbus</artifactId>
+			<version>1.2.9.7</version>
+		</dependency>
+		<dependency>
+			<groupId>com.fazecast</groupId>
+			<artifactId>jSerialComm</artifactId>
+			<version>2.6.2</version>
+		</dependency>
+<!--		<dependency>-->
+<!--			<groupId>com.github.purejavacomm</groupId>-->
+<!--			<artifactId>purejavacomm</artifactId>-->
+<!--			<version>1.0.1.RELEASE</version>-->
+<!--		</dependency>-->
+<!--		<dependency>-->
+<!--			<groupId>org.rxtx</groupId>-->
+<!--			<artifactId>rxtx</artifactId>-->
+<!--			<version>2.1.7</version>-->
+<!--		</dependency>-->
+
+<!--		<dependency>-->
+<!--			<groupId>io.github.java-native</groupId>-->
+<!--			<artifactId>jssc</artifactId>-->
+<!--			<version>2.9.4</version>-->
+<!--		</dependency>-->
+
+<!--		<dependency>-->
+<!--			<groupId>com.github.purejavacomm</groupId>-->
+<!--			<artifactId>purejavacomm</artifactId>-->
+<!--			<version>1.0.4</version>-->
+<!--		</dependency>-->
+
+<!--		<dependency>-->
+<!--			<groupId>org.apache.poi</groupId>-->
+<!--			<artifactId>poi</artifactId>-->
+<!--			<version>5.2.3</version>-->
+<!--		</dependency>-->
+<!--		<dependency>-->
+<!--			<groupId>org.apache.poi</groupId>-->
+<!--			<artifactId>poi-ooxml</artifactId>-->
+<!--			<version>5.2.3</version>-->
+<!--		</dependency>-->
+
+
+	</dependencies>
+	
+	<build>
+		<finalName>${finalName}</finalName>
+		<outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/classes/</outputDirectory>
+		<plugins>
+			
+			<!-- Spring Boot -->
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+				<configuration>
+					<includeSystemScope>true</includeSystemScope>
+				</configuration>
+			</plugin>
+
+			<!-- war插件,war包名称不带版本号 -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-war-plugin</artifactId>
+				<configuration>
+					<warName>${finalName}</warName>
+				</configuration>
+			</plugin>
+			
+			<!-- Eclipse 插件 -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-eclipse-plugin</artifactId>
+				<configuration>
+					<downloadSources>${eclipse-plugin-download-sources}</downloadSources>
+					<downloadJavadocs>${eclipse-plugin-download-javadocs}</downloadJavadocs>
+					<wtpContextName>${finalName}</wtpContextName>
+					<wtpversion>2.0</wtpversion>
+					<jeeversion>6.0</jeeversion>
+				</configuration>
+			</plugin>
+			
+		</plugins>
+	</build>
+	
+	<developers>  
+		<developer>
+			<id>thinkgem</id>
+			<name>WangZhen</name>
+			<email>thinkgem at 163.com</email>
+			<roles><role>Project lead</role></roles>
+			<timezone>+8</timezone>  
+		</developer>
+	</developers>
+	
+	<organization>
+		<name>JeeSite</name>
+		<url>http://jeesite.com</url>
+	</organization>
+	
+	<repositories>
+		<repository>
+			<id>aliyun-repos</id>
+			<url>https://maven.aliyun.com/repository/public</url>
+			<releases><enabled>true</enabled></releases>
+			<snapshots><enabled>false</enabled></snapshots>
+		</repository>
+		<repository>
+			<id>jeesite-repos</id>
+			<url>http://maven.jeesite.net/repository/maven-public</url>
+		</repository>
+	</repositories>
+	<pluginRepositories>
+		<pluginRepository>
+			<id>aliyun-repos</id>
+			<url>https://maven.aliyun.com/repository/public</url>
+			<releases><enabled>true</enabled></releases>
+			<snapshots><enabled>false</enabled></snapshots>
+		</pluginRepository>
+		<pluginRepository>
+			<id>jeesite-repos</id>
+			<url>http://maven.jeesite.net/repository/maven-public</url>
+		</pluginRepository>
+	</pluginRepositories>
+	
+</project>

+ 73 - 0
src/main/java/com/jeesite/modules/Application.java

@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+ * No deletion without permission, or be held responsible to law.
+ */
+package com.jeesite.modules;
+
+import java.net.ServerSocket;
+
+import com.alibaba.fastjson.parser.ParserConfig;
+import com.jeesite.modules.utils.LdNettyServer;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.core.env.Environment;
+
+import com.jeesite.modules.config.BaseConfig;
+import com.jeesite.modules.utils.NettyServer;
+
+/**
+ * Application
+ * @author ThinkGem
+ * @version 2018-10-13
+ */
+@SpringBootApplication
+public class Application extends SpringBootServletInitializer implements CommandLineRunner {
+	public static ServerSocket serverSocket = null;
+	@Autowired
+	private static Environment environment;
+
+	public static void main(String[] args) {
+		ParserConfig.getGlobalInstance().setSafeMode(true); // fastjson 开启安全模式
+
+		SpringApplication.run(Application.class, args);
+
+		initDatabaseConnection();
+	}
+
+	@Override
+	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
+		this.setRegisterErrorPageFilter(false); // 错误页面有容器来处理,而不是SpringBoot
+		return builder.sources(Application.class);
+	}
+
+	//启动端口号3000 tcp服务端
+	@Override
+	public void run(String... args) throws Exception {
+		// TODO Auto-generated method stub
+		new Thread(() -> {
+			try {
+				new NettyServer(3000).run();
+			}catch(Exception e) {
+				e.printStackTrace();
+			}
+		}).start();
+
+//		new Thread(() -> {
+//			try {
+//				new LdNettyServer(7890).run();
+//			}catch(Exception e) {
+//				e.printStackTrace();
+//			}
+//		}).start();
+	}
+	public static void initDatabaseConnection() {
+		System.out.println(BaseConfig.url);
+	}
+
+
+}

+ 198 - 0
src/main/java/com/jeesite/modules/Modbus.java

@@ -0,0 +1,198 @@
+package com.jeesite.modules;
+
+import com.alibaba.fastjson.JSON;
+//import com.github.xingshuangs.iot.common.buff.EByteBuffFormat;
+import com.github.xingshuangs.iot.protocol.common.buff.EByteBuffFormat;
+import com.github.xingshuangs.iot.protocol.modbus.service.ModbusTcp;
+
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.charset.Charset;
+import java.util.List;
+
+public class Modbus {
+    public static void main(String[] args) {
+
+//        ModbusTcp modbusTcp = new ModbusTcp(2, "192.168.1.211",8000);
+//        List<Boolean> list = modbusTcp.readCoil(26,1);
+//        System.err.println("6002:"+list.toString());
+        ModbusTcp modbusTcp = new ModbusTcp(1,"192.168.88.99");
+
+        modbusTcp.writeInt32(15000*2,0, EByteBuffFormat.DC_BA);
+
+        Integer ret3 = modbusTcp.readInt32(15000*2,EByteBuffFormat.DC_BA);
+        System.out.println(ret3);
+        Integer ret33 = modbusTcp.readInt32(15001*2,EByteBuffFormat.DC_BA);
+        System.out.println(ret33);
+        Integer ret333 = modbusTcp.readInt32(15004*2,EByteBuffFormat.DC_BA);
+        System.out.println(ret333);
+
+//        Integer ret = modbusTcp.readInt32(58*2, EByteBuffFormat.DC_BA);
+
+//        modbusTcp.writeInt32(6002*2,1, EByteBuffFormat.DC_BA);
+
+//        modbusTcp.writeInt32(58*2, 0);
+//        Integer ret = modbusTcp.readInt32(6000*2, EByteBuffFormat.DC_BA);
+//        System.err.println("6001:"+ret);
+//
+//        Integer ret2 = modbusTcp.readInt32(6002*2, EByteBuffFormat.DC_BA);
+//        System.err.println("6002:"+ret2);
+
+//        ModbusTcp plc = new ModbusTcp(1,"192.168.20.21");
+////        System.out.println("plc:"+plc.readCoil(99,1));
+////
+//        int val = plc.readInt32(99, EByteBuffFormat.DC_BA);
+////
+//
+//        System.out.println("转换后的整数:" + val);
+////        int val = plc.readInt32(100, EByteBuffFormat.AB_CD);
+//
+//        String binaryString = String.format("%16s", Integer.toBinaryString(val & 0xFF)).replace(' ', '0');
+//        System.out.println("Binary string: " + binaryString);
+//        System.out.println("0: " + getCharByPosition(binaryString,0));
+//        System.out.println("1: " + getCharByPosition(binaryString,1));
+//        System.out.println("2: " + getCharByPosition(binaryString,2));
+//        System.out.println("3: " + getCharByPosition(binaryString,3));
+//        System.out.println("4: " + getCharByPosition(binaryString,4));
+//        System.out.println("5: " + getCharByPosition(binaryString,5));
+//        System.out.println("6: " + getCharByPosition(binaryString,6));
+//        System.out.println("7: " + getCharByPosition(binaryString,7));
+//
+//        int value = Integer.parseInt(binaryString, 2);
+//        System.out.println("转换后的整数:" + value);
+//
+//        String newBinaryString = setCharByPosition(binaryString,0,'0');
+//        System.out.println("newBinaryString: " + newBinaryString);
+//
+//        int value2 = Integer.parseInt(newBinaryString, 2);
+//        System.out.println("转换后的整数2:" + value2);
+//
+////        plc.writeInt32(99,value2, EByteBuffFormat.DC_BA);
+//
+//        System.out.println("D100.0: " + getCharByPosition(binaryString, 0));
+//        System.out.println("D100.1: " + getCharByPosition(binaryString, 1));
+//        System.out.println("D100.2: " + getCharByPosition(binaryString, 2));
+//        System.out.println("D100.3: " + getCharByPosition(binaryString, 3));
+//        System.out.println("D100.4: " + getCharByPosition(binaryString, 4));
+//        System.out.println("D100.5: " + getCharByPosition(binaryString, 5));
+//        System.out.println("D100.6: " + getCharByPosition(binaryString, 6));
+//        System.out.println("D100.7: " + getCharByPosition(binaryString, 7));
+
+//        double ww = Double.valueOf("1.1");
+//        System.out.println("ww:"+ww);
+
+//        ModbusTcp plc = new ModbusTcp(1,"192.168.1.211",8000);
+//
+//        plc.writeCoil(8217, true);
+//
+//        System.out.println("plc:"+plc.readCoil(200,1));
+//
+//        int D500 = plc.readInt32(102);//500=>100
+//        int D208 = plc.readInt32(208);
+//
+//        System.out.println("D500:"+D500);
+//
+//        System.out.println("D208:"+D208);
+//        ModbusTcp plc = new ModbusTcp("192.168.1.18");
+        // 单枪
+//        plc.writeCoil(3328,true);
+//        plc.writeCoil(3079,false);
+//        plc.writeCoil(3328,true); // 必须选关掉关机,开机才起左右
+//        plc.writeCoil(3128,true);
+//        plc.writeCoil(3128,false);
+
+//        plc.writeInt16(1128,(short) 3);
+//        plc.writeInt16(1136,(short) 0);
+//        plc.writeInt16(1138,(short) 0);
+
+//        plc.writeCoil(3128,true);
+
+//        // 设置模式 1=标记铆接模式
+//        plc.writeInt16(1092,(short) 1);
+//        // 设置任务
+//        plc.writeInt16(1128,(short) 80);
+//        plc.writeInt16(1136,(short) 2);
+//        plc.writeInt16(1138,(short) 1);
+//
+//        plc.writeCoil(3128,true);
+//
+//
+//        System.out.println("任务数量:"+plc.readInt16(1128)); // 1129 任务数量
+//        System.out.println("已铆接数量:"+plc.readInt16(1136)); // 1137 任务数量
+//        System.out.println("合格数量:"+plc.readInt16(1138)); // 1139 合格数量
+//
+//        System.out.println("任务数量2:"+plc.readInt16(1126)); // 1129 任务数量
+//        System.out.println("已铆接数量2:"+plc.readInt16(1144)); // 1137 任务数量
+//        System.out.println("合格数量2:"+plc.readInt16(1146)); // 1139 合格数量
+//        System.out.println("合格数量2:"+plc.readInt16(1160)); // 1139 合格数量
+//        System.out.println("合格数量2:"+plc.readInt16(1162)); // 1139 合格数量
+
+////
+//        System.out.println("控制模式:"+plc.readInt16(1090)); // 1091 控制模式
+//        System.out.println("系统运行中:"+plc.readCoil(3128,1)); // 3129 系统运行中
+//        System.out.println("结束暂停:"+plc.readCoil(3132,1)); // 3133 系统运行中
+//        System.out.println("远程开机:"+plc.readCoil(3328,1)); // 3329 远程开机
+//        System.out.println("远程关机:"+plc.readCoil(3079,1)); // 3080 远程关机
+//        System.out.println("作业模式:"+plc.readInt16(1092)); // 1093 作业模式 1=标记铆接模式
+//        System.out.println("最大拉力:"+plc.readInt16(1064)); // 1065 最大拉力
+//        System.out.println("对应位移:"+plc.readInt16(1065)); // 1066 对应位移
+//        System.out.println("任务数量:"+plc.readInt16(1128)); // 1129 任务数量
+//        System.out.println("已铆接数量:"+plc.readInt16(1136)); // 1137 任务数量
+//        System.out.println("合格数量:"+plc.readInt16(1138)); // 1139 合格数量
+//        System.out.println("质量状态:"+plc.readInt16(1072)); // 1073 质量状态
+//        System.out.println("F-out:"+plc.readInt16(1064));
+//        System.out.println("S-out:"+plc.readInt16(1065));
+//        System.out.println("F-min:"+plc.readInt16(1068));
+//        System.out.println("S-min:"+plc.readInt16(1070));
+//        System.out.println("F-max:"+plc.readInt16(1069));
+//        System.out.println("S-max:"+plc.readInt16(1071));
+//        System.out.println("OK:"+plc.readCoil(3101,1));
+//        System.out.println("NG:"+plc.readCoil(3102,1));
+//        System.out.println("工件完成:"+plc.readCoil(3155,1));
+//        System.out.println("暂停:"+plc.readCoil(3156,1));
+    }
+
+    public static int getCharByPosition(String binaryString, int position) {
+        //// 想要获取的位的位置(从右到左,从0开始计数) position
+        // 获取指定位置的字符并转换为数字
+        char bit = binaryString.charAt(15 - position); // 调整位置以符合从右到左的计数方式
+        int value = (int) Character.getNumericValue(bit);
+        return value;
+    }
+
+    public static String setCharByPosition(String binaryString, int position, char value) {
+        //// 想要获取的位的位置(从右到左,从0开始计数) position
+        StringBuilder sb = new StringBuilder(binaryString);
+        sb.setCharAt(15 - position, value);
+        return sb.toString();
+    }
+
+    // 大端排序转字符串
+    public static String bytesToBigEndianString(byte[] bytes) {
+        // 使用ByteBuffer创建一个大端缓冲区
+        ByteBuffer buffer = ByteBuffer.allocate(bytes.length).order(ByteOrder.BIG_ENDIAN);
+
+        // 将byte数组复制到ByteBuffer中
+        buffer.put(bytes);
+
+        // 重设缓冲区位置
+        buffer.flip();
+
+        // 根据需要转换为不同类型,这里转换为字符串
+        String result = "";
+        for (int i = 0; i < bytes.length; i++) {
+            result += String.format("%02X", buffer.get()); // 以16进制字符串的形式拼接
+        }
+
+        return result;
+    }
+
+    public static int getBit(byte b, int n) {
+        // 将byte转换为二进制字符串
+        String binaryString = Integer.toBinaryString(b & 0xFF);
+        // 补足位数到8位
+        binaryString = String.format("%8s", binaryString).replace(' ', '0');
+        // 获取第n位的字符,然后转换为整数
+        return binaryString.charAt(n) == '1' ? 1 : 0;
+    }
+}

+ 292 - 0
src/main/java/com/jeesite/modules/S7.java

@@ -0,0 +1,292 @@
+package com.jeesite.modules;
+
+import com.github.s7connector.api.DaveArea;
+import com.github.s7connector.api.S7Connector;
+import com.github.s7connector.api.S7Serializer;
+import com.github.s7connector.api.factory.S7ConnectorFactory;
+import com.github.s7connector.api.factory.S7SerializerFactory;
+import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
+
+import java.math.BigInteger;
+
+public class S7 {
+    public static void main(String[] args) {
+//        192.168.0.200
+        S7PLC s7PLC = new S7PLC(EPlcType.SINUMERIK_828D, "192.168.1.7");
+        s7PLC.readStatus();
+        int workMode = s7PLC.readWorkMode();
+//        S7PLC s7PLC = new S7PLC(EPlcType.S1200, "192.168.0.200");
+//        s7PLC.writeString("DB1.400","000020015308-0100101425042500137");
+//        System.out.println("单枪-条码:"+s7PLC.readString("DB1.400.0",40));
+//        System.out.println("单枪-产品:"+s7PLC.readInt16("DB1.440.0"));
+//        System.out.println("单枪-拉力:"+s7PLC.readInt32("DB1.144.0"));
+//        System.out.println("单枪-位移:"+s7PLC.readFloat32("DB1.148.0"));
+//        System.out.println("单枪-结果:"+s7PLC.readString("DB1.450.0",2));
+//        System.out.println("单枪-预设值:"+s7PLC.readInt32("DB1.38.0"));
+//        System.out.println("单枪-实际值:"+s7PLC.readInt32("DB1.184.0"));
+//        System.out.println("单枪-OK数:"+s7PLC.readInt32("DB1.176.0"));
+//        System.out.println("单枪-NG数:"+s7PLC.readInt32("DB1.180.0"));
+//        System.out.println("单枪-基准拉力:"+s7PLC.readInt16("DB1.442.0"));
+//        System.out.println("单枪-基准位移:"+s7PLC.readInt32("DB1.444.0"));
+//        System.out.println("单枪-拉力上限:"+s7PLC.readInt32("DB1.160.0"));
+//        System.out.println("单枪-拉力下限:"+s7PLC.readInt32("DB1.164.0"));
+//        System.out.println("单枪-位移上限:"+s7PLC.readInt32("DB1.168.0"));
+//        System.out.println("单枪-位移下限:"+s7PLC.readInt32("DB1.172.0"));
+//        System.out.println("单枪-拉铆完成信号:"+s7PLC.readBoolean("DB1.314.5"));
+//        System.out.println("单枪-MES屏蔽:"+s7PLC.readBoolean("DB5.0.1"));
+//        System.out.println("单枪-MES启用:"+s7PLC.readBoolean("DB5.0.0"));
+//        s7PLC
+//        s7PLC.writeBoolean("DB1.2.2",true);
+//        s7PLC.writeBoolean("DB1.2.3",false);
+        System.out.println("A枪-强制使用:"+s7PLC.readBoolean("DB1.2.3"));
+        System.out.println("A枪-报警断气:"+s7PLC.readBoolean("DB1.1.0"));
+        System.out.println("A枪-扫码功能:"+s7PLC.readBoolean("DB1.2.2"));
+        System.out.println("A枪-授权运行:"+s7PLC.readBoolean("DB1.3.0"));
+        System.out.println("A枪-SV(预设)数量:"+s7PLC.readInt32("DB1.38.0"));
+        System.out.println("A枪-PV(实际)数量:"+s7PLC.readInt32("DB1.184.0"));
+        System.out.println("A枪-OK数量:"+s7PLC.readInt32("DB1.176.0"));
+        System.out.println("A枪-NG数量:"+s7PLC.readInt32("DB1.180.0"));
+        System.out.println("A枪-产品选择:"+s7PLC.readInt16("DB1.54.0"));
+        System.out.println("A枪-最大拉力:"+s7PLC.readInt32("DB1.144.0"));
+        System.out.println("A枪-最大位移:"+s7PLC.readFloat32("DB1.148.0"));
+        System.out.println("A枪-基准拉力:"+s7PLC.readInt32("DB1.152.0"));
+        System.out.println("A枪-基准位移:"+s7PLC.readFloat32("DB1.156.0"));
+//        System.out.println("A枪-拉力上限:"+s7PLC.readInt32("DB1.160.0"));
+//        System.out.println("A枪-拉力下限:"+s7PLC.readInt32("DB1.164.0"));
+//        System.out.println("A枪-位移上限:"+s7PLC.readFloat32("DB1.168.0"));
+//        System.out.println("A枪-位移下限:"+s7PLC.readFloat32("DB1.172.0"));
+        System.out.println("A枪-拉力上限:"+s7PLC.readInt32("DB1.22.0"));
+        System.out.println("A枪-拉力下限:"+s7PLC.readInt32("DB1.26.0"));
+        System.out.println("A枪-位移上限:"+s7PLC.readFloat32("DB1.30.0"));
+        System.out.println("A枪-位移下限:"+s7PLC.readFloat32("DB1.34.0"));
+        System.out.println("A枪-拉力OK:"+s7PLC.readBoolean("DB1.314.0"));
+        System.out.println("A枪-拉力NG:"+s7PLC.readBoolean("DB1.314.1"));
+        System.out.println("A枪-位移OK:"+s7PLC.readBoolean("DB1.314.2"));
+        System.out.println("A枪-位移NG:"+s7PLC.readBoolean("DB1.314.3"));
+        System.out.println("A枪-拉铆完成信号:"+s7PLC.readBoolean("DB1.314.5"));
+        System.out.println("A枪-判断结果:"+s7PLC.readString("DB1.398.0",2));
+        System.out.println("A枪-实时条码:"+s7PLC.readString("DB1.400.0",50));
+
+        System.out.println("A枪-枪号:"+s7PLC.readInt16("DB1.450.0"));
+        System.out.println("A枪-产品型号:"+s7PLC.readInt16("DB1.452.0"));
+        System.out.println("A枪-基准拉力:"+s7PLC.readInt16("DB1.454.0"));
+        System.out.println("A枪-基准位移:"+s7PLC.readInt16("DB1.456.0"));
+        System.out.println("A枪-最大拉力:"+s7PLC.readInt16("DB1.458.0"));
+        System.out.println("A枪-最大位移:"+s7PLC.readInt16("DB1.460.0"));
+        System.out.println("A枪-结果判断:"+s7PLC.readString("DB1.462.0",2));
+        System.out.println("A枪-当前数量:"+s7PLC.readInt16("DB1.464.4"));
+        System.out.println("A枪-总铆接数:"+s7PLC.readString("DB1.466.0",10));
+        System.out.println("A枪-条码信息:"+s7PLC.readString("DB1.476.0",50));
+
+
+        System.out.println("B枪-扫码功能:"+s7PLC.readBoolean("DB1.532.2"));
+//        System.out.println("B枪-授权运行:"+s7PLC.readBoolean("DB1.3.0"));
+        System.out.println("B枪-SV(预设)数量:"+s7PLC.readInt32("DB1.568.0"));
+        System.out.println("B枪-PV(实际)数量:"+s7PLC.readInt32("DB1.714.0"));
+        System.out.println("B枪-OK数量:"+s7PLC.readInt32("DB1.706.0"));
+        System.out.println("B枪-NG数量:"+s7PLC.readInt32("DB1.710.0"));
+        System.out.println("B枪-产品选择:"+s7PLC.readInt16("DB1.584.0"));
+        System.out.println("B枪-最大拉力:"+s7PLC.readInt32("DB1.674.0"));
+        System.out.println("B枪-最大位移:"+s7PLC.readFloat32("DB1.678.0"));
+        System.out.println("B枪-基准拉力:"+s7PLC.readInt32("DB1.682.0"));
+        System.out.println("B枪-基准位移:"+s7PLC.readFloat32("DB1.686.0"));
+//        System.out.println("B枪-拉力上限:"+s7PLC.readInt32("DB1.690.0"));
+//        System.out.println("B枪-拉力下限:"+s7PLC.readInt32("DB1.694.0"));
+//        System.out.println("B枪-位移上限:"+s7PLC.readFloat32("DB1.698.0"));
+//        System.out.println("B枪-位移下限:"+s7PLC.readFloat32("DB1.702.0"));
+
+        System.out.println("B枪-拉力上限:"+s7PLC.readInt32("DB1.552.0"));
+        System.out.println("B枪-拉力下限:"+s7PLC.readInt32("DB1.556.0"));
+        System.out.println("B枪-位移上限:"+s7PLC.readFloat32("DB1.560.0"));
+        System.out.println("B枪-位移下限:"+s7PLC.readFloat32("DB1.564.0"));
+
+        System.out.println("B枪-拉力OK:"+s7PLC.readBoolean("DB1.844.0"));
+        System.out.println("B枪-拉力NG:"+s7PLC.readBoolean("DB1.844.1"));
+        System.out.println("B枪-位移OK:"+s7PLC.readBoolean("DB1.844.2"));
+        System.out.println("B枪-位移NG:"+s7PLC.readBoolean("DB1.844.3"));
+        System.out.println("B枪-拉铆完成信号:"+s7PLC.readBoolean("DB1.844.5"));
+        System.out.println("B枪-最大拉力:"+s7PLC.readInt32("DB1.846"));
+        System.out.println("B枪-最大位移:"+s7PLC.readFloat32("DB1.850"));
+        System.out.println("B枪-判断结果:"+s7PLC.readString("DB1.992.0",2));
+        System.out.println("B枪-实时条码:"+s7PLC.readString("DB1.930.0",50));
+
+        System.out.println("B枪-枪号:"+s7PLC.readInt16("DB1.980.0"));
+        System.out.println("B枪-产品型号:"+s7PLC.readInt16("DB1.982.0"));
+        System.out.println("B枪-基准拉力:"+s7PLC.readInt16("DB1.984.0"));
+        System.out.println("B枪-基准位移:"+s7PLC.readInt16("DB1.986.0"));
+        System.out.println("B枪-最大拉力:"+s7PLC.readInt16("DB1.988.0"));
+        System.out.println("B枪-最大位移:"+s7PLC.readInt16("DB1.990.0"));
+        System.out.println("B枪-结果判断:"+s7PLC.readString("DB1.992.0",2));
+        System.out.println("B枪-当前数量:"+s7PLC.readInt16("DB1.994.4"));
+        System.out.println("B枪-总铆接数:"+s7PLC.readString("DB1.996.0",10));
+        System.out.println("B枪-条码信息:"+s7PLC.readString("DB1.1006.0",50));
+
+//        String programName = s7PLC.readProgramName();;
+//        System.out.println("programName:"+programName);
+//////        String programName = s7PLC.readProgramName();;
+//        System.out.println("programName:"+s7PLC.readStatus());
+//        //        S7PLC s7PLC = new S7PLC(EPlcType.S1200, "192.168.0.41");
+//        S7PLC s7PLC = new S7PLC(EPlcType.S1200, "192.168.7.100");
+//        Short dya = s7PLC.readInt16("DB1010.20");
+//        Short dla = s7PLC.readInt16("DB1.22");
+//        Short ssa = s7PLC.readInt16("DB1.24");
+//        Short cwa = s7PLC.readInt16("DB1.26");
+//        Short joba = s7PLC.readInt16("DB1.28");
+
+//        System.err.println(s7PLC.readFloat32("DB1010.2")+"");
+//        System.err.println(s7PLC.readFloat32("DB1010.8")+"");
+//        System.err.println(s7PLC.readFloat32("DB1010.14")+"");
+//        System.err.println(s7PLC.readInt16("DB1010.18")+"");
+//        System.err.println(s7PLC.readInt16("DB1010.20")+"");
+//
+//        System.err.println(s7PLC.readFloat32("DB1010.26")+"");
+//        System.err.println(s7PLC.readFloat32("DB1010.34")+"");
+//        System.err.println(s7PLC.readFloat32("DB1010.42")+"");
+//        System.err.println(s7PLC.readInt16("DB1010.46")+"");
+//        System.err.println(s7PLC.readInt16("DB1010.48")+"");
+//
+//        System.err.println(s7PLC.readFloat32("DB1010.54")+"");
+//        System.err.println(s7PLC.readFloat32("DB1010.62")+"");
+//        System.err.println(s7PLC.readFloat32("DB1010.70")+"");
+//        System.err.println(s7PLC.readInt16("DB1010.74")+"");
+//        System.err.println(s7PLC.readInt16("DB1010.76")+"");
+
+//            Float dyb = s7PLC.readFloat32("DB2000.50");
+//            Float dlb = s7PLC.readFloat32("DB2000.54");
+//            Float ssb = s7PLC.readFloat32("DB2000.58");
+//            Short cwb = s7PLC.readInt16("DB2000.62");
+//            Short jobb = s7PLC.readInt16("DB2000.64");
+
+//        Short dyb = s7PLC.readInt16("DB1.30");
+//        Short dlb = s7PLC.readInt16("DB1.32");
+//        Short ssb = s7PLC.readInt16("DB1.34");
+//        Short cwb = s7PLC.readInt16("DB1.36");
+//        Short jobb = s7PLC.readInt16("DB1.38");
+//        System.err.println(dyb+"");
+//        System.err.println(dlb+"");
+//        System.err.println(ssb+"");
+//        System.err.println(cwb+"");
+//        System.err.println(jobb+"");
+
+
+//        S7PLC s7PLC = new S7PLC(EPlcType.S200_SMART,"192.168.2.1");
+//        s7PLC.writeBoolean("V800.1",true);
+////        s7PLC.writeBoolean("V801.0",true);
+////        s7PLC.writeBoolean("V800.0",true);
+//
+//        System.out.println(s7PLC.readBoolean("V800.0"));
+//        System.out.println(s7PLC.readBoolean("V801.0"));
+//        System.out.println(s7PLC.readBoolean("V800.1"));
+
+        //        Float weight = Float.valueOf("   ");
+
+//        System.out.println(Float.valueOf("   "));
+//        S7PLC s7PLC = new S7PLC(EPlcType.SINUMERIK_828D, "192.168.0.7");
+
+        //System.out.println(s7PLC.readFloat32("DB9050.12"));
+        //System.out.println(s7PLC.readFloat32("DB9050.14"));
+
+
+//        System.out.println(new BigInteger(s7PLC.readByte("DB9050",4)).floatValue());
+
+
+//        S7Connector s7Connector = null;
+//        try {
+//            if (s7Connector == null) {
+//
+//                //PLC地址
+//                String ipAddress = "192.168.7.100";
+//                //默认端口
+////				int port = 102;
+//                int rack = 0;
+//                int slot = 3;
+//                int timeout = 10000;
+//                s7Connector =
+//                        S7ConnectorFactory
+//                                .buildTCPConnector()
+//                                .withHost(ipAddress)
+////								.withPort(port) //optional
+////								.withRack(rack) //optional
+////								.withSlot(slot) //optional
+//                                .withTimeout(timeout) //连接超时时间
+//                                .build();
+//                S7Serializer s7Serializer2L = S7SerializerFactory.buildSerializer(s7Connector);
+//
+//
+//
+//
+////                String binaryString = "00000001";
+////                int length1 = binaryString.length();
+////                byte[] byteArray = new byte[length1 / 8];
+////                for (int i = 0; i < byteArray.length; i++) {
+////                    String byteString = binaryString.substring(i * 8, (i + 1) * 8);
+////                    byteArray[i] = (byte) Integer.parseInt(byteString, 2);
+////                }
+//
+//                byte[] bytes2 = new byte[1];
+//                bytes2[0] = 0x01;
+//                s7Connector.write(DaveArea.DB,9052,1,bytes2);
+////
+////                System.out.println("DB9031.DBW60:"+new BigInteger(xtob(s7Connector.read(DaveArea.DB, 1010, 2, 0))).intValue());
+//
+//
+//                System.out.println("DB9050.DBD0:"+new BigInteger(xtob(s7Connector.read(DaveArea.DB, 9050, 4, 0))).floatValue());
+//                System.out.println("DB9050.DBD4:"+new BigInteger(xtob(s7Connector.read(DaveArea.DB, 9050, 4, 4))).intValue());
+//                System.out.println("DB9050.DBD8:"+new BigInteger(xtob(s7Connector.read(DaveArea.DB, 9050, 4, 8))).intValue());
+//                System.out.println("DB9050.DBD12:"+new BigInteger(xtob(s7Connector.read(DaveArea.DB, 9050, 4, 12))).intValue());
+//                System.out.println("DB9050.DBD16:"+new BigInteger(xtob(s7Connector.read(DaveArea.DB, 9050, 4, 16))).intValue());
+//
+//
+//                System.out.println("DB9052.DBB1:"+new BigInteger(xtob(s7Connector.read(DaveArea.DB, 9052, 1, 1))).intValue());
+//
+//                byte[] bytes3 = s7Connector.read(DaveArea.DB, 9052, 1, 1);
+//                System.out.println("DB9052.DBB1:"+byteToBinaryString(bytes3));
+//
+//
+//                byte[] bytes = s7Connector.read(DaveArea.DB, 9052, 1, 0);
+//                System.out.println("DB9052.DBX0:"+byteToBinaryString(bytes));
+//
+//                System.out.println("DB9052.DBX0:"+getBit(bytes[0],0));
+
+
+
+//            }
+//        }catch (Exception e){
+//            e.printStackTrace();
+//        }
+
+    }
+
+    public static int getBit(byte b, int n) {
+        // 将byte转换为二进制字符串
+        String binaryString = Integer.toBinaryString(b & 0xFF);
+        // 补足位数到8位
+        binaryString = String.format("%8s", binaryString).replace(' ', '0');
+        // 获取第n位的字符,然后转换为整数
+        return binaryString.charAt(n) == '1' ? 1 : 0;
+    }
+
+    private static String byteToBinaryString(byte[] byteArray) {
+        StringBuilder binaryString = new StringBuilder();
+        for (byte b : byteArray) {
+            binaryString.append(String.format("%8s", Integer.toBinaryString(b & 0xFF)).replace(' ', '0'));
+        }
+        return binaryString.toString();
+    }
+
+
+    private static byte[] xtob( byte[] bytes){
+        // 创建新的byte数组并复制原始数据
+        byte[] reversedBytes = new byte[bytes.length];
+        System.arraycopy(bytes, 0, reversedBytes, 0, bytes.length);
+
+        // 反转byte数组元素的位置
+        for (int i = 0; i < bytes.length / 2; i++) {
+            byte temp = reversedBytes[i];
+            reversedBytes[i] = reversedBytes[reversedBytes.length - 1 - i];
+            reversedBytes[reversedBytes.length - 1 - i] = temp;
+        }
+        return reversedBytes;
+    }
+}

+ 105 - 0
src/main/java/com/jeesite/modules/Test.java

@@ -0,0 +1,105 @@
+package com.jeesite.modules;
+
+import com.alibaba.fastjson.JSONObject;
+import okhttp3.*;
+
+import java.io.IOException;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.time.Duration;
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+public class Test {
+    public static void main(String[] args) {
+
+        int decimalNumber = 16; // 示例十进制数
+        String hexString = Integer.toHexString(decimalNumber); // 转换为16进制字符串
+        // 确保字符串长度为8(4个十六进制字符)
+//        hexString = String.format("%02X", hexString);
+        System.out.println(hexString.toUpperCase()); // 输出结果
+
+//        String sn = "000020015308-0100101425070500044";
+//        String ss = sn.substring(21,27);
+//        System.out.println(ss);
+
+
+//        String timeStr1 = "2023-01-01 12:10:00";
+//        String timeStr2 = "2023-01-01 12:05:00";
+//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        try {
+//            Date date1 = sdf.parse(timeStr1);
+//            Date date2 = sdf.parse(timeStr2);
+//            long diffInMillies = Math.abs(date2.getTime() - date1.getTime());
+//            long seconds = TimeUnit.MILLISECONDS.toSeconds(diffInMillies);
+//            System.out.println("Time difference in seconds: " + seconds);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+
+//        // 获取当前日期
+//        LocalDate today = LocalDate.now();
+//        // 获取明天的日期
+//        LocalDate tomorrow = today.plusDays(1);
+//
+//        // 定义日期格式
+//        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+//
+//        // 格式化并打印今天的日期
+//        String formattedToday = today.format(formatter);
+//        System.out.println("今天: " + formattedToday);
+//
+//        // 格式化并打印明天的日期
+//        String formattedTomorrow = tomorrow.format(formatter);
+//        System.out.println("明天: " + formattedTomorrow);
+
+//        String uAUnit1 = "uA";
+//        String mAUnit2 = "mA";
+//        String dl = "008.7 uA";
+//        Float dlval = Float.valueOf("0");
+//        boolean dlresult2 = dl.contains(mAUnit2);
+//        if(dlresult2){
+//            dlval = Float.valueOf(dl.replaceAll("[^0-9.]", ""));
+//        }
+//        boolean dlresult1 = dl.contains(mAUnit2);
+//        if(dlresult1){
+//            dlval = Float.valueOf(dl.replaceAll("[^0-9.]", ""))/1000;
+//        }
+//
+//        DecimalFormat decimalFormat = new DecimalFormat("#.###");
+//        String dlformattedNumber = decimalFormat.format(dlval);
+//        System.out.println(dlformattedNumber);
+//        String valueWithUnit = "3.068Gohm";
+//        // 使用正则表达式匹配所有非数字字符,并替换为空字符串
+//        String valueOnly = valueWithUnit.replaceAll("[^0-9.]", "");
+//        System.out.println(valueOnly); // 输出: 100
+
+
+//        String sn = "000020015308-0100101425040800275";
+//        String spec = "5308";
+//        Integer specStart = 9;
+//        Integer length = 32;
+//        Boolean ret = checkSn(sn, spec, specStart, length);
+//        System.out.println(ret);
+    }
+
+    public static Boolean checkSn(String sn, String spec,Integer specStart, Integer length) {
+        if(sn.length()!=length){
+            return false;
+        }
+        Integer start=specStart - 1;
+        Integer end=start + spec.length();
+        if(length > end){
+            String newSpec = sn.substring(start,end);
+            if(newSpec.equals(spec)){
+                return true;
+            }
+        }
+
+        return false;
+    }
+}

+ 55 - 0
src/main/java/com/jeesite/modules/config/BaseConfig.java

@@ -0,0 +1,55 @@
+package com.jeesite.modules.config;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Component;
+
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@Component
+public class BaseConfig implements ApplicationRunner {
+    @Autowired
+    private Environment environment;
+    public static String server_port = "8980";
+    public static String server_ip = "127.0.0.1";
+    
+    public static String url = "";
+    public static String username = "";
+    public static String password = "";
+  
+    @Override
+    public void run(ApplicationArguments args){
+    	server_port = environment.getProperty("server.port");
+        url = environment.getProperty("jdbc.url");
+        username = environment.getProperty("jdbc.username");
+        password = environment.getProperty("jdbc.password");
+        //System.out.println("server_port="+server_port);
+        server_ip = getIPAddress();
+        //System.out.println("server_ip="+server_ip);
+    }
+    
+    public static String getIPAddress() {
+    	String ip = "127.0.0.1";
+    	//获取IP地址
+    	//用 getLocalHost() 方法创建的InetAddress的对象
+    	try {
+    		InetAddress address = InetAddress.getLocalHost();
+    		//System.out.println(address.getHostName());//主机名
+    		//System.out.println(address.getCanonicalHostName());//主机别名
+    		//System.out.println(address.getHostAddress());//获取IP地址
+    		ip = address.getHostAddress();
+    		//System.out.println("ip="+ip_address);//获取IP地址
+    		//System.out.println("===============");
+    	} catch (UnknownHostException e) {
+    		// TODO Auto-generated catch block
+    		//e.printStackTrace();
+    	}
+    	return ip;
+    }
+}

+ 18 - 0
src/main/java/com/jeesite/modules/config/WebConfig.java

@@ -0,0 +1,18 @@
+package com.jeesite.modules.config;
+
+import com.jeesite.modules.interceptor.SiteClosedInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class WebConfig implements WebMvcConfigurer {
+    @Autowired
+    private SiteClosedInterceptor siteClosedInterceptor;
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(siteClosedInterceptor);
+    }
+}

+ 25 - 0
src/main/java/com/jeesite/modules/interceptor/SiteClosedInterceptor.java

@@ -0,0 +1,25 @@
+package com.jeesite.modules.interceptor;
+
+import com.jeesite.common.cache.CacheUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Component
+public class SiteClosedInterceptor implements HandlerInterceptor {
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+
+        String siteFlag = CacheUtils.get("mes","jya","");
+        System.err.println("siteFlag:"+siteFlag);
+        if(siteFlag.equals("close")){
+            response.getWriter().write("404");
+            return false;
+        }else{
+            return true;
+        }
+    }
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesAppDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesApp;
+
+/**
+ * 安卓版本DAO接口
+ * @author hzd
+ * @version 2023-08-11
+ */
+@MyBatisDao
+public interface MesAppDao extends CrudDao<MesApp> {
+    MesApp findLatestVersion(MesApp mesApp);
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesApplyDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesApply;
+
+/**
+ * 返修返工单审核表DAO接口
+ * @author hzd
+ * @version 2023-07-13
+ */
+@MyBatisDao
+public interface MesApplyDao extends CrudDao<MesApply> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesApprovalDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesApproval;
+
+/**
+ * 审批流程DAO接口
+ * @author hzd
+ * @version 2023-07-13
+ */
+@MyBatisDao
+public interface MesApprovalDao extends CrudDao<MesApproval> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesApprovalNodeDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesApprovalNode;
+
+/**
+ * 审批节点DAO接口
+ * @author hzd
+ * @version 2023-07-13
+ */
+@MyBatisDao
+public interface MesApprovalNodeDao extends CrudDao<MesApprovalNode> {
+	
+}

+ 17 - 0
src/main/java/com/jeesite/modules/mes/dao/MesBatchSnDao.java

@@ -0,0 +1,17 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesBatchSn;
+import com.jeesite.modules.mes.entity.MesDevice;
+
+/**
+ * 批次码记录表DAO接口
+ * @author mes
+ * @version 2024-04-12
+ */
+@MyBatisDao
+public interface MesBatchSnDao extends CrudDao<MesBatchSn> {
+    MesBatchSn findInfo(MesBatchSn mesBatchSn);
+
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesCheckDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesCheck;
+
+/**
+ * 质量检验类型DAO接口
+ * @author hzd
+ * @version 2023-07-13
+ */
+@MyBatisDao
+public interface MesCheckDao extends CrudDao<MesCheck> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesCheckFormDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesCheckForm;
+
+/**
+ * 质量检验类型DAO接口
+ * @author hzd
+ * @version 2023-07-13
+ */
+@MyBatisDao
+public interface MesCheckFormDao extends CrudDao<MesCheckForm> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesCheckItemsDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesCheckItems;
+
+/**
+ * 质量检验清单DAO接口
+ * @author hzd
+ * @version 2023-07-25
+ */
+@MyBatisDao
+public interface MesCheckItemsDao extends CrudDao<MesCheckItems> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesCheckItemsFailDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesCheckItemsFail;
+
+/**
+ * 质量检验清单DAO接口
+ * @author hzd
+ * @version 2023-07-25
+ */
+@MyBatisDao
+public interface MesCheckItemsFailDao extends CrudDao<MesCheckItemsFail> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesCustomerDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesCustomer;
+
+/**
+ * 客户表DAO接口
+ * @author mes
+ * @version 2025-01-16
+ */
+@MyBatisDao
+public interface MesCustomerDao extends CrudDao<MesCustomer> {
+	
+} 

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceAlarmDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceAlarm;
+
+/**
+ * 设备报警记录DAO接口
+ * @author hzd
+ * @version 2023-06-25
+ */
+@MyBatisDao
+public interface MesDeviceAlarmDao extends CrudDao<MesDeviceAlarm> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceCateDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceCate;
+
+/**
+ * 设备分类DAO接口
+ * @author wst
+ * @version 2023-07-20
+ */
+@MyBatisDao
+public interface MesDeviceCateDao extends CrudDao<MesDeviceCate> {
+	
+}

+ 18 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceCheckDao.java

@@ -0,0 +1,18 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceCheck;
+
+import java.util.List;
+
+/**
+ * 设备检查项DAO接口
+ * @author wst
+ * @version 2023-06-21
+ */
+@MyBatisDao
+public interface MesDeviceCheckDao extends CrudDao<MesDeviceCheck> {
+    public List<MesDeviceCheck> findByList(MesDeviceCheck mesDeviceCheck);
+
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceClientDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceClient;
+
+/**
+ * 工位设备信息记录DAO接口
+ * @author mes
+ * @version 2024-08-17
+ */
+@MyBatisDao
+public interface MesDeviceClientDao extends CrudDao<MesDeviceClient> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceConsumableDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceConsumable;
+
+/**
+ * 易耗品DAO接口
+ * @author mes
+ * @version 2023-06-19
+ */
+@MyBatisDao
+public interface MesDeviceConsumableDao extends CrudDao<MesDeviceConsumable> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceConsumableRecordDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceConsumableRecord;
+
+/**
+ * 设备维修记录DAO接口
+ * @author mes
+ * @version 2023-06-19
+ */
+@MyBatisDao
+public interface MesDeviceConsumableRecordDao extends CrudDao<MesDeviceConsumableRecord> {
+	
+}

+ 18 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceDao.java

@@ -0,0 +1,18 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.TreeDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDevice;
+
+/**
+ * 设备DAO接口
+ * @author mes
+ * @version 2023-07-12
+ */
+@MyBatisDao
+public interface MesDeviceDao extends TreeDao<MesDevice> {
+    public MesDevice findByInfo(MesDevice mesDevice);
+    MesDevice findInfo(MesDevice mesDevice);
+
+
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceFormDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceForm;
+
+/**
+ * 设备任务内容DAO接口
+ * @author wst
+ * @version 2023-06-21
+ */
+@MyBatisDao
+public interface MesDeviceFormDao extends CrudDao<MesDeviceForm> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceLogDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceLog;
+
+/**
+ * 设备修改记录DAO接口
+ * @author mes
+ * @version 2024-04-03
+ */
+@MyBatisDao
+public interface MesDeviceLogDao extends CrudDao<MesDeviceLog> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDevicePreventDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDevicePrevent;
+
+/**
+ * 预防性维修任务清单DAO接口
+ * @author hzd
+ * @version 2023-08-17
+ */
+@MyBatisDao
+public interface MesDevicePreventDao extends CrudDao<MesDevicePrevent> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDevicePreventFormDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDevicePreventForm;
+
+/**
+ * 预防性维修任务清单DAO接口
+ * @author hzd
+ * @version 2023-08-17
+ */
+@MyBatisDao
+public interface MesDevicePreventFormDao extends CrudDao<MesDevicePreventForm> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDevicePreventTaskDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDevicePreventTask;
+
+/**
+ * 预防性维修计划DAO接口
+ * @author hzd
+ * @version 2023-08-17
+ */
+@MyBatisDao
+public interface MesDevicePreventTaskDao extends CrudDao<MesDevicePreventTask> {
+	
+}

+ 20 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceRecordDao.java

@@ -0,0 +1,20 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceRecord;
+
+import java.util.List;
+
+
+/**
+ * 设备维修记录DAO接口
+ * @author mes
+ * @version 2023-06-19
+ */
+@MyBatisDao
+public interface MesDeviceRecordDao extends CrudDao<MesDeviceRecord> {
+    public List<MesDeviceRecord> formByCount(MesDeviceRecord mesDeviceRecord);
+    public MesDeviceRecord findByInfo(MesDeviceRecord mesDeviceRecord);
+
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceStateDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceState;
+import com.jeesite.modules.mes.entity.MesProductRecord;
+
+/**
+ * 设备运行状态DAO接口
+ * @author hzd
+ * @version 2023-08-25
+ */
+@MyBatisDao
+public interface MesDeviceStateDao extends CrudDao<MesDeviceState> {
+    MesDeviceState findInfo(MesDeviceState mesDeviceState);
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceTaskDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceTask;
+
+/**
+ * 设备计划DAO接口
+ * @author wst
+ * @version 2023-06-21
+ */
+@MyBatisDao
+public interface MesDeviceTaskDao extends CrudDao<MesDeviceTask> {
+    public long updateState(MesDeviceTask mesDeviceTask);
+
+}

+ 17 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceTaskFormDao.java

@@ -0,0 +1,17 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceTaskForm;
+import com.jeesite.modules.mes.entity.MesDeviceTaskUser;
+
+/**
+ * 设备计划任务内容关系表DAO接口
+ * @author wst
+ * @version 2023-06-21
+ */
+@MyBatisDao
+public interface MesDeviceTaskFormDao extends CrudDao<MesDeviceTaskForm> {
+    public long deleteBytaskId(MesDeviceTaskForm mesDeviceTaskForm);
+
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceTaskUserDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceTaskUser;
+
+/**
+ * 设备计划检查人关系表DAO接口
+ * @author wst
+ * @version 2023-06-21
+ */
+@MyBatisDao
+public interface MesDeviceTaskUserDao extends CrudDao<MesDeviceTaskUser> {
+   public long deleteBytaskId(MesDeviceTaskUser mesDeviceTaskUser);
+
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceTimeDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceTime;
+
+/**
+ * 工位生产时间DAO接口
+ * @author hzd
+ * @version 2023-08-22
+ */
+@MyBatisDao
+public interface MesDeviceTimeDao extends CrudDao<MesDeviceTime> {
+    MesDeviceTime getInfo(MesDeviceTime mesDeviceTime);
+
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDeviceUrgencyDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceUrgency;
+
+/**
+ * 紧急性维修记录DAO接口
+ * @author hzd
+ * @version 2023-08-15
+ */
+@MyBatisDao
+public interface MesDeviceUrgencyDao extends CrudDao<MesDeviceUrgency> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDocumentCateDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.TreeDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDocumentCate;
+
+/**
+ * 文档类型DAO接口
+ * @author hzd
+ * @version 2023-06-23
+ */
+@MyBatisDao
+public interface MesDocumentCateDao extends TreeDao<MesDocumentCate> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesDocumentDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDocument;
+
+/**
+ * 文档DAO接口
+ * @author hzd
+ * @version 2023-06-23
+ */
+@MyBatisDao
+public interface MesDocumentDao extends CrudDao<MesDocument> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesElectricTorqueDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesElectricTorque;
+
+/**
+ * 电批过程参数DAO接口
+ * @author mes
+ * @version 2024-05-12
+ */
+@MyBatisDao
+public interface MesElectricTorqueDao extends CrudDao<MesElectricTorque> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesElectricTorqueInfoDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesElectricTorqueInfo;
+
+/**
+ * 电批扭力参数批次表DAO接口
+ * @author mes
+ * @version 2024-05-13
+ */
+@MyBatisDao
+public interface MesElectricTorqueInfoDao extends CrudDao<MesElectricTorqueInfo> {
+
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesGp12RecordDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesGp12Record;
+
+/**
+ * mes_gp12_recordDAO接口
+ * @author mes
+ * @version 2025-05-13
+ */
+@MyBatisDao
+public interface MesGp12RecordDao extends CrudDao<MesGp12Record> {
+	
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesGroupDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesGroup;
+import com.jeesite.modules.mes.entity.MesGroupOprno;
+
+/**
+ * 生产组DAO接口
+ * @author mes
+ * @version 2023-08-31
+ */
+@MyBatisDao
+public interface MesGroupDao extends CrudDao<MesGroup> {
+    MesGroup findInfo(MesGroup mesGroup);
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesGroupOprnoDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDeviceState;
+import com.jeesite.modules.mes.entity.MesGroupOprno;
+
+/**
+ * 生产组DAO接口
+ * @author mes
+ * @version 2023-08-31
+ */
+@MyBatisDao
+public interface MesGroupOprnoDao extends CrudDao<MesGroupOprno> {
+    MesGroupOprno findInfo(MesGroupOprno mesGroupOprno);
+}

+ 18 - 0
src/main/java/com/jeesite/modules/mes/dao/MesGroupUserDao.java

@@ -0,0 +1,18 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesGroupUser;
+
+import java.util.List;
+
+/**
+ * 生产组DAO接口
+ * @author mes
+ * @version 2023-08-31
+ */
+@MyBatisDao
+public interface MesGroupUserDao extends CrudDao<MesGroupUser> {
+	List<MesGroupUser> findUserAuth(MesGroupUser mesGroupUser);
+	MesGroupUser findInfo(MesGroupUser mesGroupUser);
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesIconsDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesIcons;
+
+/**
+ * 功能模块DAO接口
+ * @author hzd
+ * @version 2023-07-05
+ */
+@MyBatisDao
+public interface MesIconsDao extends CrudDao<MesIcons> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesIpqcDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesIpqc;
+
+/**
+ * 不合格评审单DAO接口
+ * @author hzd
+ * @version 2023-07-24
+ */
+@MyBatisDao
+public interface MesIpqcDao extends CrudDao<MesIpqc> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesIqcDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesIqc;
+
+/**
+ * IQC检测记录表DAO接口
+ * @author mes
+ * @version 2024-04-12
+ */
+@MyBatisDao
+public interface MesIqcDao extends CrudDao<MesIqc> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesJbLogDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesJbLog;
+
+/**
+ * 批次解绑记录表DAO接口
+ * @author mes
+ * @version 2024-04-12
+ */
+@MyBatisDao
+public interface MesJbLogDao extends CrudDao<MesJbLog> {
+	
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesLineDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesApp;
+import com.jeesite.modules.mes.entity.MesLine;
+
+/**
+ * 生产线表DAO接口
+ * @author hzd
+ * @version 2023-06-16
+ */
+@MyBatisDao
+public interface MesLineDao extends CrudDao<MesLine> {
+    MesLine findInfo(MesLine mesLine);
+}

+ 25 - 0
src/main/java/com/jeesite/modules/mes/dao/MesLineProcessDao.java

@@ -0,0 +1,25 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesLine;
+import com.jeesite.modules.mes.entity.MesLineProcess;
+
+import java.util.List;
+
+/**
+ * 生成工序表DAO接口
+ * @author hzd
+ * @version 2023-06-18
+ */
+@MyBatisDao
+public interface MesLineProcessDao extends CrudDao<MesLineProcess> {
+
+    List<MesLineProcess> findListOrder(MesLineProcess mesLineProcess);
+
+    MesLineProcess findInfo(MesLineProcess mesLineProcess);
+
+    int updateStopByOprno(MesLineProcess mesLineProcess);
+
+    List<MesLineProcess> getAllSonOpron();
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesLineProcessMaterialDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesLineProcess;
+import com.jeesite.modules.mes.entity.MesLineProcessMaterial;
+
+/**
+ * 生产工序物料表DAO接口
+ * @author mes
+ * @version 2024-04-02
+ */
+@MyBatisDao
+public interface MesLineProcessMaterialDao extends CrudDao<MesLineProcessMaterial> {
+    MesLineProcessMaterial findInfo(MesLineProcessMaterial mesLineProcessMaterial);
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesLineProcessUserDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesLineProcessMaterial;
+import com.jeesite.modules.mes.entity.MesLineProcessUser;
+
+/**
+ * 生成工序表DAO接口
+ * @author hzd
+ * @version 2023-06-18
+ */
+@MyBatisDao
+public interface MesLineProcessUserDao extends CrudDao<MesLineProcessUser> {
+    MesLineProcessUser findInfo(MesLineProcessUser mesLineProcessUser);
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesLogDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesLog;
+
+/**
+ * 生产日志DAO接口
+ * @author hzd
+ * @version 2023-08-22
+ */
+@MyBatisDao
+public interface MesLogDao extends CrudDao<MesLog> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesLogUselessDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesLogUseless;
+
+/**
+ * 心跳同步日志表DAO接口
+ * @author mes
+ * @version 2023-08-28
+ */
+@MyBatisDao
+public interface MesLogUselessDao extends CrudDao<MesLogUseless> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialBfRecordDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialBfRecord;
+
+/**
+ * 来料-报废记录表DAO接口
+ * @author mes
+ * @version 2024-04-10
+ */
+@MyBatisDao
+public interface MesMaterialBfRecordDao extends CrudDao<MesMaterialBfRecord> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialBfRecordItemsDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialBfRecordItems;
+
+/**
+ * 来料报废记录详细表DAO接口
+ * @author mes
+ * @version 2024-04-10
+ */
+@MyBatisDao
+public interface MesMaterialBfRecordItemsDao extends CrudDao<MesMaterialBfRecordItems> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialBlpRecordDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialBlpRecord;
+
+/**
+ * 来料不良品记录表DAO接口
+ * @author mes
+ * @version 2024-04-08
+ */
+@MyBatisDao
+public interface MesMaterialBlpRecordDao extends CrudDao<MesMaterialBlpRecord> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialCheckDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialCheck;
+
+/**
+ * 来料检查内容表DAO接口
+ * @author mes
+ * @version 2024-04-02
+ */
+@MyBatisDao
+public interface MesMaterialCheckDao extends CrudDao<MesMaterialCheck> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialCheckItemsDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialCheckItems;
+
+/**
+ * 物料检查内容DAO接口
+ * @author mes
+ * @version 2024-04-02
+ */
+@MyBatisDao
+public interface MesMaterialCheckItemsDao extends CrudDao<MesMaterialCheckItems> {
+	
+}

+ 17 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialCheckRecordDao.java

@@ -0,0 +1,17 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDevice;
+import com.jeesite.modules.mes.entity.MesMaterialCheckRecord;
+
+/**
+ * 来料检查记录表DAO接口
+ * @author mes
+ * @version 2024-04-02
+ */
+@MyBatisDao
+public interface MesMaterialCheckRecordDao extends CrudDao<MesMaterialCheckRecord> {
+    MesMaterialCheckRecord findInfo(MesMaterialCheckRecord mesMaterialCheckRecord);
+
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialCheckRecordItemsDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialCheckRecordItems;
+
+/**
+ * 来料检查记录详细表DAO接口
+ * @author mes
+ * @version 2024-04-02
+ */
+@MyBatisDao
+public interface MesMaterialCheckRecordItemsDao extends CrudDao<MesMaterialCheckRecordItems> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialCkLogDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialCkLog;
+
+/**
+ * 来料出库记录表DAO接口
+ * @author mes
+ * @version 2024-04-10
+ */
+@MyBatisDao
+public interface MesMaterialCkLogDao extends CrudDao<MesMaterialCkLog> {
+	
+}

+ 17 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialDao.java

@@ -0,0 +1,17 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDevice;
+import com.jeesite.modules.mes.entity.MesMaterial;
+
+/**
+ * 物料表DAO接口
+ * @author mes
+ * @version 2024-03-29
+ */
+@MyBatisDao
+public interface MesMaterialDao extends CrudDao<MesMaterial> {
+    MesMaterial findInfo(MesMaterial mesMaterial);
+
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialKcLogDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterial;
+import com.jeesite.modules.mes.entity.MesMaterialKcLog;
+
+/**
+ * 来料库存记录表DAO接口
+ * @author mes
+ * @version 2024-04-10
+ */
+@MyBatisDao
+public interface MesMaterialKcLogDao extends CrudDao<MesMaterialKcLog> {
+    MesMaterialKcLog findInfo(MesMaterialKcLog mesMaterialKcLog);
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialKwDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialKw;
+
+/**
+ * 来料检查物料库位表DAO接口
+ * @author mes
+ * @version 2024-04-10
+ */
+@MyBatisDao
+public interface MesMaterialKwDao extends CrudDao<MesMaterialKw> {
+	
+}

+ 17 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialLlRecordDao.java

@@ -0,0 +1,17 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesDevice;
+import com.jeesite.modules.mes.entity.MesMaterialLlRecord;
+
+/**
+ * 领料记录表DAO接口
+ * @author mes
+ * @version 2024-04-09
+ */
+@MyBatisDao
+public interface MesMaterialLlRecordDao extends CrudDao<MesMaterialLlRecord> {
+    MesMaterialLlRecord findInfo(MesMaterialLlRecord mesMaterialLlRecord);
+
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialLlRecordItemsDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialLlRecordItems;
+
+/**
+ * 领料单详细表DAO接口
+ * @author mes
+ * @version 2024-04-09
+ */
+@MyBatisDao
+public interface MesMaterialLlRecordItemsDao extends CrudDao<MesMaterialLlRecordItems> {
+	
+}

+ 16 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialPrebindDao.java

@@ -0,0 +1,16 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterial;
+import com.jeesite.modules.mes.entity.MesMaterialPrebind;
+
+/**
+ * 工位绑定物料批次DAO接口
+ * @author hzd
+ * @version 2024-05-11
+ */
+@MyBatisDao
+public interface MesMaterialPrebindDao extends CrudDao<MesMaterialPrebind> {
+    MesMaterialPrebind findInfo(MesMaterialPrebind mesMaterialPrebind);
+}

+ 18 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialReportDao.java

@@ -0,0 +1,18 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialReport;
+import com.jeesite.modules.mes.entity.MesProduct;
+
+/**
+ * 来料报检DAO接口
+ * @author mes
+ * @version 2024-05-30
+ */
+@MyBatisDao
+public interface MesMaterialReportDao extends CrudDao<MesMaterialReport> {
+
+    MesMaterialReport selectById(MesMaterialReport mesMaterialReport);
+    MesMaterialReport findInfo(MesMaterialReport mesMaterialReport);
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialRkLogDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialRkLog;
+
+/**
+ * 来料入库单入库记录表DAO接口
+ * @author mes
+ * @version 2024-04-11
+ */
+@MyBatisDao
+public interface MesMaterialRkLogDao extends CrudDao<MesMaterialRkLog> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialRkRecordDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialRkRecord;
+
+/**
+ * 来料入库单记录表DAO接口
+ * @author mes
+ * @version 2024-04-08
+ */
+@MyBatisDao
+public interface MesMaterialRkRecordDao extends CrudDao<MesMaterialRkRecord> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialRkRecordItemsDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialRkRecordItems;
+
+/**
+ * 来料入库单详细表DAO接口
+ * @author mes
+ * @version 2024-04-08
+ */
+@MyBatisDao
+public interface MesMaterialRkRecordItemsDao extends CrudDao<MesMaterialRkRecordItems> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialThRecordDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialThRecord;
+
+/**
+ * 来料检查退货记录表DAO接口
+ * @author mes
+ * @version 2024-04-09
+ */
+@MyBatisDao
+public interface MesMaterialThRecordDao extends CrudDao<MesMaterialThRecord> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialThRecordItemsDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesMaterialThRecordItems;
+
+/**
+ * 来料检查不良品退货单详细表DAO接口
+ * @author mes
+ * @version 2024-04-09
+ */
+@MyBatisDao
+public interface MesMaterialThRecordItemsDao extends CrudDao<MesMaterialThRecordItems> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesNgDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesNg;
+
+/**
+ * ng记录表DAO接口
+ * @author mes
+ * @version 2024-01-24
+ */
+@MyBatisDao
+public interface MesNgDao extends CrudDao<MesNg> {
+	
+}

+ 15 - 0
src/main/java/com/jeesite/modules/mes/dao/MesPeriodicMaintenanceDao.java

@@ -0,0 +1,15 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesPeriodicMaintenance;
+
+/**
+ * 周期性维护类型DAO接口
+ * @author hzd
+ * @version 2024-02-19
+ */
+@MyBatisDao
+public interface MesPeriodicMaintenanceDao extends CrudDao<MesPeriodicMaintenance> {
+	
+}

+ 0 - 0
src/main/java/com/jeesite/modules/mes/dao/MesPeriodicMaintenanceRecordDao.java


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません