From 9ee464f67e9edeef2814f168ab48105ec7ce9957 Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 2 Apr 2021 17:53:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8A=A5=E5=B7=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/aps/annotation/ShiftTimeAnnotation.java | 26 ++++++++++++++++++ .../cn/estsh/i3plus/pojo/aps/bean/DayShift.java | 2 ++ .../estsh/i3plus/pojo/aps/bean/ImportDetail.java | 4 +++ .../cn/estsh/i3plus/pojo/aps/bean/RuleDetail.java | 2 +- .../cn/estsh/i3plus/pojo/aps/bean/WorkPlan.java | 8 ++++++ .../cn/estsh/i3plus/pojo/aps/common/BeanInfo.java | 2 ++ .../i3plus/pojo/aps/model/ImportDataModel.java | 27 ++++++++++++++++++ .../pojo/aps/validator/ShiftTimeValidator.java | 32 ++++++++++++++++++++++ 8 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/ShiftTimeAnnotation.java create mode 100644 modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ImportDataModel.java create mode 100644 modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/ShiftTimeValidator.java 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..99eb49b --- /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/DayShift.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java index c6dc31a..ce0d646 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,6 +2,7 @@ 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.InsertGroup; import cn.estsh.i3plus.pojo.aps.validator.UpdateGroup; @@ -42,5 +43,6 @@ public class DayShift extends BaseAPS { @Column(name="WORK_TIMES") @ApiParam(value ="工作时间") @FieldAnnotation(notEmpty = true) + @ShiftTimeAnnotation(groups = {InsertGroup.class, UpdateGroup.class}) private String workTimes; } 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 91d9e6c..be86c15 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 @@ -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.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; @@ -100,6 +101,9 @@ public class ImportDetail extends BaseAPS { @FieldAnnotation(relation = "Project", property = false) private Long projectId; + @FieldAnnotation(property = false) + private transient ImportDataModel model; + public ImportProject getProject() { return BeanRelation.get(this, EImportDetail.Project); } 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/WorkPlan.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkPlan.java index d203846..dc73cb2 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 @@ -108,6 +108,14 @@ 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; 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/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..938bf53 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/ImportDataModel.java @@ -0,0 +1,27 @@ +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; + + private ImportErrorInfo errorInfo; +} 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..3b9bad9 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/ShiftTimeValidator.java @@ -0,0 +1,32 @@ +package cn.estsh.i3plus.pojo.aps.validator; + +import cn.estsh.i3plus.pojo.aps.annotation.ShiftTimeAnnotation; +import cn.estsh.i3plus.pojo.aps.model.TimeBlock; + +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) { + 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; + } +}