新增报工功能

yun-zuoyi
钮海涛 4 years ago
parent 23f6f9285b
commit 9ee464f67e

@ -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<? extends Payload>[] payload() default {};
}

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

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

@ -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 ="序号")

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

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

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

@ -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<ShiftTimeAnnotation, String> {
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;
}
}
Loading…
Cancel
Save