From ae88dda60d90bb36d86fa57eb1a5638972498670 Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 23 Apr 2021 17:43:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EMDM=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=B7=A5=E5=85=B7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/aps/annotation/CalendarTimeAnntation.java | 26 +++++++++++++ .../pojo/aps/annotation/ShiftTimeAnnotation.java | 2 +- .../estsh/i3plus/pojo/aps/bean/ImportDetail.java | 5 +++ .../cn/estsh/i3plus/pojo/aps/bean/Inventory.java | 7 ++++ .../cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java | 5 +++ .../cn/estsh/i3plus/pojo/aps/bean/SalesOrder.java | 4 ++ .../cn/estsh/i3plus/pojo/aps/bean/WorkPlan.java | 2 + .../cn/estsh/i3plus/pojo/aps/common/BaseAPS.java | 3 ++ .../pojo/aps/validator/CalendarTimeValidator.java | 43 ++++++++++++++++++++++ .../i3plus/pojo/base/enumutil/ApsEnumUtil.java | 33 +++++++++++++++-- 10 files changed, 125 insertions(+), 5 deletions(-) create mode 100644 modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/CalendarTimeAnntation.java create mode 100644 modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/validator/CalendarTimeValidator.java 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/ShiftTimeAnnotation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/ShiftTimeAnnotation.java index 99eb49b..bacebdd 100644 --- 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 @@ -10,7 +10,7 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** - * @Description : 主键校验注解 + * @Description : 班次时间校验注解 * @Reference : * @Author : jason.niu * @CreateDate : 2019-11-29 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 e6c5b73..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 @@ -48,6 +48,11 @@ public class ImportDetail extends BaseAPS { @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) 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 bc0c601..dc3d2dd 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 @@ -4,6 +4,7 @@ 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; @@ -31,6 +32,12 @@ import java.util.List; @Api("库存") public class Inventory extends BaseOrder { private static final long serialVersionUID = 2378846162007550439L; + + @Column(name="ORDER_STATUS") + @ApiParam(value ="订单状态") + @FieldAnnotation(defaultValue = "UNCOMMIT") + private ApsEnumUtil.INVENTORY_ORDER_STATUS orderStatus = ApsEnumUtil.INVENTORY_ORDER_STATUS.UNCOMMIT; + @Column(name="SPECIFY_TOP_ORDER") @ApiParam(value ="指定顶层订单") private String specifyTopOrder; 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 cc237ef..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; @@ -44,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/SalesOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SalesOrder.java index 7911052..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 @@ -65,6 +65,10 @@ public class SalesOrder extends BaseOrder { @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/WorkPlan.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkPlan.java index dc73cb2..41d25bc 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; @@ -148,6 +149,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/common/BaseAPS.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseAPS.java index e9535e3..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); } 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-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 e948e9b..9aaaa9d 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 @@ -743,7 +743,7 @@ public class ApsEnumUtil { PLANDONE("PLANDONE", "计划完毕"), INDICATIONDONE("INDICATIONDONE", "锁定"), CONFIRM("CONFIRM", "下发"), - STARTPRODUCT("STARTPRODUCT", "开始生产"), + STARTPRODUCT("STARTPRODUCT", "生产中"), FINISH("FINISH", "完成"); private String value; @@ -1176,12 +1176,37 @@ public class ApsEnumUtil { } /** + * 库存订单状态 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum INVENTORY_ORDER_STATUS { + UNCOMMIT("UNCOMMIT", "待处理"), + COMMIT("COMMIT", "确认"); + + private String value; + private String description; + + INVENTORY_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", "提交"); + UNCOMMIT("UNCOMMIT", "待处理"), + COMMIT("COMMIT", "确认"); private String value; private String description; @@ -1235,7 +1260,7 @@ public class ApsEnumUtil { PURCHASE_ORDER("P", "采购订单"), INVENTORY("W", "库存订单"), SAFE_STOCK_ORDER("Q", "安全库存订单"), - INSERTED_ORDER("H", "插单"); + INSERTED_ORDER("I", "插单"); private String value; private String description;