diff --git a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonBroadCast.java b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonBroadCast.java
index 4c78ea1..c4e77a0 100644
--- a/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonBroadCast.java
+++ b/modules/i3plus-pojo-andon/src/main/java/cn/estsh/i3plus/pojo/andon/bean/AndonBroadCast.java
@@ -5,15 +5,11 @@ import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
-import javax.persistence.Inheritance;
-import javax.persistence.InheritanceType;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Table;
+import javax.persistence.*;
import java.io.Serializable;
/**
@@ -29,57 +25,57 @@ import java.io.Serializable;
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Inheritance(strategy = InheritanceType.JOINED)
-@Table(name="ANDON_BROADCAST")
+@Table(name = "ANDON_BROADCAST")
@Api("安灯广播")
public class AndonBroadCast extends BaseBean implements Serializable {
private static final long serialVersionUID = -5383684820100076411L;
- @Column(name="DEVICE_NUM")
+ @Column(name = "DEVICE_NUM")
@ApiParam("广播设备编号")
private String targetIds;
- @Column(name="GROUP_NO")
+ @Column(name = "GROUP_NO")
@ApiParam("分组号")
private String groupNo;
- @Column(name="WORK_CENTER_CODE")
+ @Column(name = "WORK_CENTER_CODE")
@ApiParam("工作中心")
private String workCenterCode;
- @Column(name="DEVICE_DEC")
+ @Column(name = "DEVICE_DEC")
@ApiParam("广播设备名称")
private String deviceDec;
- @Column(name="DEVICE_IP")
+ @Column(name = "DEVICE_IP")
@ApiParam("广播设备ip")
private String deviceIp;
- @Column(name="PLAY_INTERVAL")
+ @Column(name = "PLAY_INTERVAL")
@ApiParam("播放间隔")
private Integer playInterval = 0;
- @Column(name="PLAY_PRIORITY")
+ @Column(name = "PLAY_PRIORITY")
@ApiParam("播放优先级")
private Integer playPriority = 500;
- @Column(name="VOLUME")
+ @Column(name = "VOLUME")
@ApiParam("播放音量")
private Integer volume;
- @Column(name="TTS_NAME")
+ @Column(name = "TTS_NAME")
@ApiParam("广播语音引擎")
private String voiceEngine;
- @Column(name="TEXT_ENCODE")
+ @Column(name = "TEXT_ENCODE")
@ApiParam("广播内容编码格式")
private String textEncode = "UTF-8";
- @Column(name="PLAY_SPEED")
+ @Column(name = "PLAY_SPEED", columnDefinition = "decimal(18,8)")
@ApiParam("播放语速")
- private Integer playSpeed = 0;
+ private Double playSpeed = 0d;
- @Column(name="PLAY_TIME")
+ @Column(name = "PLAY_TIME")
@ApiParam("播放循环次数")
private Integer playTime = 1;
}
diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockSoftSwitchEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockSoftSwitchEnumUtil.java
index d42762b..505bebc 100644
--- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockSoftSwitchEnumUtil.java
+++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockSoftSwitchEnumUtil.java
@@ -1210,4 +1210,47 @@ public class BlockSoftSwitchEnumUtil {
}
+ /**
+ * REST重试策略
+ */
+ @JsonFormat(shape = JsonFormat.Shape.OBJECT)
+ public enum BS_REST_RETRY_STRATEGY {
+ HTTP_STATUS_CODE(10, "http状态码");
+
+ private int value;
+ private String description;
+
+ private BS_REST_RETRY_STRATEGY (int value, String description) {
+ this.value = value;
+ this.description = description;
+ }
+
+ public int getValue() {
+ return value;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public static String valueOfDescription(int val) {
+ String tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].value == val) {
+ tmp = values()[i].description;
+ }
+ }
+ return tmp;
+ }
+
+ public static BS_REST_RETRY_STRATEGY valueOf(int val) {
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].value == val) {
+ return values()[i];
+ }
+ }
+ return null;
+ }
+
+ }
}
diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java
index aeaa624..f41a6f6 100644
--- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java
+++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java
@@ -1978,6 +1978,21 @@ public class CommonEnumUtil {
return null;
}
+ public String getJDBCUrlToMysql(String database, String host, Integer port) {
+ if (this.getValue() == SOURCE_MARIA_DB.getValue()) {
+ return getJDBCUrlMySQLBy8x(database, host, port);
+ } else if (this.getValue() == SOURCE_ORACLE.getValue()) {
+ return getJDBCUrlOracle(database, host, port);
+ } else if (this.getValue() == SOURCE_POSTGRE_SQL.getValue()) {
+ return getJDBCUrlPostgreSQL(database, host, port);
+ } else if (this.getValue() == SOURCE_SQL_SERVER.getValue()) {
+ return getJDBCUrlSQLServer(database, host, port);
+ } else if (this.getValue() == SOURCE_SAP_HANA.getValue()) {
+ return getJDBCUrlSapHana(database, host, port);
+ }
+ return null;
+ }
+
public String getJDBCUrl(String database, String host, Integer port, String instanceName) {
if (this.getValue() == SOURCE_MARIA_DB.getValue()) {
return getJDBCUrlMySQL(database, host, port);
@@ -2020,6 +2035,16 @@ public class CommonEnumUtil {
"&serverTimezone=CST";
}
+ //MySQL8.x时区设置
+ private String getJDBCUrlMySQLBy8x(String database, String host, Integer port) {
+ return "jdbc:mysql://" + host + ":" + port + "/" + database +
+ "?autoReconnect=true" +
+ "&useSSL=false" +
+ "&characterEncoding=utf-8" +
+ "&allowPublicKeyRetrieval=true" +
+ "&serverTimezone=Asia/Shanghai";
+ }
+
private String getJDBCUrlOracle(String database, String host, Integer port) {
return "jdbc:oracle:thin:@" + host + ":" + port + ":" + database;
}
diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java
index f175d1f..d4d2787 100644
--- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java
+++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java
@@ -3747,7 +3747,8 @@ public class MesPcnEnumUtil {
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum STATION_REQUEST_BEAN_CMD {
JUMP_STATE(10, "JUMP_STATE", "跳过状态点"),
- FORCE_STATE(20, "FORCE_STATE", "强制执行制定的状态点");
+ FORCE_STATE(20, "FORCE_STATE", "强制执行制定的状态点"),
+ FORCE_JUMP_PROCESS(30, "FORCE_JUMP_PROCESS", "通过DOSCAN强制跳过工序");
private int value;
private String code;
diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ScreenEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ScreenEnumUtil.java
new file mode 100644
index 0000000..9122d14
--- /dev/null
+++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ScreenEnumUtil.java
@@ -0,0 +1,86 @@
+package cn.estsh.i3plus.pojo.base.enumutil;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午5:16
+ * @desc
+ */
+public class ScreenEnumUtil {
+
+ public enum DATA_OBJECT_SOURCE {
+ TABLE(10, "TABLE", "数据库表"),
+ VIEW(20, "VIEW", "数据库视图");
+
+ private Integer value;
+ private String code;
+ private String description;
+
+ DATA_OBJECT_SOURCE(Integer value, String code, String description) {
+ this.value = value;
+ this.code = code;
+ this.description = description;
+ }
+
+ public Integer getValue() {
+ return value;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public static String codeOfDescription(String code) {
+ String tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].code.equals(code)) {
+ tmp = values()[i].description;
+ }
+ }
+ return tmp;
+ }
+ }
+
+ public enum DEFAULT_FIELD_IN_DB {
+ CREATE_DATE_TIME("createDatetime", "create_date_time", "创建时间"),
+ MODIFY_DATE_TIME("modifyDatetime", "modify_date_time", "修改时间"),
+ IS_VALID("isValid", "is_valid", "是否有效"),
+ IS_DELETED("isDeleted", "is_deleted", "是否弱删");
+
+ private String code;
+ private String codeDb;
+ private String description;
+
+ DEFAULT_FIELD_IN_DB(String code, String codeDb, String description) {
+ this.code = code;
+ this.codeDb = codeDb;
+ this.description = description;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getCodeDb() {
+ return codeDb;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public static String codeOfDescription(String code) {
+ String tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].code.equals(code)) {
+ tmp = values()[i].description;
+ }
+ }
+ return tmp;
+ }
+ }
+
+}
diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java
index 9c8aff7..6b0573d 100644
--- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java
+++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java
@@ -9216,9 +9216,9 @@ public class WmsEnumUtil {
TWENTY_SECONDS("0/20 * * * * ?", "TWENTY_SECONDS", "二十秒一次"),
EVERY_DAY("0 0 0 * * ?", "EVERY_DAY", "每天零点"),
EVERY_HOUR("0 0 * * * ?", "EVERY_HOUR", "每小时"),
- NINE_AND_NINTEEN("0 0 9,21 * * ?", "NINE_AND_NINTEEN", "早上九点晚上九点");
-
-
+ NINE_AND_NINTEEN("0 0 9,21 * * ?", "NINE_AND_NINTEEN", "早上九点晚上九点"),
+ NINE("0 0 9 * * ?", "NINE", "早上九点"),
+ NINTEEN("0 0 21 * * ?", "NINTEEN", "晚上九点");
private String value;
private String code;
private String description;
diff --git a/modules/i3plus-pojo-mes-pcn/pom.xml b/modules/i3plus-pojo-mes-pcn/pom.xml
index ac387fd..60d9861 100644
--- a/modules/i3plus-pojo-mes-pcn/pom.xml
+++ b/modules/i3plus-pojo-mes-pcn/pom.xml
@@ -5,7 +5,7 @@
i3plus-pojo
i3plus.pojo
- 1.0-TEST-SNAPSHOT
+ 1.0-DEV-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfPartCheckCustomerLabel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfPartCheckCustomerLabel.java
new file mode 100644
index 0000000..67326d7
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfPartCheckCustomerLabel.java
@@ -0,0 +1,37 @@
+package cn.estsh.i3plus.pojo.mes.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.*;
+
+/**
+ * @Description : 物料校验客户标签关系
+ * @Reference :
+ * @Author : dominic
+ * @CreateDate : 2021/3/22 13:37
+ * @Modify:
+ **/
+@Data
+@Entity
+@DynamicInsert
+@DynamicUpdate
+@EqualsAndHashCode(callSuper = true)
+@Inheritance(strategy = InheritanceType.JOINED)
+@Table(name = "IF_PART_CHECK_CUSTOMER_LABEL")
+@Api("IF_物料校验客户标签关系")
+public class IfPartCheckCustomerLabel extends BaseBean {
+
+ @Column(name = "PART_NO")
+ @ApiParam("物料号")
+ private String partNo;
+
+ @Column(name = "IS_CHECK")
+ @ApiParam("是否校验")
+ private Integer isCheck;
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfPartCheckCustomerLabelDetail.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfPartCheckCustomerLabelDetail.java
new file mode 100644
index 0000000..fdb6abf
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfPartCheckCustomerLabelDetail.java
@@ -0,0 +1,37 @@
+package cn.estsh.i3plus.pojo.mes.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.*;
+
+/**
+ * @Description : 物料校验客户标签明细
+ * @Reference :
+ * @Author : dominic
+ * @CreateDate : 2021/3/22 13:37
+ * @Modify:
+ **/
+@Data
+@Entity
+@DynamicInsert
+@DynamicUpdate
+@EqualsAndHashCode(callSuper = true)
+@Inheritance(strategy = InheritanceType.JOINED)
+@Table(name = "IF_PART_CHECK_CUSTOMER_LABEL_DETAIL")
+@Api("IF_物料校验客户标签明细")
+public class IfPartCheckCustomerLabelDetail extends BaseBean {
+
+ @Column(name = "PACKAGE_NO")
+ @ApiParam("托条码")
+ private String packageNo;
+
+ @Column(name = "CUSTOMER_LABEL")
+ @ApiParam("客户标签")
+ private String customerLabel;
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEquTaskNotifyCfg.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEquTaskNotifyCfg.java
index 66b686c..99331e1 100644
--- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEquTaskNotifyCfg.java
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEquTaskNotifyCfg.java
@@ -43,7 +43,7 @@ public class MesEquTaskNotifyCfg extends BaseBean implements Serializable {
private Integer notifyType;
@Column(name="NOTIFY_CONDITION")
- @ApiParam("通知条件(小时)")
+ @ApiParam("通知条件(分钟)")
private Integer notifyCondition;
@Column(name="NOTIFY_OBJECT_CODE")
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesKpDataRecord.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesKpDataRecord.java
new file mode 100644
index 0000000..9e8a774
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesKpDataRecord.java
@@ -0,0 +1,114 @@
+package cn.estsh.i3plus.pojo.mes.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.hibernate.annotations.ColumnDefault;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+/**
+ * @Description :物料关键数据关系记录
+ * @Reference :
+ * @Author : crish
+ * @CreateDate : 2019-05-15
+ * @Modify:
+ **/
+@Data
+@Entity
+@DynamicInsert
+@DynamicUpdate
+@EqualsAndHashCode(callSuper = true)
+@Inheritance(strategy = InheritanceType.JOINED)
+@Table(name = "MES_KP_DATA_RECORD")
+@Api("物料关键数据关系记录")
+public class MesKpDataRecord extends BaseBean implements Serializable {
+ private static final long serialVersionUID = 8243089140216459544L;
+
+ @Column(name = "PART_NO")
+ @ApiParam("物料号")
+ private String partNo;
+
+ @Column(name = "KEY_DATA_CODE")
+ @ApiParam("关键数据代码")
+ private String keyDataCode;
+
+ @Column(name = "KEY_DATA_NAME")
+ @ApiParam("关键数据名称")
+ private String keyDataName;
+
+ @Column(name = "KEY_DATA_COUNT")
+ @ApiParam("关键数据数量")
+ private Integer keyDataCount;
+
+ @Column(name = "UPPER_LIMIT", columnDefinition = "decimal(18,8)")
+ @ColumnDefault("0")
+ @ApiParam("数据上限")
+ private Double upperLimit;
+
+ @Column(name = "LOWER_LIMIT", columnDefinition = "decimal(18,8)")
+ @ColumnDefault("0")
+ @ApiParam("数据下限")
+ private Double lowerLimit;
+
+ @Column(name = "WORK_CENTER_CODE")
+ @ApiParam("工作中心代码")
+ private String workCenterCode;
+
+ @Column(name = "WORK_CELL_CODE")
+ @ApiParam("工位")
+ private String workCellCode;
+
+ @Column(name = "TORQUE_GROUP")
+ @ApiParam("扭矩组")
+ private String torqueGroup;
+
+ @Column(name = "TORQUE_GROUP_SEQ")
+ @ApiParam("扭矩组顺序")
+ private Integer torqueGroupSeq;
+
+ @Column(name = "TORQUE")
+ @ApiParam("扭矩项")
+ private String torque;
+
+ @Column(name = "TORQUE_SEQ")
+ @ApiParam("扭矩项顺序")
+ private Integer torqueSeq;
+
+ @Column(name = "JOB_ID")
+ @ApiParam("JOB_ID")
+ private Integer jobId;
+
+ @Column(name = "LAST_TIGHTENING_ID")
+ @ApiParam("最后一次扭矩id")
+ private Long lastTighteningId;
+
+ @Column(name = "TORQUE_VALUE")
+ @ApiParam("扭矩值")
+ private Double torqueValue;
+
+ @Column(name = "RESULT")
+ @ApiParam("采集结果")
+ private Integer result;
+
+ @Column(name = "ACTUAL_NUM")
+ @ApiParam("实采个数")
+ private Integer actualNum;;
+
+ public double getKeyDataCountVal() {
+ return this.keyDataCount == null ? 0 : this.keyDataCount;
+ }
+
+ public double getUpperLimitVal() {
+ return this.upperLimit == null ? 0.0d : this.upperLimit;
+ }
+
+ public double getLowerLimitVal() {
+ return this.lowerLimit == null ? 0.0d : this.lowerLimit;
+ }
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPart.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPart.java
index 0b930bf..235efb2 100644
--- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPart.java
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPart.java
@@ -146,6 +146,14 @@ public class MesPart extends BaseBean implements Serializable {
@ApiParam("版本号")
private String versionNo;
+ @Column(name = "VARIANT")
+ @ApiParam("variant")
+ private String variant;
+
+ @Column(name = "PACK_MOTH")
+ @ApiParam("packmoth")
+ private String packMoth;
+
@Transient
@ApiParam("产品类型名称")
private String produceCategoryName;
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartCarModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartCarModel.java
new file mode 100644
index 0000000..ca4c442
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartCarModel.java
@@ -0,0 +1,52 @@
+package cn.estsh.i3plus.pojo.mes.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+/**
+ * @Description: 特殊物料
+ * @Author: jokelin
+ * @Date: 2021/3/24 3:10 PM
+ * @Modify:
+ */
+@Data
+@Entity
+@DynamicInsert
+@DynamicUpdate
+@EqualsAndHashCode(callSuper = true)
+@Inheritance(strategy = InheritanceType.JOINED)
+@Table(name = "MES_PART_CAR_MODEL")
+@Api("车型零件关系表")
+public class MesPartCarModel extends BaseBean implements Serializable {
+
+ private static final long serialVersionUID = -4039513102671811231L;
+
+ @Column(name = "PART_NO")
+ @ApiParam("零件号")
+ private String partNo;
+
+ @Column(name = "PART_NAME")
+ @ApiParam("零件名称")
+ private String partNameRdd;
+
+ @Column(name = "VEHICLE_CODE")
+ @ApiParam("车型代码")
+ private String vehicleCode;
+
+ @Column(name = "VEHICLE_NAME")
+ @ApiParam("车型名称")
+ private String vehicleName;
+
+ @Column(name = "SERIAL_NO")
+ @ApiParam("车型流水号")
+ private String serialNo;
+
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartSpecific.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartSpecific.java
new file mode 100644
index 0000000..cc61e36
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartSpecific.java
@@ -0,0 +1,60 @@
+package cn.estsh.i3plus.pojo.mes.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+/**
+ * @Description: 特殊物料
+ * @Author: jokelin
+ * @Date: 2021/3/24 3:10 PM
+ * @Modify:
+ */
+@Data
+@Entity
+@DynamicInsert
+@DynamicUpdate
+@EqualsAndHashCode(callSuper = true)
+@Inheritance(strategy = InheritanceType.JOINED)
+@Table(name = "MES_PART_SPECIFIC")
+@Api("特殊物料关系信息")
+public class MesPartSpecific extends BaseBean implements Serializable {
+
+ private static final long serialVersionUID = -4039513102671816031L;
+
+ @Column(name = "PART_NO")
+ @ApiParam("父零件号")
+ private String partNo;
+
+ @Column(name = "PART_NAME")
+ @ApiParam("父零件名称")
+ private String partName;
+
+ @Column(name = "ITEM_PART_NO")
+ @ApiParam("子零件")
+ private String itemPartNo;
+
+ @Column(name = "ITEM_PART_NAME")
+ @ApiParam("子零件名称")
+ private String itemPartName;
+
+ @Column(name = "TORQUE_SN")
+ @ApiParam("特殊码")
+ private String specificSn;
+
+ @Column(name = "WORK_CENTER_CODE")
+ @ApiParam("工作中心")
+ private String workCenterCode;
+
+ @Column(name = "WORK_CELL_CODE")
+ @ApiParam("工作单元代码")
+ private String workCellCode;
+
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MgnBoardListModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MgnBoardListModel.java
index 4852d46..de042b5 100644
--- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MgnBoardListModel.java
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MgnBoardListModel.java
@@ -27,13 +27,13 @@ public class MgnBoardListModel {
* 开班时间到当前时间按小时累计计划数量
*/
@ApiParam("每小时计划产量")
- private Double minPlanYield;
+ private Double minPlanYield;//
/**
* 开班时间到当前时间按小时累计实际数量
*/
@ApiParam("每小时实际产量")
- private Double minActualYield;
+ private Double minActualYield;//
@ApiParam("计划完成率")
private String planCompleteRate;
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/StationRequestBean.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/StationRequestBean.java
index dcfc6b9..06aec88 100644
--- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/StationRequestBean.java
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/StationRequestBean.java
@@ -91,6 +91,9 @@ public class StationRequestBean implements Serializable {
@ApiParam("工步序号")
private Integer stepSeq;
+ @ApiParam("强制跳过工序")
+ private Boolean forceJumpProcess = false;
+
@ApiParam("强制执行工步代码")
private String forceSpecStepCode;
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IfPartCheckCustomerLabelDetailRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IfPartCheckCustomerLabelDetailRepository.java
new file mode 100644
index 0000000..b374e18
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IfPartCheckCustomerLabelDetailRepository.java
@@ -0,0 +1,16 @@
+package cn.estsh.i3plus.pojo.mes.repository;
+
+import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
+import cn.estsh.i3plus.pojo.mes.bean.IfPartCheckCustomerLabelDetail;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Description :
+ * @Reference :
+ * @Author : dominic
+ * @CreateDate : 2021/3/22 15:41
+ * @Modify:
+ **/
+@Repository
+public interface IfPartCheckCustomerLabelDetailRepository extends BaseRepository {
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IfPartCheckCustomerLabelRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IfPartCheckCustomerLabelRepository.java
new file mode 100644
index 0000000..0011080
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IfPartCheckCustomerLabelRepository.java
@@ -0,0 +1,16 @@
+package cn.estsh.i3plus.pojo.mes.repository;
+
+import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
+import cn.estsh.i3plus.pojo.mes.bean.IfPartCheckCustomerLabel;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Description :
+ * @Reference :
+ * @Author : dominic
+ * @CreateDate : 2021/3/22 15:39
+ * @Modify:
+ **/
+@Repository
+public interface IfPartCheckCustomerLabelRepository extends BaseRepository {
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesKpDataRecordRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesKpDataRecordRepository.java
new file mode 100644
index 0000000..78426ac
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesKpDataRecordRepository.java
@@ -0,0 +1,13 @@
+package cn.estsh.i3plus.pojo.mes.repository;
+
+import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
+import cn.estsh.i3plus.pojo.mes.bean.MesKpDataRecord;
+
+/**
+ * @Description:
+ * @Author: jokelin
+ * @Date: 2021/3/25 2:00 PM
+ * @Modify:
+ */
+public interface MesKpDataRecordRepository extends BaseRepository {
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPartCarModelRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPartCarModelRepository.java
new file mode 100644
index 0000000..d9f15f2
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPartCarModelRepository.java
@@ -0,0 +1,13 @@
+package cn.estsh.i3plus.pojo.mes.repository;
+
+import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
+import cn.estsh.i3plus.pojo.mes.bean.MesPartCarModel;
+
+/**
+ * @Description:
+ * @Author: jokelin
+ * @Date: 2021/3/24 3:13 PM
+ * @Modify:
+ */
+public interface MesPartCarModelRepository extends BaseRepository {
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPartSpecificRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPartSpecificRepository.java
new file mode 100644
index 0000000..6770e91
--- /dev/null
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPartSpecificRepository.java
@@ -0,0 +1,13 @@
+package cn.estsh.i3plus.pojo.mes.repository;
+
+import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
+import cn.estsh.i3plus.pojo.mes.bean.MesPartSpecific;
+
+/**
+ * @Description:
+ * @Author: jokelin
+ * @Date: 2021/3/24 3:13 PM
+ * @Modify:
+ */
+public interface MesPartSpecificRepository extends BaseRepository {
+}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPlcRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPlcRepository.java
index 9413a87..423e06c 100644
--- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPlcRepository.java
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPlcRepository.java
@@ -2,6 +2,7 @@ package cn.estsh.i3plus.pojo.mes.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.mes.bean.MesPlc;
+import org.springframework.stereotype.Repository;
/**
* @Description:
@@ -10,5 +11,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesPlc;
* @CreateDate:2019\10\9 0009 11:16
* @Modify:
**/
+@Repository
public interface MesPlcRepository extends BaseRepository {
}
diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java
index 508ef73..5ac24b1 100644
--- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java
+++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java
@@ -3791,4 +3791,21 @@ public class MesHqlPack {
}
return packBean;
}
+
+ public static DdlPackBean getMesPartCarModel(MesPartCarModel mesPartCarModel) {
+ DdlPackBean packBean = getAllBaseData(mesPartCarModel.getOrganizeCode());
+ DdlPreparedPack.getStringEqualPack(mesPartCarModel.getPartNo(), "partNo", packBean);
+ DdlPreparedPack.getStringLikerPack(mesPartCarModel.getVehicleCode(), "vehicleCode", packBean);
+ DdlPreparedPack.getNumEqualPack(mesPartCarModel.getIsValid(), "isValid", packBean);
+ return packBean;
+ }
+
+ public static DdlPackBean getMesPartSpecific(MesPartSpecific mesPartSpecific) {
+ DdlPackBean packBean = getAllBaseData(mesPartSpecific.getOrganizeCode());
+ DdlPreparedPack.getStringEqualPack(mesPartSpecific.getPartNo(), "partNo", packBean);
+ DdlPreparedPack.getStringEqualPack(mesPartSpecific.getItemPartNo(), "itemPartNo", packBean);
+ DdlPreparedPack.getStringLikerPack(mesPartSpecific.getSpecificSn(), "specificSn", packBean);
+ DdlPreparedPack.getNumEqualPack(mesPartSpecific.getIsValid(), "isValid", packBean);
+ return packBean;
+ }
}
diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/SysLoginModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/SysLoginModel.java
index 965ae38..b743a9c 100644
--- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/SysLoginModel.java
+++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/SysLoginModel.java
@@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.model.platform;
+import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
@@ -37,4 +38,7 @@ public class SysLoginModel {
@ApiParam(value = "app Id")
private String appId;
+ @ApiParam(value = "PlafrormId")
+ private Integer loginPlatform = CommonEnumUtil.LOG_LOGIN_PLATFORM.PC_IMPP_CORE.getValue();
+
}
diff --git a/modules/i3plus-pojo-screen/pom.xml b/modules/i3plus-pojo-screen/pom.xml
new file mode 100644
index 0000000..071fe58
--- /dev/null
+++ b/modules/i3plus-pojo-screen/pom.xml
@@ -0,0 +1,54 @@
+
+
+
+ i3plus-pojo
+ i3plus.pojo
+ 1.0-TEST-SNAPSHOT
+
+ 4.0.0
+
+ i3plus-pojo-screen
+
+
+
+ i3plus.pojo
+ i3plus-pojo-base
+
+
+
+
+
+ dev
+
+ DEV
+
+
+ true
+
+
+
+ test
+
+ TEST
+
+
+
+ docker
+
+ DOCKER
+
+
+
+ prod
+
+ PROD
+
+
+
+
+ ${project.artifactId}-${project.version}
+
+
+
\ No newline at end of file
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/AbstractScreenBean.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/AbstractScreenBean.java
new file mode 100644
index 0000000..4185d7c
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/AbstractScreenBean.java
@@ -0,0 +1,16 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import lombok.Data;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午8:47
+ * @desc
+ */
+@Data
+public abstract class AbstractScreenBean extends BaseBean {
+ private static final long serialVersionUID = 3535186340743573771L;
+
+ private Integer version;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrAction.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrAction.java
new file mode 100644
index 0000000..06f0f19
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrAction.java
@@ -0,0 +1,40 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 上午10:43
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_ACTION")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("动作")
+public class ScrAction extends BaseBean implements Serializable {
+ private static final long serialVersionUID = 3832856363595940018L;
+
+ @Column(name = "ACTION_CODE")
+ @ApiParam("动作代码")
+ private String actionCode;
+
+ @Column(name = "ACTION_NAME")
+ @ApiParam("动作名称")
+ private String actionName;
+}
\ No newline at end of file
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrDataObject.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrDataObject.java
new file mode 100644
index 0000000..8da3aeb
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrDataObject.java
@@ -0,0 +1,54 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午1:27
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_DATA_OBJECT")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("数据对象管理")
+public class ScrDataObject extends BaseBean implements Serializable {
+ private static final long serialVersionUID = -270662014158685376L;
+
+ @Column(name = "DATA_OBJECT_CODE")
+ @ApiParam(value = "数据对象代码")
+ private String dataObjectCode;
+
+ @Column(name = "SOURCE_CODE")
+ @ApiParam(value = "数据源编码")
+ private String sourceCode;
+
+ @Column(name = "DATA_OBJECT_SOURCE")
+ @ApiParam(value = "数据名称")
+ private String dataObjectSource;
+
+ @Column(name = "DATA_TYPE")
+ @ApiParam(value = "数据类型")
+ private Integer dataType;
+
+ @Column(name = "DESCRIPTION")
+ @ApiParam(value = "描述")
+ private String description;
+
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrDataObjectProperty.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrDataObjectProperty.java
new file mode 100644
index 0000000..4b4caad
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrDataObjectProperty.java
@@ -0,0 +1,57 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午5:21
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_DATA_OBJECT_PROPERTY")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("数据对象属性")
+public class ScrDataObjectProperty extends BaseBean implements Serializable {
+ private static final long serialVersionUID = 6954106365899677132L;
+
+ @Column(name = "DATA_OBJECT_CODE")
+ @ApiParam(value = "数据对象ID")
+ private Long dataObjectCode;
+
+ @Column(name = "FIELD_CODE")
+ @ApiParam(value = "字段代码")
+ private String fieldCode;
+
+ @Column(name = "FIELD_TYPE")
+ @ApiParam(value = "字段类型")
+ private String fieldType;
+
+ @Column(name="IS_PRIMARY_KEY")
+ @ApiParam(value ="是否主键")
+ private Integer isPrimaryKey;
+
+ @Column(name="IS_NULLABLE")
+ @ApiParam(value = "是否允许为空")
+ private Integer isNullable;
+
+
+
+
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrDatasource.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrDatasource.java
new file mode 100644
index 0000000..bb01da4
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrDatasource.java
@@ -0,0 +1,73 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 上午10:58
+ * @desc
+ */
+
+@Entity
+@Table(name = "SCR_DATASOURCE")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("数据源管理")
+public class ScrDatasource extends BaseBean implements Serializable {
+ private static final long serialVersionUID = 2660387454249572573L;
+
+ @Column(name="SOURCE_NAME")
+ @ApiParam(value ="数据源名称")
+ private String sourceName;
+
+ @Column(name="SOURCE_CODE")
+ @ApiParam(value ="数据源代码")
+ private String sourceCode;
+
+ @Column(name="SOURCE_STATUS")
+ @ApiParam(value ="数据源状态",name = "状态:可用,不可用 看枚举当中是否存在")
+ private Integer sourceStatus;
+
+ @Column(name="SOURCE_TYPE")
+ @ApiParam(value ="数据源类型",name = "CommonEnumUtil.DATA_SOURCE_TYPE")
+ private Integer sourceType;
+
+ @Column(name="SOURCE_HOST")
+ @ApiParam(value ="数据源连接地址")
+ private String sourceHost;
+
+ @Column(name="SOURCE_PORT")
+ @ApiParam(value ="数据源端口")
+ private Integer sourcePort;
+
+ @Column(name="SOURCE_DATA_BASE_NAME")
+ @ApiParam(value ="数据库名称")
+ private String sourceDataBaseName;
+
+ @Column(name="SOURCE_USER_NAME")
+ @ApiParam(value ="数据库用户名称")
+ private String sourceUserName;
+
+ @Column(name="SOURCE_PASSWORD")
+ @ApiParam(value ="数据库用户密码")
+ private String sourcePassword;
+
+ @Column(name="SOURCE_DESCRIPTION")
+ @ApiParam(value ="数据源描述")
+ private String sourceDescription;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrEvent.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrEvent.java
new file mode 100644
index 0000000..5988035
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrEvent.java
@@ -0,0 +1,40 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/19 下午5:06
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_EVENT")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("事件")
+public class ScrEvent extends BaseBean implements Serializable {
+ private static final long serialVersionUID = -6217007706865821613L;
+
+ @Column(name = "EVENT_CODE")
+ @ApiParam("事件代码")
+ private String eventCode;
+
+ @Column(name = "EVENT_NAME")
+ @ApiParam("事件名称")
+ private String eventName;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrEventAction.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrEventAction.java
new file mode 100644
index 0000000..a442262
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrEventAction.java
@@ -0,0 +1,56 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/19 下午5:06
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_EVENT_ACTION")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("事件动作")
+public class ScrEventAction extends BaseBean implements Serializable {
+ private static final long serialVersionUID = -6217007706865821613L;
+
+ @Column(name = "EVENT_ACTION_CODE")
+ @ApiParam("事件动作代码")
+ private String eventActionCode;
+
+ @Column(name = "EVENT_ACTION_NAME")
+ @ApiParam("事件动作名称")
+ private String eventActionName;
+
+ @Column(name = "EVENT_CODE")
+ @ApiParam("事件代码")
+ private String eventCode;
+
+ @Column(name = "PRE_ACTION_CODE")
+ @ApiParam("执行前动作代码")
+ private String preActionCode;
+
+ @Column(name = "EXECUTE_ACTION_CODE")
+ @ApiParam("执行的动作代码")
+ private String executeActionCode;
+
+ @Column(name = "POST_ACTION_CODE")
+ @ApiParam("执行前动作代码")
+ private String postActionCode;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrFile.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrFile.java
new file mode 100644
index 0000000..c1d4994
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrFile.java
@@ -0,0 +1,9 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午9:59
+ * @desc
+ */
+public class ScrFile {
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrLayout.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrLayout.java
new file mode 100644
index 0000000..9e1542e
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrLayout.java
@@ -0,0 +1,49 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午12:30
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_LAYOUT")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("布局")
+public class ScrLayout extends BaseBean implements Serializable {
+
+ private static final long serialVersionUID = 3390463604300159807L;
+ @Column(name = "LAYOUT_CODE")
+ @ApiParam("布局代码")
+ private String layoutCode;
+
+ @Column(name = "LAYOUT_NAME")
+ @ApiParam("布局名称")
+ private String layoutName;
+
+ @Column(name = "ROW_SEQ")
+ @ApiParam("行顺序")
+ private Integer rowSeq;
+
+ @Column(name = "ROW_CODE")
+ @ApiParam("行代码")
+ private String rowCode;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrLayoutColumn.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrLayoutColumn.java
new file mode 100644
index 0000000..f74295f
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrLayoutColumn.java
@@ -0,0 +1,45 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午5:01
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_LAYOUT_COLUMN")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+//@Builder
+@Api("布局-列")
+public class ScrLayoutColumn extends BaseBean implements Serializable {
+ private static final long serialVersionUID = 5001564292608042287L;
+
+ @Column(name = "COL_CODE")
+ @ApiParam("列代码")
+ private String colCode;
+
+ @Column(name ="COL_NAME")
+ @ApiParam("列名称")
+ private String colName;
+
+ @Column(name ="COL_SPAN")
+ @ApiParam("列占位")
+ private Integer colSpan;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrLayoutRow.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrLayoutRow.java
new file mode 100644
index 0000000..92c2cfd
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrLayoutRow.java
@@ -0,0 +1,54 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午5:01
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_LAYOUT_ROW")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("布局-行")
+public class ScrLayoutRow extends BaseBean implements Serializable {
+ private static final long serialVersionUID = 6042010183759804616L;
+
+ @Column(name = "ROW_CODE")
+ @ApiParam("行代码")
+ private String rowCode;
+
+ @Column(name = "ROW_NAME")
+ @ApiParam("行名称")
+ private String rowName;
+
+ @Column(name = "ROW_HEIGHT")
+ @ApiParam("行高")
+ private Double rowHeight;
+
+ @Column(name = "COL_SEQ")
+ @ApiParam("列序号")
+ private Integer colSeq;
+
+ @Column(name = "COL_CODE")
+ @ApiParam("列代码")
+ private String colCode;
+
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModel.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModel.java
new file mode 100644
index 0000000..a607aaf
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModel.java
@@ -0,0 +1,41 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午12:29
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_MODEL")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("model")
+public class ScrModel extends BaseBean implements Serializable {
+ private static final long serialVersionUID = -4609944173378718944L;
+
+ @Column(name = "MODEL_CODE")
+ @ApiParam("model代码")
+ private String modelCode;
+
+ @Column(name = "DATA_OBJECT_CODE")
+ @ApiParam("数据对象代码")
+ private String dataObjectCode;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelField.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelField.java
new file mode 100644
index 0000000..efc9f3a
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelField.java
@@ -0,0 +1,85 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午12:29
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_MODEL_FIELD")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("model字段")
+public class ScrModelField extends BaseBean implements Serializable {
+ private static final long serialVersionUID = 3893137576091823152L;
+
+ @Column(name = "MODEL_CODE")
+ @ApiParam("model代码")
+ private String modelCode;
+
+ @Column(name = "FIELD_CODE")
+ @ApiParam("字段代码")
+ private String fieldCode;
+
+ @Column(name = "IS_FUZZY_SEARCH")
+ @ApiParam("是否支持模糊查询")
+ private Boolean isFuzzySearch;
+
+ @Column(name = "IS_SHOW_IN_NEW")
+ @ApiParam("是否在新增时展示")
+ private Boolean isShowInNew;
+
+ @Column(name = "IS_SHOW_IN_EDIT")
+ @ApiParam("是否在编辑时展示")
+ private Boolean isShowInEdit;
+
+ @Column(name = "IS_ALLOW_SORT")
+ @ApiParam("是否支持排序")
+ private Boolean isAllowSort;
+
+ @Column(name = "FORM_SEQ")
+ @ApiParam("表单顺序")
+ private Integer formSeq;
+
+ @Column(name = "TABLE_SEQ")
+ @ApiParam("表格顺序")
+ private Integer tableSeq;
+
+ @Column(name = "VALIDATION")
+ @ApiParam("校验")
+ private String validation;
+
+ @Column(name = "DICTIONARY")
+ @ApiParam("字典")
+ private String dictionary;
+
+ @Column(name = "IS_VIRTUAL")
+ @ApiParam("是否是虚拟的")
+ private boolean isVirtual;
+
+ @Column(name = "FIELD_NAME")
+ @ApiParam("字段名称")
+ private String fieldName;
+
+ @Column(name = "SPEL_VIRTUAL_VALUE")
+ @ApiParam("SPEL表达式虚拟属性")
+ private String spelVirtualValue;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldConstraint.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldConstraint.java
new file mode 100644
index 0000000..fc82a9b
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldConstraint.java
@@ -0,0 +1,48 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/12 下午4:26
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_MODEL_FIELD_CONSTRAINT")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("model字段约束")
+public class ScrModelFieldConstraint extends BaseBean implements Serializable {
+ private static final long serialVersionUID = 5020158684534641672L;
+
+ @Column(name = "MODEL_CODE")
+ @ApiParam("model代码")
+ private String modelCode;
+
+ @Column(name = "CONSTRAINT_TYPE")
+ @ApiParam("约束类型")
+ private String constraintType;
+
+ @Column(name = "GROUP_NO")
+ @ApiParam("组号")
+ private Integer groupNo;
+
+ @Column(name = "FIELD_CODE")
+ @ApiParam("字段代码")
+ private String fieldCode;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldVirtual.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldVirtual.java
new file mode 100644
index 0000000..0a091b3
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrModelFieldVirtual.java
@@ -0,0 +1,53 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/12 下午4:30
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_MODEL_FIELD_VIRTUAL")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("model虚拟字段")
+public class ScrModelFieldVirtual extends BaseBean implements Serializable {
+ private static final long serialVersionUID = -7756539161394751580L;
+
+ @Column(name = "MODEL_CODE")
+ @ApiParam("model代码")
+ private String modelCode;
+
+ @Column(name = "VIRTUAL_FIELD_NAME")
+ @ApiParam("虚拟字段名称")
+ private String virtualFieldName;
+
+ @Column(name = "SPEL_CALC_EXPRESSION")
+ @ApiParam("SPEL计算表达式")
+ private String spelCalcExpression;
+
+ @Column(name = "GROUP_NO")
+ @ApiParam("组号")
+ private Integer groupNo;
+
+ @Column(name = "FIELD_CODE")
+ @ApiParam("字段代码")
+ private String fieldCode;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanel.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanel.java
new file mode 100644
index 0000000..12003c0
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanel.java
@@ -0,0 +1,47 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午7:50
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_PANEL")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("Panel")
+public class ScrPanel extends BaseBean implements Serializable {
+
+ @Column(name = "PANEL_CODE")
+ @ApiParam("Panel代码")
+ private String panelCode;
+
+ @Column(name = "PANEL_NAME")
+ @ApiParam("Panel名称")
+ private String panelName;
+
+ @Column(name = "LAYOUT_CODE")
+ @ApiParam("布局代码")
+ private String layoutCode;
+
+ @Column(name = "USAGE_AMOUNT")
+ @ApiParam("使用数量")
+ private Integer usageAmount;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelLayoutColumn.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelLayoutColumn.java
new file mode 100644
index 0000000..e520792
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelLayoutColumn.java
@@ -0,0 +1,35 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午5:01
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_PANEL_LAYOUT_COLUMN")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("Panel布局-列")
+public class ScrPanelLayoutColumn extends ScrLayoutColumn implements Serializable {
+ private static final long serialVersionUID = 6577099884589179886L;
+
+ @Column(name = "COMPONENT_CODE")
+ @ApiParam("组件代码")
+ private String componentCode;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelModel.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelModel.java
new file mode 100644
index 0000000..90fe642
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelModel.java
@@ -0,0 +1,45 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午8:42
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_PANEL_MODEL")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("Panel与Model的关系")
+public class ScrPanelModel extends BaseBean implements Serializable {
+ private static final long serialVersionUID = -6998319452471117206L;
+
+ @Column(name = "PANEL_MODEL_CODE")
+ @ApiParam("Panel与Model的关系代码")
+ private String panelModelCode;
+
+ @Column(name = "PANEL_CODE")
+ @ApiParam("Panel代码")
+ private String panelCode;
+
+ @Column(name = "MODEL_CODE")
+ @ApiParam("Model代码")
+ private String modelCode;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelModelComponent.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelModelComponent.java
new file mode 100644
index 0000000..e447112
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelModelComponent.java
@@ -0,0 +1,42 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午8:42
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_PANEL_MODEL_COMPONENT")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("Panel与Model组件的关系")
+public class ScrPanelModelComponent extends BaseBean implements Serializable {
+ private static final long serialVersionUID = 2011504067317832781L;
+
+ @Column(name = "PANEL_MODEL_CODE")
+ @ApiParam("Panel与Model的关系代码")
+ private String panelModelCode;
+
+ @Column(name = "COMPONENT_CODE")
+ @ApiParam("组件代码")
+ private String componentCode;
+
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelModelField.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelModelField.java
new file mode 100644
index 0000000..0743062
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrPanelModelField.java
@@ -0,0 +1,85 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午8:42
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_PANEL_MODEL_FIELD")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("Panel与Model字段的关系")
+public class ScrPanelModelField extends BaseBean implements Serializable {
+ private static final long serialVersionUID = -3441031841089357196L;
+
+ @Column(name = "PANEL_MODEL_CODE")
+ @ApiParam("Panel与Model的关系代码")
+ private String panelModelCode;
+
+ @Column(name = "FIELD_CODE")
+ @ApiParam("字段代码")
+ private String fieldCode;
+
+ @Column(name = "IS_FUZZY_SEARCH")
+ @ApiParam("是否支持模糊查询")
+ private Boolean isFuzzySearch;
+
+ @Column(name = "IS_SHOW_IN_NEW")
+ @ApiParam("是否在新增时展示")
+ private Boolean isShowInNew;
+
+ @Column(name = "IS_SHOW_IN_EDIT")
+ @ApiParam("是否在编辑时展示")
+ private Boolean isShowInEdit;
+
+ @Column(name = "IS_ALLOW_SORT")
+ @ApiParam("是否支持排序")
+ private Boolean isAllowSort;
+
+ @Column(name = "FORM_SEQ")
+ @ApiParam("表单顺序")
+ private Integer formSeq;
+
+ @Column(name = "TABLE_SEQ")
+ @ApiParam("表格顺序")
+ private Integer tableSeq;
+
+ @Column(name = "VALIDATION")
+ @ApiParam("校验")
+ private String validation;
+
+ @Column(name = "DICTIONARY")
+ @ApiParam("字典")
+ private String dictionary;
+
+ @Column(name = "IS_VIRTUAL")
+ @ApiParam("是否是虚拟的")
+ private boolean isVirtual;
+
+ @Column(name = "FIELD_NAME")
+ @ApiParam("字段名称")
+ private String fieldName;
+
+ @Column(name = "SPEL_VIRTUAL_VALUE")
+ @ApiParam("SPEL表达式虚拟属性")
+ private String spelVirtualValue;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrScreen.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrScreen.java
new file mode 100644
index 0000000..659d988
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrScreen.java
@@ -0,0 +1,49 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/22 下午7:47
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_SCREEN")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("页面")
+public class ScrScreen extends BaseBean implements Serializable {
+ private static final long serialVersionUID = -6755902986892118213L;
+
+ @Column(name = "SCREEN_CODE")
+ @ApiParam("页面代码")
+ private String screenCode;
+
+ @Column(name = "SCREEN_NAME")
+ @ApiParam("页面名称")
+ private String screenName;
+
+ @Column(name = "SCREEN_VERSION")
+ @ApiParam("页面版本")
+ private String screenVersion;
+
+ @Column(name = "LAYOUT_CODE")
+ @ApiParam("布局代码")
+ private String layoutCode;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrScreenLayoutColumn.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrScreenLayoutColumn.java
new file mode 100644
index 0000000..398c167
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/bean/ScrScreenLayoutColumn.java
@@ -0,0 +1,36 @@
+package cn.estsh.i3plus.pojo.screen.bean;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午5:01
+ * @desc
+ */
+@Entity
+@Table(name = "SCR_SCREEN_LAYOUT_COLUMN")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Api("Screen布局-列")
+public class ScrScreenLayoutColumn extends ScrLayoutColumn implements Serializable {
+ private static final long serialVersionUID = 4084273106415805804L;
+
+ @Column(name = "PANEL_CODE")
+ @ApiParam("Panel代码")
+ private String panelCode;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/Pagination.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/Pagination.java
new file mode 100644
index 0000000..b0842fe
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/Pagination.java
@@ -0,0 +1,20 @@
+package cn.estsh.i3plus.pojo.screen.model;
+
+import lombok.Data;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午1:30
+ * @desc
+ */
+@Data
+public class Pagination {
+
+ private Integer pageSize;
+
+ private Integer totalCount;
+
+ private Integer currentPage;
+
+ private Integer offset;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/PanelModelField.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/PanelModelField.java
new file mode 100644
index 0000000..0debaa9
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/PanelModelField.java
@@ -0,0 +1,23 @@
+package cn.estsh.i3plus.pojo.screen.model;
+
+import cn.estsh.i3plus.pojo.screen.bean.ScrModel;
+import cn.estsh.i3plus.pojo.screen.bean.ScrModelField;
+import cn.estsh.i3plus.pojo.screen.model.component.AbstractComponent;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午1:14
+ * @desc
+ */
+@Data
+public class PanelModelField {
+
+ private ScrModel model;
+
+ private List modelFields;
+
+ private AbstractComponent component;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractComponent.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractComponent.java
new file mode 100644
index 0000000..45ea88f
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractComponent.java
@@ -0,0 +1,26 @@
+package cn.estsh.i3plus.pojo.screen.model.component;
+
+import cn.estsh.i3plus.pojo.screen.bean.ScrEventAction;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午12:32
+ * @desc
+ */
+@Data
+public abstract class AbstractComponent extends AbstractContainer {
+
+ private static final long serialVersionUID = 6768391193506016205L;
+ private String cssStyle;
+
+ private String name;
+
+ private Integer tabIndex;
+
+ private List eventAction;
+
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractContainer.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractContainer.java
new file mode 100644
index 0000000..7ad09b1
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractContainer.java
@@ -0,0 +1,24 @@
+package cn.estsh.i3plus.pojo.screen.model.component;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import cn.estsh.i3plus.pojo.screen.bean.ScrEventAction;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午12:27
+ * @desc
+ */
+@Data
+public abstract class AbstractContainer extends BaseBean {
+ private static final long serialVersionUID = 7696523743371800661L;
+
+ private String background;
+
+ private String cssStyle;
+
+ private List eventAction;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractView.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractView.java
new file mode 100644
index 0000000..f0cc014
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractView.java
@@ -0,0 +1,18 @@
+package cn.estsh.i3plus.pojo.screen.model.component;
+
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午12:30
+ * @desc
+ */
+@Data
+public abstract class AbstractView extends AbstractComponent {
+
+ private String jsEnhance;
+
+ private Map viewTemplateMap;
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractWidget.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractWidget.java
new file mode 100644
index 0000000..bf21cc4
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/AbstractWidget.java
@@ -0,0 +1,15 @@
+package cn.estsh.i3plus.pojo.screen.model.component;
+
+import lombok.Data;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午12:30
+ * @desc
+ */
+@Data
+public abstract class AbstractWidget extends AbstractComponent {
+
+ private String labelText;
+
+}
diff --git a/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/BarChart.java b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/BarChart.java
new file mode 100644
index 0000000..0af2b92
--- /dev/null
+++ b/modules/i3plus-pojo-screen/src/main/java/cn/estsh/i3plus/pojo/screen/model/component/BarChart.java
@@ -0,0 +1,18 @@
+package cn.estsh.i3plus.pojo.screen.model.component;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author Wynne.Lu
+ * @date 2021/3/11 下午12:31
+ * @desc
+ */
+@Data
+public class BarChart extends Chart {
+
+ private List