Merge branch 'dev' into test

yun-zuoyi
张哲铭 6 years ago
commit 8e19f4dde3

@ -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 ""; // 定义字段类型的简单名称,对于多选关联对象时有用。
}

@ -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;
}

@ -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 ="主键标识")

@ -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;
}

@ -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")

@ -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);
}
}

@ -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<RuleDetail> getDetails() { return BeanRelation.list(this, ERuleGroup.Details); }
}

@ -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<Date> {
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;
}
}

@ -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<Date> {
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));
}
}

@ -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;
}
}

@ -0,0 +1,8 @@
package cn.estsh.i3plus.pojo.aps.enums;
public enum RULE_TYPE {
CANCEL_PLAN,
MAT_CALC,
HEURISTIC,
FIELD_SET
}

@ -0,0 +1,4 @@
package cn.estsh.i3plus.pojo.aps.holders;
public enum EBaseRule {
}

@ -0,0 +1,6 @@
package cn.estsh.i3plus.pojo.aps.holders;
public enum ERuleDetail {
RuleGroup,
Rule
}

@ -0,0 +1,5 @@
package cn.estsh.i3plus.pojo.aps.holders;
public enum ERuleGroup {
Details
}

@ -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<Block> 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;
}

@ -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<RuleDetail, Long> {
}

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<Class name="RuleDetail">
<Relation field="Rule" name="BaseRule" type="MULTI_TO_ONE" owner="false">
</Relation>
</Class>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<Class name="RuleGroup">
<Relation field="Details" name="RuleDetail" reverse="RuleGroup" type="ONE_TO_MULTI" owner="true">
</Relation>
</Class>
Loading…
Cancel
Save