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-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPlanOrder.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPlanOrder.java index c62ae4a..193c0fb 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPlanOrder.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPlanOrder.java @@ -142,7 +142,7 @@ public class MesPlanOrder extends BaseBean { return this.status == null ? 0 : this.status; } - public int getOrderTypeVal() { + public int getPlanTypeVal() { return this.planType == null ? 0 : this.planType; } } 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 1751295..23436d1 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 @@ -3,6 +3,7 @@ package cn.estsh.i3plus.pojo.mes.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.enumutil.MesEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesPart; import cn.estsh.i3plus.pojo.mes.bean.MesPlanOrder; @@ -49,13 +50,13 @@ public class MesHqlPack { if (StringUtils.isNotEmpty(mesPlanOrder.getPartNo())) { DdlPreparedPack.getStringEqualPack(mesPlanOrder.getPartNo(), "partNo", packBean); } - if (StringUtils.isNotEmpty(mesPlanOrder.getPlanType() + "")) { + if (StringUtils.isNotEmpty(mesPlanOrder.getPlanType() + "") && mesPlanOrder.getPlanTypeVal() != 0) { DdlPreparedPack.getNumEqualPack(mesPlanOrder.getPlanType(), "planType", packBean); } - if (StringUtils.isNotEmpty(mesPlanOrder.getStatusVal() + "")) { - DdlPreparedPack.getNumEqualPack(mesPlanOrder.getStatusVal(), "status", packBean); + if (StringUtils.isNotEmpty(mesPlanOrder.getStatus() + "") && mesPlanOrder.getStatusVal() != 0) { + DdlPreparedPack.getNumEqualPack(mesPlanOrder.getStatus(), "status", packBean); } - if (StringUtils.isNotEmpty(mesPlanOrder.getStatusVal() + "")) { + if (StringUtils.isNotEmpty(mesPlanOrder.getCreateUser())) { DdlPreparedPack.getStringEqualPack(mesPlanOrder.getCreateUser(), "createUser", packBean); } @@ -71,11 +72,11 @@ public class MesHqlPack { DdlPreparedPack.timeBuilder( mesPlanOrder.getCreateDateTimeStart(), mesPlanOrder.getCreateDateTimeEnd(), - "createDateTime", packBean, true); + "createDatetime", packBean, true); // 排序 - DdlPreparedPack.getOrderDefault(mesPlanOrder); - DdlPreparedPack.getOrderByPack(new Object[]{"2"},new String[]{mesPlanOrder.getOrderByParam()} , packBean); + DdlPreparedPack.getOrderDefault(mesPlanOrder); + DdlPreparedPack.getOrderByPack(new Object[]{"2"},new String[]{mesPlanOrder.getOrderByParam()} , packBean); return packBean; } @@ -124,7 +125,7 @@ public class MesHqlPack { if (StringUtils.isNotEmpty(mesWorkOrder.getPartNo())) { DdlPreparedPack.getStringLikerPack(mesWorkOrder.getPartNo(), "partNo", packBean); } - if (StringUtils.isNotEmpty(mesWorkOrder.getWorkOrderStatus() + "")) { + if (StringUtils.isNotEmpty(mesWorkOrder.getWorkOrderStatus() + "") && mesWorkOrder.getWorkOrderStatusVal() != 0) { DdlPreparedPack.getNumEqualPack(mesWorkOrder.getWorkOrderStatus(), "workOrderStatus", packBean); } if (StringUtils.isNotEmpty(mesWorkOrder.getWorkCenterCode())) { @@ -133,7 +134,7 @@ public class MesHqlPack { if (StringUtils.isNotEmpty(mesWorkOrder.getWorkCellCode())) { DdlPreparedPack.getStringEqualPack(mesWorkOrder.getWorkCellCode(), "workCellCode", packBean); } - if (StringUtils.isNotEmpty(mesWorkOrder.getWorkOrderType() + "")) { + if (StringUtils.isNotEmpty(mesWorkOrder.getWorkOrderType() + "") && mesWorkOrder.getWorkOrderTypeVal() != 0) { DdlPreparedPack.getNumEqualPack(mesWorkOrder.getWorkOrderType(), "workOrderType", packBean); } if (StringUtils.isNotEmpty(mesWorkOrder.getProdCfgCode())) { @@ -171,6 +172,7 @@ public class MesHqlPack { if (StringUtils.isNotEmpty(mesQueueOrder.getCustFlagNoEnd() + "")) { DdlPreparedPack.getStringSmallerPack(mesQueueOrder.getCustFlagNoEnd(), "custFlagNo", packBean); } + DdlPreparedPack.getNumEqualPack(MesEnumUtil.QUEUE_ORDER_STATUS.NORMAL.getValue(), "status", packBean); // 时间段查询 DdlPreparedPack.timeBuilder( mesQueueOrder.getCreateDateTimeStart(), 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/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/sqlpack/WmsHqlPack.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java index 615e686..13bf512 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); @@ -953,6 +954,7 @@ public class WmsHqlPack { DdlPackBean result =new DdlPackBean(); DdlPreparedPack.getStringEqualPack(wmsMoveMaster.getOrderNo(), "orderNo", result); + DdlPreparedPack.getStringEqualPack(wmsMoveMaster.getTransTypeCode(),"transTypeCode",result); DdlPreparedPack.getNumNOEqualPack(wmsMoveMaster.getId(), "id", result); DdlPreparedPack.getNumEqualPack(wmsMoveMaster.getOrderStatus(), "orderStatus", result); @@ -1536,19 +1538,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 +1559,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 +1607,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 +1670,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