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 9b30cff..1126543 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 @@ -2102,4 +2102,88 @@ public class WmsEnumUtil { 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; + } + } + + /** + * 脚本语言类型 + * 10=Groovy, 20=Jython, 30=JavaScript, 40=Scala, 50=JRuby + */ + public enum LANGUAGE_TYPE { + GROOVY(1,"Groovy", 10), + PYTHON(2,"Python", 20), + JS(3,"JavaScript", 30); + // 下面这2种语言没人会写,暂不支持 + //SCALA(40,"scala"), + //JRUBY(50,"jruby"); + + private int index; + private String description; + private int value; + + private 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(int index) { + for (LANGUAGE_TYPE languageType : LANGUAGE_TYPE.values()) { + if (languageType.getIndex() == index) { + return languageType.getDescription(); + } + } + + return null; + } + } } diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/DataSwitchModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/DataSwitchModel.java new file mode 100644 index 0000000..cf5b891 --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/DataSwitchModel.java @@ -0,0 +1,26 @@ +package cn.estsh.i3plus.pojo.model.softswitch; + +import java.util.List; +import java.util.Map; + +/** + * @Description : 数据模型转换对象 + * @Reference : + * @Author : alwaysfrin + * @CreateDate : 2019-04-29 11:11 + * @Modify: + **/ +public class DataSwitchModel { + + private String stringVal; + + private Long longVal; + + private Double doubleVal; + + private List listVal; + + private Map mapVal; + + private Object[] arrayVal; +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShopping.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShipping.java similarity index 97% rename from modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShopping.java rename to modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShipping.java index 9d87af8..c777851 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShopping.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShipping.java @@ -28,7 +28,7 @@ import javax.persistence.Transient; @EqualsAndHashCode(callSuper = true) @Table(name="WMS_DOC_SHIPPING") @Api("产品发运信息") -public class WmsShopping extends BaseBean { +public class WmsShipping extends BaseBean { @Column(name="ORDER_NO") @ApiParam("发运单号") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/engine/script/EngineScriptPersistence.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/engine/script/EngineScriptPersistence.java index 7e498d3..c928ee1 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/engine/script/EngineScriptPersistence.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/engine/script/EngineScriptPersistence.java @@ -4,11 +4,15 @@ 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.*; import javax.script.CompiledScript; +import javax.script.ScriptContext; +import javax.script.ScriptEngine; +import javax.script.ScriptException; /** * 脚本持久化实体类 @@ -20,6 +24,7 @@ import javax.script.CompiledScript; @Entity @DynamicInsert @DynamicUpdate +@NoArgsConstructor @EqualsAndHashCode(callSuper = true) @Table(name = "SCRIPT_PERSISTENCE") @Api("系统动态脚本") @@ -27,30 +32,34 @@ public class EngineScriptPersistence extends BaseBean { // 脚本调用的唯一编号,例如: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 int scriptType; + private Integer scriptType; + // 脚本编写的语言 // 10=Groovy, 20=Jython, 30=JavaScript, 40=Scala, 50=JRuby @Column(name = "LANGUAGE_TYPE") - private int languageType; + private Integer languageType; + // 脚本的具体内容 @Column(name = "SCRIPT_CONTENT", columnDefinition = "TEXT") private String scriptContent; + // 脚本的描述,包含脚本的用法,参数说明等 @Column(name = "SCRIPT_REMARK", length = 2000) private String scriptRemark; + // 编译后的脚本内容,通过预编译加快脚本的运行速度 @Transient - private CompiledScript compiledScript; - - public EngineScriptPersistence() {} + private Object compiledScript; // 构造方法,便于批量创建数据 - public EngineScriptPersistence(long id, String scriptNo, String scriptName, int scriptType, int languageType, + public EngineScriptPersistence(Long id, String scriptNo, String scriptName, Integer scriptType, Integer languageType, String scriptContent, String scriptRemark) { this.id = id; this.scriptNo = scriptNo; diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShoppingRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShoppingRepository.java index e6e6250..2d3bf04 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShoppingRepository.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShoppingRepository.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.pojo.wms.repository; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; -import cn.estsh.i3plus.pojo.wms.bean.WmsShopping; +import cn.estsh.i3plus.pojo.wms.bean.WmsShipping; import org.springframework.stereotype.Repository; /** @@ -12,5 +12,5 @@ import org.springframework.stereotype.Repository; * @Modify: **/ @Repository -public interface WmsShoppingRepository extends BaseRepository { +public interface WmsShoppingRepository extends BaseRepository { } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java index c95477d..361ba1a 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java @@ -7,6 +7,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.HqlPack; import cn.estsh.i3plus.pojo.wms.bean.*; +import cn.estsh.i3plus.pojo.wms.engine.rule.EngineRulePersistence; import cn.estsh.i3plus.pojo.wms.engine.script.EngineScriptPersistence; import com.alibaba.fastjson.JSONObject; import com.google.common.base.Strings; @@ -181,8 +182,8 @@ public class WmsHqlPack { DdlPackBean result = new DdlPackBean(); //查询参数封装 - DdlPreparedPack.getInPack(String.join(",", WmsEnumUtil.MASTER_ORDER_STATUS.CREATE.getValue() + "", - WmsEnumUtil.MASTER_ORDER_STATUS.RECEIPT.getValue() + ""), "poStatus", result); + DdlPreparedPack.getInPackArray(new Object[]{WmsEnumUtil.MASTER_ORDER_STATUS.CREATE.getValue(), + WmsEnumUtil.MASTER_ORDER_STATUS.RECEIPT.getValue()}, "poStatus", result); DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), "isPart", result); DdlPreparedPack.getStringEqualPack(wmsPOMaster.getOrderNo(), "orderNo", result); DdlPreparedPack.getStringEqualPack(wmsPOMaster.getPoType(), "poType", result); @@ -595,26 +596,26 @@ public class WmsHqlPack { /** * 产品发运信息 查询条件封装 * - * @param wmsShopping + * @param wmsShipping * @return */ - public static DdlPackBean packHqlWmsShipping(WmsShopping wmsShopping) { + public static DdlPackBean packHqlWmsShipping(WmsShipping wmsShipping) { DdlPackBean result = new DdlPackBean(); //发运单号 - DdlPreparedPack.getStringLikerPack(wmsShopping.getOrderNo(), "orderNo", result); + DdlPreparedPack.getStringLikerPack(wmsShipping.getOrderNo(), "orderNo", result); //客户编码 - DdlPreparedPack.getStringEqualPack(wmsShopping.getCustNo(), "custNo", result); + DdlPreparedPack.getStringEqualPack(wmsShipping.getCustNo(), "custNo", result); //物料编码 - DdlPreparedPack.getStringEqualPack(wmsShopping.getPartNo(), "partNo", result); + DdlPreparedPack.getStringEqualPack(wmsShipping.getPartNo(), "partNo", result); //条码 - DdlPreparedPack.getStringEqualPack(wmsShopping.getSn(), "sn", result); + DdlPreparedPack.getStringEqualPack(wmsShipping.getSn(), "sn", result); //发运状态 - DdlPreparedPack.getNumEqualPack(wmsShopping.getOrderStatus(), "orderStatus", result); + DdlPreparedPack.getNumEqualPack(wmsShipping.getOrderStatus(), "orderStatus", result); //特殊发货标志 - DdlPreparedPack.getStringEqualPack(wmsShopping.getShippingFlag(), "shippingFlag", result); + DdlPreparedPack.getStringEqualPack(wmsShipping.getShippingFlag(), "shippingFlag", result); - getStringBuilderPack(wmsShopping, result); + getStringBuilderPack(wmsShipping, result); return result; } @@ -1536,19 +1537,19 @@ public class WmsHqlPack { * @param wmsDataAuth * @return */ - public static String packHqlWmsDataAuthFind(WmsDataAuth wmsDataAuth) { - StringBuffer result = new StringBuffer(); + public static DdlPackBean packHqlWmsDataAuthFind(WmsDataAuth wmsDataAuth) { + DdlPackBean result = new DdlPackBean(); if (!Strings.isNullOrEmpty(wmsDataAuth.getRoleCode())) { - HqlPack.getStringEqualPack(wmsDataAuth.getRoleCode(), "roleCode", result); + DdlPreparedPack.getStringEqualPack(wmsDataAuth.getRoleCode(), "roleCode", result); } if (!Strings.isNullOrEmpty(wmsDataAuth.getDataObj())) { - HqlPack.getStringEqualPack(wmsDataAuth.getDataObj(), "dataObj", result); + DdlPreparedPack.getStringEqualPack(wmsDataAuth.getDataObj(), "dataObj", result); } if (!Strings.isNullOrEmpty(wmsDataAuth.getDataObjValue())) { - HqlPack.getStringRightLikerPack(wmsDataAuth.getDataObjValue(), "dataObjValue", result); + DdlPreparedPack.getStringRightLikerPack(wmsDataAuth.getDataObjValue(), "dataObjValue", result); } getStringBuilderPack(wmsDataAuth, result); - return result.toString(); + return result; } /** @@ -1557,11 +1558,11 @@ public class WmsHqlPack { * @param taskDetails * @return */ - public static String packHqlWmsTaskDetails(WmsTaskDetails taskDetails) { - StringBuffer result = new StringBuffer(); - HqlPack.getStringEqualPack(taskDetails.getOrderNo(), "orderNo", result); + public static DdlPackBean packHqlWmsTaskDetails(WmsTaskDetails taskDetails) { + DdlPackBean result = new DdlPackBean(); + DdlPreparedPack.getStringEqualPack(taskDetails.getOrderNo(), "orderNo", result); getStringBuilderPack(taskDetails, result); - return result.toString(); + return result; } /** @@ -1605,11 +1606,16 @@ public class WmsHqlPack { * @param wmsConfig * @return */ - public static String packHqlWmsConfig(WmsConfig wmsConfig) { - StringBuffer result = new StringBuffer(); - HqlPack.getStringEqualPack(wmsConfig.getConfigCode(), "configCode", result); + public static DdlPackBean packHqlWmsConfig(WmsConfig wmsConfig) { + DdlPackBean result = new DdlPackBean(); + + DdlPreparedPack.getStringEqualPack(wmsConfig.getConfigCode(), "configCode", result); + DdlPreparedPack.getNumEqualPack(wmsConfig.getConfigType(), "configType", result); + DdlPreparedPack.getStringEqualPack(wmsConfig.getConfigValue(), "configValue", result); + DdlPreparedPack.getNumEqualPack(wmsConfig.getConfigValueType(), "configValueType", result); + getStringBuilderPack(wmsConfig, result); - return result.toString(); + return result; } /** @@ -1663,6 +1669,24 @@ public class WmsHqlPack { } /** + * 查询规则持久化 查询条件封装 + * + * @return + */ + public static DdlPackBean packEngineRulePersistence(EngineRulePersistence rulePersistence) { + DdlPackBean packBean = new DdlPackBean(); + DdlPreparedPack.getStringEqualPack(rulePersistence.getRuleNo(), "ruleNo", packBean); + DdlPreparedPack.getStringRightLikerPack(rulePersistence.getRuleName(), "ruleName", packBean); + DdlPreparedPack.getNumEqualPack(rulePersistence.getRuleContent(), "ruleContent", packBean); + + getStringBuilderPack(rulePersistence, packBean); + + DdlPreparedPack.getOrderByPack(new Object[]{2}, new String[]{"createDatetime"}, packBean); + return packBean; + } + + + /** * 盘点主表 分页查询(散件) * * @param wmsCSOrderMaster