1:增加多选枚举的功能。

yun-zuoyi
钮海涛 6 years ago
parent f85dd4cbe5
commit 6be9a55983

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

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

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

@ -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.RULE_TYPE;
import cn.estsh.i3plus.pojo.aps.holders.ERuleDetail;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
@ -24,6 +25,11 @@ import javax.persistence.Table;
@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)
@ -34,16 +40,16 @@ public class RuleDetail extends BaseAPS {
@FieldAnnotation(property = false)
private Long ruleId;
RuleGroup getRuleGroup() { return BeanRelation.get(this, ERuleDetail.RuleGroup); }
public RuleGroup getRuleGroup() { return BeanRelation.get(this, ERuleDetail.RuleGroup); }
void setRuleGroup(RuleGroup ruleGroup) {
public void setRuleGroup(RuleGroup ruleGroup) {
this.ruleGroupId = ruleGroup != null ? ruleGroup.getId() : 0;
BeanRelation.set(this, ERuleDetail.RuleGroup, ruleGroup);
}
BaseRule getRule() { return BeanRelation.get(this, ERuleDetail.Rule); }
public BaseRule getRule() { return BeanRelation.get(this, ERuleDetail.Rule); }
void setRule(BaseRule rule) {
public void setRule(BaseRule rule) {
this.ruleId = rule != null ? rule.getId() : 0;
BeanRelation.set(this, ERuleDetail.Rule, rule);
}

@ -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,22 @@
package cn.estsh.i3plus.pojo.aps.enums;
public enum CALENDAR_WEEK {
NONE(0), // 不进行任何制约
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
}

@ -1,26 +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 {
private Long resourceId;
@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;
}

Loading…
Cancel
Save