diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java index 2e1287d..fbf2d06 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java @@ -1906,8 +1906,9 @@ public class MesEnumUtil { MES_PART_BOM_IMPORT(430, "partBomExcelService", "散件BOM导入"), MES_PLAN_ORDER_BATCH_COMPILE(440, "planOrderBatchCompileExcelService", "生产计划批量编制,支持编辑"), MES_WORK_ORDER_PAINT(450, "workOrderPaintExcelService", "生产工单-涂装"), - NEW_SCATTER_BOM(460, "ScatterBomCfgExcelService", "新散件BOM导入"), - ENCODE_RULE_MAP(470, "MesEncodeRuleMapExcelService", "编码规则映射导入"); + NEW_SCATTER_BOM(460, "scatterBomCfgExcelService", "新散件BOM导入"), + ENCODE_RULE_MAP(470, "mesEncodeRuleMapExcelService", "编码规则映射导入"), + SCATTER_PART_PROD_CFG(480, "scatterPartProdCfgExcelService", "散件零件生产配置"); private int value; private String service; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesExtendObjectCfg.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesExtendObjectCfg.java new file mode 100644 index 0000000..cc8aac2 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesExtendObjectCfg.java @@ -0,0 +1,64 @@ +package cn.estsh.i3plus.pojo.mes.bean; + +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; +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.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @Description: + * @Reference: + * @Author: wangjie + * @CreateDate: 2019\11\5 10:47 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_EXTEND_OBJECT_CFG") +@Api("扩展对象结构") +public class MesExtendObjectCfg extends BaseBean implements Serializable { + + private static final long serialVersionUID = -6773040095905972250L; + + @Column(name = "OBJECT_CODE") + @ApiParam("对象代码") + private String objectCode; + + @Column(name = "FIELD_CODE") + @ApiParam("扩展字段代码") + private String fieldCode; + + @Column(name = "FIELD_NAME") + @ApiParam("扩展字段名称") + private String fieldName; + + @Column(name = "FIELD_TYPE") + @ApiParam("扩展字段类型") + @AnnoOutputColumn(refClass = MesEnumUtil.DATA_FORMAT.class, refForeignKey = "value", value = "description") + private Integer fieldType; + + @Column(name = "FIELD_LENGTH") + @ApiParam("扩展字段类型") + private String fieldLength; + + @Column(name = "DEFAULT_VALUE") + @ApiParam("默认值") + private String defaultValue; + + @Column(name = "FIELD_DESC") + @ApiParam("扩展字段描述") + private String fieldDesc; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java index d09d54d..e46dec6 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java @@ -12,6 +12,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.*; import java.io.Serializable; import java.util.List; +import java.util.Map; /** * @Description: @@ -153,6 +154,11 @@ public class MesWorkOrder extends BaseBean implements Serializable { @ApiParam("首检生成数量") private Double fiGenerateQty; + @Lob + @Column(name = "EXTEND") + @ApiParam("扩展数据") + private String extend; + @Column(name = "RESERVED1") @ApiParam("预留字段1") private String reserved1; @@ -169,18 +175,6 @@ public class MesWorkOrder extends BaseBean implements Serializable { @ApiParam("预留字段4") private String reserved4; - @Column(name = "RESERVED5") - @ApiParam("预留字段5") - private String reserved5; - - @Column(name = "RESERVED6") - @ApiParam("预留字段6") - private String reserved6; - - @Column(name = "RESERVED7") - @ApiParam("预留字段7") - private String reserved7; - @Version @Column(name = "LOCK_VERSION") @ApiParam(value = "乐观锁", example = "1") @@ -272,6 +266,11 @@ public class MesWorkOrder extends BaseBean implements Serializable { @ApiParam(value = "完成按钮编号") public String comButtonCode; + @Transient + @ApiParam(value = "扩展数据MAP") + public Map extendMap; + + public double getQtyVal() { return this.qty == null ? 0.0d : this.qty; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ExcelDataParamModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ExcelDataParamModel.java deleted file mode 100644 index f9eeea2..0000000 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ExcelDataParamModel.java +++ /dev/null @@ -1,181 +0,0 @@ -//package cn.estsh.i3plus.pojo.mes.model; -// -//import io.swagger.annotations.Api; -//import io.swagger.annotations.ApiParam; -//import lombok.AllArgsConstructor; -//import lombok.Data; -//import lombok.NoArgsConstructor; -//import org.apache.poi.ss.usermodel.CellStyle; -//import org.springframework.util.StringUtils; -// -//import java.io.Serializable; -//import java.math.BigDecimal; -// -///** -// * @Author: wangjie -// * @CreateDate: 2019/8/21 9:19 AM -// * @Description: -// **/ -//@Data -//@NoArgsConstructor -//@AllArgsConstructor -//@Api("EXCEL参数model") -//public class ExcelDataParamModel implements Serializable { -// -// public ExcelDataParamModel(Class clazz){ -// this.clazz = clazz; -// } -// -// @ApiParam("获取相对应的类,用来映射数据,如果不设置此值,那么整个数据将会用String[]作为数据,不再通过映射拿取数据") -// private Class clazz; -// -// @ApiParam("对应类的映射字段名,String类型") -// private String[] strField; -// -// @ApiParam("对应类的标题,需要一一对应") -// private String[] titleStr; -// -// @ApiParam("大标题") -// private String title; -// -// @ApiParam("文件名,如果传入的ExcelDataParamModel是一个List的时候,以sheetNo = 1为文件名,如果sheetNo为空,则默认随机") -// private String fileName; -// -// @ApiParam("后缀") -// private String sufix; -// -// @ApiParam("大标题样式") -// private CellStyle bigTitleCellStyle; -// -// @ApiParam("标题样式") -// private CellStyle titleCellStyle; -// -// @ApiParam("数据样式") -// private CellStyle cellStyle; -// -// @ApiParam("sheet名") -// private String sheetName; -// -// @ApiParam("每个格子的宽度") -// private BigDecimal[] cellWidth; -// -// @ApiParam("如果传入的ExcelDataParamModel是List的时候,默认以sheetNo排序") -// private Integer sheetNo; -// -// @ApiParam("导出数据转换器") -// private QueryDataInterface queryDataInterface; -// -// public Class getClazz() { -// return clazz; -// } -// -// public String[] getStrField() { -// return strField; -// } -// -// public String[] getTitleStr() { -// return titleStr; -// } -// -// public String getTitle() { -// if(StringUtils.isEmpty(this.title)){ -// return "无效的标题"; -// }else{ -// return title; -// } -// } -// -// public String getFileName() { -// if(StringUtils.isEmpty(this.fileName)){ -// return "未命名"; -// }else{ -// return this.fileName; -// } -// } -// -// public CellStyle getBigTitleCellStyle() { -// return bigTitleCellStyle; -// } -// -// public CellStyle getTitleCellStyle() { -// return titleCellStyle; -// } -// -// public CellStyle getCellStyle() { -// return cellStyle; -// } -// -// public String getSheetName() { -// return sheetName; -// } -// -// public Integer getSheetNo() { -// return sheetNo; -// } -// -// public BigDecimal[] getCellWidth() { -// return cellWidth; -// } -// -// public String getSufix() { -// return sufix; -// } -// -// public QueryDataInterface getQueryDataInterface() { -// return queryDataInterface; -// } -// -// public void setClazz(Class clazz) { -// this.clazz = clazz; -// } -// -// public void setStrField(String[] strField) { -// this.strField = strField; -// } -// -// public void setTitleStr(String[] titleStr) { -// this.titleStr = titleStr; -// } -// -// public void setTitle(String title) { -// this.title = title; -// } -// -// public void setFileName(String fileName) { -// this.fileName = fileName; -// } -// -// public void setSufix(String sufix) { -// this.sufix = sufix; -// } -// -// public void setBigTitleCellStyle(CellStyle bigTitleCellStyle) { -// this.bigTitleCellStyle = bigTitleCellStyle; -// } -// -// public void setTitleCellStyle(CellStyle titleCellStyle) { -// this.titleCellStyle = titleCellStyle; -// } -// -// public void setCellStyle(CellStyle cellStyle) { -// this.cellStyle = cellStyle; -// } -// -// public void setSheetName(String sheetName) { -// this.sheetName = sheetName; -// } -// -// public void setCellWidth(BigDecimal[] cellWidth) { -// this.cellWidth = cellWidth; -// } -// -// -// public void setSheetNo(Integer sheetNo) { -// this.sheetNo = sheetNo; -// } -// -// public void setQueryDataInterface(QueryDataInterface queryDataInterface) { -// this.queryDataInterface = queryDataInterface; -// } -// -//} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesExtendObjectCfgRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesExtendObjectCfgRepository.java new file mode 100644 index 0000000..2f6f967 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesExtendObjectCfgRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesExtendObjectCfg; + +/** + * @Description: + * @Reference: + * @Author: wangjie + * @CreateDate: 2019\11\18 10:34 + * @Modify: + **/ +public interface MesExtendObjectCfgRepository 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 4437049..da79ca8 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 @@ -3085,4 +3085,27 @@ public class MesHqlPack { } return packBean; } + + /** + * 扩展对象配置 + * @param extendObjectCfg + * @param organizeCode + * @return + */ + public static DdlPackBean getMesExtendObjectCfg(MesExtendObjectCfg extendObjectCfg, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(extendObjectCfg, organizeCode); + if (!StringUtils.isEmpty(extendObjectCfg.getObjectCode())) { + DdlPreparedPack.getStringLikerPack(extendObjectCfg.getObjectCode(), "objectCode", packBean); + } + if (!StringUtils.isEmpty(extendObjectCfg.getFieldCode())) { + DdlPreparedPack.getStringLikerPack(extendObjectCfg.getFieldCode(), "fieldCode", packBean); + } + if (!StringUtils.isEmpty(extendObjectCfg.getFieldName())) { + DdlPreparedPack.getStringLikerPack(extendObjectCfg.getFieldName(), "fieldName", packBean); + } + if (!StringUtils.isEmpty(extendObjectCfg.getFieldType())) { + DdlPreparedPack.getNumEqualPack(extendObjectCfg.getFieldType(), "fieldType", packBean); + } + return packBean; + } } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyMaster.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyMaster.java new file mode 100644 index 0000000..ca598b0 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoStrategyMaster.java @@ -0,0 +1,88 @@ +package cn.estsh.i3plus.pojo.wms.bean; + +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import cn.estsh.i3plus.pojo.base.annotation.DynamicField; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil; +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.Column; +import javax.persistence.Entity; +import javax.persistence.Index; +import javax.persistence.Table; + + +/** + * @Description : 自动化策略主表 + * @Reference : + * @Author : puxiao.liao + * @CreateDate : 2020-06-20 15:58 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "WMS_AUTO_STRATEGY_MASTER", indexes = { + @Index(columnList = "STRATEGY_NO"), + @Index(columnList = "ROUTING_CODE") +}) +@Api("自动化策略主表") +public class WmsAutoStrategyMaster extends BaseBean { + private static final long serialVersionUID = -1818481118386594571L; + + @Column(name = "STRATEGY_NO") + @ApiParam(value = "策略编码") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String strategyNo; + + @Column(name = "STRATEGY_NAME") + @ApiParam(value = "策略名称") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String strategyName; + + @Column(name = "STRATEGY_SPEC") + @ApiParam(value = "策略描述") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String strategySpec; + + @Column(name = "STRATEGY_TYPE") + @ApiParam(value = "策略类型") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.SELECT, isRequire = 2, dataSrc = "OUT_MOVEMENT_MOVE_TYPE") + @AnnoOutputColumn(refClass = WmsEnumUtil.OUT_MOVEMENT_MOVE_TYPE.class, refForeignKey = "value", value = "description", hidden = true) + private Integer strategyType; + + @Column(name = "ROUTING_CODE") + @ApiParam(value = "物料路线代码") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String routingCode; + + @Column(name = "ROUTING_NAME") + @ApiParam(value = "物流路线名称") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String routingName; + + @Column(name = "STRATEGY_QTY_CONTROL") + @ApiParam(value = "数量控制") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.SELECT, isRequire = 2, dataSrc = "SHIPP_QTY_CONTROL") + @AnnoOutputColumn(refClass = WmsEnumUtil.SHIPP_QTY_CONTROL.class, refForeignKey = "value", value = "description", hidden = true) + private Integer strategyQtyControl; + + @Column(name = "START_EFFECT_DATE") + @ApiParam(value = "开始生效时间") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String startEffectDate; + + @Column(name = "END_EFFECT_DATE") + @ApiParam(value = "结束生效时间") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + public String endEffectDate; + +}