diff --git a/.gitignore b/.gitignore index b86a41d..6614dc3 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ target .md *.log *.properties -.DS_Store \ No newline at end of file +.DS_Store +pom.xml \ No newline at end of file diff --git a/modules/i3plus-pojo-andon/pom.xml b/modules/i3plus-pojo-andon/pom.xml index 004fb69..bc7071b 100644 --- a/modules/i3plus-pojo-andon/pom.xml +++ b/modules/i3plus-pojo-andon/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-aps/pom.xml b/modules/i3plus-pojo-aps/pom.xml index 650ee5b..f902a7c 100644 --- a/modules/i3plus-pojo-aps/pom.xml +++ b/modules/i3plus-pojo-aps/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/CalendarTimeAnntation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/CalendarTimeAnntation.java new file mode 100644 index 0000000..8d09aa2 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/CalendarTimeAnntation.java @@ -0,0 +1,26 @@ +package cn.estsh.i3plus.pojo.aps.annotation; + +import cn.estsh.i3plus.pojo.aps.validator.CalendarTimeValidator; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @Description : 日历时间校验注解 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-04-23 + * @Modify: + **/ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Constraint(validatedBy={CalendarTimeValidator.class}) +public @interface CalendarTimeAnntation { + String message() default "日历时间格式错误,示例(多个以逗号分隔):2020-01-01~2020-02-01"; + Class[] groups() default {}; + Class[] payload() default {}; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/ExcludeImportExport.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/ExcludeImportExport.java index 7e24878..6b1e36b 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/ExcludeImportExport.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/ExcludeImportExport.java @@ -15,4 +15,6 @@ import java.lang.annotation.Target; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface ExcludeImportExport { + boolean excludeImport() default true; + boolean excludeExport() default true; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/ShiftTimeAnnotation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/ShiftTimeAnnotation.java new file mode 100644 index 0000000..bacebdd --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/ShiftTimeAnnotation.java @@ -0,0 +1,26 @@ +package cn.estsh.i3plus.pojo.aps.annotation; + +import cn.estsh.i3plus.pojo.aps.validator.ShiftTimeValidator; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @Description : 班次时间校验注解 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-11-29 + * @Modify: + **/ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Constraint(validatedBy={ShiftTimeValidator.class}) +public @interface ShiftTimeAnnotation { + String message() default "班次时间格式错误,示例(多个以逗号分隔):01:00-08:20"; + Class[] groups() default {}; + Class[] payload() default {}; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java index e87a86a..3a8b8ff 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java @@ -8,6 +8,7 @@ import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; +import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; @@ -56,10 +57,10 @@ public class BaseOrder extends BaseAPS { @Min(0) private Double count; - @Column(name="PRIORITY") + @Column(name="PRIORITY_ID") @ApiParam(value ="优先级") - @FieldAnnotation(defaultValue = "10") - private Integer priority; + @FieldAnnotation(relation = "Priority") + private Long priorityId; @Column(name="LET") @ApiParam(value ="最晚结束时刻") @@ -93,6 +94,21 @@ public class BaseOrder extends BaseAPS { @ApiParam(value ="专料号") private String specifyMaterialNum; + @Column(name="VALID_ORDER") + @ApiParam(value ="有效订单") + @FieldAnnotation(modify = false) + private Boolean validOrder = true; + + @Column(name="INVALID_REASON") + @ApiParam(value ="无效原因") + @FieldAnnotation(modify = false) + private String invalidReason; + + @Column(name="DELAY_TIME") + @ApiParam(value ="延期时间") + @FieldAnnotation(modify = false) + private Integer delayTime; + @JsonBackReference public List getWorks() { return BeanRelation.list(this, EBaseOrder.Works); @@ -116,4 +132,11 @@ public class BaseOrder extends BaseAPS { public List getPostRelations() { return BeanRelation.list(this, EBaseOrder.PostRelations); } + + public PriorityType getPriority() { return BeanRelation.get(this, EBaseOrder.Priority); } + + public void setPriority(PriorityType priority) { + this.priorityId = priority != null ? priority.getId() : 0; + BeanRelation.set(this, EBaseOrder.Priority, priority); + } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java index c6dc31a..83c965a 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java @@ -2,7 +2,9 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.aps.annotation.MainKey; +import cn.estsh.i3plus.pojo.aps.annotation.ShiftTimeAnnotation; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.validator.ImportGroup; import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import io.swagger.annotations.Api; @@ -42,5 +44,6 @@ public class DayShift extends BaseAPS { @Column(name="WORK_TIMES") @ApiParam(value ="工作时间") @FieldAnnotation(notEmpty = true) + @ShiftTimeAnnotation(groups = {InsertGroup.class, UpdateGroup.class, ImportGroup.class}) private String workTimes; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldSetRule.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldSetRule.java index 9a6c5e3..ee8ddc3 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldSetRule.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldSetRule.java @@ -27,7 +27,7 @@ public class FieldSetRule extends BaseRule { private static final long serialVersionUID = 6880145972942618559L; @Column(name="BEAN") @ApiParam(value ="实体名") - private ApsEnumUtil.FIELD_SET_BEAN bean; + private String bean; @Column(name="FILTER") @ApiParam(value ="筛选") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FlushPlanRule.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FlushPlanRule.java index 07513fd..64165e5 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FlushPlanRule.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FlushPlanRule.java @@ -20,4 +20,5 @@ import javax.persistence.Table; @Table(name = "APS_FLUSH_PLAN_RULE") @Api("刷新计划规则") public class FlushPlanRule extends BaseRule { + private static final long serialVersionUID = 4973034215598612466L; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnacePlan.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnacePlan.java index ed046aa..7aa3c0a 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnacePlan.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FurnacePlan.java @@ -37,6 +37,14 @@ public class FurnacePlan extends BaseAPS { @ApiParam(value ="已占用的能力") private Double capacity; + @Column(name="CAPACITY_LIMIT", columnDefinition = "decimal(18,8)") + @ApiParam(value ="容量限制") + private Double capacityLimit; + + @Column(name="MIN_PRODUCT_BATCH") + @ApiParam(value ="最小加工批量") + private Integer minProductBatch; + @JsonBackReference public List getWorkPlans() { return BeanRelation.list(this, EFurnacePlan.WorkPlans); } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/HeuristicOptimize.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/HeuristicOptimize.java new file mode 100644 index 0000000..a8db480 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/HeuristicOptimize.java @@ -0,0 +1,46 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Lob; +import javax.persistence.Table; + +/** + * @Description : 排程优化规则 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-03-24 + * @Modify: + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@Entity +@Table(name = "APS_HEURISTIC_OPTIMIZE") +@Api("排程优化规则") +public class HeuristicOptimize extends BaseRule { + private static final long serialVersionUID = -464821596740369199L; + + @Column(name="WORK_FILTER") + @ApiParam(value ="工作筛选") + private String workFilter; + + @Column(name="RES_FILTER") + @ApiParam(value ="资源筛选") + private String resFilter; + + @Lob + @Column(name="RES_SELECT") + @ApiParam(value ="资源选择") + private String resSelect; + + @Column(name="OPTIMIZE_INTERVAL") + @ApiParam(value ="优化间隔") + private String optimizeInterval; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/HeuristicRule.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/HeuristicRule.java index 19b52df..6a96b97 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/HeuristicRule.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/HeuristicRule.java @@ -30,6 +30,10 @@ public class HeuristicRule extends BaseRule { @ApiParam(value ="工作筛选") private String workFilter; + @Column(name="RES_FILTER") + @ApiParam(value ="资源筛选") + private String resFilter; + @Lob @Column(name="WORK_SORT") @ApiParam(value ="工作排序") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportDetail.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportDetail.java index ecb13e1..e8f1d60 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportDetail.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportDetail.java @@ -1,10 +1,15 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.annotation.MainKey; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EImportDetail; +import cn.estsh.i3plus.pojo.aps.model.ImportDataModel; +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; +import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -12,7 +17,9 @@ import lombok.EqualsAndHashCode; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.Lob; import javax.persistence.Table; +import java.util.List; /** * @Description :数据导入明细 @@ -26,20 +33,63 @@ import javax.persistence.Table; @Entity @Table(name = "APS_IMPORT_DETAIL") @Api("数据导入明细") +@MainKey(groups = {InsertGroup.class, UpdateGroup.class}) public class ImportDetail extends BaseAPS { private static final long serialVersionUID = 1264030397500660450L; + + @Column(name="NAME") + @ApiParam(value ="名称") + @FieldAnnotation(notEmpty = true, mainkey = true) + private String name; + + @Column(name="GROUP_NAME") + @ApiParam(value ="分组名称") + @FieldAnnotation(notEmpty = true) + private String groupName; + + @Column(name="SUB_GROUP_NAME") + @ApiParam(value ="子分组名称") + @FieldAnnotation(notEmpty = true) + private String subGroupName; + + @Column(name="LINK_TYPE") + @ApiParam(value ="链接类型") + @FieldAnnotation(defaultValue = "EXCEL", notEmpty = true) + private ApsEnumUtil.DATA_LINK_TYPE linkType; + + @Column(name="PATH") + @ApiParam(value ="IP/文件路径") + private String path; + @Column(name="OUT_NAME") @ApiParam(value ="外部表名") private String outName; @Column(name="IN_NAME") @ApiParam(value ="内部表名") + @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.QUERY_LIST, notEmpty = true) private String inName; + @Column(name="PORT") + @ApiParam(value ="端口") + private Integer port; + + @Column(name="DB_NAME") + @ApiParam(value ="数据库名") + private String dbName; + + @Column(name="USER_NAME") + @ApiParam(value ="用户名") + private String userName; + + @Column(name="PASSWORD") + @ApiParam(value ="密码") + private String password; + @Column(name="IMPORT_TYPE") @ApiParam(value ="导入类型") - @FieldAnnotation(defaultValue = "REPLACE") + @FieldAnnotation(defaultValue = "DIFF") private ApsEnumUtil.IMPORT_DETAIL_TYPE importType; @Column(name="SKIP_ROWS") @@ -53,10 +103,23 @@ public class ImportDetail extends BaseAPS { private Integer orderNumber; @Column(name="PROJECT_ID") - @ApiParam(value ="导入项目ID") - @FieldAnnotation(relation = "Project") + @ApiParam(value ="导入项目") + @FieldAnnotation(relation = "Project", property = false) private Long projectId; + @Lob + @Column(name="INNER_FILTER") + @ApiParam(value ="内部对象筛选") + private String innerFilter; + + @Lob + @Column(name="OUTTER_FILTER") + @ApiParam(value ="外部对象筛选") + private String outterFilter; + + @FieldAnnotation(property = false) + private transient ImportDataModel model; + public ImportProject getProject() { return BeanRelation.get(this, EImportDetail.Project); } @@ -65,4 +128,9 @@ public class ImportDetail extends BaseAPS { this.projectId = project != null ? project.getId() : 0l; BeanRelation.set(this, EImportDetail.Project, project); } + + @JsonBackReference + public List getFields() { + return BeanRelation.list(this, EImportDetail.Fields); + } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportField.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportField.java new file mode 100644 index 0000000..cb0d6e4 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportField.java @@ -0,0 +1,86 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EImportDetail; +import cn.estsh.i3plus.pojo.aps.holders.EImportField; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.persistence.Transient; + +/** + * @Description :数据导入明细 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-09-23 + * @Modify: + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@Entity +@Table(name = "APS_IMPORT_FIELD") +@Api("数据导入字段配置") +public class ImportField extends BaseAPS { + + private static final long serialVersionUID = 8848879008582197564L; + @Column(name="FIELD_NAME") + @ApiParam("字段名") + private String fieldName; + + @Column(name="LABEL_NAME") + @ApiParam("标签名称") + private String labelName; + + @Column(name="DEFAULT_VALUE") + @ApiParam("默认值") + private String defaultValue; + + /** + * 1-是,2-否 + */ + @Column(name="IS_REQUIRE") + @ApiParam(value = "是否必填", example = "0") + private Integer isRequire; + + @Column(name="MAX_LENGTH") + @ApiParam(value = "最大长度", example = "0") + @FieldAnnotation(defaultValue = "255") + private Integer maxLength; + + @Column(name="VALIDATOR") + @ApiParam("校验表达式") + private String validator; + + @Column(name="VALIDATOR_MESSAGE") + @ApiParam("校验表达式报错") + private String validatorMessage; + + @Column(name="RELATION_TABLE") + @ApiParam("关联表名") + private String relationTable; + + @Column(name="RELATION_FIELD") + @ApiParam("关联字段") + private String relationField; + + @Column(name="IMPORT_DETAIL_ID") + @ApiParam(value ="导入明细ID") + @FieldAnnotation(relation = "ImportDetail", notEmpty = true) + private Long importDetailId; + + public ImportDetail getImportDetail() { + return BeanRelation.get(this, EImportField.ImportDetail); + } + + public void setImportDetail(ImportDetail detail) { + this.importDetailId = detail != null ? detail.getId() : 0l; + BeanRelation.set(this, EImportField.ImportDetail, detail); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/InsertedOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/InsertedOrder.java new file mode 100644 index 0000000..2b43199 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/InsertedOrder.java @@ -0,0 +1,68 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; +import cn.estsh.i3plus.pojo.aps.holders.EInsertedOrder; +import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :插单管理 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-03-02 + * @Modify: + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@Entity +@Table(name = "APS_INSERTED_ORDER") +@Api("插单管理") +public class InsertedOrder extends BaseOrder { + private static final long serialVersionUID = -5036380772996107234L; + + @Column(name="ORDER_STATUS") + @ApiParam(value ="订单状态") + @FieldAnnotation(defaultValue = "UNCOMMIT") + private ApsEnumUtil.INSERTED_ORDER_STATUS orderStatus = ApsEnumUtil.INSERTED_ORDER_STATUS.UNCOMMIT; + + @Column(name="STAND_OPERATIONS") + @ApiParam("工序") + private String standOperations; + + @Column(name="PRODUCT_ROUTING_ID") + @ApiParam(value ="工艺路线") + @FieldAnnotation(property = false) + private Long productRoutingId; + + @Column(name="FINISH_COUNT") + @ApiParam(value ="完工数") + private Double finishCount; + + @Column(name="REMARK") + @ApiParam(value ="备注") + private String remark; + + public ProductRouting getProductRouting() { + return BeanRelation.get(this, EInsertedOrder.ProductRouting); + } + + public void setProductRouting(ProductRouting routing) { + this.productRoutingId = routing != null ? routing.getId() : 0l; + BeanRelation.set(this, EInsertedOrder.ProductRouting, routing); + } + + @JsonIgnore + public Work getWork() { + return BeanRelation.get(this, EBaseOrder.Works); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/InterMediateDetail.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/InterMediateDetail.java new file mode 100644 index 0000000..2f8136f --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/InterMediateDetail.java @@ -0,0 +1,50 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EInterMediateDetail; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :计算中间结果明细 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-04-27 + * @Modify: + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@Entity +@Table(name = "APS_INTER_MEDIATE_DETAIL") +@Api("计算中间结果") +public class InterMediateDetail extends BaseAPS { + private static final long serialVersionUID = -2588016171684238811L; + + @Column(name="RESULT_ID") + @ApiParam(value ="中间结果") + @FieldAnnotation(relation = "InterMediateResult") + private Long resultId; + + @Column(name="RULE") + @ApiParam(value ="评估规则") + private String rule; + + @Column(name="EVALUATE_VALUE") + @ApiParam(value ="评估值") + private Double evaluateValue; + + public InterMediateResult getResult() { return BeanRelation.get(this, EInterMediateDetail.Result); } + + public void setResult(InterMediateResult result) { + this.resultId = result != null ? result.getId() : 0; + BeanRelation.set(this, EInterMediateDetail.Result, result); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/InterMediateResult.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/InterMediateResult.java new file mode 100644 index 0000000..8368fd4 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/InterMediateResult.java @@ -0,0 +1,67 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EInterMediateResult; +import cn.estsh.i3plus.pojo.aps.holders.EWorkInput; +import cn.estsh.i3plus.pojo.aps.holders.EWorkPlan; +import com.fasterxml.jackson.annotation.JsonBackReference; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.util.List; + +/** + * @Description :计算中间结果 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-04-25 + * @Modify: + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@Entity +@Table(name = "APS_INTER_MEDIATE_RESULT") +@Api("计算中间结果") +public class InterMediateResult extends BaseAPS { + private static final long serialVersionUID = -1869359887027950540L; + + @Column(name="WORK_ID") + @ApiParam(value ="工作") + @FieldAnnotation(relation = "Work") + private Long workId; + + @Column(name="RESOURCE_ID") + @ApiParam(value ="资源") + @FieldAnnotation(relation = "Resource") + private Long resourceId; + + @Column(name="EVALUATE_VALUE") + @ApiParam(value ="评估值") + private Double evaluateValue; + + public Work getWork() { + return BeanRelation.get(this, EInterMediateResult.Work); + } + + public void setWork(Work work) { + this.workId = work != null ? work.getId() : 0l; + BeanRelation.set(this, EInterMediateResult.Work, work); + } + + public Resource getResource() { return BeanRelation.get(this, EInterMediateResult.Resource); } + + public void setResource(Resource resource) { + this.resourceId = resource != null ? resource.getId() : 0l; + BeanRelation.set(this, EInterMediateResult.Resource, resource); + } + + @JsonBackReference + public List getDetails() { return BeanRelation.get(this, EInterMediateResult.Details); } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Inventory.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Inventory.java index 8fab6d1..2c0ea75 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Inventory.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Inventory.java @@ -3,6 +3,9 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; +import cn.estsh.i3plus.pojo.aps.holders.EInventory; +import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; +import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; @@ -12,6 +15,8 @@ import lombok.EqualsAndHashCode; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import java.util.Date; +import java.util.List; /** * @Description :库存 @@ -27,6 +32,7 @@ import javax.persistence.Table; @Api("库存") public class Inventory extends BaseOrder { private static final long serialVersionUID = 2378846162007550439L; + @Column(name="SPECIFY_TOP_ORDER") @ApiParam(value ="指定顶层订单") private String specifyTopOrder; @@ -45,8 +51,27 @@ public class Inventory extends BaseOrder { @FieldAnnotation(modify = false) private Double excessCount; + @Column(name="SINGLE_SUPPLY_COUNT", columnDefinition = "decimal(18,8)") + @ApiParam(value ="单次补充数量") + private Double singleSupplyCount; + + @Column(name="SAFE_COUNT", columnDefinition = "decimal(18,8)") + @ApiParam(value ="安全库存数量") + private Double safeCount; + + @Column(name="SUPPLY_INTERVAL") + @ApiParam(value ="补充间隔(天)") + private Integer supplyInterval; + + @Column(name="LAST_SUPPLY") + @ApiParam(value ="最后补充时间") + private Date lastSupply; + @JsonIgnore public Work getWork() { return BeanRelation.get(this, EBaseOrder.Works); } + + @JsonBackReference + public List getSafeStockOrders() { return BeanRelation.list(this, EInventory.SafeStockOrders); } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MatCalcRule.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MatCalcRule.java index a8a491e..626de94 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MatCalcRule.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MatCalcRule.java @@ -29,6 +29,10 @@ public class MatCalcRule extends BaseRule { @ApiParam(value ="物料筛选") private String materialFilter; + @Column(name="ROUTING_FILTER") + @ApiParam(value ="工艺路线筛选") + private String routingFilter; + @Column(name="INPUT_FILTER") @ApiParam(value ="输入筛选") private String inputFilter; @@ -37,6 +41,14 @@ public class MatCalcRule extends BaseRule { @ApiParam(value ="输出筛选") private String outputFilter; + @Column(name="INPUT_MATCH") + @ApiParam(value ="输入匹配") + private String inputMatch; + + @Column(name="OUTPUT_MATCH") + @ApiParam(value ="输出匹配") + private String outputMatch; + @Column(name="DEL_AUTO") @ApiParam(value ="自动删除补充订单") @FieldAnnotation(defaultValue = "1") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java index dcdd0ba..e00c22a 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java @@ -7,6 +7,7 @@ import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; import cn.estsh.i3plus.pojo.aps.holders.EMaterial; +import cn.estsh.i3plus.pojo.aps.holders.EResource; import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; @@ -157,6 +158,11 @@ public class Material extends BaseAPS { @ApiParam(value ="标签颜色") private String labelColor; + @Column(name="WORK_SHOP_ID") + @ApiParam(value ="车间代码") + @FieldAnnotation(relation = "WorkShop") + private Long workShopId; + public Material getGroup() { return BeanRelation.get(this, EMaterial.Group); } @@ -223,4 +229,11 @@ public class Material extends BaseAPS { public List getProductOrders() { return BeanRelation.listByClass(this, ProductOrder.class, EMaterial.Orders); } + + public WorkShop getWorkShop() { return BeanRelation.get(this, EMaterial.WorkShop); } + + public void setWorkShop(WorkShop workShop) { + this.workShopId = workShop != null ? workShop.getId() : 0l; + BeanRelation.set(this, EMaterial.WorkShop, workShop); + } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MaterialDeliveryPromise.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MaterialDeliveryPromise.java index dcb7f0b..1e7ca3b 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MaterialDeliveryPromise.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MaterialDeliveryPromise.java @@ -26,8 +26,9 @@ import java.util.Date; @EqualsAndHashCode(callSuper = true) @Entity @Table(name = "APS_MATERIAL_DELIVERY_PROMISE") -@Api("物料") +@Api("物料交期承诺") public class MaterialDeliveryPromise extends BaseBean { + private static final long serialVersionUID = 831759543772896829L; @Column(name="QTY") @ApiParam(value ="到货数量") private Double count; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MaterialSetTime.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MaterialSetTime.java index 779b527..d77217c 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MaterialSetTime.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/MaterialSetTime.java @@ -28,17 +28,17 @@ public class MaterialSetTime extends BaseAPS { private static final long serialVersionUID = -7996431489447641539L; @Column(name="RES_CODE") @ApiParam(value ="资源编码") - @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.MULTI_OBJECT, typeName = "Resource", notEmpty = true) + @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.MULTI_OBJECT, typeName = "Resource", notEmpty = true, mainkey = true) private String resCode; @Column(name="PREV_MATERIAL") - @ApiParam(value ="前物料") - @FieldAnnotation(notEmpty = true) + @ApiParam(value ="前物料编码") + @FieldAnnotation(notEmpty = true, mainkey = true) private String prevMaterial; @Column(name="POST_MATERIAL") - @ApiParam(value ="后物料") - @FieldAnnotation(notEmpty = true) + @ApiParam(value ="后物料编码") + @FieldAnnotation(notEmpty = true, mainkey = true) private String postMaterial; @Column(name="TIME") @@ -46,8 +46,8 @@ public class MaterialSetTime extends BaseAPS { @FieldAnnotation(notEmpty = true) private String time; - @Column(name="PRIORITY") - @ApiParam(value ="优先级") - @FieldAnnotation(defaultValue = "10") - private int priority; +// @Column(name="PRIORITY") +// @ApiParam(value ="优先级") +// @FieldAnnotation(defaultValue = "10", mainkey = true) +// private Integer priority; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OrderFeedback.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OrderFeedback.java new file mode 100644 index 0000000..d5533c2 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OrderFeedback.java @@ -0,0 +1,79 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EOrderFeedback; +import cn.estsh.i3plus.pojo.aps.holders.EPlanFeedback; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :订单反馈 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2020-03-19 + * @Modify: + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@Entity +@Table(name = "APS_ORDER_FEEDBACK") +@Api("订单反馈") +public class OrderFeedback extends BaseAPS { + private static final long serialVersionUID = 7822380202121225936L; + + @Column(name="ORDER_ID") + @ApiParam(value ="顶层订单号") + @FieldAnnotation(relation = "Order", modify = false) + private Long orderId; + + @Column(name="DELIVER_RATE") + @ApiParam(value ="发货百分比") + private Double deliverRate; + + @Column(name="QUALIFIED_RATE") + @ApiParam(value ="成品合格百分比") + private Double qualifiedRate; + + @Column(name="INVENTORY_COUNT") + @ApiParam(value ="库存扣减数量") + private Double inventoryCount; + + @Column(name="LAST_OPERATION_COUNT") + @ApiParam(value ="硫化报工数量") + private Double lastOperationCount; + + @Column(name="UNQUALIFIED_COUNT") + @ApiParam(value ="不良数量") + private Double unqualifiedCount; + + @Column(name="QUALIFIED_COUNT") + @ApiParam(value ="成品合格数量") + private Double qualifiedCount; + + @Column(name="ADD_UNQUALIFIED_COUNT") + @ApiParam(value ="累加不良数量") + @FieldAnnotation(display = false) + private Double addUnqualifiedCount; + + @Column(name="ADD_QUALIFIED_COUNT") + @ApiParam(value ="累加合格数量") + @FieldAnnotation(display = false) + private Double addQualifiedCount; + + public BaseOrder getOrder() { + return BeanRelation.get(this, EOrderFeedback.Order); + } + + public void setOrder(BaseOrder order) { + this.orderId = order != null ? order.getId() : 0l; + BeanRelation.set(this, EOrderFeedback.Order, order); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ParentWork.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ParentWork.java index 6fbd9d1..e5ade8e 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ParentWork.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ParentWork.java @@ -37,6 +37,11 @@ public class ParentWork extends BaseAPS { @ApiParam(value ="数量") private Double count; + @Column(name="SERIAL_NUMBER") + @ApiParam(value ="拆分工作流水号") + @FieldAnnotation(property = false) + private Integer serialNumber = 0; + @Column(name="PRODUCT_ORDER_ID") @ApiParam(value ="订单") @FieldAnnotation(property = false) diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PlanFeedback.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PlanFeedback.java index 8855d00..5ed25cd 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PlanFeedback.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PlanFeedback.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EPlanFeedback; +import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -28,11 +29,24 @@ import javax.persistence.Table; public class PlanFeedback extends BaseAPS { private static final long serialVersionUID = 2520555825093741381L; + @Column(name="WORK_ID") @ApiParam(value ="工作") @FieldAnnotation(property = false) private Long workId; + @Column(name="STATUS") + @ApiParam(value ="状态") + private ApsEnumUtil.FEED_BACK_STATUS status; + + @Column(name="ACTUAL_COUNT") + @ApiParam(value ="实际完成数量") + private Double actualCount; + + @Column(name="REMARK") + @ApiParam(value ="备注") + private String remark; + public Work getWork() { return BeanRelation.get(this, EPlanFeedback.Work); } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PriorityType.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PriorityType.java new file mode 100644 index 0000000..f9e9ffa --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PriorityType.java @@ -0,0 +1,38 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :优先级 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-04-08 + * @Modify: + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@Entity +@Table(name = "APS_PRIORITY_TYPE") +@Api("优先级") +public class PriorityType extends BaseAPS { + private static final long serialVersionUID = 445577901076659576L; + + @Column(name="CODE") + @ApiParam(value ="标识") + @FieldAnnotation(mainkey = true, popSearch = true) + private String code; + + @Column(name="VALUE") + @ApiParam(value ="值") + @FieldAnnotation(notEmpty = true, popSearch = true) + private Integer value; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductOrder.java index 91e4421..14bb66a 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductOrder.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductOrder.java @@ -98,11 +98,20 @@ public class ProductOrder extends BaseOrder { @FieldAnnotation(defaultValue = "false", display = false) private Boolean autoSupply; + @Column(name="FINISH_COUNT") + @ApiParam(value ="完工数") + private Double finishCount; + @Column(name="PRODUCT_ROUTING_ID") @ApiParam(value ="工艺路线") @FieldAnnotation(property = false) private Long productRoutingId; + @Column(name="SRC_INSERTED_ORDER") + @ApiParam(value ="需求单为插单") + @FieldAnnotation(property = false) + private Long srcInsertedOrder; + public ProductRouting getProductRouting() { return BeanRelation.get(this, EProductOrder.ProductRouting); } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java index d37f81a..e6af6a5 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java @@ -1,9 +1,13 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.annotation.CalendarTimeAnntation; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EResCalendar; +import cn.estsh.i3plus.pojo.aps.validator.ImportGroup; +import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; +import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; @@ -13,6 +17,7 @@ import lombok.EqualsAndHashCode; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.Lob; import javax.persistence.Table; import java.util.List; @@ -30,6 +35,7 @@ import java.util.List; @Api("日历") public class ResCalendar extends BaseAPS { private static final long serialVersionUID = 8338930205816433211L; + @Lob @Column(name="RES_CODES") @ApiParam(value ="资源编码") @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.MULTI_OBJECT, typeName = "Resource", notEmpty = true) @@ -42,6 +48,7 @@ public class ResCalendar extends BaseAPS { @Column(name="DATES") @ApiParam(value ="时间") + @CalendarTimeAnntation(groups = {InsertGroup.class, UpdateGroup.class, ImportGroup.class}) private String dates; @Column(name="SHIFT_CODES") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java index 4493b0e..c54dc54 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java @@ -60,6 +60,11 @@ public class Resource extends BaseAPS { @FieldAnnotation(defaultValue = "1.0", notEmpty = true) private Double efficiency; + @Column(name="WORK_SHOP_ID") + @ApiParam(value ="车间代码") + @FieldAnnotation(relation = "WorkShop") + private Long workShopId; + @Column(name="PREV_BUFFER") @ApiParam(value ="前缓冲时间") @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.DURATION) @@ -122,6 +127,13 @@ public class Resource extends BaseAPS { @Transient private boolean hasConflict; + public WorkShop getWorkShop() { return BeanRelation.get(this, EResource.WorkShop); } + + public void setWorkShop(WorkShop workShop) { + this.workShopId = workShop != null ? workShop.getId() : 0l; + BeanRelation.set(this, EResource.WorkShop, workShop); + } + @JsonBackReference public List getWorkPlans() { return BeanRelation.list(this, EResource.WorkPlans); } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleDetail.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleDetail.java index 31fb91b..282ae40 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleDetail.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleDetail.java @@ -33,7 +33,7 @@ public class RuleDetail extends BaseAPS { private static final long serialVersionUID = -6433950357039396107L; @Column(name="TYPE") @ApiParam(value ="规则类型") - private ApsEnumUtil.RULE_TYPE type; + private String type; @Column(name="ORDER_NUMBER") @ApiParam(value ="序号") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SafeStockOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SafeStockOrder.java new file mode 100644 index 0000000..0e9fa45 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SafeStockOrder.java @@ -0,0 +1,59 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; +import cn.estsh.i3plus.pojo.aps.holders.ESafeStockOrder; +import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :安全库存订单 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-02-23 + * @Modify: + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@Entity +@Table(name = "APS_SAFE_STOCK_ORDER") +@Api("安全库存订单") +public class SafeStockOrder extends BaseOrder { + + private static final long serialVersionUID = 5944067344390531794L; + + @Column(name="ORDER_STATUS") + @ApiParam(value ="订单状态") + @FieldAnnotation(defaultValue = "UNCOMMIT") + private ApsEnumUtil.SAFE_STOCK_ORDER_STATUS orderStatus = ApsEnumUtil.SAFE_STOCK_ORDER_STATUS.UNCOMMIT; + + @Column(name="INVENTORY_ID") + @ApiParam(value ="库存") + @FieldAnnotation(relation = "Inventory", notEmpty = true) + private Long inventoryId; + + @Column(name="FINISH_COUNT") + @ApiParam(value ="完工数") + private Double finishCount; + + @JsonIgnore + public Work getWork() { + return BeanRelation.get(this, EBaseOrder.Works); + } + + public Inventory getInventory() { return BeanRelation.get(this, ESafeStockOrder.Inventory); } + + public void setInventory(Inventory inventory) { + this.inventoryId = inventory != null ? inventory.getId() : 0; + BeanRelation.set(this, ESafeStockOrder.Inventory, inventory); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SalesOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SalesOrder.java index bd8679a..82607d8 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SalesOrder.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SalesOrder.java @@ -56,6 +56,19 @@ public class SalesOrder extends BaseOrder { @FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.DURATION) private String allowDelayTime; + @Column(name="ORDER_STATUS") + @ApiParam(value ="订单状态") + @FieldAnnotation(defaultValue = "WAITING") + private ApsEnumUtil.SALES_ORDER_STATUS orderStatus; + + @Column(name="DELIVER_RATE") + @ApiParam(value ="发货百分比") + private Double deliverRate; + + @Column(name="FINISH_COUNT") + @ApiParam(value ="完工数") + private Double finishCount; + @JsonIgnore public Work getWork() { return BeanRelation.get(this, EBaseOrder.Works); diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SerialNumber.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SerialNumber.java index 6d0f976..bf0944d 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SerialNumber.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SerialNumber.java @@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import java.util.Date; /** * @Description :流水号,补充生产订单和采购订单时自动生成编码 @@ -27,7 +28,31 @@ import javax.persistence.Table; public class SerialNumber extends BaseAPS { private static final long serialVersionUID = 312483211086701109L; - @Column(name="NUMBER") - @ApiParam(value ="流水号") - private Integer number; + @Column(name="S_NUMBER") + @ApiParam(value ="销售订单流水号") + private Integer sNumber = 0; + + @Column(name="M_NUMBER") + @ApiParam(value ="生产订单流水号") + private Integer mNumber = 0; + + @Column(name="P_NUMBER") + @ApiParam(value ="采购订单流水号") + private Integer pNumber = 0; + + @Column(name="W_NUMBER") + @ApiParam(value ="库存订单流水号") + private Integer wNumber = 0; + + @Column(name="Q_NUMBER") + @ApiParam(value ="安全库存订单流水号") + private Integer qNumber = 0; + + @Column(name="H_NUMBER") + @ApiParam(value ="插单流水号") + private Integer hNumber = 0; + + @Column(name="LAST_DATE") + @ApiParam(value ="最后生成日期") + private Date lastDate; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java index 220aac2..be15e07 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java @@ -3,6 +3,8 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.aps.annotation.MainKey; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EStandOperation; import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; @@ -65,4 +67,20 @@ public class StandOperation extends BaseAPS { @ApiParam(value ="生产组合方式") @FieldAnnotation(defaultValue = "MAX_ALL_RESOURCE") private ApsEnumUtil.RES_COMB_TIME_TYPE combType; + + @Column(name="WORK_SHOP_ID") + @ApiParam(value ="车间代码") + @FieldAnnotation(relation = "WorkShop") + private Long workShopId; + + @Column(name="TYPE") + @ApiParam(value ="工序类型") + private ApsEnumUtil.SANLUX_OPERATION_TYPE type = ApsEnumUtil.SANLUX_OPERATION_TYPE.NORMAL; + + public WorkShop getWorkShop() { return BeanRelation.get(this, EStandOperation.WorkShop); } + + public void setWorkShop(WorkShop workShop) { + this.workShopId = workShop != null ? workShop.getId() : 0l; + BeanRelation.set(this, EStandOperation.WorkShop, workShop); + } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java index 669df55..a754400 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java @@ -45,4 +45,12 @@ public class SysParam extends BaseAPS { @ApiParam(value ="规则组id") @FieldAnnotation(display = false) private Long ruleGroupId; + + @Column(name="INVENTORY_RATE") + @ApiParam(value ="库存误差百分比") + private Double inventoryRate; + + @Column(name="RECORD_RESULT") + @ApiParam(value ="记录资源评估结果") + private Boolean recordResult; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java index 619bbf8..c7693dd 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.aps.annotation.MainKey; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EWork; +import cn.estsh.i3plus.pojo.aps.tool.APSDoubleTool; import cn.estsh.i3plus.pojo.aps.validator.InsertGroup; import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; @@ -47,7 +48,7 @@ public class Work extends BaseAPS { @Column(name="WORK_TYPE") @ApiParam(value ="工作类型") - @FieldAnnotation(property = false) + @FieldAnnotation(display = false) private ApsEnumUtil.WORK_TYPE workType; @Column(name="count", columnDefinition = "decimal(18,8)") @@ -159,6 +160,15 @@ public class Work extends BaseAPS { @FieldAnnotation(property = false) private Long mainPlanId; + @Column(name="ORIGIN_WORK_ID") + @ApiParam(value ="动态拆分工作ID") + private Long originWorkId; + + // 排程时,找插入位置的评估值 + private transient double evaluateValue = 0; + + private transient boolean hasOptimized = false; + public BaseOrder getOrder() { return BeanRelation.get(this, EWork.Order); } @@ -212,10 +222,11 @@ public class Work extends BaseAPS { } @JsonBackReference - public List getPlanFeedbacks() { - return BeanRelation.list(this, EWork.PlanFeedbacks); + public PlanFeedback getPlanFeedback() { + return BeanRelation.get(this, EWork.PlanFeedback); } + @JsonBackReference public WorkPlan getMainPlan() { return BeanRelation.get(this, EWork.MainPlan); } public void setMainPlan(WorkPlan plan) { @@ -234,4 +245,23 @@ public class Work extends BaseAPS { this.specifyResourceId = resource != null ? resource.getId() : 0; BeanRelation.set(this, EWork.SpecifyResource, resource); } + + public double getWorkCount() { + if (!APSDoubleTool.isZero(getSpecifyCount())) { + return getSpecifyCount(); + } + return getCount(); + } + + @JsonBackReference + public List getDynSplitWorks() { return BeanRelation.list(this, EWork.DynSplitWorks); } + + public Work getOriginWork() { + return BeanRelation.get(this, EWork.OriginWork); + } + + public void setOriginWork(Work work) { + this.originWorkId = work != null ? work.getId() : 0; + BeanRelation.set(this, EWork.OriginWork, work); + } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkPlan.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkPlan.java index 8c15fbd..decabfa 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkPlan.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkPlan.java @@ -6,6 +6,7 @@ import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.holders.EWorkPlan; import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil; +import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -18,7 +19,6 @@ import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.Transient; import java.util.Date; -import java.util.List; /** * @Description :工作计划 @@ -77,6 +77,8 @@ public class WorkPlan extends BaseAPS { @Column(name="PRODUCE_END") @ApiParam(value ="生产结束时间") @FieldAnnotation(modify = false) + @RippleAnnotation(dependence = {"MainWork.PostRelations.PostWork.MainPlan.produceEnd", + "PostPlan.produceEnd"}, method = "calcReverse") private Date produceEnd; @Column(name="PRODUCE_TIME") @@ -99,11 +101,6 @@ public class WorkPlan extends BaseAPS { @FieldAnnotation(modify = false, editType = ApsEnumUtil.EDIT_TYPE.DURATION) private Integer postSetTime; - @Column(name="FORCE_POST_SET_ZERO") - @ApiParam(value ="是否将后设置时间强制设置成0") - @FieldAnnotation(property = false) - private Boolean forcePostSetZero; - @Column(name="WORK_RESOURCE_ID") @ApiParam(value ="工作资源对象id") @FieldAnnotation(property = false) @@ -114,7 +111,16 @@ public class WorkPlan extends BaseAPS { @FieldAnnotation(property = false) private Long furnacePlanId; + @Column(name="PRINTED") + @ApiParam(value ="已打印") + private Boolean printed = false; + + @Column(name="PRINT_TIME") + @ApiParam(value ="打印时间") + private Date printTime; + @Transient + @FieldAnnotation(property = false) private boolean hasCominbed = false; public Work getWork() { return BeanRelation.get(this, EWorkPlan.Work); } @@ -145,6 +151,7 @@ public class WorkPlan extends BaseAPS { BeanRelation.set(this, EWorkPlan.FurnacePlan, plan); } + @JsonBackReference public Work getMainWork() { return BeanRelation.get(this, EWorkPlan.MainWork); } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkResource.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkResource.java index 727c9a2..7c845e8 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkResource.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkResource.java @@ -13,6 +13,7 @@ import lombok.EqualsAndHashCode; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.validation.constraints.Min; /** * @Description :工作资源 @@ -89,6 +90,20 @@ public class WorkResource extends BaseAPS { @FieldAnnotation(property = false) private Long operResourceId; + @Column(name="CAPACITY", columnDefinition = "decimal(18,8)") + @ApiParam(value ="容量限制") + @Min(0) + private Double capacity; + + @Column(name="MIN_PRODUCT_BATCH") + @ApiParam(value ="最小加工批量") + private Integer minProductBatch; + + @Column(name="RES_CAPACITY_ID") + @ApiParam(value ="设备能力id") + @FieldAnnotation(property = false) + private Long resCapacityId = 0l; + public Work getWork() { return BeanRelation.get(this, EWorkResource.Work); } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkShop.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkShop.java new file mode 100644 index 0000000..273641d --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkShop.java @@ -0,0 +1,40 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :车间 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-03-22 + * @Modify: + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@Entity +@Table(name = "APS_WORK_SHOP") +@Api("车间") +public class WorkShop extends BaseAPS { + private static final long serialVersionUID = 5627016086816721284L; + + @Column(name="CODE") + @ApiParam(value ="编码") + @FieldAnnotation(popSearch = true, mainkey = true) + private String code; + + @Column(name="NAME") + @ApiParam(value ="名称") + @FieldAnnotation(popSearch = true, notEmpty = true) + private String name; + + +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseAPS.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseAPS.java index 9c98bdb..367390d 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseAPS.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseAPS.java @@ -37,6 +37,9 @@ public abstract class BaseAPS extends BaseBean { @Transient private String key; + @FieldAnnotation(property = false) + private transient Long updateId = 0l; + public Object getCustomField(String code) { return customFields.get(code); } @@ -44,4 +47,40 @@ public abstract class BaseAPS extends BaseBean { public void setCustomField(String code, Object value) { customFields.put(code, value); } + + public String getCustomString(String code) { + Object value = customFields.get(code); + if (value == null) { + return ""; + } + return value.toString(); + } + + public Integer getCustomInteger(String code) { + Object value = customFields.get(code); + if (value == null) { + return null; + } + + if (value.getClass() == String.class) { + return Integer.valueOf((String) value); + } else if(value.getClass() == Integer.class) { + return (Integer)value; + } + return null; + } + + public Boolean getCustomBoolean(String code) { + Object value = customFields.get(code); + if (value == null) { + return null; + } + + if (value.getClass() == Boolean.class) { + return (Boolean) value; + } else if(value.getClass() == Integer.class) { + return (Integer)value == 1; + } + return null; + } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java index e0786d8..cad44d4 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java @@ -271,6 +271,8 @@ public class BeanInfo { type = ApsEnumUtil.FIELD_TYPE.ENUM; } else if (BaseBean.class.isAssignableFrom(cls)) { type = ApsEnumUtil.FIELD_TYPE.OBJECT; + } else if (List.class.isAssignableFrom(cls)) { + type = ApsEnumUtil.FIELD_TYPE.LIST; } return type; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java index a440ae8..74dfeaf 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java @@ -48,7 +48,7 @@ public class BeanRelation { return result; } for (Enum holder : beanInfo.getAllHolders()) { - result.put(holder, new LinkedList<>()); + result.put(holder, new ArrayList<>()); } return result; } @@ -313,6 +313,24 @@ public class BeanRelation { } /** + * 移除对象所有关系 + * + * @param bean + */ + public static void remove(BaseBean bean) { + if (bean == null) { + return; + } + BeanInfo beanInfo = BeanInfo.getBeanInfo(bean.getClass()); + if (beanInfo != null) { + List> holders = beanInfo.getAllHolders(); + for (Enum holder :holders) { + remove(bean, holder); + } + } + } + + /** * 移除关联 * * @param bean diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EBaseOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EBaseOrder.java index 28e4b51..d6720fa 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EBaseOrder.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EBaseOrder.java @@ -5,4 +5,5 @@ public enum EBaseOrder { Material, PrevRelations, PostRelations, + Priority, } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportDetail.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportDetail.java index f78c6ac..50772bb 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportDetail.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportDetail.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.holders; public enum EImportDetail { - Project + Project, + Fields } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportField.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportField.java new file mode 100644 index 0000000..eeff1ef --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportField.java @@ -0,0 +1,5 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EImportField { + ImportDetail +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInsertedOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInsertedOrder.java new file mode 100644 index 0000000..c8a6248 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInsertedOrder.java @@ -0,0 +1,5 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EInsertedOrder { + ProductRouting +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInterMediateDetail.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInterMediateDetail.java new file mode 100644 index 0000000..0683e8f --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInterMediateDetail.java @@ -0,0 +1,5 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EInterMediateDetail { + Result +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInterMediateResult.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInterMediateResult.java new file mode 100644 index 0000000..0465f7d --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInterMediateResult.java @@ -0,0 +1,7 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EInterMediateResult { + Work, + Resource, + Details +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInventory.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInventory.java new file mode 100644 index 0000000..9c0719a --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EInventory.java @@ -0,0 +1,5 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EInventory { + SafeStockOrders +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EMaterial.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EMaterial.java index eaa363a..16f5f77 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EMaterial.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EMaterial.java @@ -9,5 +9,6 @@ public enum EMaterial { WorkInputs, WorkOutputs, WorkRelations, - Orders + Orders, + WorkShop } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EOrderFeedback.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EOrderFeedback.java new file mode 100644 index 0000000..5719df5 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EOrderFeedback.java @@ -0,0 +1,5 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EOrderFeedback { + Order +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EResource.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EResource.java index c72c61e..ded90db 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EResource.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EResource.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.holders; public enum EResource { + WorkShop, WorkPlans } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/ESafeStockOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/ESafeStockOrder.java new file mode 100644 index 0000000..bec040c --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/ESafeStockOrder.java @@ -0,0 +1,5 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum ESafeStockOrder { + Inventory +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EStandOperation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EStandOperation.java index 08ae7b4..6e9ac1b 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EStandOperation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EStandOperation.java @@ -1,4 +1,5 @@ package cn.estsh.i3plus.pojo.aps.holders; public enum EStandOperation { + WorkShop } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EWork.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EWork.java index c9befe8..70d265e 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EWork.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EWork.java @@ -9,8 +9,10 @@ public enum EWork { PrevRelations, // 前关联 PostRelations, // 后关联 Operation, // 工序 - PlanFeedbacks, // 工作计划反馈 + PlanFeedback, // 工作计划反馈 MainPlan, // 关联的为主资源的计划 WorkPlans, // 关联的工作计划 SpecifyResource, // 指定资源 + DynSplitWorks, // 动态拆分后的工作 + OriginWork, // 动态拆分前的工作 } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ExportModelRequest.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ExportModelRequest.java new file mode 100644 index 0000000..9774f5e --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ExportModelRequest.java @@ -0,0 +1,21 @@ +package cn.estsh.i3plus.pojo.aps.model; + +import io.swagger.annotations.Api; +import lombok.Data; + +import java.util.List; + +/** + * @Description : 表格导出查询参数 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2020-02-25 + * @Modify: + **/ +@Data +@Api("表格导出查询参数") +public class ExportModelRequest { + private String filter; + private List sorts; + private String tableName; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ImportDataModel.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ImportDataModel.java new file mode 100644 index 0000000..6237d5b --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ImportDataModel.java @@ -0,0 +1,30 @@ +package cn.estsh.i3plus.pojo.aps.model; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +/** + * @Description : 进度条显示信息。 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2020-04-01 + * @Modify: + **/ +@Data +public class ImportDataModel { + @ApiParam(value ="当前执行进度") + private Integer curProcess = 0; + + @ApiParam(value ="总行数") + private Integer totalSize = 0; + + @ApiParam(value ="进度消息") + private String processMsg = ""; + + private Boolean finish = false; + + @ApiParam(value ="异常消息") + private String exception = ""; + + private ImportErrorInfo errorInfo; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ImportErrorInfo.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ImportErrorInfo.java new file mode 100644 index 0000000..c81550d --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ImportErrorInfo.java @@ -0,0 +1,25 @@ +package cn.estsh.i3plus.pojo.aps.model; + +import io.swagger.annotations.Api; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Description : 导入校验错误信息 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-02-25 + * @Modify: + **/ +@Data +@Api("导入校验错误信息") +public class ImportErrorInfo { + private List headers = new ArrayList<>(); + private List> errorData = new ArrayList<>(100); + + public boolean hasErrorData() { + return !errorData.isEmpty(); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/PlanRecord.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/PlanRecord.java new file mode 100644 index 0000000..eb35e2c --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/PlanRecord.java @@ -0,0 +1,34 @@ +package cn.estsh.i3plus.pojo.aps.model; + +import cn.estsh.i3plus.pojo.aps.bean.FurnacePlan; +import cn.estsh.i3plus.pojo.aps.bean.Resource; +import cn.estsh.i3plus.pojo.aps.bean.WorkPlan; +import lombok.Data; + +/** + * @Description : 计划记录 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-04-15 + * @Modify: + **/ +@Data +public class PlanRecord { + /** + * 需要插入的工作计划 + */ + private WorkPlan plan; + /** + * 插入到目标资源 + */ + private Resource resource; + /** + * 插入到目标工作计划前面 + */ + private WorkPlan postPlan; + + /** + * 插入到指定炉资源上 + */ + private FurnacePlan furnacePlan; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/WorkRecord.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/WorkRecord.java new file mode 100644 index 0000000..eb94010 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/WorkRecord.java @@ -0,0 +1,22 @@ +package cn.estsh.i3plus.pojo.aps.model; + +import cn.estsh.i3plus.pojo.aps.bean.Work; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Description : 工作排程记录 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2021-04-15 + * @Modify: + **/ +@Data +public class WorkRecord { + private Work work; + private Work splitWork; + private PlanRecord mainPlan; + private List assPlans = new ArrayList<>(); +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/HeuristicOptimizeRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/HeuristicOptimizeRepository.java new file mode 100644 index 0000000..fe72851 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/HeuristicOptimizeRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.HeuristicOptimize; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface HeuristicOptimizeRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/IOrderFeedbackRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/IOrderFeedbackRepository.java new file mode 100644 index 0000000..9382b9b --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/IOrderFeedbackRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.OrderFeedback; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface IOrderFeedbackRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ImportFieldRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ImportFieldRepository.java new file mode 100644 index 0000000..395975c --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ImportFieldRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.ImportField; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ImportFieldRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/InsertedOrderRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/InsertedOrderRepository.java new file mode 100644 index 0000000..f68eb71 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/InsertedOrderRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.InsertedOrder; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface InsertedOrderRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/PriorityTypeRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/PriorityTypeRepository.java new file mode 100644 index 0000000..4fa95d3 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/PriorityTypeRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.PriorityType; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface PriorityTypeRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/SafeStockOrderRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/SafeStockOrderRepository.java new file mode 100644 index 0000000..ff0c5ee --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/SafeStockOrderRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.SafeStockOrder; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface SafeStockOrderRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/WorkShopRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/WorkShopRepository.java new file mode 100644 index 0000000..4c8b98d --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/WorkShopRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.WorkShop; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface WorkShopRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/tool/APSDoubleTool.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/tool/APSDoubleTool.java new file mode 100644 index 0000000..6c4e2ba --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/tool/APSDoubleTool.java @@ -0,0 +1,7 @@ +package cn.estsh.i3plus.pojo.aps.tool; + +public class APSDoubleTool { + public static boolean isZero(Double value) { + return (value == null) || (value > -0.000001 && value < 0.000001); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/CalendarTimeValidator.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/CalendarTimeValidator.java new file mode 100644 index 0000000..a7bcaf2 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/CalendarTimeValidator.java @@ -0,0 +1,43 @@ +package cn.estsh.i3plus.pojo.aps.validator; + +import cn.estsh.i3plus.pojo.aps.annotation.CalendarTimeAnntation; +import cn.estsh.i3plus.pojo.aps.model.TimeBlock; +import cn.estsh.i3plus.pojo.base.util.StringUtil; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.text.ParseException; +import java.text.SimpleDateFormat; + +public class CalendarTimeValidator implements ConstraintValidator { + SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd"); + + @Override + public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) { + for (String strTime : s.split(",")) { + if (StringUtil.isEmpty(strTime)) { + continue; + } + + String[] times = strTime.split("~"); + if (times.length == 1) { + try { + timeFormat.parse(times[0]); + } catch (ParseException e) { + return false; + } + } else if (times.length == 2) { + try { + TimeBlock timeBlock = new TimeBlock(); + timeBlock.setBegin(timeFormat.parse(times[0])); + timeBlock.setEnd(timeFormat.parse(times[1])); + } catch (ParseException e) { + return false; + } + } else { + return false; + } + } + return true; + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/ImportGroup.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/ImportGroup.java new file mode 100644 index 0000000..a47cf56 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/ImportGroup.java @@ -0,0 +1,4 @@ +package cn.estsh.i3plus.pojo.aps.validator; + +public interface ImportGroup { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/ShiftTimeValidator.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/ShiftTimeValidator.java new file mode 100644 index 0000000..c5bcd46 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/ShiftTimeValidator.java @@ -0,0 +1,36 @@ +package cn.estsh.i3plus.pojo.aps.validator; + +import cn.estsh.i3plus.pojo.aps.annotation.ShiftTimeAnnotation; +import cn.estsh.i3plus.pojo.aps.model.TimeBlock; +import cn.estsh.i3plus.pojo.base.util.StringUtil; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.text.ParseException; +import java.text.SimpleDateFormat; + +public class ShiftTimeValidator implements ConstraintValidator { + SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm"); + + @Override + public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) { + if (StringUtil.isEmpty(s)) { + return false; + } + for (String strTime : s.split(",")) { + String[] times = strTime.split("-"); + if (times.length != 2) { + return false; + } + + try { + TimeBlock timeBlock = new TimeBlock(); + timeBlock.setBegin(timeFormat.parse(times[0])); + timeBlock.setEnd(timeFormat.parse(times[1])); + } catch (ParseException e) { + return false; + } + } + return true; + } +} diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/BaseOrder.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/BaseOrder.xml index e1e512a..75f82e5 100644 --- a/modules/i3plus-pojo-aps/src/main/resources/relations/BaseOrder.xml +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/BaseOrder.xml @@ -8,4 +8,6 @@ + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/ImportDetail.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/ImportDetail.xml new file mode 100644 index 0000000..56372fd --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/ImportDetail.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/InsertedOrder.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/InsertedOrder.xml new file mode 100644 index 0000000..19e8ca9 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/InsertedOrder.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/InterMediateResult.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/InterMediateResult.xml new file mode 100644 index 0000000..6b7a99d --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/InterMediateResult.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/Inventory.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/Inventory.xml new file mode 100644 index 0000000..4fcb3cc --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/Inventory.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/Material.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/Material.xml index 33c5974..6ce3798 100644 --- a/modules/i3plus-pojo-aps/src/main/resources/relations/Material.xml +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/Material.xml @@ -1,7 +1,9 @@ - - + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/OrderFeedback.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/OrderFeedback.xml new file mode 100644 index 0000000..1ff56e1 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/OrderFeedback.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/PlanFeedback.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/PlanFeedback.xml deleted file mode 100644 index c0988ef..0000000 --- a/modules/i3plus-pojo-aps/src/main/resources/relations/PlanFeedback.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/Resource.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/Resource.xml index c2123bc..889e6c8 100644 --- a/modules/i3plus-pojo-aps/src/main/resources/relations/Resource.xml +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/Resource.xml @@ -1,5 +1,7 @@ + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/StandOperation.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/StandOperation.xml index ead1a31..538cede 100644 --- a/modules/i3plus-pojo-aps/src/main/resources/relations/StandOperation.xml +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/StandOperation.xml @@ -1,3 +1,5 @@ + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/Work.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/Work.xml index 5c26770..da892ce 100644 --- a/modules/i3plus-pojo-aps/src/main/resources/relations/Work.xml +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/Work.xml @@ -16,8 +16,10 @@ - + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-base/pom.xml b/modules/i3plus-pojo-base/pom.xml index cf274d9..0272934 100644 --- a/modules/i3plus-pojo-base/pom.xml +++ b/modules/i3plus-pojo-base/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ApsEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ApsEnumUtil.java index 279c6b0..0d7160b 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ApsEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ApsEnumUtil.java @@ -81,6 +81,31 @@ public class ApsEnumUtil { } /** + * 物料类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum ORDER_VALID_TYPE { + VALID("VALID", "有效"), + INVALID("INVALID", "无效"); + + private String value; + private String description; + + ORDER_VALID_TYPE(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + /** * 物料报表统计类型 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) @@ -406,11 +431,15 @@ public class ApsEnumUtil { } } + public interface IRESOURCE_RULE { + String getValue(); + String getDescription(); + } /** * 预置的资源选择规则 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) - public enum RESOURCE_CHOISE_RULE { + public enum RESOURCE_CHOISE_RULE implements IRESOURCE_RULE { PREV_SET_TIME("PREV_SET_TIME", "前设置时间"), PRODUCE_TIME("PRODUCE_TIME", "生产时间"), POST_SET_TIME("POST_SET_TIME", "后设置时间"), @@ -433,10 +462,12 @@ public class ApsEnumUtil { this.description = description; } + @Override public String getValue() { return value; } + @Override public String getDescription() { return description; } @@ -638,13 +669,14 @@ public class ApsEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum WORK_SORT_RULE { - ORDER_LET("ORDER_LET", "订单交货期"), + ORDER_LET("ORDER_LET", "订单最晚结束时刻计算值"), ORDER_PRIORITY("ORDER_PRIORITY", "订单优先级"), ORDER_EST("ORDER_EST", "订单最早开始时刻"), ORDER_COUNT("ORDER_COUNT", "订单数量"), ORDER_RECEIVE_DATE("ORDER_RECEIVE_DATE", "订单接单日期"), ORDER_LET_SUB_EST("ORDER_LET_SUB_EST", "订单交货期与订单最早开始时刻之差"), ORDER_SURPLUS("ORDER_SURPLUS", "订单余裕度"), + ORDER_CODE("ORDER_CODE", "订单编码"), NOPLAN_OPERATION_SIZE("NOPLAN_OPERATION_SIZE", "残留工序数"), REMAIN_PRODUCE_TIME("REMAIN_PRODUCE_TIME", "残留生产时间"), MIN_OPERATION_REMAIN_TIME("MIN_OPERATION_REMAIN_TIME", "最小工序宽裕时间"), @@ -654,7 +686,7 @@ public class ApsEnumUtil { HAVE_HIGH_WORK("HAVE_HIGH_WORK", "订单中含有高级别工作"), WORK_RESOURCE_SIZE("WORK_RESOURCE_SIZE", "工作的可用资源数"), TOP_ORDER_LET("TOP_ORDER_LET", "顶层订单的交货期"), - TOP_ORDER_CODE("TOP_ORDER_CODE", "顶层订单代码"), + TOP_ORDER_CODE("TOP_ORDER_CODE", "顶层订单编码"), TOP_ORDER_PRIORITY("TOP_ORDER_PRIORITY", "顶层订单优先级"), CUST_EXPRESSION("CUST_EXPRESSION", "自定义表达式"); @@ -710,9 +742,9 @@ public class ApsEnumUtil { public enum WORK_STATUS { NOPLAN("NOPLAN", "未计划"), PLANDONE("PLANDONE", "计划完毕"), - INDICATIONDONE("INDICATIONDONE", "指示完毕"), - CONFIRM("CONFIRM", "确认"), - STARTPRODUCT("STARTPRODUCT", "开始生产"), + INDICATIONDONE("INDICATIONDONE", "锁定"), + CONFIRM("CONFIRM", "下发"), + STARTPRODUCT("STARTPRODUCT", "生产中"), FINISH("FINISH", "完成"); private String value; @@ -737,7 +769,11 @@ public class ApsEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum WORK_TYPE { + // 工作不参与排程 FICTITIOUS("FICTITIOUS", "虚拟工作"), + // 动态虚拟工作为不计算生产时间。 + DYNAMIC_FICTITIOUS("DYNAMIC_FICTITIOUS", "动态虚拟工作"), + // 此工作参与排程 NORMAL("NORMAL", "普通工作"); private String value; @@ -999,7 +1035,8 @@ public class ApsEnumUtil { STRING("STRING", "字符串,文本框编辑"), OBJECT("OBJECT", "关联对象,下来选择关联对象的Code值"), LIST("LIST", "对象集合,不可编辑。"), - MULTI_OBJECT("MULTI_OBJECT", "多选对象,弹出框选择,可以选择全部对象,以*表示选择全部"); + MULTI_OBJECT("MULTI_OBJECT", "多选对象,弹出框选择,可以选择全部对象,以*表示选择全部"), + QUERY_LIST("QUERY_LIST", "通过接口获取下拉选项"); private String value; private String description; @@ -1116,4 +1153,160 @@ public class ApsEnumUtil { return description; } } + + /** + * 销售订单状态 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum SALES_ORDER_STATUS { + WAITING("WAITING", "待处理"), + CHANGE("CHANGE", "改带"), + COMMIT("COMMIT", "确认"); + + private String value; + private String description; + + SALES_ORDER_STATUS(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + /** + * 库存订单状态 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum SAFE_STOCK_ORDER_STATUS { + UNCOMMIT("UNCOMMIT", "待处理"), + COMMIT("COMMIT", "确认"); + + private String value; + private String description; + + SAFE_STOCK_ORDER_STATUS(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + /** + * 插单状态 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum INSERTED_ORDER_STATUS { + UNCOMMIT("UNCOMMIT", "待处理"), + COMMIT("COMMIT", "确认"); + + private String value; + private String description; + + INSERTED_ORDER_STATUS(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + /** + * 插单状态 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum FEED_BACK_STATUS { + UNCOMMIT("UNCOMMIT", "未提交"), + COMMIT("COMMIT", "提交"); + + private String value; + private String description; + + FEED_BACK_STATUS(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + /** + * 订单类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum APS_ORDER_TYPE { + SALES_ORDER("S", "销售订单"), + PRODUCT_ORDER("M", "生产订单"), + PURCHASE_ORDER("P", "采购订单"), + INVENTORY("W", "库存订单"), + SAFE_STOCK_ORDER("Q", "安全库存订单"), + INSERTED_ORDER("I", "插单"); + + private String value; + private String description; + + APS_ORDER_TYPE(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + } + + /** + * 工序类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum SANLUX_OPERATION_TYPE { + NORMAL("NORMAL", "正常工序"), + FOUR_SULFIDATION("FOUR_SULFIDATION", "四车间硫化"), + FOUR_TRAINBEARER("FOUR_TRAINBEARER", "四车间牵纱"); + + private String value; + private String description; + + SANLUX_OPERATION_TYPE(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + } } 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 39e23fe..f4df909 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 @@ -2100,7 +2100,8 @@ public class MesEnumUtil { MES_SCATTER_PART_CFG_BOM(620, "scatterPartCfgBomExcelService", "车型散件配置清单导入"), MES_SPARE_PARTS(630, "sparePartsExcelService", "备件计划导入"), MES_JISA(640, "jisaExcelService", "JISA导入"), - MES_CONTROL_PLAN(650, "controlPlanExcelService", "控制计划导入"); + MES_CONTROL_PLAN(650, "controlPlanExcelService", "控制计划导入"), + MES_HOLIDAY_VACATION(660, "holidayVacationExcelService", "节假日导入"); private int value; private String service; diff --git a/modules/i3plus-pojo-form/pom.xml b/modules/i3plus-pojo-form/pom.xml index 37b8a51..b948580 100644 --- a/modules/i3plus-pojo-form/pom.xml +++ b/modules/i3plus-pojo-form/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfElement.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfElement.java index 994e590..20b7111 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfElement.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfElement.java @@ -137,6 +137,17 @@ public class BfElement extends BaseBean { public boolean isOrganizeIsolation(){ return isOrganizeIsolation != null && isOrganizeIsolation == BlockFormEnumUtil.ELEMENT_ORGANIZE_ISOLATION_STATUS.ON.getValue(); } + @Column(name = "ELEMENT_ORGANIZE_ISOLATION_ATTR_ID") + @ApiParam(value = "组织隔离属性id") + private Long elementOrganizeIsolationAttrId; + + public Long getElementOrganizeIsolationAttrId() { + return elementOrganizeIsolationAttrId; + } + + public void setElementOrganizeIsolationAttrId(Long elementOrganizeIsolationAttrId) { + this.elementOrganizeIsolationAttrId = elementOrganizeIsolationAttrId; + } @Column(name = "IS_OBJECT_EXPORT") @ApiParam(value = "是否导出") diff --git a/modules/i3plus-pojo-hardswitch/pom.xml b/modules/i3plus-pojo-hardswitch/pom.xml index dc13374..cf1a42a 100644 --- a/modules/i3plus-pojo-hardswitch/pom.xml +++ b/modules/i3plus-pojo-hardswitch/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-ics/pom.xml b/modules/i3plus-pojo-ics/pom.xml index 6df1cc2..c338f71 100644 --- a/modules/i3plus-pojo-ics/pom.xml +++ b/modules/i3plus-pojo-ics/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-jobflow/pom.xml b/modules/i3plus-pojo-jobflow/pom.xml index 123fdc9..1674a47 100644 --- a/modules/i3plus-pojo-jobflow/pom.xml +++ b/modules/i3plus-pojo-jobflow/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-lac/pom.xml b/modules/i3plus-pojo-lac/pom.xml index fdcf6e3..7637865 100644 --- a/modules/i3plus-pojo-lac/pom.xml +++ b/modules/i3plus-pojo-lac/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-mdm/pom.xml b/modules/i3plus-pojo-mdm/pom.xml index d266163..d98b7d8 100644 --- a/modules/i3plus-pojo-mdm/pom.xml +++ b/modules/i3plus-pojo-mdm/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-mdm/src/main/java/cn/estsh/i3plus/pojo/mdm/repository/MdmHqlPack.java b/modules/i3plus-pojo-mdm/src/main/java/cn/estsh/i3plus/pojo/mdm/repository/MdmHqlPack.java index 6e7cc79..874d299 100644 --- a/modules/i3plus-pojo-mdm/src/main/java/cn/estsh/i3plus/pojo/mdm/repository/MdmHqlPack.java +++ b/modules/i3plus-pojo-mdm/src/main/java/cn/estsh/i3plus/pojo/mdm/repository/MdmHqlPack.java @@ -22,6 +22,7 @@ public class MdmHqlPack { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mdmBean); DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), "isMdmPublished", ddlPackBean); + DdlPreparedPack.getNumEqualPack(mdmBean.isValid, "isValid", ddlPackBean); return ddlPackBean; } diff --git a/modules/i3plus-pojo-mes-pcn/pom.xml b/modules/i3plus-pojo-mes-pcn/pom.xml new file mode 100644 index 0000000..bf96e57 --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/pom.xml @@ -0,0 +1,55 @@ + + + + i3plus-pojo + i3plus.pojo + 1.0-TEST-SNAPSHOT + ../../pom.xml + + 4.0.0 + + i3plus-pojo-mes-pcn + jar + + + + 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-mes/pom.xml b/modules/i3plus-pojo-mes/pom.xml index 54c8306..a758a6a 100644 --- a/modules/i3plus-pojo-mes/pom.xml +++ b/modules/i3plus-pojo-mes/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfDismantleRecord.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfDismantleRecord.java index defd057..ce62778 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfDismantleRecord.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfDismantleRecord.java @@ -111,4 +111,25 @@ public class IfDismantleRecord extends BaseBean implements Serializable { @Column(name = "DEFECT_CODE") @ApiParam("缺陷代码") private String defectCode; + + @Column(name = "DEFECT_NAME") + @ApiParam("缺陷名称") + private String defectName; + + @Column(name = "DC_CODE") + @ApiParam("缺陷原因代码") + private String dcCode; + + @Column(name = "DC_NAME") + @ApiParam("缺陷原因名称") + private String dcName; + + @Column(name = "REPAIR_CODE") + @ApiParam("维修代码") + private String repairCode; + + @Column(name = "REPAIR_NAME") + @ApiParam("维修名称") + private String repairName; + } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfProductOffLine.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfProductOffLine.java index 797fa82..03cd270 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfProductOffLine.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/IfProductOffLine.java @@ -5,17 +5,13 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import lombok.Data; -import javax.persistence.Inheritance; -import javax.persistence.InheritanceType; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.hibernate.annotations.ColumnDefault; 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; /** @@ -31,7 +27,9 @@ import java.io.Serializable; @DynamicUpdate @EqualsAndHashCode(callSuper = true) @Inheritance(strategy = InheritanceType.JOINED) -@Table(name = "IF_PRODUCT_OFF_LINE") +@Table(name = "IF_PRODUCT_OFF_LINE", uniqueConstraints = { + @UniqueConstraint(columnNames = {"ORGANIZE_CODE", "PACKAGE_NO", "ITEM_PART_NO"}) +}) @NoArgsConstructor @AllArgsConstructor @Api("生产报工表") diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesContainerSnRecord.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesContainerSnRecord.java new file mode 100644 index 0000000..0e5f898 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesContainerSnRecord.java @@ -0,0 +1,55 @@ +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: + * @Reference: + * @Author: Crish + * @CreateDate:2019-04-16-17:36 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Inheritance(strategy = InheritanceType.JOINED) +@Table(name = "MES_CONTAINER_SN_RECORD", indexes = { + @Index(columnList = "SERIAL_NUMBER"), + @Index(columnList = "PART_NO"), + @Index(columnList = "CT_NO") +}) +@Api("容器条码记录表") +public class MesContainerSnRecord extends BaseBean implements Serializable { + + private static final long serialVersionUID = -303802118993255101L; + @Column(name = "SERIAL_NUMBER") + @ApiParam("过程条码") + private String serialNumber; + + @Column(name = "PART_NO") + @ApiParam("物料号") + private String partNo; + + @Column(name = "PART_NAME") + @ApiParam("物料名称") + private String partName; + + @Column(name = "CT_NO") + @ApiParam("容器号") + private String ctNo; + + @Column(name = "QTY") + @ApiParam("数量") + private Double qty; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesHolidayVacation.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesHolidayVacation.java new file mode 100644 index 0000000..e1b40ba --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesHolidayVacation.java @@ -0,0 +1,42 @@ +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; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/10/18 2:55 下午 + * @Description: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Inheritance(strategy = InheritanceType.JOINED) +@Table(name = "MES_HOLIDAY_VACTION") +@Api("节假日") +public class MesHolidayVacation extends BaseBean implements Serializable { + + private static final long serialVersionUID = -1620451254243818560L; + @Column(name = "YEAR") + @ApiParam("年") + private String year; + + @Column(name = "MONTH") + @ApiParam("月") + private String month; + + @Column(name = "DAY") + @ApiParam("日") + private String day; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPlcDataRecord.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPlcDataRecord.java new file mode 100644 index 0000000..ff0e1e2 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPlcDataRecord.java @@ -0,0 +1,49 @@ +package cn.estsh.i3plus.pojo.mes.bean; + + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.mes.model.ProductDataModel; +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; +import java.util.List; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate:2019\10\9 0009 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Inheritance(strategy = InheritanceType.JOINED) +@Table(name = "MES_PLC_DATA_RECORD", indexes = { + @Index(columnList = "PLC_CODE") +}) +@Api("PLC数据记录表") +public class MesPlcDataRecord extends BaseBean implements Serializable { + + private static final long serialVersionUID = -8789141495695469898L; + @Column(name = "PLC_CODE") + @ApiParam("PLC代码") + private String plcCode; + + @Column(name = "PLC_NAME") + @ApiParam("PLC名称") + private String plcName; + + @Column(name = "PLC_VLAUE") + @ApiParam("PLC型号") + private String plcValue; + +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQcOrder.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQcOrder.java index 514a5bc..78c3128 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQcOrder.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQcOrder.java @@ -123,6 +123,10 @@ public class MesQcOrder extends BaseBean implements Serializable { @ApiParam("任务单类型") private String checkOrderType; + @Column(name = "ON_SITE_FREQUENCY") + @ApiParam("巡检次数") + private Integer onSiteFrequency = 0; + @Deprecated @ApiParam(value = "检测结果") @Transient @@ -163,4 +167,12 @@ public class MesQcOrder extends BaseBean implements Serializable { @Transient @ApiParam("质检单集合") private List orderNoList; + + @Transient + @ApiParam("控制计划编号") + private String controlPlanId; + + @Transient + @ApiParam("班组") + private String shiftGroupName; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQuarantineRecord.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQuarantineRecord.java index 25aa552..46a5850 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQuarantineRecord.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQuarantineRecord.java @@ -73,4 +73,16 @@ public class MesQuarantineRecord extends BaseBean { @Column(name = "SCRAP_No") @ApiParam("报废单号") private String scrapNo; + + @Column(name = "DEFECT_NAME") + @ApiParam("缺陷名称") + private String defectName; + + @Column(name = "DC_NAME") + @ApiParam("缺陷原因名称") + private String dcName; + + @Column(name = "REPAIR_NAME") + @ApiParam("维修名称") + private String repairName; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesSpcKeyData.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesSpcKeyData.java index 5774c72..7ed0599 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesSpcKeyData.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesSpcKeyData.java @@ -74,4 +74,8 @@ public class MesSpcKeyData extends BaseBean implements Serializable { @Column(name = "KD_CONDITION") @ApiParam("取值条件") private String kdCondition; + + @Column(name = "PART_NO") + @ApiParam("物料号") + private String partNo; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCellDefect.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCellDefect.java index fe7e8ae..21b5ba5 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCellDefect.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCellDefect.java @@ -60,5 +60,5 @@ public class MesWorkCellDefect extends BaseBean implements Serializable { @Transient @ApiParam("缺陷名称") - private String defectCodeName; + private String defectName; } 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 57fe9f5..6d92fb6 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 @@ -393,6 +393,10 @@ public class MesWorkOrder extends BaseBean implements Serializable { @ApiParam("生产节拍") private Integer takt; + @Transient + @ApiParam("容器号") + private String ctNo; + /********************** 动态冗余字段(界面维护大写) *********************************/ @Transient diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesQcOrderDetailRecordModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesQcOrderDetailRecordModel.java index e4d935c..c68b244 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesQcOrderDetailRecordModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesQcOrderDetailRecordModel.java @@ -19,7 +19,7 @@ public class MesQcOrderDetailRecordModel implements Serializable { private String orderNo; @ApiParam("判定结果") - private Integer checkResult = 0; + private String checkResult; @ApiParam("检测值") private String checkValue; 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 06aec88..44c290b 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 @@ -94,6 +94,9 @@ public class StationRequestBean implements Serializable { @ApiParam("强制跳过工序") private Boolean forceJumpProcess = false; + @ApiParam("自动执行状态机") + private Boolean triggerAutoFsm = false; + @ApiParam("强制执行工步代码") private String forceSpecStepCode; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/StepResult.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/StepResult.java index 1a8f7c8..9a15c9a 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/StepResult.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/StepResult.java @@ -97,6 +97,10 @@ public class StepResult { return new StepResult<>(true, data, "", nextTriggerEvent); } + public static StepResult getNewFailureData(T data, String nextTriggerEvent) { + return new StepResult<>(false, data, "", nextTriggerEvent); + } + public static StepResult getSuccessData(Collection data, String msg) { return new StepResult(true, data, msg); } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/report/DefectRecordModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/report/DefectRecordModel.java index 97085b3..bc450c7 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/report/DefectRecordModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/report/DefectRecordModel.java @@ -8,6 +8,7 @@ import java.io.Serializable; /** * 产品履历报表-缺陷信息 + * * @author yumingxing * @version 1.0 * @date 2020/12/18 15:16 @@ -51,8 +52,11 @@ public class DefectRecordModel implements Serializable { @ApiParam(value = "扫描时间") public String createDatetime; + @ApiParam(value = "图片路径") + private String pictureUrl; - public DefectRecordModel(String workCenterName, String processName, Integer qcStatus, String defectName, String defectLocation, String customerPartNo, String serialNumber, String createUser, String createDatetime) { + + public DefectRecordModel(String workCenterName, String processName, Integer qcStatus, String defectName, String defectLocation, String customerPartNo, String serialNumber, String createUser, String createDatetime, String pictureUrl) { this.workCenterName = workCenterName; this.processName = processName; this.qcStatus = qcStatus; @@ -62,5 +66,6 @@ public class DefectRecordModel implements Serializable { this.serialNumber = serialNumber; this.createUser = createUser; this.createDatetime = createDatetime; + this.pictureUrl = pictureUrl; } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/report/ProduceDispPassRateModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/report/ProduceDispPassRateModel.java index 84449e1..236b41d 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/report/ProduceDispPassRateModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/report/ProduceDispPassRateModel.java @@ -19,6 +19,9 @@ public class ProduceDispPassRateModel { @ApiParam("统计时间") private String statisticalTime; + @ApiParam("产品条码") + private String srialNumber; + //统计选项(10=全部,20=冻结,30=报废) @ApiParam("统计选项") private Integer statisticalOption; @@ -44,6 +47,16 @@ public class ProduceDispPassRateModel { this.ratio = ratio; } + public ProduceDispPassRateModel(String statisticalTime, String srialNumber, Integer statisticalOption, BigDecimal freezeQty, BigDecimal scrapQty, BigDecimal produceSumQty, BigDecimal ratio) { + this.statisticalTime = statisticalTime; + this.srialNumber = srialNumber; + this.statisticalOption = statisticalOption; + this.freezeQty = freezeQty; + this.scrapQty = scrapQty; + this.produceSumQty = produceSumQty; + this.ratio = ratio; + } + public ProduceDispPassRateModel() { } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesContainerSnRecordRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesContainerSnRecordRepository.java new file mode 100644 index 0000000..86ae6e7 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesContainerSnRecordRepository.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.MesContainerSnRecord; + +/** + * @Description: + * @Author: jokelin + * @Date: 2021/5/1 12:21 PM + * @Modify: + */ +public interface MesContainerSnRecordRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesHolidayVacationRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesHolidayVacationRepository.java new file mode 100644 index 0000000..561c2f2 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesHolidayVacationRepository.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.MesHolidayVacation; + +/** + * @Description: + * @Author: jokelin + * @Date: 2021/5/7 4:44 PM + * @Modify: + */ +public interface MesHolidayVacationRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPlcDataRecordRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPlcDataRecordRepository.java new file mode 100644 index 0000000..aaea5fb --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesPlcDataRecordRepository.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.MesPlcDataRecord; + +/** + * @Description: + * @Author: jokelin + * @Date: 2021/5/2 4:11 PM + * @Modify: + */ +public interface MesPlcDataRecordRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-model/pom.xml b/modules/i3plus-pojo-model/pom.xml index e74b3a6..4988104 100644 --- a/modules/i3plus-pojo-model/pom.xml +++ b/modules/i3plus-pojo-model/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsJobParamModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsJobParamModel.java index a0fdfdf..5fed354 100755 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsJobParamModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsJobParamModel.java @@ -28,6 +28,8 @@ public class WmsJobParamModel implements Serializable { private Integer erpSyncFlag;//查询SHIPPING表的条件 private String filterZoneNos;//过滤存储区 private String zoneNos;//存储区 + private String id;//id + private String groupName;//组名称 private String lineNo;//产线 diff --git a/modules/i3plus-pojo-platform/pom.xml b/modules/i3plus-pojo-platform/pom.xml index 5896851..dba12cc 100644 --- a/modules/i3plus-pojo-platform/pom.xml +++ b/modules/i3plus-pojo-platform/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-ptl/pom.xml b/modules/i3plus-pojo-ptl/pom.xml index aa3dd42..81670b2 100644 --- a/modules/i3plus-pojo-ptl/pom.xml +++ b/modules/i3plus-pojo-ptl/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-report/pom.xml b/modules/i3plus-pojo-report/pom.xml index 80498fc..26a7311 100644 --- a/modules/i3plus-pojo-report/pom.xml +++ b/modules/i3plus-pojo-report/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-screen/pom.xml b/modules/i3plus-pojo-screen/pom.xml index b926256..48930f8 100644 --- a/modules/i3plus-pojo-screen/pom.xml +++ b/modules/i3plus-pojo-screen/pom.xml @@ -5,8 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT - ../../pom.xml + 1.0-TEST-SNAPSHOT 4.0.0 diff --git a/modules/i3plus-pojo-softswitch/pom.xml b/modules/i3plus-pojo-softswitch/pom.xml index 076f15a..eaf2544 100644 --- a/modules/i3plus-pojo-softswitch/pom.xml +++ b/modules/i3plus-pojo-softswitch/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-sweb/pom.xml b/modules/i3plus-pojo-sweb/pom.xml index 1351ed3..0f615b6 100644 --- a/modules/i3plus-pojo-sweb/pom.xml +++ b/modules/i3plus-pojo-sweb/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/bean/SwebVendorRel.java b/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/bean/SwebVendorRel.java index 3406e85..4e3afa7 100644 --- a/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/bean/SwebVendorRel.java +++ b/modules/i3plus-pojo-sweb/src/main/java/cn/estsh/i3plus/pojo/sweb/bean/SwebVendorRel.java @@ -4,15 +4,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.*; /** * @Description : @@ -43,4 +39,12 @@ public class SwebVendorRel extends BaseBean { @ApiParam("供应商代码") @Column(name = "VENDOR_NO") private String vendorNo; + + @ApiParam("物料代码") + @Column(name = "PART_NO") + private String partNo; + + @ApiParam("物料名称") + @Column(name = "PART_NAME_ADD") + private String partNameAdd; } diff --git a/modules/i3plus-pojo-wms/pom.xml b/modules/i3plus-pojo-wms/pom.xml index 67b0bff..183a03c 100644 --- a/modules/i3plus-pojo-wms/pom.xml +++ b/modules/i3plus-pojo-wms/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/BasVendor.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/BasVendor.java index a370e59..4641032 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/BasVendor.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/BasVendor.java @@ -58,6 +58,7 @@ public class BasVendor extends BaseBean{ @Column(name="VENDOR_ADDR") @ApiParam("供应商地址") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT, isRequire = 2) private String vendorAddr; @Column(name="VENDOR_OWNER") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementDetails.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementDetails.java index 21f9178..f17dccb 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementDetails.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementDetails.java @@ -130,6 +130,33 @@ public class WmsDocMovementDetails extends BaseBean { @AnnoOutputColumn(refClass = WmsEnumUtil.MASTER_ORDER_STATUS.class, refForeignKey = "value", value = "description") private Integer itemStatus; + @Column(name = "WORK_CELL_CODE") + @ApiParam("工序") + private String workCellCode; + + @Column(name = "DEFECT_CODE") + @ApiParam("缺陷代码") + private String defectCode; + + @Column(name = "DEFECT_NAME") + @ApiParam("缺陷名称") + private String defectName; + + @Column(name = "DC_CODE") + @ApiParam("缺陷原因代码") + private String dcCode; + + @Column(name = "DC_NAME") + @ApiParam("缺陷原因名称") + private String dcName; + + @Column(name = "REPAIR_CODE") + @ApiParam("维修代码") + private String repairCode; + + @Column(name = "REPAIR_NAME") + @ApiParam("维修名称") + private String repairName; @Transient @ApiParam(value = "完成状态") @@ -551,7 +578,7 @@ public class WmsDocMovementDetails extends BaseBean { this.priority = priority; this.orderNo = orderNo; } -public WmsDocMovementDetails (String partNo,String orderNo) { + public WmsDocMovementDetails (String partNo,String orderNo) { this.partNo = partNo; this.orderNo = orderNo; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementMaster.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementMaster.java index 295096f..8af332a 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementMaster.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementMaster.java @@ -397,6 +397,10 @@ public class WmsDocMovementMaster extends BaseBean { @ApiParam("应拣数") public Integer inQty; + @Transient + @ApiParam("供应商名称") + public String vendorName; + public int getOrderStatusVal() { return this.orderStatus == null ? 0 : this.orderStatus; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java index abae0c0..9833571 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java @@ -6,14 +6,18 @@ import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil; 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.ColumnDefault; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.*; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Index; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; +import javax.persistence.Table; +import javax.persistence.Transient; /** * @Description : 移库单条码表 @@ -96,6 +100,9 @@ public class WmsDocMovementSn extends BaseBean { @ApiParam(value = "目标库位代码") public String destLocateNo; + @Column(name = "PACKAGE_NO") + @ApiParam(value = "包装编号") + private String packageNo; @Transient @ApiParam("前端表格编辑使用") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPartExtend.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPartExtend.java index c16b143..cc1a5c6 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPartExtend.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPartExtend.java @@ -186,4 +186,8 @@ public class WmsPartExtend extends BaseBean { public Integer getQcPassCount() { return this.qcPassCount == null ? 0 :this.qcPassCount.intValue(); } + + public Integer getQcSkipCycle() { + return this.qcSkipCycle == null ? 0 :this.qcSkipCycle.intValue(); + } } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPrintingQueue.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPrintingQueue.java index 19ed55a..1e586b1 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPrintingQueue.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPrintingQueue.java @@ -60,6 +60,10 @@ public class WmsPrintingQueue extends BaseBean{ @ApiParam("供应商编码") private String vendorNo; + @Column(name="PART_NO") + @ApiParam("物料编码") + public String partNo; + public WmsPrintingQueue() { } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsQCSNErrorList.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsQCSNErrorList.java index 422ff94..eac7880 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsQCSNErrorList.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsQCSNErrorList.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.pojo.wms.bean; +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 com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; @@ -99,6 +101,10 @@ public class WmsQCSNErrorList extends BaseBean { @ApiParam(value = "供应商编码") private String vendorNo; + @Column(name = "VENDOR_NAME") + @ApiParam(value = "供应商名称") + private String vendorName; + @Column(name = "ERROR_CODE") @ApiParam("不良代码") private String errorCode; @@ -116,4 +122,9 @@ public class WmsQCSNErrorList extends BaseBean { @ColumnDefault("0") @ApiParam(value = "质检比例", example = "0") public String qcScale; + + @Column(name = "REF_SRC") + @ApiParam("关联单号") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + public String refSrc; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsSerialSn.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsSerialSn.java index 7437761..03629f3 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsSerialSn.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsSerialSn.java @@ -34,7 +34,8 @@ import javax.persistence.Table; @Index(columnList = "BATCH_NO"), @Index(columnList = "STOCK_SN"), @Index(columnList = "PART_NO"), - @Index(columnList = "SERIAL_SN") + @Index(columnList = "SERIAL_SN"), + @Index(columnList = "ORGANIZE_CODE") }) @DynamicInsert @DynamicUpdate diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsStockSn.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsStockSn.java index 42ee4f1..73b4351 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsStockSn.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsStockSn.java @@ -237,6 +237,11 @@ public class WmsStockSn extends BaseBean { // @ApiParam(value = "乐观锁", example = "1") // public Integer lockVersion; + @ApiParam("容器编号") + @Column(name = "CT_NO") + @DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT) + private String ctNo; + @ApiParam(value = "仓库名称") @Transient public String whNameRdd; @@ -491,7 +496,6 @@ public class WmsStockSn extends BaseBean { @ApiParam("父位置号") public String parentPositionNo; - @Transient @ApiParam(value = "材料类型") private String melType; @@ -561,6 +565,17 @@ public class WmsStockSn extends BaseBean { private Integer z; @Transient + @ApiParam("总重量") + private Double weight; + + @Transient + @ApiParam("道口") + private String dock; + + @Transient + @ApiParam("泊位") + private String zdoc; + @ApiParam("打印类型") private Integer printType; @@ -945,4 +960,8 @@ public class WmsStockSn extends BaseBean { this.zoneNo = zoneNo; this.vendorNo = vendorNo; } + public WmsStockSn(String partNo, Double qty) { + this.partNo = partNo; + this.qty = qty; + } } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTransSn.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTransSn.java index 567b256..30418b4 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTransSn.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTransSn.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.pojo.wms.bean; +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.base.enumutil.WmsEnumUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -90,4 +92,95 @@ public class WmsTransSn extends BaseBean { @Column(name = "SN_STATUS") @ApiParam(value = "条码状态", example = "0") private Integer snStatus; + + @Column(name = "TRANS_QTY", columnDefinition = "decimal(18,8)") + @ColumnDefault("0") + @ApiParam(value = "交易数量") + public Double transQty; + + @Column(name = "SRC_PART_NO") + @ApiParam("源物料编码") + public String srcPartNo; + + @Column(name = "NEW_PART_NO") + @ApiParam("新物料编码") + public String newPartNo; + + @Column(name = "SRC_QTY", columnDefinition = "decimal(18,8)") + @ColumnDefault("0") + @ApiParam(value = "源数量") + public Double srcQty; + + @Column(name = "NEW_QTY", columnDefinition = "decimal(18,8)") + @ColumnDefault("0") + @ApiParam(value = "新数量") + public Double newQty; + + @Column(name = "SRC_SN_STATUS") + @ApiParam(value = "源条码状态") + @AnnoOutputColumn(refClass = WmsEnumUtil.STOCK_SN_STATUS.class) + public Integer srcSnStatus; + + @Column(name = "NEW_SN_STATUS") + @ApiParam(value = "目的条码状态") + @AnnoOutputColumn(refClass = WmsEnumUtil.STOCK_SN_STATUS.class) + public Integer newSnStatus; + + @Column(name = "SRC_QC_STATUS") + @ApiParam(value = "源质量状态") + @AnnoOutputColumn(refClass = WmsEnumUtil.STOCK_SN_QC_STATUS.class) + public Integer srcQcStatus; + + @Column(name = "NEW_QC_STATUS") + @ApiParam(value = "目的质量状态") + @AnnoOutputColumn(refClass = WmsEnumUtil.STOCK_SN_QC_STATUS.class) + public Integer descQcStatus; + + @Column(name = "SRC_WH_NO") + @ApiParam("源仓库代码") + public String srcWhNo; + + @Column(name = "NEW_WH_NO") + @ApiParam("新仓库代码") + public String newWhNo; + + @Column(name = "SRC_ZONE_NO") + @ApiParam("源存储区代码") + public String srcZoneNo; + + @Column(name = "NEW_ZONE_NO") + @ApiParam("新存储区代码") + public String newZoneNo; + + @Column(name = "NEW_LOCATE_NO") + @ApiParam("新库位代码") + public String newLocateNo; + + @Column(name = "SRC_LOCATE_NO") + @ApiParam("源库位代码") + public String srcLocateNo; + + @Column(name = "SRC_ORGANIZE_CODE") + @ApiParam("源工厂代码") + public String srcOrganizeCode; + + @Column(name = "NEW_ORGANIZE_CODE") + @ApiParam("新工厂代码") + public String newOrganizeCode; + + @Column(name = "SRC_IS_DELETED") + @ApiParam("旧软删标识") + public Integer srcIsDeleted; + + @Column(name = "NEW_IS_DELETED") + @ApiParam("新软删标识") + public Integer newIsDeleted; + + @Column(name = "SRC_IS_VALID") + @ApiParam("旧有效标识") + public Integer srcIsValid; + + @Column(name = "NEW_IS_VALID") + @ApiParam("新有效标识") + public Integer newIsValid; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/dbinterface/WmsInterfaceDataMapper.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/dbinterface/WmsInterfaceDataMapper.java index c5fccfa..825d8c6 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/dbinterface/WmsInterfaceDataMapper.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/dbinterface/WmsInterfaceDataMapper.java @@ -195,4 +195,10 @@ public class WmsInterfaceDataMapper extends BaseBean { */ @Transient public Long sid; + + @Column(name = "SPLIT_SIGN") + @ApiParam("分割符号") + private String splitSign; + + } 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 a571907..3f8410e 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 @@ -3222,6 +3222,9 @@ public class WmsHqlPack { DdlPreparedPack.getNumEqualPack(details.getIsRequire(), "isRequire", result); } getStringBuilderPack(details, result); + DdlPreparedPack.getOrderByPack( + new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, + new String[]{"seq"}, result); return result; } @@ -3271,7 +3274,11 @@ public class WmsHqlPack { //查询参数封装 DdlPreparedPack.getStringLikerPack(wmsTestResultDetails.getBhCode(), "bhCode", result); DdlPreparedPack.getStringEqualPack(wmsTestResultDetails.getWorkCenterCode(), "workCenterCode", result); - DdlPreparedPack.getNumEqualPack(wmsTestResultDetails.getCheckTypeCode(), "checkTypeCode", result); + /** + * @Author : gsz 2021/04/09 + * 15635 20027-调角器BH- BH检测结果管理-管理明细增加检测类型代码查询条件 - 20210430 + **/ + DdlPreparedPack.getStringEqualPack(wmsTestResultDetails.getCheckTypeCode(), "checkTypeCode", result); DdlPreparedPack.getStringEqualPack(wmsTestResultDetails.getPartNo(), "partNo", result); DdlPreparedPack.getStringEqualPack(wmsTestResultDetails.getQrCode(), "qrCode", result); if (StringUtils.isNotBlank(wmsTestResultDetails.getCreateDateTimeStart())) { diff --git a/modules/i3plus-pojo-workflow/pom.xml b/modules/i3plus-pojo-workflow/pom.xml index 15d36cd..0fea52b 100644 --- a/modules/i3plus-pojo-workflow/pom.xml +++ b/modules/i3plus-pojo-workflow/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index 48cbd48..f8d2d25 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,8 @@ i3plus.pojo i3plus-pojo pom - 1.0-DEV-SNAPSHOT + 1.0-TEST-SNAPSHOT + modules/i3plus-pojo-base modules/i3plus-pojo-platform diff --git a/sonar-project.properties b/sonar-project.properties index ddb0c5a..a232d36 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -7,8 +7,8 @@ sonar.projectKey=i3plus.pojo:i3plus-pojo sonar.projectName=i3plus-pojo # defaults to 'not provided' -sonar.projectVersion=1.0-DEV-SNAPSHOT - +sonar.projectVersion=1.0.0.1 + # Path is relative to the sonar-project.properties file. Defaults to . #sonar.sources=./ #sonar.java.binaries=target