diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/FieldAnnotation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/FieldAnnotation.java index 1eb5b9d..48942c2 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/FieldAnnotation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/annotation/FieldAnnotation.java @@ -25,5 +25,6 @@ public @interface FieldAnnotation { String defaultValue() default ""; // 字段的默认值 boolean popSearch() default false; // 弹出选择对象时是否显示 EDIT_TYPE editType() default EDIT_TYPE.NONE; // 定义字段的编辑类型 + Class multiEnumClass() default Object.class; // 多选枚举的类型。 String typeName() default ""; // 定义字段类型的简单名称,对于多选关联对象时有用。 } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseRule.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseRule.java index 451a8f4..ff8a94e 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseRule.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseRule.java @@ -1,6 +1,12 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.MappedSuperclass; /** * @Description :规则基类 @@ -9,5 +15,11 @@ import cn.estsh.i3plus.pojo.aps.common.BaseAPS; * @CreateDate : 2019-09-17 * @Modify: **/ +@Data +@MappedSuperclass +@Api("规则参数基类") public class BaseRule extends BaseAPS { + @Column(name="CODE") + @ApiParam(value ="规则编码") + private String code; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java index ea3296d..e155d1e 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java @@ -75,7 +75,7 @@ public class FieldInfo extends BaseCode { @Column(name="POSITION") @ApiParam(value ="位置") - private String position; + private Integer position; @Column(name="MAIN_KEY") @ApiParam(value ="主键标识") 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 13689af..b350517 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 @@ -1,9 +1,12 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; +import cn.estsh.i3plus.pojo.aps.enums.EDIT_TYPE; import cn.estsh.i3plus.pojo.aps.enums.ORDER_DEL_LIMIT; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; +import org.hibernate.annotations.Fetch; import javax.persistence.Column; import javax.persistence.Entity; @@ -39,6 +42,7 @@ public class MatCalcRule extends BaseRule { @Column(name="DEL_LIMIT") @ApiParam(value ="删除补充订单限制条件") + @FieldAnnotation(defaultValue = "NONE") private ORDER_DEL_LIMIT delLimit; @Column(name="KEEP_RELATION") @@ -55,6 +59,7 @@ public class MatCalcRule extends BaseRule { @Column(name="ASSIGN_LIMIT") @ApiParam(value ="物料分配制约") + @FieldAnnotation(editType = EDIT_TYPE.MULTI_ENUM, defaultValue = "NONE") private Integer assignLimit; } 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 125255d..fd7bd8f 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 @@ -3,6 +3,7 @@ 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.enums.CALENDAR_WEEK; import cn.estsh.i3plus.pojo.aps.enums.EDIT_TYPE; import cn.estsh.i3plus.pojo.aps.holders.EResCalendar; import com.fasterxml.jackson.annotation.JsonBackReference; @@ -34,6 +35,7 @@ public class ResCalendar extends BaseAPS { @Column(name="WEEKS") @ApiParam(value ="星期") + @FieldAnnotation(multiEnumClass = CALENDAR_WEEK.class) private Integer weeks; @Column(name="DATES") 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 new file mode 100644 index 0000000..7ae8cbf --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleDetail.java @@ -0,0 +1,56 @@ +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.enums.RULE_TYPE; +import cn.estsh.i3plus.pojo.aps.holders.ERuleDetail; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :规则组合下的规则明细 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-11-05 + * @Modify: + **/ +@Data +@Entity +@Table(name = "APS_RULE_DETAIL") +@Api("规则明细") +public class RuleDetail extends BaseAPS { + + @Column(name="TYPE") + @ApiParam(value ="规则类型") + private RULE_TYPE type; + + @Column(name="RULE_GROUP_ID") + @ApiParam(value ="规则组合ID") + @FieldAnnotation(property = false) + private Long ruleGroupId; + + @Column(name="RULE_ID") + @ApiParam(value ="规则配置ID") + @FieldAnnotation(property = false) + private Long ruleId; + + public RuleGroup getRuleGroup() { return BeanRelation.get(this, ERuleDetail.RuleGroup); } + + public void setRuleGroup(RuleGroup ruleGroup) { + this.ruleGroupId = ruleGroup != null ? ruleGroup.getId() : 0; + BeanRelation.set(this, ERuleDetail.RuleGroup, ruleGroup); + } + + public BaseRule getRule() { return BeanRelation.get(this, ERuleDetail.Rule); } + + public void setRule(BaseRule rule) { + this.ruleId = rule != null ? rule.getId() : 0; + BeanRelation.set(this, ERuleDetail.Rule, rule); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleGroup.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleGroup.java index 70eb6ad..6ad589e 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleGroup.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleGroup.java @@ -1,11 +1,17 @@ package cn.estsh.i3plus.pojo.aps.bean; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.ERuleGroup; +import com.fasterxml.jackson.annotation.JsonBackReference; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; import lombok.Data; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import java.util.List; /** * @Description :规则组合 @@ -19,4 +25,14 @@ import javax.persistence.Table; @Table(name = "APS_RULE_GROUP") @Api("规则组合") public class RuleGroup extends BaseAPS { + @Column(name="CODE") + @ApiParam(value ="编码") + private String code; + + @Column(name="ORDER_NUMBER") + @ApiParam(value ="序号") + private Integer orderNumber; + + @JsonBackReference + List getDetails() { return BeanRelation.list(this, ERuleGroup.Details); } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/converter/CustomDateDeserializer.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/converter/CustomDateDeserializer.java new file mode 100644 index 0000000..20863b2 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/converter/CustomDateDeserializer.java @@ -0,0 +1,25 @@ +package cn.estsh.i3plus.pojo.aps.converter; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class CustomDateDeserializer extends JsonDeserializer { + public static SimpleDateFormat DATETIME_FORMATOR = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + @Override + public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { + try { + return DATETIME_FORMATOR.parse(jsonParser.getText()); + } catch (ParseException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/converter/CustomDateSerializer.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/converter/CustomDateSerializer.java new file mode 100644 index 0000000..8b8780d --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/converter/CustomDateSerializer.java @@ -0,0 +1,18 @@ +package cn.estsh.i3plus.pojo.aps.converter; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class CustomDateSerializer extends JsonSerializer { + public static SimpleDateFormat DATETIME_FORMATOR = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + @Override + public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + jsonGenerator.writeString(DATETIME_FORMATOR.format(date)); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/CALENDAR_WEEK.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/CALENDAR_WEEK.java new file mode 100644 index 0000000..c89ca37 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/CALENDAR_WEEK.java @@ -0,0 +1,21 @@ +package cn.estsh.i3plus.pojo.aps.enums; + +public enum CALENDAR_WEEK { + MONDAY(1), // 星期一 + TUESDAY(2), // 星期二 + WEDNESDAY(4), // 星期三 + THURSDAY(8), // 星期四 + FRIDAY(16), // 星期五 + SATURDAY(32), // 星期六 + SUNDAY(64); // 星期天 + + private int _value; + + CALENDAR_WEEK(int value) { + _value = value; + } + + public int value() { + return this._value; + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/RULE_TYPE.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/RULE_TYPE.java new file mode 100644 index 0000000..3cfede4 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/RULE_TYPE.java @@ -0,0 +1,8 @@ +package cn.estsh.i3plus.pojo.aps.enums; + +public enum RULE_TYPE { + CANCEL_PLAN, + MAT_CALC, + HEURISTIC, + FIELD_SET +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EBaseRule.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EBaseRule.java new file mode 100644 index 0000000..9753913 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EBaseRule.java @@ -0,0 +1,4 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EBaseRule { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/ERuleDetail.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/ERuleDetail.java new file mode 100644 index 0000000..d63f726 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/ERuleDetail.java @@ -0,0 +1,6 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum ERuleDetail { + RuleGroup, + Rule +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/ERuleGroup.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/ERuleGroup.java new file mode 100644 index 0000000..db3dba0 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/ERuleGroup.java @@ -0,0 +1,5 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum ERuleGroup { + Details +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/GanttCalendarModel.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/GanttCalendarModel.java index f25c1f7..06540a5 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/GanttCalendarModel.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/GanttCalendarModel.java @@ -1,25 +1,23 @@ package cn.estsh.i3plus.pojo.aps.model; -import com.fasterxml.jackson.annotation.JsonFormat; +import cn.estsh.i3plus.pojo.aps.converter.CustomDateDeserializer; +import cn.estsh.i3plus.pojo.aps.converter.CustomDateSerializer; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; -import java.util.ArrayList; import java.util.Date; -import java.util.List; @Data public class GanttCalendarModel { - @Data - public static class Block { - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date beginTime; - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date endTime; - private Boolean onDuty; - } - private Long resourceId; - private List timeBlocks = new ArrayList<>(); + private Long parent; + @JsonSerialize(using = CustomDateSerializer.class) + @JsonDeserialize(using = CustomDateDeserializer.class) + private Date start_date; + @JsonSerialize(using = CustomDateSerializer.class) + @JsonDeserialize(using = CustomDateDeserializer.class) + private Date end_date; + private String color; + private Long id; + private String text; } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/RuleDetailRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/RuleDetailRepository.java new file mode 100644 index 0000000..497ea8a --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/RuleDetailRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.RuleDetail; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface RuleDetailRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/RuleDetail.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/RuleDetail.xml new file mode 100644 index 0000000..c306489 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/RuleDetail.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/RuleGroup.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/RuleGroup.xml new file mode 100644 index 0000000..bf4dafa --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/RuleGroup.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java index a2e6054..6c2d59d 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java @@ -1134,4 +1134,51 @@ public class CommonEnumUtil { // 数据未删除的静态常量 public static final int FALSE = CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(); + /** + * 日志记录方式 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum LOG_DETAIL_SHOW_TYPE { + DEBUG(1, "DEBUG"), + OVER_TIME(2, "记录超时服务"), + ALL_METHOD(3, "所有服务"), + ALL_METHOD_PARAMETER(4, "所有服务和入参"); + + private int value; + private String description; + + private LOG_DETAIL_SHOW_TYPE(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOf(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + + public static int descOf(String desc) { + int tmp = 1; + for (int i = 0; i < values().length; i++) { + if (values()[i].description.equals(desc)) { + tmp = values()[i].value; + } + } + return tmp; + } + } + } 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 fa79978..8908c3e 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 @@ -12,6 +12,121 @@ import com.fasterxml.jackson.annotation.JsonFormat; public class MesEnumUtil { + + /** + * Mes 客户订单来源 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum CUST_ORDER_SOURCE { + + MES("MES", "来源于MES"), + SAP("SAP", "来源于SAP"); + + private String value; + private String description; + + CUST_ORDER_SOURCE(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOfDescription(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value.equals(val)) { + tmp = values()[i].description; + } + } + return tmp; + } + } + + /** + * MesCustOrder 订单类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum CUST_ORDER_TYPE { + + STANDARD(10, "标准"); + + private int value; + private String description; + + CUST_ORDER_TYPE(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOfDescription(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + } + + /** + * MesCustOrder实体对应的status值 状态 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum CUST_ORDER_STATUS { + + CREATE(10, "CREATED", "创建"), + DEAL(20, "DEAL", "已处理"), + CLOSE(30, "CLOSE", "关闭"); + + private int value; + private String code; + private String description; + + CUST_ORDER_STATUS(int value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + + public static String valueOfDescription(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + } + /** * MesProductEncodeCfg 匹配类型 */ @@ -737,7 +852,8 @@ public class MesEnumUtil { MES_PLAN_ORDER(10, "生产计划"), MES_EQUIPMENT(20, "设备台账"), - MES_EQU_TASK_STANDARD(30, "设备作业要求"); + MES_EQU_TASK_STANDARD(30, "设备作业要求"), + MES_CUST_ORDER(40, "客户订单"); private int value; private String description; @@ -2601,7 +2717,9 @@ public class MesEnumUtil { OPC_LINK_PASSWORD(120, "OPC_LINK", "OPC_LINK_PASSWORD"), OPC_LINK_REALM(130, "OPC_LINK", "OPC_LINK_REALM"), OPC_LINK_CALLBACK(140, "OPC_LINK", "OPC_LINK_CALLBACK"), - SUPPLY_SWITCH(150,"SUPPLY_SWITCH",""); + SUPPLY_SWITCH(150,"SUPPLY_SWITCH",""), + PCN_LOGIN(160, "PCN_LOGIN",""), + PCN_MENU(170, "PCN_MENU",""); private int value; diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java index 457f5e5..3ae0e7f 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java @@ -624,7 +624,10 @@ public class WmsEnumUtil { VDA_REPORT(250, "VDA_REPORT", "VDA生产报工"), VDA_PR_INSTOCK(260, "VDA_PR_INSTOCK", "VDA生产推荐入库"), VDA_PICKING_GOODS(270, "VDA_PICKING_GOODS", "VDA生产领料"), - VDA_ONE_PICKING_GOODS(280, "VDA_ONE_PICKING_GOODS", "VDA单箱领料"); + VDA_ONE_PICKING_GOODS(280, "VDA_ONE_PICKING_GOODS", "VDA单箱领料"), + VDA_QC(290, "VDA_QC", "VDA质检"), + VDA_SN_SPLIT(300, "VDA_SN_SPLIT", "VDA物料拆分"), + VDA_SN_MERGE(310, "VDA_SN_MERGE", "VDA物料合并"); private int value; @@ -803,7 +806,10 @@ public class WmsEnumUtil { VDA_NC_UN_FREEZE("VDA_NC_UN_FREEZE", "VDA_NC解冻"), VDA_PART_BOXING_ERROR_PROOFING("VDA_PART_BOXING_ERROR_PROOFING", "VDA装箱防错"), VDA_SN_SPLIT("VDA_SN_SPLIT", "VDA条码拆分"), - VDA_SN_("VDA_SN_MERGE", "VDA条码合并"); + VDA_SN_("VDA_SN_MERGE", "VDA条码合并"), + VDA_SCAN_QUERY("VDA_SCAN_QUERY", "VDA扫描查询"), + VDA_TRANSACTION_QUERY("VDA_TRANSACTION_QUERY","VDA事务查询"); + private String value; private String description; @@ -2805,6 +2811,7 @@ public class WmsEnumUtil { return tmp; } } + /** * 任务数据来源:检查子数据 */ @@ -3614,7 +3621,7 @@ public class WmsEnumUtil { LINE(10, "LINE", "产线"), CUSTOMER(20, "CUSTOMER", "客户"), VENDOR(30, "VENDOR", "供应商"), - BOXING_ERROR_PROOFING(40, "BOXING_ERROR_PROOFING","装箱防错"); + BOXING_ERROR_PROOFING(40, "BOXING_ERROR_PROOFING", "装箱防错"); private int value; private String code; @@ -3965,4 +3972,38 @@ public class WmsEnumUtil { return tmp; } } + + /** + * 日志推送至MQ的处理类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum LOG_TO_MQ_HANDLE_TYPE { + INSERT(10, "新增"), UPDATE(20, "修改"), DELETE(30, "删除"); + + private int value; + private String description; + + LOG_TO_MQ_HANDLE_TYPE(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOf(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + } } \ No newline at end of file diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesDismantleRecord.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesDismantleRecord.java index ea4b34b..33b2402 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesDismantleRecord.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesDismantleRecord.java @@ -85,6 +85,10 @@ public class MesDismantleRecord extends BaseBean { @ApiParam("备注") private String memo; + @Column(name = "LOT_NO") + @ApiParam("关联批次") + private String lotNo; + @Transient private String serialNumber; } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSysUserOffline.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSysUserOffline.java index e0cd19d..e2dbc11 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSysUserOffline.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSysUserOffline.java @@ -10,10 +10,7 @@ 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.Transient; +import javax.persistence.*; import java.util.List; /** @@ -49,13 +46,13 @@ public class MesPcnSysUserOffline extends BaseBean { @ApiParam(value = "登陆名称", access = "登陆名称") private String loginName; - @Column(name = "ORGANIZE_ID") - @ApiParam(value = "部门ID", example = "-1") - @JsonSerialize(using = ToStringSerializer.class) - private Long organizeId; + @Column(name="USER_TYPE") + @ApiParam(value ="账号类型(枚举,待定)" , example ="-1") + private Integer userType; - @Column(name = "ORGANIZE_NAME") - @ApiParam(value = "部门名称", access = "部门名称") - private String organizeName; + @Lob + @Column(name="MENU_LIST") + @ApiParam(value ="菜单" , access ="菜单") + private String menuList; } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/MesProdBindRecordModel.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/MesProdBindRecordModel.java index 42840a9..1487bb8 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/MesProdBindRecordModel.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/MesProdBindRecordModel.java @@ -46,11 +46,13 @@ public class MesProdBindRecordModel { private String modifyDatetime; @ApiParam("产品条码") private String serialNumber; + @ApiParam("关联批次") + private String lotNo; public MesProdBindRecordModel() { } - public MesProdBindRecordModel(Long id, String itemPartNo, String itemPartName, Integer isValid, Integer isDeleted, String organizeCode, Integer isFeed, String workCenterCode, String workCellCode, String kpSn, String parentPartNo, String parentPartName, Double dismantleQty) { + public MesProdBindRecordModel(Long id, String itemPartNo, String itemPartName, Integer isValid, Integer isDeleted, String organizeCode, Integer isFeed, String workCenterCode, String workCellCode, String kpSn, String parentPartNo, String parentPartName, Double dismantleQty, String lotNo) { this.id = id; this.itemPartNo = itemPartNo; this.itemPartName = itemPartName; @@ -64,9 +66,10 @@ public class MesProdBindRecordModel { this.parentPartNo = parentPartNo; this.parentPartName = parentPartName; this.dismantleQty = dismantleQty; + this.lotNo = lotNo; } - public MesProdBindRecordModel(Long id, String itemPartNo, String itemPartName, Double qty, Integer isValid, Integer isDeleted, String organizeCode, Integer isFeed, String workCenterCode, String workCellCode, String kpSn, String parentPartNo, String parentPartName) { + public MesProdBindRecordModel(Long id, String itemPartNo, String itemPartName, Double qty, Integer isValid, Integer isDeleted, String organizeCode, Integer isFeed, String workCenterCode, String workCellCode, String kpSn, String parentPartNo, String parentPartName, String lotNo) { this.id = id; this.itemPartNo = itemPartNo; this.itemPartName = itemPartName; @@ -80,9 +83,10 @@ public class MesProdBindRecordModel { this.kpSn = kpSn; this.parentPartNo = parentPartNo; this.parentPartName = parentPartName; + this.lotNo = lotNo; } - public MesProdBindRecordModel(Long id, String itemPartNo, String itemPartName, Double qty, Integer isValid, Integer isDeleted, String organizeCode, Integer isFeed, String workCenterCode, String workCellCode, String kpSn, String parentPartNo, String parentPartName, String createUser, String createDatetime, String modifyUser, String modifyDatetime, String serialNumber) { + public MesProdBindRecordModel(Long id, String itemPartNo, String itemPartName, Double qty, Integer isValid, Integer isDeleted, String organizeCode, Integer isFeed, String workCenterCode, String workCellCode, String kpSn, String parentPartNo, String parentPartName, String createUser, String createDatetime, String modifyUser, String modifyDatetime, String serialNumber, String lotNo) { this.id = id; this.itemPartNo = itemPartNo; this.itemPartName = itemPartName; @@ -101,9 +105,10 @@ public class MesProdBindRecordModel { this.modifyUser = modifyUser; this.modifyDatetime = modifyDatetime; this.serialNumber = serialNumber; + this.lotNo = lotNo; } - public MesProdBindRecordModel(String itemPartNo, Double qty, Integer isValid, Integer isDeleted, String organizeCode, Integer isFeed, String workCenterCode, String workCellCode, String kpSn, String parentPartNo, String serialNumber) { + public MesProdBindRecordModel(String itemPartNo, Double qty, Integer isValid, Integer isDeleted, String organizeCode, Integer isFeed, String workCenterCode, String workCellCode, String kpSn, String parentPartNo, String serialNumber, String lotNo) { this.itemPartNo = itemPartNo; this.qty = qty; this.isValid = isValid; @@ -115,5 +120,6 @@ public class MesProdBindRecordModel { this.kpSn = kpSn; this.parentPartNo = parentPartNo; this.serialNumber = serialNumber; + this.lotNo = lotNo; } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCustOrder.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCustOrder.java new file mode 100644 index 0000000..3758b18 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCustOrder.java @@ -0,0 +1,83 @@ +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.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.persistence.Transient; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate: 2019\11\6 11:45 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_CUST_ORDER") +@Api("客户信息") +public class MesCustOrder extends BaseBean { + + @Column(name = "ORDER_NO") + @ApiParam("订单号") + private String orderNo; + + @Column(name = "ORDER_TYPE") + @ApiParam("订单类型") + private Integer orderType; + + @Column(name = "PART_NO") + @ApiParam("物料号") + private String partNo; + + @Column(name = "PART_NAME") + @ApiParam("物料名称") + private String partName; + + @Column(name = "QTY") + @ApiParam("数量") + private Integer qty; + + @Column(name = "STATUS") + @ApiParam("状态") + private Integer status; + + @Column(name = "ORDER_DATE") + @ApiParam("订单日期") + private String orderDate; + + @Column(name = "CUST_CODE") + @ApiParam("客户代码") + private String custCode; + + @Column(name = "CUST_ORDER_NO") + @ApiParam("客户订单号") + private String custOrderNo; + + @Column(name = "SOURCE") + @ApiParam("计划来源") + private String source; + + @Column(name = "MEMO") + @ApiParam("备注") + private String memo; + + @Transient + @ApiParam(value = "订单日期查询用,查询开始日期", example = "2019-01-31 23:59:59") + public String orderTimeStart; + + @Transient + @ApiParam(value = "订单日期查询用,查询结束日期", example = "2019-12-31 23:59:59") + public String orderTimeEnd; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesCustOrderRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesCustOrderRepository.java new file mode 100644 index 0000000..fb4baa8 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesCustOrderRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesCustOrder; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate: 2019\11\6 13:47 + * @Modify: + **/ +public interface MesCustOrderRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java index a524002..514f70f 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java @@ -1706,4 +1706,37 @@ public class MesHqlPack { } return packBean; } + + /** + * 客户订单 + * @param mesCustOrder + * @param organizeCode + * @return + */ + public static DdlPackBean getMesCustOrder(MesCustOrder mesCustOrder, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(mesCustOrder, organizeCode); + if (!StringUtils.isEmpty(mesCustOrder.getPartNo())) { + DdlPreparedPack.getStringLikerPack(mesCustOrder.getPartNo(), "partNo", packBean); + } + if (!StringUtils.isEmpty(mesCustOrder.getCustCode())) { + DdlPreparedPack.getStringEqualPack(mesCustOrder.getCustCode(), "custCode", packBean); + } + if (!StringUtils.isEmpty(mesCustOrder.getCustOrderNo())) { + DdlPreparedPack.getStringEqualPack(mesCustOrder.getCustOrderNo(), "custOrderNo", packBean); + } + if (!StringUtils.isEmpty(mesCustOrder.getCreateUser())) { + DdlPreparedPack.getStringLikerPack(mesCustOrder.getCreateUser(), "createUser", packBean); + } + if (mesCustOrder.getOrderType() != null) { + DdlPreparedPack.getNumEqualPack(mesCustOrder.getOrderType(), "orderType", packBean); + } + if (mesCustOrder.getStatus() != null) { + DdlPreparedPack.getNumEqualPack(mesCustOrder.getStatus(), "status", packBean); + } + DdlPreparedPack.timeBuilder( + mesCustOrder.getOrderTimeStart(), + mesCustOrder.getOrderTimeEnd(), + "orderDate", packBean, true); + return packBean; + } } diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsLogInfoSendToMqModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsLogInfoSendToMqModel.java new file mode 100644 index 0000000..c6d2d19 --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsLogInfoSendToMqModel.java @@ -0,0 +1,29 @@ +package cn.estsh.i3plus.pojo.model.wms; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import java.io.Serializable; + +/** + * 操作日志信息推送至队列后台处理 + */ +@Data +public class WmsLogInfoSendToMqModel implements Serializable { + private static final long serialVersionUID = -5490167040159056107L; + @ApiParam("处理类型") + private int handleType; + @ApiParam("日志对象DAO层") + private String baseRepository; + @ApiParam("日志对象(新增)") + private BaseBean logBean; + @ApiParam("查询条件名称(修改)") + private String[] conditionNames; + @ApiParam("查询条件值(修改)") + private Object[] conditionValues; + @ApiParam("更新条件名称(修改)") + private String[] updateNames; + @ApiParam("更新条件值(修改)") + private Object[] updateValues; +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveDetails.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveDetails.java index 0a90db5..208e2ca 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveDetails.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveDetails.java @@ -27,6 +27,7 @@ import javax.persistence.*; @Table(name = "WMS_MOVE_DETAILS", indexes = { @Index(columnList = "PART_NO"), @Index(columnList = "ORDER_NO"), + @Index(columnList = "ITEM_STATUS"), @Index(columnList = "ORGANIZE_CODE") }) @Api("库存移动单明细信息") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveMaster.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveMaster.java index 3f75fd5..335aac9 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveMaster.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveMaster.java @@ -27,6 +27,7 @@ import javax.persistence.*; @Table(name = "WMS_MOVE_MASTER", indexes = { @Index(columnList = "TRANS_TYPE_CODE"), @Index(columnList = "ORDER_NO"), + @Index(columnList = "ORDER_STATUS"), @Index(columnList = "ORGANIZE_CODE") }) @Api("库存移动单主表信息") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveSn.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveSn.java index de05dbf..b5d15ec 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveSn.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveSn.java @@ -28,6 +28,7 @@ import javax.persistence.*; @Table(name = "WMS_MOVE_SN", indexes = { @Index(columnList = "PART_NO"), @Index(columnList = "ORDER_NO"), + @Index(columnList = "ITEM_STATUS"), @Index(columnList = "SN"), @Index(columnList = "ORGANIZE_CODE") }) @@ -224,7 +225,6 @@ public class WmsMoveSn extends BaseBean { this.transTypeCode = transTypeCode; this.refSrc = refSrc; } - public WmsMoveSn(String partNo, String partNameRdd, Double destQty, String transTypeCode, String refSrc) { this.partNo = partNo; this.partNameRdd = partNameRdd; @@ -233,6 +233,16 @@ public class WmsMoveSn extends BaseBean { this.refSrc = refSrc; } + public WmsMoveSn(String partNo, String srcLocateNo, String destLocateNo, String createUser, String createDatetime, Integer busiTypeCode, Double qty) { + this.partNo = partNo; + this.srcLocateNo = srcLocateNo; + this.destLocateNo = destLocateNo; + this.createUser = createUser; + this.createDatetime = createDatetime; + this.busiTypeCode = busiTypeCode; + this.qty = qty; + } + public WmsMoveSn(String organizeCode, String orderNo, Integer item, String partNo, String partNameRdd, String transTypeCode, String transTypeName, Integer itemStatus, String unit, String srcLocateNo, String destLocateNo, Double srcQty, Double destQty, Integer srcQcStatus, Integer descQcStatus, Integer srcSnStatus, Integer destSnStatus, String lotNo, String dateCode, String refSrc, String destZoneNo, String destWhNo, Integer busiTypeCode, String sn, diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java index d44f335..d566fe1 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java @@ -166,6 +166,10 @@ public class WmsPart extends BaseBean { @ApiParam("报工产线") private String productLines; + @Column(name = "PROPORTION", columnDefinition = "decimal(10,5)") + @ApiParam(value = "待质检比例", example = "1") + private Double proportion; + @Transient @ApiParam("总数量") private Double qty;