From df46e6498d9ce92f0b3f249a592d43bc773532eb Mon Sep 17 00:00:00 2001 From: "zhang.xw" Date: Fri, 19 Aug 2022 09:12:19 +0800 Subject: [PATCH 1/8] =?UTF-8?q?ems=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 7263ba4..95b173e 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 @@ -104,7 +104,12 @@ public class CommonEnumUtil { /** * SWEB调用 */ - SWEB_VENDOR(666,8810,0,0,"sweb-vendor","供应商客户端服务"); + SWEB_VENDOR(666,8810,0,0,"sweb-vendor","供应商客户端服务"), + + /** + * EMS调用 + */ + EMS(201,8380,0,170000000L,"i3ems","能源管理系统"); /** * 产品ID From effde55cf9bff0a4b2abd72c0cd8c6afb708ac8e Mon Sep 17 00:00:00 2001 From: "zhang.xw" Date: Fri, 19 Aug 2022 15:14:24 +0800 Subject: [PATCH 2/8] =?UTF-8?q?ems=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) 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 3ff3798..c2c8157 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 @@ -100,12 +100,6 @@ public class CommonEnumUtil { * EAM_PAD */ EAM_PAD(109, 8500, 28, 211000000L, "eam-pad", "设备信息管理服务pad"), - - /** - * 能源管理系统 - */ - EMS(37, 8450, 31, 170000000L, "i3ems", "能源管理系统 "), - /** * SWEB调用 */ @@ -114,7 +108,7 @@ public class CommonEnumUtil { /** * EMS调用 */ - EMS(201,8380,0,170000000L,"i3ems","能源管理系统"); + EMS(37,8380,31,170000000L,"i3ems","能源管理系统"); /** * 产品ID From 9c4caa09a64deced884bf6170ca9afa2475498a3 Mon Sep 17 00:00:00 2001 From: jun <337942886@qq.com> Date: Fri, 19 Aug 2022 18:27:08 +0800 Subject: [PATCH 3/8] =?UTF-8?q?24997=20=E9=87=87=E8=B4=AD=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E8=BF=9B=E5=BA=A6=E6=8A=A5=E8=A1=A8=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=AE=B1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsASNMaster.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsASNMaster.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsASNMaster.java index 2494f18..89b7ded 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsASNMaster.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsASNMaster.java @@ -206,6 +206,10 @@ public class WmsASNMaster extends BaseBean { @ApiParam(value = "窗口结束时间") public String windowEndTime; + @Transient + @ApiParam(value = "箱数") + public Integer boxQty; + public WmsASNMaster() { } From 875447706ea1c0a5f64b97655de508ea4495f9b6 Mon Sep 17 00:00:00 2001 From: "feng.liu" <123456> Date: Wed, 24 Aug 2022 13:42:26 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=A2=9E=E5=8A=A0=20=E6=9C=80=E5=90=8E?= =?UTF-8?q?=E4=B8=80=E6=AC=A1=E7=99=BB=E5=BD=95=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/estsh/i3plus/pojo/model/platform/UserExportModel.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/UserExportModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/UserExportModel.java index 527391a..d7aa15a 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/UserExportModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/UserExportModel.java @@ -123,6 +123,9 @@ public class UserExportModel extends BaseBean { @AnnoOutputColumn(refClass = CommonEnumUtil.USER_STATUS.class) private Integer userStatus; + @ApiModelProperty(value ="用户最后登录时间") + private String userLoginLastDateTime; + public UserExportModel() { } @@ -175,6 +178,7 @@ public class UserExportModel extends BaseBean { this.createUser=sysUserInfo.getCreateUser(); this.modifyDatetime=sysUserInfo.getModifyDatetime(); this.modifyUser=sysUserInfo.getModifyUser(); + this.userLoginLastDateTime = sysUserInfo.getUserLoginLastDateTime(); } else { this.infoName = "用户消息不存在"; } From e6b8601631f26c7147da96567e498d8ecec21c7d Mon Sep 17 00:00:00 2001 From: "zhang.xw" Date: Mon, 29 Aug 2022 15:43:50 +0800 Subject: [PATCH 5/8] =?UTF-8?q?xstream=20=E5=85=BC=E5=AE=B91.4.9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/estsh/i3plus/pojo/base/common/XStreamFactory.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/common/XStreamFactory.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/common/XStreamFactory.java index a5c3a42..1f44d73 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/common/XStreamFactory.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/common/XStreamFactory.java @@ -11,6 +11,7 @@ import com.thoughtworks.xstream.io.naming.NameCoder; import com.thoughtworks.xstream.io.naming.NoNameCoder; import com.thoughtworks.xstream.io.xml.PrettyPrintWriter; import com.thoughtworks.xstream.io.xml.XppDomDriver; +import com.thoughtworks.xstream.security.AnyTypePermission; import lombok.Data; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -82,6 +83,7 @@ public class XStreamFactory { // xStream.setMode(XStream.NO_REFERENCES); xStream.autodetectAnnotations(true); + xStream.addPermission(AnyTypePermission.ANY); // XStream.setupDefaultSecurity(xStream); return xStream; From 4f6f6878fe651781a050f2bc69d47d375267b789 Mon Sep 17 00:00:00 2001 From: "zhang.xw" Date: Mon, 12 Sep 2022 20:14:27 +0800 Subject: [PATCH 6/8] =?UTF-8?q?ems=20=E5=BC=82=E5=B8=B8=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/estsh/i3plus/pojo/model/platform/DingSendBatchRequestModel.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/DingSendBatchRequestModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/DingSendBatchRequestModel.java index 55de6ed..2749382 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/DingSendBatchRequestModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/platform/DingSendBatchRequestModel.java @@ -26,5 +26,7 @@ public class DingSendBatchRequestModel { private String title ; @ApiModelProperty(value ="消息内容" , access ="消息内容") private String content; + @ApiModelProperty(value ="项目类型(默认andon)" , access ="项目类型(默认andon)") + private String softType = "andon"; } From 15e0f1c3f523972a7bad1386d42720f9512c5047 Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Tue, 18 Oct 2022 16:24:28 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E8=84=9A=E6=9C=AC=E5=BC=95=E6=93=8E?= =?UTF-8?q?=E7=A7=BB=E6=A4=8D=E5=88=B0=E5=8A=A8=E6=80=81=E8=A1=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/base/enumutil/BlockFormEnumUtil.java | 151 +++++++++++++++++++++ .../pojo/form/bean/EngineRulePersistence.java | 54 ++++++++ .../pojo/form/bean/EngineScriptPersistence.java | 80 +++++++++++ .../form/bean/EngineScriptPersistenceHistory.java | 61 +++++++++ .../EngineScriptPersistenceHistoryRepository.java | 9 ++ .../IEngineRulePersistenceRepository.java | 23 ++++ .../IEngineScriptPersistenceRepository.java | 40 ++++++ .../i3plus/pojo/form/sqlpack/FormHqlPack.java | 56 ++++++++ 8 files changed, 474 insertions(+) create mode 100644 modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineRulePersistence.java create mode 100644 modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineScriptPersistence.java create mode 100644 modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineScriptPersistenceHistory.java create mode 100644 modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/EngineScriptPersistenceHistoryRepository.java create mode 100644 modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/IEngineRulePersistenceRepository.java create mode 100644 modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/IEngineScriptPersistenceRepository.java diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java index b53e93c..f664549 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java @@ -2548,4 +2548,155 @@ public class BlockFormEnumUtil { return result; } } + + + /** + * 脚本语言类型 + * 10=Groovy, 20=Jython, 30=JavaScript, 40=Scala, 50=JRuby + */ + public enum LANGUAGE_TYPE { + GROOVY(1, "Groovy", 10), + PYTHON(2, "jython", 20), // "jython" string can not change + JS(3, "JavaScript", 30); + // 下面这2种语言没人会写,暂不支持 + //SCALA(40,"scala"), + //JRUBY(50,"jruby"); + + private int index; + private String description; + private int value; + + LANGUAGE_TYPE(int index, String description, int value) { + this.index = index; + this.description = description; + this.value = value; + } + + public String getDescription() { + return description; + } + + public int getIndex() { + return this.index; + } + + public int getValue() { + return value; + } + + // 根据枚举编号获取语言代码 + public static String getCodeByIndex(Integer index) { + for (BlockFormEnumUtil.LANGUAGE_TYPE languageType : BlockFormEnumUtil.LANGUAGE_TYPE.values()) { + if (languageType.getValue() == index) { + return languageType.getDescription(); + } + } + + return null; + } + } + + /** + * 系统参数类型 + * 1.SYSTEM:系统参数 + * 2.BUSI:业务参数 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum BLOCK_FORM_CONFIG_TYPE { + + SYSTEM(10, "系统参数", "系统参数"), + BUSI(20, "业务参数", "业务参数"); + + private int value; + private String name; + private String description; + + BLOCK_FORM_CONFIG_TYPE(int value, String name, String description) { + this.value = value; + this.name = name; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public static String valueOfCode(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].name; + } + } + return tmp; + } + + 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 String codeOfDescription(String code) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].name.equals(code)) { + tmp = values()[i].description; + } + } + return tmp; + } + } + + /** + * 脚本类型 + * 10=组件脚本,20=表单脚本,30=报表脚本,40=JOB脚本,50=其他脚本 + */ + public enum SCRIPT_TYPE { + MODUAL(10, "Modual", "组件脚本"), + FORM(20, "Form", "表单脚本"), + REPORT(30, "Report", "报表脚本"), + JOB(40, "Job", "JOB脚本"), + OTHER(50, "Other", "其他脚本"); + + private String description; + private int value; + private String code; + + SCRIPT_TYPE(int value, String code, String description) { + this.description = description; + this.value = value; + this.code = code; + } + + public String getCode() { + return this.code; + } + + public int getIndex() { + return this.value; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + } diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineRulePersistence.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineRulePersistence.java new file mode 100644 index 0000000..2f6eae8 --- /dev/null +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineRulePersistence.java @@ -0,0 +1,54 @@ +package cn.estsh.i3plus.pojo.form.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.data.annotation.Transient; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Lob; +import javax.persistence.Table; + +/** + * 业务规则持久化实体类 + * + * @author Rock.Yu + * @since 2019-04-16 09:27 + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@Table(name = "DROOLS_RULE_PERSISTENCE") +@Api("系统动态业务规则") +public class EngineRulePersistence extends BaseBean { + private static final long serialVersionUID = 5119552483383770556L; + // 规则调用的唯一编号,例如:WMS_RECEIVE_0001 + @Column(name = "RULE_NO", length = 50) + private String ruleNo; + // 规则的中文名称 + @Column(name = "RULE_NAME", length = 50) + private String ruleName; + // 规则的具体内容 + @Lob + @Column(name = "RULE_CONTENT", columnDefinition = "TEXT") + private String ruleContent; + // 规则的描述,包含规则的用法,参数说明等 + @Column(name = "RULE_REMARK", length = 2000) + private String ruleRemark; + // 加载好的规则引擎对象(有状态) + @Transient + private transient Object kieSession; + // 加载好的规则引擎对象(无状态) + @Transient + private transient Object statelessKieSession; +} diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineScriptPersistence.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineScriptPersistence.java new file mode 100644 index 0000000..b4b3589 --- /dev/null +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineScriptPersistence.java @@ -0,0 +1,80 @@ +package cn.estsh.i3plus.pojo.form.bean; + +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; + +/** + * 脚本持久化实体类 + * + * @author Rock.Yu + * @since 2019-03-18 14:22 + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@Inheritance(strategy = InheritanceType.JOINED) +@Table(name = "SCRIPT_PERSISTENCE", uniqueConstraints = { + @UniqueConstraint(columnNames = {"ORGANIZE_CODE", "SCRIPT_NO"}) +}) +@Api("系统动态脚本") +public class EngineScriptPersistence extends BaseBean { + private static final long serialVersionUID = 7893111140559759490L; + // 脚本调用的唯一编号,例如:WMS_PDA_0001 + @Column(name = "SCRIPT_NO", length = 50) + @AnnoOutputColumn(name = "脚本编码") + private String scriptNo; + + // 脚本的中文名称 + @Column(name = "SCRIPT_NAME", length = 50) + @AnnoOutputColumn(name = "脚本名称") + private String scriptName; + + // 10=组件脚本,20=表单脚本,30=报表脚本,40=JOB脚本,50=其他脚本 + @Column(name = "SCRIPT_TYPE") + @AnnoOutputColumn(name = "脚本类型") + private Integer scriptType; + + // 脚本编写的语言 + // 10=Groovy, 20=Jython, 30=JavaScript, 40=Scala, 50=JRuby + @Column(name = "LANGUAGE_TYPE") + @AnnoOutputColumn(name = "脚本语言") + private Integer languageType; + + // 脚本的具体内容 + @Lob + @Column(name = "SCRIPT_CONTENT", columnDefinition = "TEXT") + @AnnoOutputColumn(name = "脚本内容") + private String scriptContent; + + // 脚本的描述,包含脚本的用法,参数说明等 + @Column(name = "SCRIPT_REMARK", length = 2000) + @AnnoOutputColumn(name = "脚本描述",required = false) + private String scriptRemark; + + // 编译后的脚本内容,通过预编译加快脚本的运行速度 + @Transient + private Object compiledScript; + + // 构造方法,便于批量创建数据 + public EngineScriptPersistence(Long id, String scriptNo, String scriptName, Integer scriptType, Integer languageType, + String scriptContent, String scriptRemark) { + this.id = id; + this.scriptNo = scriptNo; + this.scriptName = scriptName; + this.scriptType = scriptType; + this.languageType = languageType; + this.scriptContent = scriptContent; + this.scriptRemark = scriptRemark; + } +} diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineScriptPersistenceHistory.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineScriptPersistenceHistory.java new file mode 100644 index 0000000..08afe58 --- /dev/null +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/EngineScriptPersistenceHistory.java @@ -0,0 +1,61 @@ +package cn.estsh.i3plus.pojo.form.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; + +/** + * 脚本持久化历史记录 + * + * @author jason.niu + * @since 2020-04-29 + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@Inheritance(strategy = InheritanceType.JOINED) +@Table(name = "SCRIPT_PERSISTENCE_HISTORY") +@Api("系统动态脚本") +public class EngineScriptPersistenceHistory extends BaseBean { + + private static final long serialVersionUID = 7201021903118622899L; + // 脚本调用的唯一编号,例如:WMS_PDA_0001 + @Column(name = "SCRIPT_NO", length = 50) + private String scriptNo; + + // 脚本的中文名称 + @Column(name = "SCRIPT_NAME", length = 50) + private String scriptName; + + // 10=组件脚本,20=表单脚本,30=报表脚本,40=JOB脚本,50=其他脚本 + @Column(name = "SCRIPT_TYPE") + private Integer scriptType; + + // 脚本编写的语言 + // 10=Groovy, 20=Jython, 30=JavaScript, 40=Scala, 50=JRuby + @Column(name = "LANGUAGE_TYPE") + private Integer languageType; + + // 脚本的具体内容 + @Lob + @Column(name = "SCRIPT_CONTENT", columnDefinition = "TEXT") + private String scriptContent; + + // 脚本的描述,包含脚本的用法,参数说明等 + @Column(name = "SCRIPT_REMARK", length = 2000) + private String scriptRemark; + + // 编译后的脚本内容,通过预编译加快脚本的运行速度 + @Transient + private Object compiledScript; + +} diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/EngineScriptPersistenceHistoryRepository.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/EngineScriptPersistenceHistoryRepository.java new file mode 100644 index 0000000..5b7fd77 --- /dev/null +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/EngineScriptPersistenceHistoryRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.form.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.form.bean.EngineScriptPersistenceHistory; +import org.springframework.stereotype.Repository; + +@Repository +public interface EngineScriptPersistenceHistoryRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/IEngineRulePersistenceRepository.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/IEngineRulePersistenceRepository.java new file mode 100644 index 0000000..e8788e0 --- /dev/null +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/IEngineRulePersistenceRepository.java @@ -0,0 +1,23 @@ +package cn.estsh.i3plus.pojo.form.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.form.bean.EngineRulePersistence; +import org.springframework.stereotype.Repository; + +/** + * @Description : 规则引擎持久化类 + * @Reference : + * @Author : Rock.Yu + * @CreateDate : 2019-04-16 09:53 + * @Modify: + **/ +@Repository +public interface IEngineRulePersistenceRepository extends BaseRepository { + /** + * 按照规则编号查询规则实体 + * @param organizeCode 工厂代码 + * @param ruleNo 规则编号 + * @return 规则实体 + */ + EngineRulePersistence findByOrganizeCodeAndRuleNo(String organizeCode, String ruleNo); +} diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/IEngineScriptPersistenceRepository.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/IEngineScriptPersistenceRepository.java new file mode 100644 index 0000000..a66820c --- /dev/null +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/IEngineScriptPersistenceRepository.java @@ -0,0 +1,40 @@ +package cn.estsh.i3plus.pojo.form.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.form.bean.EngineScriptPersistence; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @Description : 脚本引擎持久化类 + * @Reference : + * @Author : Rock.Yu + * @CreateDate : 2019-04-16 09:53 + * @Modify: + **/ +@Repository +public interface IEngineScriptPersistenceRepository extends BaseRepository { + /** + * 按照工厂代码和脚本编号查询脚本实体对象 + * @param organizeCode 工厂代码 + * @param scriptNo 脚本编号 + * @return 脚本实体对象 + */ + EngineScriptPersistence findByOrganizeCodeAndScriptNo(String organizeCode, String scriptNo); + + /** + * 按照脚本编号查询脚本实体对象 + * @param scriptNo 脚本编号 + * @return 脚本实体对象 + */ + EngineScriptPersistence findByScriptNo(String scriptNo); + + /** + * 查找所有的脚本语言类型 + * @return 数据库中已经存在的脚本语言类型 + */ + @Query("select t.languageType from EngineScriptPersistence t group by t.organizeCode, t.languageType") + List findGroupByLanguageType(); +} diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java index d913912..e22a95e 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java @@ -1,9 +1,11 @@ package cn.estsh.i3plus.pojo.form.sqlpack; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.HqlPack; +import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.form.bean.*; import org.apache.commons.lang3.StringUtils; @@ -421,4 +423,58 @@ public final class FormHqlPack { return ddlPackBean; } + /** + * 查询脚本持久化 查询条件封装 + * + * @return + */ + public static DdlPackBean packEngineScriptPersistence(EngineScriptPersistence scriptPersistence) { + DdlPackBean packBean = new DdlPackBean(); + DdlPreparedPack.getStringLikerPack(scriptPersistence.getScriptNo(), "scriptNo", packBean); + DdlPreparedPack.getStringRightLikerPack(scriptPersistence.getScriptName(), "scriptName", packBean); + DdlPreparedPack.getNumEqualPack(scriptPersistence.getScriptType(), "scriptType", packBean); + DdlPreparedPack.getNumEqualPack(scriptPersistence.getLanguageType(), "languageType", packBean); + + getStringBuilderPack(scriptPersistence, packBean); + + DdlPreparedPack.getOrderByPack(new Object[]{2}, new String[]{"createDatetime"}, packBean); + return packBean; + } + + /** + * 封装公用查询参数 + * + * @param bean 实体对象 + * @param hqlStr 查询语句 + * @return 封装完成的查询语句 + */ + public static DdlPackBean getStringBuilderPack(BaseBean bean, DdlPackBean hqlStr) { + + // 判断工厂代码是否为空 + if (StringUtils.isNotBlank(bean.getOrganizeCode())) { + DdlPreparedPack.getStringEqualPack(bean.getOrganizeCode(), "organizeCode", hqlStr); + } + + DdlPreparedPack.getStringEqualPack(bean.getCreateUser(), "createUser", hqlStr); + if (StringUtils.isNotBlank(bean.getCreateDateTimeStart()) && StringUtils.isNotBlank(bean.getCreateDateTimeEnd())) { + DdlPreparedPack.timeBuilder(bean.getCreateDateTimeStart(), bean.getCreateDateTimeEnd(), "createDatetime", hqlStr, true); + } + // 封装有效状态、删除状态、创建人和创建时间 + if (StringUtil.isEmpty(bean.getIsValid())) { + DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), "isValid", hqlStr); + } else { + DdlPreparedPack.getNumEqualPack(bean.getIsValid(), "isValid", hqlStr); + } + DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), "isDeleted", hqlStr); + + return hqlStr; + } + + public static DdlPackBean packHqlScriptHistory(EngineScriptPersistenceHistory history) { + DdlPackBean packBean = new DdlPackBean(); + DdlPreparedPack.getStringEqualPack(history.getScriptNo(), "scriptNo", packBean); + getStringBuilderPack(history, packBean); + + return packBean; + } } From 365ff091f794c82c4a0a0663f818bcb2982602d1 Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Wed, 19 Oct 2022 13:34:23 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E8=84=9A=E6=9C=AC=E5=BC=95=E6=93=8E?= =?UTF-8?q?=E7=A7=BB=E6=A4=8D=E5=88=B0=E5=8A=A8=E6=80=81=E8=A1=A8=E5=8D=95?= =?UTF-8?q?---=E5=A2=9E=E5=8A=A0=E7=B3=BB=E7=BB=9F=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/base/enumutil/BlockFormEnumUtil.java | 100 +++++++++++++++++++++ .../i3plus/pojo/form/bean/BlockFormConfig.java | 65 ++++++++++++++ .../pojo/form/repository/BlockFormRepository.java | 31 +++++++ .../i3plus/pojo/form/sqlpack/FormHqlPack.java | 11 +++ .../cn/estsh/i3plus/pojo/wms/dto/DetailSumDto.java | 37 ++++++++ .../i3plus/pojo/wms/modelbean/DetailSumModel.java | 44 +++++++++ 6 files changed, 288 insertions(+) create mode 100644 modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BlockFormConfig.java create mode 100644 modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/BlockFormRepository.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/dto/DetailSumDto.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/DetailSumModel.java diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java index f664549..2cf1636 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java @@ -2698,5 +2698,105 @@ public class BlockFormEnumUtil { } } + /** + * 系统参数类型 + * 1.SYSTEM:系统参数 + * 2.BUSI:业务参数 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum CONFIG_TYPE { + + SYSTEM(10, "系统参数", "系统参数"), + BUSI(20, "业务参数", "业务参数"); + + private int value; + private String name; + private String description; + + CONFIG_TYPE(int value, String name, String description) { + this.value = value; + this.name = name; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public static String valueOfCode(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].name; + } + } + return tmp; + } + + 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 String codeOfDescription(String code) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].name.equals(code)) { + tmp = values()[i].description; + } + } + return tmp; + } + } + + + /** + * 系统配置值类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum CONFIG_VALUE_TYPE { + CHECKLIST(10, "可选列表"), + NUMBER(20, "数字"), + STRING(30, "字符串"); + + private int value; + private String description; + + CONFIG_VALUE_TYPE(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOf(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + } } diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BlockFormConfig.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BlockFormConfig.java new file mode 100644 index 0000000..df29dbd --- /dev/null +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BlockFormConfig.java @@ -0,0 +1,65 @@ +package cn.estsh.i3plus.pojo.form.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 : Castle + * @CreateDate : 2022/10/18 17:18 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Inheritance(strategy = InheritanceType.JOINED) +@Table(name = "BLOCK_FORM_CONFIG") +@Api(value = "系统配置", description = "WMS系统配置") +public class BlockFormConfig extends BaseBean { + + @Column(name = "NAME") + @ApiParam(value = "名称") + private String name; + + @Column(name = "CONFIG_TYPE") + @ApiParam(value = "参数类型ID(枚举:1.系统配置...)", example = "-1") + private Integer configType; + + @Column(name = "CONFIG_CODE") + @ApiParam(value = "参数代码") + private String configCode; + + // 枚举 ImppEnumUtil.SYS_CONFIG_GROUP + @Column(name = "CONFIG_GROUP") + @ApiParam(value = "参数组") + private Integer configGroup; + + // 枚举 ImppEnumUtil.SYS_VALUE_TYPE + @Column(name = "CONFIG_VALUE_TYPE") + @ApiParam(value = "参数值类型") + private String configValueType; + + /** + * SQL Server 2005:请使用 varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型,而不要使用 text、ntext 和 image 数据类型。 + */ + @Lob + @Column(name = "CONFIG_VALUE", columnDefinition = "TEXT") + @ApiParam(value = "参数值") + private String configValue; + + @Column(name = "CONFIG_DESCRIPTION") + @ApiParam(value = "参数描述") + private String configDescription; + + +} diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/BlockFormRepository.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/BlockFormRepository.java new file mode 100644 index 0000000..55f9c10 --- /dev/null +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/repository/BlockFormRepository.java @@ -0,0 +1,31 @@ +package cn.estsh.i3plus.pojo.form.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.form.bean.BlockFormConfig; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2022/10/18 17:20 + * @Modify: + **/ +@Repository +public interface BlockFormRepository extends BaseRepository { + + /** + * 按照工厂代码和配置代码查询配置信息 + * @param organizeCode 工厂代码 + * @param configCode 配置代码 + * @return 配置信息 + */ + BlockFormConfig getFirstByOrganizeCodeAndConfigCode(String organizeCode, String configCode); + + /** + * 按照配置代码查询配置信息 + * @param configCode 配置代码 + * @return 配置信息 + */ + BlockFormConfig getFirstByConfigCode(String configCode); +} diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java index e22a95e..3c67c4f 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java @@ -477,4 +477,15 @@ public final class FormHqlPack { return packBean; } + + public static DdlPackBean packHqlConfig(BlockFormConfig blockFormConfig) { + DdlPackBean result = new DdlPackBean(); + DdlPreparedPack.getStringLikerPack(blockFormConfig.getConfigCode(), "configCode", result); + DdlPreparedPack.getStringLikerPack(blockFormConfig.getName(), "name", result); + DdlPreparedPack.getNumEqualPack(blockFormConfig.getConfigType(), "configType", result); + DdlPreparedPack.getStringEqualPack(blockFormConfig.getConfigValue(), "configValue", result); + DdlPreparedPack.getNumEqualPack(blockFormConfig.getConfigValueType(), "configValueType", result); + getStringBuilderPack(blockFormConfig, result); + return result; + } } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/dto/DetailSumDto.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/dto/DetailSumDto.java new file mode 100644 index 0000000..bdf3545 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/dto/DetailSumDto.java @@ -0,0 +1,37 @@ +package cn.estsh.i3plus.pojo.wms.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2022/4/13 21:48 + * @Modify: + **/ +@ApiModel(value = "集中对账单明细汇总Dto") +@Data +public class DetailSumDto { + @ApiModelProperty(value = "物料号") + private String partNo; + @ApiModelProperty(value = "库存地") + private String whArea; + @ApiModelProperty(value = "来源存储区") + private String srcStoreArea; + @ApiModelProperty(value = "目标存储区") + private String targetStoreArea; + @ApiModelProperty(value = "业务类型") + private String transType; + @ApiModelProperty(value = "单据状态") + private String orderStatus; + @ApiModelProperty(value = "需求数量") + private Double needNum; + @ApiModelProperty(value = "处理数量") + private Double dealNum; + @ApiModelProperty(value = "创建时间") + private String createTime; + @ApiModelProperty(value = "操作时间") + private String operationTime; +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/DetailSumModel.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/DetailSumModel.java new file mode 100644 index 0000000..906b2fe --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/DetailSumModel.java @@ -0,0 +1,44 @@ +package cn.estsh.i3plus.pojo.wms.modelbean; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +/** + * @Description : + * @Reference : + * @Author : Castle + * @CreateDate : 2022/4/13 21:24 + * @Modify: + **/ +@Data +@ApiModel(value = "对账单明细汇总页面入参") +public class DetailSumModel { + @ApiModelProperty(value = "物料号") + public String partNo; + @ApiModelProperty(value = "仓库号") + public String whNo; + @ApiModelProperty(value = "库存地") + public String whArea; + @ApiModelProperty(value = "差异值") + public Double differenceCount; + @ApiModelProperty(value = "业务类型代码") + public String transTypeCode; + @ApiModelProperty(value = "单号") + public String oderNo; + @ApiModelProperty(value = "单据状态") + public String orderStatus; + @ApiModelProperty(value = "来源存储区") + public String srcStoreArea; + @ApiModelProperty(value = "目标存储区") + public String targetStoreArea; + @ApiModelProperty(value = "开始操作时间") + public String startOperationTime; + @ApiModelProperty(value = "结束操作时间") + public String endOperationTime; + @ApiModelProperty(value = "开始创建时间") + public String startCreateTime; + @ApiModelProperty(value = "结束创建时间") + public String endCreateTime; +}