Merge branches 'master' and 'test' of http://git.estsh.com/i3-IMPP/i3plus-pojo

yun-zuoyi
许心洁 6 years ago
commit 13c11c20fd

@ -28,7 +28,7 @@ import javax.persistence.Transient;
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Api("ANDON_呼叫原因")
@Api(value = "ANDON_呼叫原因")
public class AndonAlarmCause extends BaseBean {
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
@ -40,6 +40,7 @@ public class AndonAlarmCause extends BaseBean {
@ApiParam(value = "呼叫原因代码")
private String acCode;
@AnnoOutputColumn(hidden = true)
@Column(name = "PARENT_AC_CODE")
@ApiParam(value = "父阶原因代码")
private String parentAcCode;
@ -48,10 +49,12 @@ public class AndonAlarmCause extends BaseBean {
@ApiParam(value = "呼叫原因描述")
private String acName;
@AnnoOutputColumn(hidden = true)
@Transient
@ApiParam(value = "工作中心")
private String workCenterCode;
@AnnoOutputColumn(hidden = true)
@Transient
@ApiParam(value = "工作单元")
private String workCellCode;

@ -31,15 +31,15 @@ import javax.persistence.Table;
public class AndonAlarmDetailType extends BaseBean {
@Column(name = "ALARM_DETAIL_CODE")
@ApiParam(value = "安灯类型代码")
@ApiParam(value = "安灯子类型编码")
private String alarmDetailCode;
@Column(name = "ALARM_DETAIL_NAME")
@ApiParam(value = "安灯类型名称")
@ApiParam(value = "安灯类型名称")
private String alarmDetailName;
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型代码")
@ApiParam(value = "安灯类型")
private String alarmCode;
}

@ -32,16 +32,16 @@ public class AndonAlarmResponseCfg extends BaseBean {
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型代码")
@ApiParam(value = "安灯类型")
private String alarmCode;
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_STATUS.class,refForeignKey = "value",value = "description")
@AnnoOutputColumn(refClass = AndonEnumUtil.ANDON_ACTION_TAG.class,refForeignKey = "code",value = "description")
@Column(name = "ANDON_STATUS")
@ApiParam(value = "安灯状态")
private String andonStatus;
@Column(name = "RP_WHERE")
@ApiParam(value = "通知条件时长")
@ApiParam(value = "通知时间")
private String rpWhere;
@AnnoOutputColumn(refClass = AndonEnumUtil.NOTICE_MESSAGE_SEND_TYPE.class,refForeignKey = "value",value = "description")
@ -50,7 +50,7 @@ public class AndonAlarmResponseCfg extends BaseBean {
private String rpCode;
@Column(name = "RP_OBJECT_CODE")
@ApiParam(value = "通知对象代码")
@ApiParam(value = "通知对象")
private String rpObjectCode;
@AnnoOutputColumn(refClass = AndonEnumUtil.NOTICE_MESSAGE_SEND_LEVEL.class,refForeignKey = "value",value = "description")
@ -59,9 +59,10 @@ public class AndonAlarmResponseCfg extends BaseBean {
private String rpLevel;
@Column(name = "WORK_CENTER_CODE")
@ApiParam(value = "工作中心代码")
@ApiParam(value = "工作中心")
private String workCenterCode;
@AnnoOutputColumn(hidden = true)
@Column(name = "WORK_CENTER_NAME_RDD")
@ApiParam(value = "工作中心名称")
private String workCenterNameRdd;

@ -32,6 +32,10 @@ public class AndonBroadCast extends BaseBean {
@ApiParam("广播设备编号")
private String targetIds;
@Column(name="GROUP_NO")
@ApiParam("分组号")
private String groupNo;
@Column(name="WORK_CENTER_CODE")
@ApiParam("工作中心")
private String workCenterCode;

@ -35,11 +35,15 @@ public class AndonBroadCastCfg extends BaseBean {
@ApiParam("安灯类型代码")
private String alarmCode;
@Column(name="DEVICE_NUM")
@ApiParam("广播设备编号")
private String targetIds;
// @Column(name="DEVICE_NUM")
// @ApiParam("广播设备编号")
// private String targetIds;
@Column(name="WORK_CENTER_CODE")
@ApiParam("工作中心")
private String workCenterCode;
@Column(name="GROUP_NO")
@ApiParam("分组号")
private String groupNo;
}

@ -29,22 +29,20 @@ import javax.persistence.Table;
@EqualsAndHashCode(callSuper = true)
@Api("ANDON_工作单元呼叫原因配置")
public class AndonCellAlarmCause extends BaseBean {
@Column(name = "WORK_CENTER_CODE")
@ApiParam(value = "工作中心代码")
private String workCenterCode;
@Column(name = "WORK_CELL_CODE")
@ApiParam(value = "工作单元代码")
@ApiParam(value = "工代码")
private String workCellCode;
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class, refForeignKey = "value",value = "description")
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型")
private String alarmCode;
@Column(name = "AC_CODE")
@ApiParam(value = "呼叫原因代码")
@ApiParam(value = "事件描述")
private String acCode;
}

@ -1,6 +1,8 @@
package cn.estsh.i3plus.pojo.andon.bean;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.AndonEnumUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
@ -33,15 +35,16 @@ public class AndonCellEventCause extends BaseBean {
private String workCenterCode;
@Column(name = "WORK_CELL_CODE")
@ApiParam(value = "工作单元代码")
@ApiParam(value = "工代码")
private String workCellCode;
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型")
private String alarmCode;
@Column(name = "EC_CODE")
@ApiParam(value = "事件原因代码")
@ApiParam(value = "事件原因")
private String ecCode;

@ -29,22 +29,20 @@ import javax.persistence.Table;
@EqualsAndHashCode(callSuper = true)
@Api("ANDON_工作单元处理方法配置")
public class AndonCellEventMethod extends BaseBean {
@Column(name = "WORK_CENTER_CODE")
@ApiParam(value = "工作中心代码")
private String workCenterCode;
@Column(name = "WORK_CELL_CODE")
@ApiParam(value = "工作单元代码")
@ApiParam(value = "工代码")
private String workCellCode;
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型")
private String alarmCode;
@Column(name = "EM_CODE")
@ApiParam(value = "事件方法代码")
@ApiParam(value = "处理方法")
private String emCode;
}

@ -13,6 +13,8 @@ import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;
/**
* @Description : ANDON_
@ -35,24 +37,41 @@ public class AndonDisposalCfg extends BaseBean {
private String workCenterCode;
@Column(name = "WORK_CELL_CODE")
@ApiParam(value = "工作单元代码")
@ApiParam(value = "工代码")
private String workCellCode;
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型代码")
@ApiParam(value = "安灯类型")
private String alarmCode;
@Column(name = "AC_CODE")
@ApiParam(value = "呼叫原因代码")
@ApiParam(value = "事件描述编码")
private String acCode;
@Column(name = "AC_NAME_RDD")
@ApiParam(value = "呼叫原因描述")
@ApiParam(value = "事件描述名称")
private String acNameRdd;
@AnnoOutputColumn(refClass = AndonEnumUtil.APPROVAL_STATUS.class,refForeignKey = "value",value = "description")
@Column(name = "APPROVAL_STATUS")
@Column(name = "EM_CODE")
@ApiParam(value = "处理方法")
private String emCode;
@Column(name = "EM_NAME_RDD")
@ApiParam(value = "事件方法描述")
private String emNameRdd;
@AnnoOutputColumn(refClass = AndonEnumUtil.KNOWLEDGE_AUDIT_STATUS.class,refForeignKey = "value",value = "description")
@Column(name = "FLOW_STATUS")
@ApiParam(value = "审批状态")
private String approvalStatus;
private Integer flowStatus;
@Column(name = "FLOW_MEMO")
@ApiParam(value = "审批意见")
private String flowMemo;
@Transient
@ApiParam(value = "审批意见集合")
@AnnoOutputColumn(hidden = true)
private Integer[] flowStatusArray;
}

@ -0,0 +1,50 @@
package cn.estsh.i3plus.pojo.andon.bean;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.bean.BaseModelBean;
import cn.estsh.i3plus.pojo.base.enumutil.AndonEnumUtil;
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;
/**
* @Description:
* @Reference:
* @Author: Crish
* @CreateDate:2019-10-19-14:56
* @Modify:
**/
@Data
@Entity
@Table(name="ANDON_DISPOSAL_MAINTEN_CFG")
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Api("Andon自处理维护配置")
public class AndonDisposalMaintenCfg extends BaseBean {
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型代码")
private String alarmCode;
@Column(name = "RP_WHERE")
@ApiParam(value = "有效时长")
private Integer rpWhere;
@Column(name = "FAIL_TIME")
@ApiParam(value = "失败次数")
private Integer failTime;
@Column(name = "SUCCESS_TIME")
@ApiParam(value = "成功次数")
private Integer successTime;
}

@ -28,7 +28,7 @@ import javax.persistence.Transient;
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Api("ANDON_事件原因")
@Api(value = "ANDON_事件原因")
public class AndonEventCause extends BaseBean {
@Column(name = "EC_CODE")
@ -41,6 +41,7 @@ public class AndonEventCause extends BaseBean {
@Column(name = "PARENT_EC_CODE")
@ApiParam(value = "父阶原因代码")
@AnnoOutputColumn(hidden = true)
private String parentEcCode;
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
@ -50,9 +51,11 @@ public class AndonEventCause extends BaseBean {
@Transient
@ApiParam(value = "工作中心")
@AnnoOutputColumn(hidden = true)
private String workCenterCode;
@Transient
@ApiParam(value = "工作单元")
@AnnoOutputColumn(hidden = true)
private String workCellCode;
}

@ -28,7 +28,7 @@ import javax.persistence.Transient;
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Api("ANDON_事件处理方法")
@Api(value = "ANDON_事件处理方法")
public class AndonEventMethod extends BaseBean {
@Column(name = "EM_CODE")
@ -39,6 +39,7 @@ public class AndonEventMethod extends BaseBean {
@ApiParam(value = "事件方法描述")
private String emName;
@AnnoOutputColumn(hidden = true)
@Column(name = "PARENT_EM_CODE")
@ApiParam(value = "父阶方法代码")
private String parentEmCode;
@ -48,10 +49,12 @@ public class AndonEventMethod extends BaseBean {
@ApiParam(value = "安灯类型")
private String alarmCode;
@AnnoOutputColumn(hidden = true)
@Transient
@ApiParam(value = "工作中心")
private String workCenterCode;
@AnnoOutputColumn(hidden = true)
@Transient
@ApiParam(value = "工作单元")
private String workCellCode;

@ -44,10 +44,12 @@ public class AndonEventPhenoMenon extends BaseBean {
@ApiParam(value = "安灯类型")
private String alarmCode;
@AnnoOutputColumn(hidden = true)
@Transient
@ApiParam(value = "工作中心")
private String workCenterCode;
@AnnoOutputColumn(hidden = true)
@Transient
@ApiParam(value = "工作单元")
private String workCellCode;

@ -29,7 +29,7 @@ import javax.persistence.Table;
public class AndonHaltType extends BaseBean {
@Column(name = "HALT_CODE")
@ApiParam(value = "停机类型码")
@ApiParam(value = "停机类型码")
private String haltCode;
@Column(name = "HALT_NAME")

@ -0,0 +1,37 @@
package cn.estsh.i3plus.pojo.andon.bean;
import cn.estsh.i3plus.pojo.andon.model.BaseManageQueue;
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;
/**
* @Description:
* @Reference:
* @Author: Crish
* @CreateDate:2019-10-18-9:13
* @Modify:
**/
@Data
@Entity
@Table(name="ANDON_KNOWLEDGE_BASE")
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Api("ANDON知识库")
public class AndonKnowledgeBase extends BaseManageQueue {
@Column(name = "FLOW_STATUS")
@ApiParam(value = "审批状态")
private Integer flowStatus;
@Column(name = "FLOW_MEMO")
@ApiParam(value = "审批意见")
private String flowMemo;
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.andon.bean;
import cn.estsh.i3plus.pojo.andon.model.BaseManageQueue;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.AndonEnumUtil;
@ -40,77 +41,11 @@ import java.util.List;
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Api("安灯队列")
public class AndonManageQueue extends BaseBean {
@Column(name = "ANDON_ORDER_NO")
@ApiParam(value = "安灯队列编号")
private String andonOrderNo;
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型")
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
private String alarmCode;
@Column(name = "ACTION_CODE")
@ApiParam(value = "安灯动作代码")
private String actionCode;
@Column(name = "WORK_CENTER_CODE")
@ApiParam(value = "工作中心代码")
private String workCenterCode;
@Column(name = "WORK_CENTER_NAME_RDD")
@ApiParam(value = "工作中心名称")
private String workCenterNameRdd;
@Column(name = "WORK_CELL_NAME_RDD")
@ApiParam(value = "工作单元名称")
private String workCellNameRdd;
@Column(name = "WORK_CELL_CODE")
@ApiParam(value = "工作单元代码")
private String workCellCode;
@Column(name = "EQUIPMENT_CODE")
@ApiParam(value = "设备代码")
private String equipmentCode;
@Column(name = "EQUIPMENT_NAME_RDD")
@ApiParam(value = "设备名称")
private String equipmentNameRdd;
@Column(name = "SHIFT_CODE")
@ApiParam(value = "班次代码")
private String shiftCode;
@Column(name = "SHIFT_NAME_RDD")
@ApiParam(value = "班次名称")
private String shiftNameRdd;
@Column(name = "STATUS_CODE")
@ApiParam(value = "安灯状态代码")
private String statusCode;
public class AndonManageQueue extends BaseManageQueue {
@Column(name = "SEQ")
@ApiParam(value = "序号", example = "1")
private Double seq;
@Column(name = "PRIORITY_LEVEL")
@ApiParam(value = "优先级别", example = "1")
private Integer priorityLevel;
@Column(name="CALL_TIME")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="呼叫时间",example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String callTime;
@Column(name="CLOSE_TIME")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="撤销时间",example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String closeTime;
@Transient
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="呼叫时间,查询开始时间", example = "2018-01-01 01:00:00")
@ -121,42 +56,14 @@ public class AndonManageQueue extends BaseBean {
@ApiParam(value="呼叫时间,查询结束时间", example = "2018-01-01 01:00:00")
public String callTimeEnd;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Column(name="CONFIRM_TIME")
@ApiParam(value = "响应时间", example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String confirmTime;
@Column(name="RESET_TIME")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="解决时间",example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String resetTime;
@Column(name = "CALL_USER")
@ApiParam(value = "呼叫人")
private String callUser;
@Column(name = "CLOSE_USER")
@ApiParam(value = "撤销人")
private String closeUser;
@Transient
@ApiParam(value = "呼叫人名字")
private String callUserName;
@Column(name = "CONFIRM_USER")
@ApiParam(value = "响应人")
private String confirmUser;
@Transient
@ApiParam(value = "响应人名字")
private String confirmUserName;
@Column(name = "RESET_USER")
@ApiParam(value = "解决人")
private String resetUser;
@Column(name = "SOURCE_TYPE")
@ApiParam(value = "安灯来源类型")
private String sourceType = AndonEnumUtil.ALARM_SOURCE_TYPE.SOFT.getValue();
@ -187,58 +94,6 @@ public class AndonManageQueue extends BaseBean {
@ApiParam(value = "转呼通知等级")
private String scRpLevel;
@Column(name = "AC_CODE")
@ApiParam(value = "呼叫原因代码")
private String acCode;
@Column(name = "AC_NAME_RDD")
@ApiParam(value = "呼叫原因描述")
private String acNameRdd;
@Column(name = "AC_DESC")
@ApiParam(value = "呼叫具体原因")
private String acDesc;
@Column(name = "EC_CODE")
@ApiParam(value = "事件原因代码")
private String ecCode;
@Column(name = "EC_NAME_RDD")
@ApiParam(value = "事件原因描述")
private String ecNameRdd;
@Column(name = "EC_DESC")
@ApiParam(value = "事件具体原因")
private String ecDesc;
@Column(name = "EM_CODE")
@ApiParam(value = "事件方法代码")
private String emCode;
@Column(name = "EM_NAME_RDD")
@ApiParam(value = "事件方法描述")
private String emNameRdd;
@Column(name = "CLOSE_CAUSE")
@ApiParam(value = "撤销原因")
private String closeCause;
@Column(name = "EM_DESC")
@ApiParam(value = "事件具体方法")
private String emDesc;
@Column(name = "IS_HALT")
@ApiParam(value = "是否停机", example = "1")
private Integer isHalt;
@Column(name = "HALT_CODE")
@ApiParam(value = "停机类型")
private String haltCode;
@Column(name = "HALT_DESC")
@ApiParam(value = "停机具体原因")
private String haltDesc;
@Transient
@ApiParam(value = "异常时长", example = "0")
private Long execptionTime;
@ -288,23 +143,12 @@ public class AndonManageQueue extends BaseBean {
private String signSendFlag;
/**
* 10=20=
*/
@Column(name = "DISPOSAL_TYPE")
@ApiParam(value = "处理类型")
private String disposalType;
/**
* 1 = 2 =
*/
@Transient
@ApiParam(value = "是否勾选加入自处理问题库", example = "2")
private Integer isDisposal;
@Column(name = "ALARM_DETAIL_CODE")
@ApiParam(value = "安灯子类型代码")
private String alarmDetailCode;
@Column(name = "ALARM_DETAIL_NAME_RDD")
@ApiParam(value = "安灯子类型名称")
private String alarmDetailNameRdd;
@ -353,6 +197,67 @@ public class AndonManageQueue extends BaseBean {
@ApiParam(value = "事件统计报表该事件描述的总次数")
private int acCodeTime;
@ApiParam(value = "操作来源")
@Transient
private String operationFlag;
// 安灯附属表
@Transient
@ApiParam(value ="临时/纠正措施")
private String tempCorrectMethod;
@Transient
@ApiParam(value ="预防/纠正措施")
private String preCorrectMethod;
@Transient
@ApiParam(value ="客户")
private String customer;
@Transient
@ApiParam(value ="零件号")
private String partNo;
@Transient
@ApiParam(value ="零件名称")
private String partName;
@Transient
@ApiParam(value ="报废数量")
private Double scrapNum;
@Transient
@ApiParam(value ="批次")
private String lot;
@Transient
@ApiParam(value ="零件数量")
private Double partNum;
@Transient
@ApiParam(value ="设备名称")
private String deviceName;
@Transient
@ApiParam(value ="是否更换备件")
private Integer isChangeBackup;
@Transient
@ApiParam(value ="备件名称")
private String backupPartName;
@Transient
@ApiParam(value ="规格型号")
private String scale;
@Transient
@ApiParam(value ="当前件数")
private Integer currentProdNum;
@Transient
@ApiParam(value ="生产累计件数")
private Integer totalProdNum;
// 是否转呼
public Integer getIsShiftCall() {
return this.isShiftCall == null ? 0 : this.isShiftCall;
@ -474,9 +379,6 @@ public class AndonManageQueue extends BaseBean {
try {
List ds = new ArrayList();
ds.add(new AndonManageQueue());
System.out.println(BeanUtils.describe(ds));
} catch (IllegalAccessException e) {
e.printStackTrace();

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.andon.bean;
import cn.estsh.i3plus.pojo.andon.model.BaseManageQueue;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -35,116 +36,38 @@ import javax.persistence.*;
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Api("安灯记录")
public class AndonManageRecord extends BaseBean {
@Column(name = "ANDON_ORDER_NO")
@ApiParam(value = "安灯队列编号")
private String andonOrderNo;
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型")
private String alarmCode;
@Column(name = "ACTION_CODE")
@ApiParam(value = "安灯动作代码")
private String actionCode;
@Column(name = "WORK_CENTER_CODE")
@ApiParam(value = "工作中心代码")
private String workCenterCode;
@Column(name = "WORK_CENTER_NAME_RDD")
@ApiParam(value = "工作中心名称")
private String workCenterNameRdd;
@Column(name = "WORK_CELL_NAME_RDD")
@ApiParam(value = "工作单元名称")
private String workCellNameRdd;
@Column(name = "WORK_CELL_CODE")
@ApiParam(value = "工作单元代码")
private String workCellCode;
@Column(name = "EQUIPMENT_CODE")
@ApiParam(value = "设备代码")
private String equipmentCode;
@Column(name = "EQUIPMENT_NAME_RDD")
@ApiParam(value = "设备名称")
private String equipmentNameRdd;
@Column(name = "SHIFT_CODE")
@ApiParam(value = "班次代码")
private String shiftCode;
@Column(name = "SHIFT_NAME_RDD")
@ApiParam(value = "班次名称")
private String shiftNameRdd;
@Column(name = "STATUS_CODE")
@ApiParam(value = "安灯状态代码")
private String statusCode;
public class AndonManageRecord extends BaseManageQueue {
@Column(name = "SEQ")
@ApiParam(value = "序号", example = "1")
private Double seq;
@Column(name = "PRIORITY_LEVEL")
@ApiParam(value = "优先级别", example = "1")
private Integer priorityLevel;
@Column(name="CALL_TIME",updatable = false)
@ApiParam(value = "呼叫时间")
@AnnoOutputColumn(hidden = true)
public String callTime;
@Transient
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="呼叫时间",example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String callTimeStr;
@Column(name="CONFIRM_TIME",updatable = false)
@ApiParam(value = "响应时间")
@AnnoOutputColumn(hidden = true)
public String confirmTime;
@Transient
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="响应时间",example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String confirmTimeStr;
@Column(name="RESET_TIME",updatable = false)
@ApiParam(value = "解决时间")
@AnnoOutputColumn(hidden = true)
public String resetTime;
@Transient
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="解决时间",example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String resetTimeStr;
@Column(name = "CALL_USER")
@ApiParam(value = "呼叫人")
private String callUser;
@Transient
@ApiParam(value = "呼叫人名字")
private String callUserName;
@Column(name = "CONFIRM_USER")
@ApiParam(value = "响应人")
private String confirmUser;
@Transient
@ApiParam(value = "响应人名字")
private String confirmUserName;
@Column(name = "RESET_USER")
@ApiParam(value = "解决人")
private String resetUser;
@Transient
@ApiParam(value = "解决人名字")
@ -177,69 +100,10 @@ public class AndonManageRecord extends BaseBean {
@ApiParam(value = "转呼通知等级")
private String scRpLevel;
@Column(name = "AC_CODE")
@ApiParam(value = "呼叫原因代码")
private String acCode;
@Column(name = "AC_NAME_RDD")
@ApiParam(value = "呼叫原因描述")
private String acNameRdd;
@Column(name = "AC_DESC")
@ApiParam(value = "呼叫具体原因")
private String acDesc;
@Column(name = "EC_CODE")
@ApiParam(value = "事件原因代码")
private String ecCode;
@Column(name = "EC_NAME_RDD")
@ApiParam(value = "事件原因描述")
private String ecNameRdd;
@Column(name = "EC_DESC")
@ApiParam(value = "事件具体原因")
private String ecDesc;
@Column(name = "EM_CODE")
@ApiParam(value = "事件方法代码")
private String emCode;
@Column(name = "EM_NAME_RDD")
@ApiParam(value = "事件方法描述")
private String emNameRdd;
@Column(name = "EM_DESC")
@ApiParam(value = "事件具体方法")
private String emDesc;
@Column(name = "IS_HALT")
@ApiParam(value = "是否停机", example = "1")
private Integer isHalt;
@Column(name = "HALT_CODE")
@ApiParam(value = "停机类型")
private String haltCode;
@Column(name = "HALT_DESC")
@ApiParam(value = "停机具体原因")
private String haltDesc;
@Column(name = "SEND_FLAG")
@ApiParam(value = "发送标志")
private String sendFlag;
/**
* 10=20=
*/
@Column(name = "DISPOSAL_TYPE")
@ApiParam(value = "处理类型")
private String disposalType;
@Column(name = "ALARM_DETAIL_CODE")
@ApiParam(value = "安灯子类型代码")
private String alarmDetailCode;
@Column(name = "EPM_CODE")
@ApiParam(value = "事件现象代码")
private String epmCode;
@ -272,6 +136,63 @@ public class AndonManageRecord extends BaseBean {
@ApiParam(value = "响应已通知标识")
private String signSendFlag;
// 安灯附属表
@Transient
@ApiParam(value ="临时/纠正措施")
private String tempCorrectMethod;
@Transient
@ApiParam(value ="预防/纠正措施")
private String preCorrectMethod;
@Transient
@ApiParam(value ="客户")
private String customer;
@Transient
@ApiParam(value ="零件号")
private String partNo;
@Transient
@ApiParam(value ="零件名称")
private String partName;
@Transient
@ApiParam(value ="报废数量")
private Double scrapNum;
@Transient
@ApiParam(value ="批次")
private String lot;
@Transient
@ApiParam(value ="零件数量")
private Double partNum;
@Transient
@ApiParam(value ="设备名称")
private String deviceName;
@Transient
@ApiParam(value ="是否更换备件")
private Integer isChangeBackup;
@Transient
@ApiParam(value ="备件名称")
private String backupPartName;
@Transient
@ApiParam(value ="规格型号")
private String scale;
@Transient
@ApiParam(value ="当前件数")
private Integer currentProdNum;
@Transient
@ApiParam(value ="生产累计件数")
private Integer totalProdNum;
// 是否转呼
public Integer getIsShiftCall() {
return this.isShiftCall == null ? 0 : this.isShiftCall;

@ -32,15 +32,15 @@ import javax.persistence.Table;
public class AndonPLC extends BaseBean {
@Column(name = "WORK_CENTER_CODE")
@ApiParam(value = "工作中心代码")
@ApiParam(value = "工作中心")
private String workCenterCode;
@Column(name = "WORK_CELL_CODE")
@ApiParam(value = "工作单元代码")
@ApiParam(value = "工代码")
private String workCellCode;
@Column(name = "NODE_CODE")
@ApiParam(value = "控制节点码")
@ApiParam(value = "控制节点码")
private String nodeCode;
@Column(name = "NODE_IP")
@ -52,7 +52,7 @@ public class AndonPLC extends BaseBean {
private String channelName;
@Column(name = "TAG_NAME")
@ApiParam(value = "标签名")
@ApiParam(value = "标签名")
private String tagName;
@Column(name = "TAG_ADDRESS")
@ -77,9 +77,9 @@ public class AndonPLC extends BaseBean {
@ApiParam(value = "标签业务类型")
private String tagBusinessType;
@AnnoOutputColumn(refClass = CommonEnumUtil.TRUE_OR_FALSE.class,refForeignKey = "value",value = "description")
@AnnoOutputColumn(refClass = AndonEnumUtil.IS_ALARM_STATUS.class,refForeignKey = "value",value = "description")
@Column(name = "IS_ALARM_STATUS")
@ApiParam(value = "是否按灯状态", example = "1")
@ApiParam(value = "是否安灯")
private Integer isAlarmStatus;
public int getIsAlarmStatusVal(){

@ -40,7 +40,64 @@ public class AndonQueueAttach extends BaseBean {
@ApiParam(value ="安灯任务编号")
private String andonOrderNo;
@Column(name="STATUS_CODE")
@ApiParam(value ="安灯状态")
private String statusCode;
// @Column(name="STATUS_CODE")
// @ApiParam(value ="安灯状态")
// private String statusCode;
@Column(name="TEMP_CORT_METHOD")
@ApiParam(value ="临时/纠正措施")
private String tempCorrectMethod;
@Column(name="PRE_CORT_METHOD")
@ApiParam(value ="预防/纠正措施")
private String preCorrectMethod;
@Column(name="CUSTOMER")
@ApiParam(value ="客户")
private String customer;
@Column(name="PART_NO")
@ApiParam(value ="零件号")
private String partNo;
@Column(name="PART_NAME")
@ApiParam(value ="零件名称")
private String partName;
@Column(name="SCRAP_NUM")
@ApiParam(value ="报废数量")
private Double scrapNum;
@Column(name="LOT")
@ApiParam(value ="批次")
private String lot;
@Column(name="PART_NUM")
@ApiParam(value ="零件数量")
private Double partNum;
@Column(name="DEVICE_NAME")
@ApiParam(value ="设备名称")
private String deviceName;
@Column(name="IS_CHANGE_BACKUP")
@ApiParam(value ="是否更换备件")
private Integer isChangeBackup;
@Column(name="BACKUP_PART_NAME")
@ApiParam(value ="备件名称")
private String backupPartName;
@Column(name="SCALE")
@ApiParam(value ="规格型号")
private String scale;
@Column(name="CURRENT_PROD_NUM")
@ApiParam(value ="当前件数")
private Integer currentProdNum;
@Column(name="TOTAL_PROD_NUM")
@ApiParam(value ="生产累计件数")
private Integer totalProdNum;
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.andon.bean;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
@ -11,6 +12,7 @@ import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
/**
* @Description :
@ -29,14 +31,19 @@ import javax.persistence.Table;
public class AndonResponseObject extends BaseBean {
@Column(name = "RP_OBJECT_CODE")
@ApiParam(value = "对象代码")
@ApiParam(value = "通知对象对象编码")
private String rpObjectCode;
@Column(name = "RP_OBJECT_NAME")
@ApiParam(value = "对象名称")
@ApiParam(value = "通知对象名称")
private String rpObjectName;
@Column(name = "RP_OBJECT_VALUE")
@ApiParam(value = "对象值")
@ApiParam(value = "通知对象值")
private String rpObjectValue;
@AnnoOutputColumn(hidden = true)
@Transient
@ApiParam(value = "通知对象")
private String rpObjectValueRdd;
}

@ -62,6 +62,10 @@ public class MesWorkCell extends BaseBean {
@AnnoOutputColumn(hidden = true)
private String name;
@Column(name = "WORK_CELL_TYPE")
@ApiParam("工位类型")
private String workCellType;
public String getName(){
return this.workCellName;
}

@ -0,0 +1,180 @@
package cn.estsh.i3plus.pojo.andon.model;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.AndonEnumUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
/**
* @Description:
* @Reference:
* @Author: Crish
* @CreateDate:2019-10-18-8:36
* @Modify:
**/
@Data
@MappedSuperclass
public class BaseManageQueue extends BaseBean {
@Column(name = "ANDON_ORDER_NO")
@ApiParam(value = "安灯队列编号")
public String andonOrderNo;
@Column(name = "ALARM_CODE")
@ApiParam(value = "安灯类型")
@AnnoOutputColumn(refClass = AndonEnumUtil.ALARM_TYPE.class,refForeignKey = "value",value = "description")
public String alarmCode;
@Column(name = "ACTION_CODE")
@ApiParam(value = "安灯动作代码")
public String actionCode;
@Column(name = "WORK_CENTER_CODE")
@ApiParam(value = "工作中心代码")
public String workCenterCode;
@Column(name = "WORK_CENTER_NAME_RDD")
@ApiParam(value = "工作中心名称")
public String workCenterNameRdd;
@Column(name = "WORK_CELL_NAME_RDD")
@ApiParam(value = "工作单元名称")
public String workCellNameRdd;
@Column(name = "WORK_CELL_CODE")
@ApiParam(value = "工作单元代码")
public String workCellCode;
@Column(name = "EQUIPMENT_CODE")
@ApiParam(value = "设备代码")
public String equipmentCode;
@Column(name = "EQUIPMENT_NAME_RDD")
@ApiParam(value = "设备名称")
public String equipmentNameRdd;
@Column(name = "SHIFT_CODE")
@ApiParam(value = "班次代码")
public String shiftCode;
@Column(name = "SHIFT_NAME_RDD")
@ApiParam(value = "班次名称")
public String shiftNameRdd;
@Column(name = "STATUS_CODE")
@ApiParam(value = "安灯状态代码")
public String statusCode;
@Column(name = "PRIORITY_LEVEL")
@ApiParam(value = "优先级别", example = "1")
public Integer priorityLevel;
@Column(name="CALL_TIME")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="呼叫时间",example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String callTime;
@Column(name="CLOSE_TIME")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="撤销时间",example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String closeTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Column(name="CONFIRM_TIME")
@ApiParam(value = "响应时间", example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String confirmTime;
@Column(name="RESET_TIME")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiParam(value="解决时间",example = "2018-01-01 01:00:00")
@AnnoOutputColumn(hidden = true)
public String resetTime;
@Column(name = "CALL_USER")
@ApiParam(value = "呼叫人")
public String callUser;
@Column(name = "CLOSE_USER")
@ApiParam(value = "撤销人")
public String closeUser;
@Column(name = "CONFIRM_USER")
@ApiParam(value = "响应人")
public String confirmUser;
@Column(name = "RESET_USER")
@ApiParam(value = "解决人")
public String resetUser;
@Column(name = "CLOSE_CAUSE")
@ApiParam(value = "撤销原因")
public String closeCause;
@Column(name = "AC_CODE")
@ApiParam(value = "呼叫原因代码")
public String acCode;
@Column(name = "AC_NAME_RDD")
@ApiParam(value = "呼叫原因描述")
public String acNameRdd;
@Column(name = "AC_DESC")
@ApiParam(value = "呼叫具体原因")
public String acDesc;
@Column(name = "EC_CODE")
@ApiParam(value = "事件原因代码")
public String ecCode;
@Column(name = "EC_NAME_RDD")
@ApiParam(value = "事件原因描述")
public String ecNameRdd;
@Column(name = "EC_DESC")
@ApiParam(value = "事件具体原因")
public String ecDesc;
@Column(name = "EM_CODE")
@ApiParam(value = "事件方法代码")
public String emCode;
@Column(name = "EM_NAME_RDD")
@ApiParam(value = "事件方法描述")
public String emNameRdd;
@Column(name = "EM_DESC")
@ApiParam(value = "事件具体方法")
public String emDesc;
@Column(name = "IS_HALT")
@ApiParam(value = "是否停机", example = "1")
public Integer isHalt;
@Column(name = "HALT_CODE")
@ApiParam(value = "停机类型")
public String haltCode;
@Column(name = "HALT_DESC")
@ApiParam(value = "停机具体原因")
public String haltDesc;
/**
* 10=20=
*/
@Column(name = "DISPOSAL_TYPE")
@ApiParam(value = "处理类型")
public String disposalType;
@Column(name = "ALARM_DETAIL_CODE")
@ApiParam(value = "安灯子类型代码")
public String alarmDetailCode;
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.pojo.andon.repository;
import cn.estsh.i3plus.pojo.andon.bean.AndonDisposalMaintenCfg;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
/**
* @Description:
* @Reference:
* @Author: Crish
* @CreateDate:2019-10-19-15:02
* @Modify:
**/
public interface IAndonDisposalMaintenCfgRepository extends BaseRepository<AndonDisposalMaintenCfg, Long> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.pojo.andon.repository;
import cn.estsh.i3plus.pojo.andon.bean.AndonKnowledgeBase;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import org.springframework.stereotype.Repository;
/**
* @Description:
* @Reference:
* @Author: Crish
* @CreateDate:2019-10-18-9:16
* @Modify:
**/
@Repository
public interface IAndonKnowledgeBaseRepository extends BaseRepository<AndonKnowledgeBase, Long> {
}

@ -90,7 +90,8 @@ public class AndonHqlPack {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getStringEqualPack(andonBroadCast.getOrganizeCode(), "organizeCode", packBean);
DdlPreparedPack.getStringEqualPack(andonBroadCast.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringEqualPack(andonBroadCast.getTargetIds(), "targetIds", packBean);
DdlPreparedPack.getStringLikerPack(andonBroadCast.getTargetIds(), "targetIds", packBean);
DdlPreparedPack.getStringEqualPack(andonBroadCast.getGroupNo(), "groupNo", packBean);
DdlPreparedPack.getStringEqualPack(andonBroadCast.getDeviceDec(), "deviceDec", packBean);
DdlPreparedPack.getNumEqualPack(andonBroadCast.getIsValid(),"isValid",packBean);
return packBean;
@ -106,10 +107,36 @@ public class AndonHqlPack {
DdlPreparedPack.getStringEqualPack(andonBroadCastCfg.getOrganizeCode(), "organizeCode", packBean);
DdlPreparedPack.getStringEqualPack(andonBroadCastCfg.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringEqualPack(andonBroadCastCfg.getAlarmCode(), "alarmCode", packBean);
DdlPreparedPack.getStringEqualPack(andonBroadCastCfg.getTargetIds(), "targetIds", packBean);
DdlPreparedPack.getStringEqualPack(andonBroadCastCfg.getGroupNo(), "groupNo", packBean);
DdlPreparedPack.getNumEqualPack(andonBroadCastCfg.getIsValid(),"isValid",packBean);
return packBean;
}
/**
*
* @param andonDisposalMaintenCfg
* @return
*/
public static DdlPackBean getAndonDisposalMaintenCfg(AndonDisposalMaintenCfg andonDisposalMaintenCfg) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getStringEqualPack(andonDisposalMaintenCfg.getOrganizeCode(), "organizeCode", packBean);
DdlPreparedPack.getStringEqualPack(andonDisposalMaintenCfg.getAlarmCode(), "alarmCode", packBean);
DdlPreparedPack.getNumEqualPack(andonDisposalMaintenCfg.getIsValid(),"isValid",packBean);
return packBean;
}
/**
*
* @param andonQueueAttach
* @return
*/
public static DdlPackBean getAndonQueueAttach(AndonQueueAttach andonQueueAttach) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getStringEqualPack(andonQueueAttach.getOrganizeCode(), "organizeCode", packBean);
DdlPreparedPack.getStringEqualPack(andonQueueAttach.getAndonOrderNo(), "andonOrderNo", packBean);
DdlPreparedPack.getNumEqualPack(andonQueueAttach.getIsValid(),"isValid",packBean);
return packBean;
}
/***************** crish 工作单元呼叫原因配置, 处理方法配置, 处理事件原因配置, 事件现象配置 End ************/
@ -252,13 +279,10 @@ public class AndonHqlPack {
*/
public static DdlPackBean packHqlAndonAlarmCauseLike(AndonAlarmCause andonAlarmCause){
DdlPackBean result = new DdlPackBean();
DdlPreparedPack.getStringEqualPack(andonAlarmCause.getAlarmCode(), "alarmCode", result);
DdlPreparedPack.getStringLikerPack(andonAlarmCause.getAcCode(),"acCode", result);
DdlPreparedPack.getStringLikerPack(andonAlarmCause.getAcName(),"acName", result);
getStringBuilderPack(andonAlarmCause, result);
return result;
}
@ -269,10 +293,8 @@ public class AndonHqlPack {
*/
public static DdlPackBean packHqlAndonAlarmEventMethod(AndonEventMethod andonEventMethod){
DdlPackBean result = new DdlPackBean();
DdlPreparedPack.getStringEqualPack(andonEventMethod.getAlarmCode(), "alarmCode", result);
getStringBuilderPack(andonEventMethod, result);
return result;
}
@ -283,14 +305,55 @@ public class AndonHqlPack {
*/
public static DdlPackBean packHqlAndonEventCause(AndonEventCause andonEventCause){
DdlPackBean result = new DdlPackBean();
DdlPreparedPack.getStringEqualPack(andonEventCause.getAlarmCode(), "alarmCode", result);
getStringBuilderPack(andonEventCause, result);
return result;
}
/**
*
* @param andonKnowledgeBase
* @return
*/
public static DdlPackBean packAndonKnowlegeBase(AndonKnowledgeBase andonKnowledgeBase){
DdlPackBean packBean = new DdlPackBean();
DdlPreparedPack.getStringEqualPack(andonKnowledgeBase.getAndonOrderNo(), "andonOrderNo", packBean);
DdlPreparedPack.getStringEqualPack(andonKnowledgeBase.getAlarmCode(), "alarmCode", packBean);
DdlPreparedPack.getNumEqualPack(andonKnowledgeBase.getFlowStatus(), "flowStatus", packBean);
DdlPreparedPack.getStringEqualPack(andonKnowledgeBase.getOrganizeCode(), "organizeCode", packBean);
DdlPreparedPack.getStringEqualPack(andonKnowledgeBase.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringEqualPack(andonKnowledgeBase.getWorkCellCode(), "workCellCode", packBean);
DdlPreparedPack.getStringEqualPack(andonKnowledgeBase.getAcCode(), "acCode", packBean);
DdlPreparedPack.getStringEqualPack(andonKnowledgeBase.getEcCode(), "ecCode", packBean);
DdlPreparedPack.getStringEqualPack(andonKnowledgeBase.getEmCode(), "emCode", packBean);
if(StringUtils.isNotBlank(andonKnowledgeBase.getCreateDateTimeStart()) || StringUtils.isNotBlank(andonKnowledgeBase.getCreateDateTimeEnd())){
DdlPreparedPack.timeBuilder(andonKnowledgeBase.getCreateDateTimeStart(), andonKnowledgeBase.getCreateDateTimeEnd(), "createDatetime", packBean, true);
}
getStringBuilderPack(andonKnowledgeBase, packBean);
packBean.setOrderByStr(andonKnowledgeBase.orderBy());
return packBean;
}
/**
*
* @param andonManageQueue
* @return
*/
public static DdlPackBean packHqlAndonManageQueueUseByPlc(AndonManageQueue andonManageQueue, Object[] obj){
DdlPackBean result = new DdlPackBean();
DdlPreparedPack.getStringEqualPack(andonManageQueue.getOrganizeCode(), "organizeCode", result);
DdlPreparedPack.getStringEqualPack(andonManageQueue.getWorkCellCode(), "workCellCode", result);
DdlPreparedPack.getStringEqualPack(andonManageQueue.getWorkCenterCode(), "workCenterCode", result);
DdlPreparedPack.getStringEqualPack(andonManageQueue.getEquipmentCode(), "equipmentCode", result);
DdlPreparedPack.getInPackArray(obj, "statusCode", result);
DdlPreparedPack.getStringEqualPack(andonManageQueue.getAlarmCode(), "alarmCode", result);
getStringBuilderPack(andonManageQueue, result);
return result;
}
/**
*
* @param andonManageQueue
* @return
@ -312,7 +375,6 @@ public class AndonHqlPack {
if(StringUtils.isNotBlank(andonManageQueue.getCallTimeStart()) || StringUtils.isNotBlank(andonManageQueue.getCallTimeEnd())){
DdlPreparedPack.timeBuilder(andonManageQueue.getCallTimeStart(), andonManageQueue.getCallTimeEnd(), "callTime", result, true);
}
getStringBuilderPack(andonManageQueue, result);
// 根据优先级倒序,序号升序排序
// DdlPreparedPack.getOrderByPack(new Object[]{2, 1},
@ -335,6 +397,8 @@ public class AndonHqlPack {
DdlPreparedPack.getStringEqualPack(andonDisposalCfg.getWorkCellCode(),"workCellCode", result);
DdlPreparedPack.getStringEqualPack(andonDisposalCfg.getAlarmCode(),"alarmCode", result);
DdlPreparedPack.getStringEqualPack(andonDisposalCfg.getAcCode(),"acCode", result);
DdlPreparedPack.getInPackArray(andonDisposalCfg.getFlowStatusArray(), "flowStatus", result);
DdlPreparedPack.getNumEqualPack(andonDisposalCfg.getFlowStatus(),"flowStatus", result);
getStringBuilderPack(andonDisposalCfg, result);
return result;
@ -486,14 +550,13 @@ public class AndonHqlPack {
*/
public static DdlPackBean packAndonAlarmResponseCfg(AndonAlarmResponseCfg responseCfg) {
DdlPackBean result = new DdlPackBean();
DdlPreparedPack.getStringEqualPack(responseCfg.getAlarmCode(), "alarmCode", result);
DdlPreparedPack.getStringEqualPack(responseCfg.getAndonStatus(), "andonStatus", result);
DdlPreparedPack.getStringEqualPack(responseCfg.getRpLevel(), "rpLevel", result);
DdlPreparedPack.getStringEqualPack(responseCfg.getWorkCenterCode(), "workCenterCode", result);
DdlPreparedPack.getStringEqualPack(responseCfg.getRpObjectCode(), "rpObjectCode", result);
DdlPreparedPack.getStringEqualPack(responseCfg.getOrganizeCode(), "organizeCode", result);
DdlPreparedPack.getStringEqualPack(responseCfg.getRpCode(), "rpCode", result);
getStringBuilderPack(responseCfg, result);
return result;
@ -572,9 +635,7 @@ public class AndonHqlPack {
DdlPreparedPack.getStringEqualPack(andonResponseObject.getRpObjectCode(), "rpObjectCode", result);
DdlPreparedPack.getStringEqualPack(andonResponseObject.getRpObjectName(), "rpObjectName", result);
DdlPreparedPack.getStringLikerPack(andonResponseObject.getRpObjectValue(), "rpObjectValue", result);
getStringBuilderPack(andonResponseObject, result);
return result;
}
@ -585,13 +646,10 @@ public class AndonHqlPack {
*/
public static DdlPackBean packAndonEventCause(AndonEventCause andonEventCause) {
DdlPackBean result = new DdlPackBean();
DdlPreparedPack.getStringEqualPack(andonEventCause.getAlarmCode(), "alarmCode", result);
DdlPreparedPack.getStringLikerPack(andonEventCause.getEcCode(), "ecCode", result);
DdlPreparedPack.getStringLikerPack(andonEventCause.getEcName(), "ecName", result);
getStringBuilderPack(andonEventCause, result);
return result;
}
@ -618,6 +676,11 @@ public class AndonHqlPack {
DdlPreparedPack.getStringLikerPack(eventPhenoMenon.getEpmCode(), "epmCode", result);
DdlPreparedPack.getStringLikerPack(eventPhenoMenon.getEpmName(), "epmName", result);
DdlPreparedPack.getStringEqualPack(eventPhenoMenon.getAlarmCode(), "alarmCode", result);
DdlPreparedPack.getOrderByPack(
new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()},
new String[]{eventPhenoMenon.getOrderByParam()},
result
);
getStringBuilderPack(eventPhenoMenon, result);
@ -626,18 +689,15 @@ public class AndonHqlPack {
/**
* ANDON_
* @param eventPhenoMenon
* @param eventMethod
* @return
*/
public static DdlPackBean packAndonEventMethod(AndonEventMethod eventPhenoMenon) {
public static DdlPackBean packAndonEventMethod(AndonEventMethod eventMethod) {
DdlPackBean result = new DdlPackBean();
DdlPreparedPack.getStringEqualPack(eventPhenoMenon.getAlarmCode(), "alarmCode", result);
DdlPreparedPack.getStringLikerPack(eventPhenoMenon.getEmName(), "emName", result);
DdlPreparedPack.getStringLikerPack(eventPhenoMenon.getEmCode(), "emCode", result);
getStringBuilderPack(eventPhenoMenon, result);
DdlPreparedPack.getStringEqualPack(eventMethod.getAlarmCode(), "alarmCode", result);
DdlPreparedPack.getStringLikerPack(eventMethod.getEmName(), "emName", result);
DdlPreparedPack.getStringLikerPack(eventMethod.getEmCode(), "emCode", result);
getStringBuilderPack(eventMethod, result);
return result;
}
@ -648,13 +708,14 @@ public class AndonHqlPack {
*/
public static DdlPackBean packAndonPLC(AndonPLC plc) {
DdlPackBean result = new DdlPackBean();
DdlPreparedPack.getStringEqualPack(plc.getAlarmCode(), "alarmCode", result);
DdlPreparedPack.getStringLikerPack(plc.getTagAddress(),"tagAddress",result);
DdlPreparedPack.getStringLikerPack(plc.getTagName(),"tagName",result);
DdlPreparedPack.getStringEqualPack(plc.getChannelName(),"channelName",result);
DdlPreparedPack.getStringEqualPack(plc.getGroupNo(),"groupNo",result);
DdlPreparedPack.getStringEqualPack(plc.getWorkCenterCode(), "workCenterCode", result);
DdlPreparedPack.getStringEqualPack(plc.getWorkCellCode(), "workCellCode", result);
DdlPreparedPack.getStringEqualPack(plc.getAlarmCode(), "alarmCode", result);
getStringBuilderPack(plc, result);
return result;
}

@ -5,7 +5,7 @@
<parent>
<artifactId>i3plus-pojo</artifactId>
<groupId>i3plus.pojo</groupId>
<version>1.0-TEST-SNAPSHOT</version>
<version>1.0-PROD-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -5,12 +5,21 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @Description :
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-17
* @Modify:
**/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface FieldAnnotation {
boolean property() default true;
boolean modify() default true;
boolean display() default true;
int pric() default 2;
boolean mainkey() default false;
boolean modify() default true; // 是否能修改
boolean display() default true; // 是否需要在界面显示
int pric() default 2; // 对于浮点型,界面显示的精度
boolean mainkey() default false; // 是否为主键
String defaultValue() default ""; // 字段的默认值
boolean popSearch() default false; // 弹出选择对象时是否显示
}

@ -5,9 +5,16 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @Description :
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-17
* @Modify:
**/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RippleAnnotation {
String[] dependence() default {};
String method() default "";
String[] dependence() default {}; // 字段依赖的路径
String method() default ""; // 字段值计算时调用的方法方法写在service中.
}

@ -0,0 +1,48 @@
package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.enums.USE_TYPE;
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-09-22
* @Modify:
**/
@Data
@Entity
@Table(name = "APS_ASSIST_RESOURCE_SET_TIME")
@Api("副资源设置时间")
public class AssistResourceSetTime extends BaseAPS {
@Column(name="RES_CODE")
@ApiParam(value ="资源编码")
private String resCode;
@Column(name="TYPE")
@ApiParam(value ="副资源使用类型")
private USE_TYPE type;
@Column(name="PREV_RESOURCE")
@ApiParam(value ="前资源编码")
private String prevResource;
@Column(name="POST_RESOURCE")
@ApiParam(value ="后资源编码")
private String postResource;
@Column(name="TIME")
@ApiParam(value ="设置时间")
private String time;
@Column(name="PRIORITY")
@ApiParam(value ="优先级")
private int priority;
}

@ -58,6 +58,10 @@ public class BaseOrder extends BaseCode {
@ApiParam(value ="接单日期")
private Date receiveDate;
@Column(name="SPECIFY_MATERIAL_NUM")
@ApiParam(value ="专料号")
private String specifyMaterialNum;
@Column(name="MATERIAL_ID")
@ApiParam(value ="物料")
@FieldAnnotation(property = false)

@ -0,0 +1,57 @@
package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.enums.DYNAMIC_SET_CALC;
import cn.estsh.i3plus.pojo.aps.enums.DYNAMIC_SET_TYPE;
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-09-22
* @Modify:
**/
@Data
@Entity
@Table(name = "APS_DYNAMIC_SET_TIME")
@Api("动态设置时间")
public class DynamicSetTime extends BaseAPS {
@Column(name="RES_CODE")
@ApiParam(value ="资源代码")
private String resCode;
@Column(name="TYPE")
@ApiParam(value ="应用工作计划类型")
private DYNAMIC_SET_TYPE type;
@Column(name="CONSIDER_ASS_RES")
@ApiParam(value ="是否启用副资源动态设置时间")
private Boolean considerAssRes;
@Column(name="CONSIDER_MATERIAL")
@ApiParam(value ="是否启用物料动态设置时间")
private Boolean considerMaterial;
@Column(name="ASS_RES_CALC")
@ApiParam(value ="副资源动态设置计算方式")
private DYNAMIC_SET_CALC assResCalc;
@Column(name="MATERIAL_CALC")
@ApiParam(value ="物料动态设置时间计算方式")
private DYNAMIC_SET_CALC materialCalc;
@Column(name="STATIC_CALC")
@ApiParam(value ="与静态设置时间计算方式")
private DYNAMIC_SET_CALC staticCalc;
@Column(name="PRIORITY")
@ApiParam(value ="优先级")
private int priority;
}

@ -41,9 +41,13 @@ public class FieldInfo extends BaseCode {
private FIELD_TYPE type;
@Column(name="TYPE_NAME")
@ApiParam(value ="类型称")
@ApiParam(value ="类型称")
private String typeName;
@Column(name="TYPE_FULL_NAME")
@ApiParam(value ="类型全名称包含路径")
private String typeFullName;
@Column(name="CUSTOMIZE")
@ApiParam(value ="是否为自定义字段")
private Boolean customize;
@ -80,6 +84,17 @@ public class FieldInfo extends BaseCode {
@ApiParam(value ="数据库类型")
private JDBCType jdbcType;
@Column(name="DEFAULT_VALUE")
@ApiParam(value ="字段默认值")
private String defaultValue;
@Column(name="POP_SEARCH")
@ApiParam(value ="弹出选择时是否显示")
private Boolean popSearch;
@ApiParam(value ="枚举项内容")
private transient Enum<?>[] enumItems;
@JsonIgnore
private transient Class<? extends BaseBean> clazz;
@JsonIgnore

@ -0,0 +1,28 @@
package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import io.swagger.annotations.Api;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
* @Description :
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-10-22
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="APS_FURNACE_PLAN")
@Api("炉资源计划")
public class FurnacePlan extends BaseAPS {
}

@ -4,7 +4,6 @@ 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.IMPORT_DETAIL_TYPE;
import cn.estsh.i3plus.pojo.aps.holders.EExportDetail;
import cn.estsh.i3plus.pojo.aps.holders.EImportDetail;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;

@ -53,4 +53,8 @@ public class MatCalcRule extends BaseRule {
@ApiParam(value ="批量补充")
private Boolean batchSupply;
@Column(name="ASSIGN_LIMIT")
@ApiParam(value ="物料分配制约")
private Integer assignLimit;
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.annotation.RippleAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BaseCode;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
@ -31,10 +32,12 @@ import java.util.List;
public class Material extends BaseCode {
@Column(name="TYPE")
@ApiParam(value ="类型")
@FieldAnnotation(defaultValue = "PRODUCT")
private MATERIAL_TYPE type;
@Column(name="PREPARE_TYPE")
@ApiParam(value ="备料类型")
@FieldAnnotation(defaultValue = "SELF_MAKE")
private PREPARE_TYPE prepareType;
@Column(name="REPL_TYPE")
@ -68,23 +71,26 @@ public class Material extends BaseCode {
@Column(name="LEVEL")
@ApiParam(value ="低阶码")
@RippleAnnotation(dependence = {"OperOutputs.Operation.ProductRouting.Material"}, method = "calcLevel")
@FieldAnnotation(modify = false)
private Integer level;
@Column(name="IS_AUTO_FIX_PEGGING")
@ApiParam(value ="自动补充标识")
private boolean autoFixPegging;
@FieldAnnotation(defaultValue = "true")
private Boolean autoFixPegging;
@Column(name="MAX_MANUF_BATCH")
@Column(name="MAX_PRODUCT_BATCH")
@ApiParam(value ="最大制造批量")
private Double maxManufBatch;
private Double maxProductBatch;
@Column(name="MIN_MANUF_BATCH")
@Column(name="MIN_PRODUCT_BATCH")
@ApiParam(value ="最小制造批量")
private Double minManufBatch;
@FieldAnnotation(defaultValue = "0.0")
private Double minProductBatch;
@Column(name="MANUF_UNIT_BATCH")
@Column(name="UNIT_PRODUCT_BATCH")
@ApiParam(value ="制造批量单位")
private Double manufUnitBatch;
private Double UnitProductBatch;
@Column(name="MAX_PUR_BATCH")
@ApiParam(value ="最大采购批量")
@ -94,9 +100,9 @@ public class Material extends BaseCode {
@ApiParam(value ="最小采购批量")
private Double minPurBatch;
@Column(name="PUR_UNIT_BATCH")
@Column(name="UNIT_PUR_BATCH")
@ApiParam(value ="采购批量单位")
private Double purUnitBatch;
private Double unitPurBatch;
@Column(name="MIN_STOCK_COUNT")
@ApiParam(value ="最小库存数量")
@ -110,6 +116,10 @@ public class Material extends BaseCode {
@ApiParam(value ="最大库存数量")
private Double maxStockCount;
@Column(name="ORDER_BATCH_PERIOD")
@ApiParam(value ="订单合并期间")
private String orderBatchPeriod;
@JsonBackReference
public List<ProductRouting> getProductRoutings() {
return BeanRelation.list(this, EMaterial.ProductRoutings);

@ -0,0 +1,43 @@
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.Entity;
import javax.persistence.Table;
/**
* @Description :
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-22
* @Modify:
**/
@Data
@Entity
@Table(name = "APS_MATERIAL_SET_TIME")
@Api("物料设置时间")
public class MaterialSetTime extends BaseAPS {
@Column(name="RES_CODE")
@ApiParam(value ="资源编码")
private String resCode;
@Column(name="PREV_MATERIAL")
@ApiParam(value ="前物料编码")
private String prevMaterial;
@Column(name="POST_MATERIAL")
@ApiParam(value ="后物料编码")
private String postMaterial;
@Column(name="TIME")
@ApiParam(value ="设置时间")
private String time;
@Column(name="PRIORITY")
@ApiParam(value ="优先级")
private int priority;
}

@ -35,9 +35,9 @@ public class OperResource extends BaseAPS {
@ApiParam(value ="前设置时间")
private String prevTime;
@Column(name="MANUF_TIME")
@Column(name="PRODUCE_TIME")
@ApiParam(value ="生产时间")
private String manufTime;
private String produceTime;
@Column(name="POST_TIME")
@ApiParam(value ="后设置时间")
@ -47,9 +47,9 @@ public class OperResource extends BaseAPS {
@ApiParam(value ="最大前设置中断时间")
private String maxPrevSdTime;
@Column(name="MAX_MANUF_SD_TIME")
@Column(name="MAX_PRODUCE_SD_TIME")
@ApiParam(value ="最大生产中断时间")
private String maxManufSdTime;
private String maxProduceSdTime;
@Column(name="MAX_POST_SD_TIME")
@ApiParam(value ="最大后设置中断时间")
@ -59,6 +59,10 @@ public class OperResource extends BaseAPS {
@ApiParam(value ="优先级")
private Integer priority;
@Column(name="USER_MATCH_NUMBER")
@ApiParam(value ="资源使用配套号")
private String userMatchNumber;
@Column(name="OPERATION_ID")
@ApiParam(value ="工序")
@FieldAnnotation(property = false)

@ -50,21 +50,13 @@ public class Operation extends BaseAPS {
private String ratio;
@Column(name="COUNT")
@ApiParam(value ="分割")
private Double count;
@ApiParam(value ="分割的工作个数")
private Integer count;
@Column(name="BATCH")
@ApiParam(value ="分割批量")
private Double batch;
@Column(name="MIN_BATCH")
@ApiParam(value ="最小批量")
private Double minBatch;
@Column(name="TAIL_DEAL")
@ApiParam(value ="尾数处理")
private TAIL_DEAL tailDeal;
@Column(name="CONS_TYPE")
@ApiParam(value ="接续方式")
private CONSTRAINT_TYPE consType;

@ -1,6 +1,9 @@
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.EResCalendar;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
@ -8,6 +11,7 @@ import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.List;
/**
* @Description :
@ -40,4 +44,14 @@ public class ResCalendar extends BaseAPS {
@Column(name="PRIORITY")
@ApiParam(value ="优先级")
private Integer priority;
@JsonBackReference
public List<DayShift> getDayShifts() {
return BeanRelation.list(this, EResCalendar.DayShifts);
}
@JsonBackReference
public List<Resource> getResources() {
return BeanRelation.list(this, EResCalendar.Resources);
}
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.common.BaseCode;
import cn.estsh.i3plus.pojo.aps.enums.RESOURCE_CLASS;
import cn.estsh.i3plus.pojo.aps.enums.RESOURCE_LOCK_TYPE;
import cn.estsh.i3plus.pojo.aps.enums.RESOURCE_TYPE;
import cn.estsh.i3plus.pojo.aps.enums.TIME_ROUND_TYPE;
import io.swagger.annotations.Api;
@ -48,37 +49,37 @@ public class Resource extends BaseCode {
@ApiParam(value ="后缓冲时间")
private String postBuffer;
@Column(name="MAX_MANUF_BATCH")
@Column(name="MAX_PRODUCE_BATCH")
@ApiParam(value ="最大生产批量")
private Double maxManufBatch;
private Double maxProduceBatch;
@Column(name="MANUF_ADJ_UNIT_TM")
@ApiParam(value ="生产时间尾数调整")
private String manufAdjUnitTm;
@Column(name="TIME_TAIL_ADJUST")
@ApiParam(value ="时间尾数调整")
private String timeTailAdjust;
@Column(name="MANUF_ADJ_UNIT")
@ApiParam(value ="生产时刻尾数调整")
private String manufAdjUnit;
@Column(name="TIME_ADJUST")
@ApiParam(value ="时间调整")
private String timeAdjust;
@Column(name="MAX_PREV_SD_TIME")
@ApiParam(value ="最大前设置中断时间")
private String maxPrevSdTime;
@Column(name="MAX_MANUF_SD_TIME")
@Column(name="MAX_PRODUCE_SD_TIME")
@ApiParam(value ="最大生产中断时间")
private String maxManufSdTime;
private String maxProduceSdTime;
@Column(name="MAX_POST_SD_TIME")
@ApiParam(value ="最大后设置中断时间")
private String maxPostSdTime;
@Column(name="ROUND_TYPE")
@ApiParam(value ="时间圆整类型")
@ApiParam(value ="时间与时间尾数圆整类型")
private TIME_ROUND_TYPE roundType;
@Column(name="MANUF_EFFECT")
@ApiParam(value ="生产效率影响")
private Integer manufEffect;
@Column(name="EFFICIENCY_EFFECT")
@ApiParam(value ="效率影响类型")
private Integer EfficiencyEffect;
@Column(name="TIME_ROUND")
@ApiParam(value ="时间圆整影响")
@ -88,4 +89,11 @@ public class Resource extends BaseCode {
@ApiParam(value ="时间尾数影响")
private Integer timeTailRound;
@Column(name="LOCK_TYPE")
@ApiParam(value ="锁定类型")
private RESOURCE_LOCK_TYPE lockType;
@Column(name="LOCK_TIME")
@ApiParam(value ="锁定时间长度")
private String lockTime;
}

@ -30,21 +30,13 @@ public class StandOperation extends BaseCode {
private String ratio;
@Column(name="COUNT")
@ApiParam(value ="分割")
private Double count;
@ApiParam(value ="分割的工作个数")
private Integer count;
@Column(name="BATCH")
@ApiParam(value ="分割批量")
private Double batch;
@Column(name="MIN_BATCH")
@ApiParam(value ="最小批量")
private Double minBatch;
@Column(name="TAIL_DEAL")
@ApiParam(value ="尾数处理方式")
private TAIL_DEAL tailDeal;
@Column(name="DIRECTION")
@ApiParam(value ="排程方向")
private DIRECTION direction;

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
@ -29,4 +30,9 @@ public class SysParam extends BaseAPS {
@Column(name="MAX_INTERRUPT_COUNT")
@ApiParam(value ="最大中断次数")
private Integer maxInterruptCount;
@Column(name="RULE_GROUP_ID")
@ApiParam(value ="规则组id")
@FieldAnnotation(display = false)
private Long ruleGroupId;
}

@ -97,6 +97,22 @@ public class Work extends BaseCode {
@ApiParam(value ="计划主资源")
private String planResource;
@Column(name="FIX_SPLIT")
@ApiParam(value ="已分割的工作是否重新分割")
private Boolean fixSplit;
@Column(name="NEED_PREV_COUNT")
@ApiParam(value ="需要的前工作数量")
private Double needPrevCount;
@Column(name="SCH_FAILED")
@ApiParam(value ="是否排程失败")
private Boolean schFailed;
@Column(name="FAILED_REASON")
@ApiParam(value ="排程失败原因")
private String failedReason;
@Column(name="ORDER_ID")
@ApiParam(value ="订单")
@FieldAnnotation(property = false)
@ -168,4 +184,6 @@ public class Work extends BaseCode {
public List<PlanFeedback> getPlanFeedbacks() {
return BeanRelation.list(this, EWork.PlanFeedbacks);
}
public WorkPlan getWorkPlan() { return BeanRelation.get(this, EWork.WorkPlan); }
}

@ -0,0 +1,128 @@
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.EWorkPlan;
import cn.estsh.i3plus.pojo.aps.holders.EWorkRelation;
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 java.util.Date;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-10-17
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="APS_WORK_PLAN")
@Api("工作计划")
public class WorkPlan extends BaseAPS {
@Column(name="PREV_SET_BEGIN")
@ApiParam(value ="前设置开始时间")
private Date prevSetBegin;
@Column(name="PREV_SET_END")
@ApiParam(value ="前设置结束时间")
private Date prevSetEnd;
@Column(name="PREV_SET_TIME")
@ApiParam(value ="前设置时间")
private Integer prevSetTime;
@Column(name="PRODUCE_BEGIN")
@ApiParam(value ="生产开始时间")
private Date produceBegin;
@Column(name="PRODUCE_END")
@ApiParam(value ="生产结束时间")
private Date produceEnd;
@Column(name="PRODUCE_TIME")
@ApiParam(value ="生产时间")
private Integer produceTime;
@Column(name="POST_SET_BEGIN")
@ApiParam(value ="后设置开始时间")
private Date postSetBegin;
@Column(name="POST_SET_END")
@ApiParam(value ="后设置结束时间")
private Date postSetEnd;
@Column(name="POST_SET_TIME")
@ApiParam(value ="后设置时间")
private Integer postSetTime;
@Column(name="LOCK_BEGIN")
@ApiParam(value ="锁定开始时间")
private Date lockBegin;
@Column(name="LOCK_END")
@ApiParam(value ="锁定结束时间")
private Date lockEnd;
@Column(name="LOCK_TIME")
@ApiParam(value ="锁定时间")
private Integer lockTime;
@Column(name="WORK_ID")
@ApiParam(value ="工作对象id")
private Long workId;
@Column(name="RESOURCE_ID")
@ApiParam(value ="资源对象id")
private Long resourceId;
@Column(name="WORK_RESOURCE_ID")
@ApiParam(value ="工作资源对象id")
private Long workResourceId;
@Column(name="MAIN_PLAN_ID")
@ApiParam(value ="主计划对象id")
private Long mainPlanId;
public Work getWork() { return BeanRelation.get(this, EWorkPlan.Work); }
public void setWork(Work work) {
this.workId = work != null ? work.getId() : 0l;
BeanRelation.set(this, EWorkPlan.Work, work);
}
public Resource getResource() { return BeanRelation.get(this, EWorkPlan.Resource); }
public void setResource(Resource resource) {
this.resourceId = resource != null ? resource.getId() : 0l;
BeanRelation.set(this, EWorkPlan.Resource, resource);
}
public WorkResource getWorkResource() { return BeanRelation.get(this, EWorkPlan.WorkResource); }
public void setWorkResource(WorkResource workResource) {
this.workResourceId = workResource != null ? workResource.getId() : 0l;
BeanRelation.set(this, EWorkPlan.WorkResource, workResource);
}
public WorkPlan getMainPlan() { return BeanRelation.get(this, EWorkPlan.MainPlan); }
public void setMainPlan(WorkPlan plan) {
this.mainPlanId = plan != null ? plan.getId() : 0l;
BeanRelation.set(this, EWorkPlan.MainPlan, plan);
}
public List<WorkPlan> getAssPlans() { return BeanRelation.list(this, EWorkPlan.AssPlans); }
}

@ -34,9 +34,9 @@ public class WorkResource extends BaseAPS {
@ApiParam(value ="前设置时间")
private Long prevTime;
@Column(name="MANUF_TIME")
@Column(name="PRODUCE_TIME")
@ApiParam(value ="制造时间")
private Long manufTime;
private Long produceTime;
@Column(name="POST_TIME")
@ApiParam(value ="后设置时间")
@ -50,14 +50,18 @@ public class WorkResource extends BaseAPS {
@ApiParam(value ="最大前设置中断时间")
private String maxPrevSdTime;
@Column(name="MAX_MANUF_SD_TIME")
@Column(name="MAX_PRODUCE_SD_TIME")
@ApiParam(value ="最大制造中断时间")
private String maxManufSdTime;
private String maxProduceSdTime;
@Column(name="MAX_POST_SD_TIME")
@ApiParam(value ="最大后设置中断时间")
private String maxPostSdTime;
@Column(name="USER_MATCH_NUMBER")
@ApiParam(value ="资源使用配套号")
private String userMatchNumber;
@Column(name="WORK_ID")
@ApiParam(value ="工作")
@FieldAnnotation(property = false)

@ -1,15 +1,25 @@
package cn.estsh.i3plus.pojo.aps.common;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.MappedSuperclass;
import java.util.HashMap;
import java.util.Map;
/**
* @Description :APS
* APS
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-17
* @Modify:
**/
@Data
@MappedSuperclass
public abstract class BaseAPS extends BaseBean {
@JsonIgnore
private transient Map<String, Object> customFields = new HashMap<>();
public Object getCustomField(String code) {

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.aps.common;
import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import io.swagger.annotations.ApiParam;
import lombok.Data;
@ -18,10 +19,12 @@ import javax.persistence.MappedSuperclass;
public abstract class BaseCode extends BaseAPS {
@Column(name="CODE")
@ApiParam(value ="编码")
@FieldAnnotation(popSearch = true)
private String code;
@Column(name="NAME")
@ApiParam(value ="名称")
@FieldAnnotation(popSearch = true)
private String name;
@Column(name="REMARK")

@ -6,6 +6,14 @@ import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import java.util.*;
import java.util.function.Consumer;
/**
* @Description :APS
*
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-17
* @Modify:
**/
public class BeanInfo {
private Class<? extends BaseBean> cls;
private BeanInfo superBeanInfo;
@ -279,6 +287,9 @@ public class BeanInfo {
case STRING:
cls = String.class;
break;
case DURATION:
cls = DateDuration.class;
break;
default:
break;
}

@ -9,6 +9,14 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate;
/**
* @Description :
*
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-17
* @Modify:
**/
public class BeanRelation {
Map<Class<? extends BaseBean>, Map<Long, Map<Enum<?>, List<BaseBean>>>> caches = new HashMap<>();
@ -61,6 +69,13 @@ public class BeanRelation {
return temp;
}
/**
*
* @param bean
* @param holder
* @param <T>
* @return
*/
public static <T extends BaseBean> T get(BaseBean bean, Enum<?> holder) {
List<T> beans = (List<T>)get(bean).get(holder);
if (beans == null || beans.isEmpty()) {
@ -69,11 +84,36 @@ public class BeanRelation {
return beans.get(0);
}
/**
*
* @param bean
* @param holder
* @param args
* @param <T>
* @return
*/
public static <T extends BaseBean> T get(BaseBean bean, Enum<?> holder, Enum<?>... args) {
return get(bean, null, holder, args);
}
/**
*
* @param bean
* @param pred Lambdatrue
* @param holder
* @param args
* @param <T>
* @return
*/
public static <T extends BaseBean> T get(BaseBean bean, Predicate<T> pred, Enum<?> holder, Enum<?>... args) {
List<BaseBean> nextBeans = list(bean, holder);
for (BaseBean nextEntity : nextBeans) {
T result = getImpl(nextEntity, pred, args, 0);
if (result != null) {
return result;
}
}
return null;
}
@ -95,6 +135,13 @@ public class BeanRelation {
return null;
}
/**
*
* @param bean
* @param holder
* @param <T>
* @return List
*/
public static <T extends BaseBean> List<T> list(BaseBean bean, Enum<?> holder) {
List<T> beans = (List<T>)get(bean).get(holder);
if (beans == null) {
@ -103,10 +150,27 @@ public class BeanRelation {
return beans;
}
/**
*
* @param bean
* @param holder
* @param args
* @param <T>
* @return List
*/
public static <T extends BaseBean> List<T> list(BaseBean bean, Enum<?> holder, Enum<?>... args) {
return list(bean, null, holder, args);
}
/**
*
* @param bean
* @param pred Lambdatrue
* @param holder
* @param args
* @param <T>
* @return List
*/
public static <T extends BaseBean> List<T> list(BaseBean bean, Predicate<T> pred, Enum<?> holder, Enum<?>... args) {
List<T> result = new ArrayList<>();
List<BaseBean> nextBeans = list(bean, holder);
@ -141,6 +205,38 @@ public class BeanRelation {
}
}
public static <T extends BaseBean> List<T> lastList(BaseBean entity, Enum<?>... args) {
List<T> result = new ArrayList<T>();
lastListImpl(result, entity, null, args, 0);
return result;
}
public static <T extends BaseBean> List<T> lastList(BaseBean entity, Predicate<T> filter, Enum<?>... args) {
List<T> result = new ArrayList<T>();
lastListImpl(result, entity, filter, args, 0);
return result;
}
@SuppressWarnings("unchecked")
private final static <T extends BaseBean> boolean lastListImpl(List<T> result, BaseBean entity, Predicate<T> filter,
Enum<?>[] args, int index) {
if (index >= args.length) {
index = 0;
}
boolean bNotLast = true;
List<BaseBean> relaEntities = list(entity, args[index]);
for (BaseBean relaEntity : relaEntities) {
if (lastListImpl(result, relaEntity, filter, args, index + 1)) {
result.add((T)relaEntity);
bNotLast = false;
}
}
return index == 0 && bNotLast;
}
/**
*
*
@ -149,7 +245,7 @@ public class BeanRelation {
* @param relaBean
*/
public static void set(BaseBean bean, Enum<?> holder, BaseBean relaBean) {
if (bean == null) {
if (bean == null || holder == null) {
return;
}
if (relaBean == null) {
@ -201,7 +297,7 @@ public class BeanRelation {
* @param bean
* @param holder
*/
private static void remove(BaseBean bean, Enum<?> holder) {
public static void remove(BaseBean bean, Enum<?> holder) {
if (bean == null || holder == null) {
return;
}
@ -225,7 +321,7 @@ public class BeanRelation {
* @param holder
* @param relaBean
*/
private static void remove(BaseBean bean, Enum<?> holder, BaseBean relaBean) {
public static void remove(BaseBean bean, Enum<?> holder, BaseBean relaBean) {
if (bean == null || holder == null) {
return;
}
@ -266,4 +362,42 @@ public class BeanRelation {
}
}
}
/**
* lambdalambdafalse退
* @param bean
* @param fun
* @param holders
* @param <T>
*/
public static <T extends BaseBean> void recursion(BaseBean bean, Predicate<T> fun, Enum<?>... holders) {
if (holders.length == 0) {
return;
}
recursionImpl(bean, fun, holders, 0);
}
/**
* 广
* @param bean
* @param fun
* @param holders
* @param index
* @param <T>
*/
@SuppressWarnings("unchecked")
private final static <T extends BaseBean> void recursionImpl(BaseBean bean, Predicate<T> fun,
Enum<?>[] holders, int index) {
if (index >= holders.length) {
if (!fun.test((T) bean)) {
return;
}
index = 0;
}
List<BaseBean> relaBeans = list(bean, holders[index]);
for (BaseBean relaBean : relaBeans) {
recursionImpl(relaBean, fun, holders, index + 1);
}
}
}

@ -0,0 +1,7 @@
package cn.estsh.i3plus.pojo.aps.enums;
public enum DYNAMIC_SET_CALC {
MIN, // 取最小值
MAX, // 取最大值
SUM // 求和
}

@ -0,0 +1,7 @@
package cn.estsh.i3plus.pojo.aps.enums;
public enum DYNAMIC_SET_TYPE {
PREV_SET, // 只对前设置影响
POST_SET, // 只对后设置影响
ALL // 对前后设置都产生影响
}

@ -0,0 +1,18 @@
package cn.estsh.i3plus.pojo.aps.enums;
public enum EFFICIENCY_EFFECT {
NONE(0),
PREV_SET(1),
PRODUCE(2),
POST_SET(4);
private int _value;
EFFICIENCY_EFFECT(int value){
_value = value;
}
public int value() {
return this._value;
}
}

@ -0,0 +1,22 @@
package cn.estsh.i3plus.pojo.aps.enums;
/**
*
*
*/
public enum MATERIAL_ASSIGN_LIMIT {
NONE(0), // 不进行任何制约
INVENTORY(1), // 库存制约
PURCHASE(2), // 采购制约
PRODUCT(4); // 制造制约
private int _value;
MATERIAL_ASSIGN_LIMIT(int value) {
_value = value;
}
public int value() {
return this._value;
}
}

@ -0,0 +1,15 @@
package cn.estsh.i3plus.pojo.aps.enums;
/**
* @Description :
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-17
* @Modify:
**/
public enum PLAN_TYPE {
PREV_SET,
PRODUCE,
POST_SET,
LOCK
}

@ -0,0 +1,22 @@
package cn.estsh.i3plus.pojo.aps.enums;
/**
* @Description :
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-17
* @Modify:
**/
public enum RESOURCE_CHOISE_RULE {
PREV_SET_TIME, // 前设置时间
PRODUCE_TIME, // 生产时间
POST_SET_TIME, // 后设置时间
WORK_WAIT_TIME, // 工作等待时间
RES_BALANCE, // 资源均衡度
SAME_MATERIAL, // 相同物料
SAME_ORDER, // 相同订单
NEARLY_WORK, // 前后工作
POST_RESOURCE, // 后资源制约
SAME_ASS_RESOURCE, // 相同副资源
RESOURCE_PRIORITY; // 资源优先级
}

@ -0,0 +1,7 @@
package cn.estsh.i3plus.pojo.aps.enums;
public enum RESOURCE_LOCK_TYPE {
NONE, // 不锁定
PRODUCE_BEGIN, // 与后工序生产开始时刻有关
PRODUCE_END // 与后工序生产结束时刻有关
}

@ -8,7 +8,6 @@ package cn.estsh.i3plus.pojo.aps.enums;
* @Modify:
**/
public enum TIME_ROUND_TYPE {
NONE, // 不圆整
UP, // 向上
DOWN, // 向下
ROUNDING // 四舍五入

@ -0,0 +1,31 @@
package cn.estsh.i3plus.pojo.aps.enums;
/**
* @Description :
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-17
* @Modify:
**/
public enum WORK_SORT_RULE {
NONE,
ORDER_LET, // 订单交货期
ORDER_PRIORITY, // 订单优先级
ORDER_EST, // 订单最早开始时刻
ORDER_COUNT, // 订单数量
ORDER_RECEIVE_DATE,// 订单接单日期
ORDER_LET_SUB_EST,// 订单交货期与订单最早开始时刻之差
ORDER_SURPLUS, // 订单余裕度
NOPLAN_OPERATION_SIZE,// 残留工序数
REMAIN_PRODUCE_TIME, // 残留生产时间
MIN_OPERATION_REMAIN_TIME,// 最小工序宽裕时间
WORK_LET, // 工作最晚结束时刻
WORK_EST, // 工作最早开始时刻
INVENTORY_RELA, // 订单物品库存量相对值
FIRST_WORK_BEGIN,// 订单首工作上次开始时刻
HAVE_HIGH_WORK, // 订单中含有高级别工作
WORK_RESOURCE_SIZE, // 工作的可用资源数
TOP_ORDER_LET,// 顶层订单的交货期
TOP_ORDER_CODE, // 顶层订单代码
TOP_ORDER_PRIORITY; // 顶层订单优先级
}

@ -0,0 +1,8 @@
package cn.estsh.i3plus.pojo.aps.enums;
public enum WORK_SPLIT_TYPE {
NONE, // 不分割
RATIO, // 按比例分割
COUNT, // 按数量分割
BATCH // 按批量分割
}

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

@ -1,4 +1,6 @@
package cn.estsh.i3plus.pojo.aps.holders;
public enum EResCalendar {
DayShifts,
Resources
}

@ -1,13 +1,14 @@
package cn.estsh.i3plus.pojo.aps.holders;
public enum EWork {
Order,
ParentWork,
WorkResources,
WorkInputs,
WorkOutputs,
PrevRelations,
PostRelations,
Operation,
PlanFeedbacks
Order, // 订单
ParentWork, // 父工作
WorkResources, // 工作资源
WorkInputs, // 工作输入
WorkOutputs, // 工作输出
PrevRelations, // 前关联
PostRelations, // 后关联
Operation, // 工序
PlanFeedbacks, // 工作计划反馈
WorkPlan // 关联的为主资源的计划
}

@ -0,0 +1,12 @@
package cn.estsh.i3plus.pojo.aps.holders;
public enum EWorkPlan {
Work,
Resource,
WorkResource,
MainPlan, // 关联的为主资源的工作计划
AssPlans, // 关联的为副资源的工作计划
PrevPlan,
PostPlan,
FurnacePlan,
}

@ -3,8 +3,32 @@ package cn.estsh.i3plus.pojo.aps.model;
import cn.estsh.i3plus.pojo.base.common.Pager;
import lombok.Data;
import java.util.List;
@Data
public class APSPager extends Pager {
public static class SortData {
// 排序对象
private String name;
// 排序类型1为升序0为降序
private int orderType;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getOrderType() {
return orderType;
}
public void setOrderType(int orderType) {
this.orderType = orderType;
}
}
private String filter;
private String sort;
private List<SortData> sorts;
}

@ -0,0 +1,18 @@
package cn.estsh.i3plus.pojo.aps.model;
import cn.estsh.i3plus.pojo.aps.bean.WorkResource;
import java.util.List;
/**
* @Description :
*
* @Reference :
* @Author : jason.niu
* @CreateDate : 2019-09-11
* @Modify:
**/
public class ResourceCompose {
public WorkResource resource;
public List<WorkResource> assResource;
}

@ -0,0 +1,9 @@
package cn.estsh.i3plus.pojo.aps.repository;
import cn.estsh.i3plus.pojo.aps.bean.AssistResourceSetTime;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface AssistResourceSetTimeRepository extends CrudRepository<AssistResourceSetTime, Long> {
}

@ -0,0 +1,9 @@
package cn.estsh.i3plus.pojo.aps.repository;
import cn.estsh.i3plus.pojo.aps.bean.DynamicSetTime;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface DynamicSetTimeRepository extends CrudRepository<DynamicSetTime, Long> {
}

@ -0,0 +1,9 @@
package cn.estsh.i3plus.pojo.aps.repository;
import cn.estsh.i3plus.pojo.aps.bean.FurnacePlan;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface FurnacePlanRepository extends CrudRepository<FurnacePlan, Long> {
}

@ -0,0 +1,9 @@
package cn.estsh.i3plus.pojo.aps.repository;
import cn.estsh.i3plus.pojo.aps.bean.WorkPlan;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface IWorkPlanRepository extends CrudRepository<WorkPlan, Long> {
}

@ -0,0 +1,9 @@
package cn.estsh.i3plus.pojo.aps.repository;
import cn.estsh.i3plus.pojo.aps.bean.MaterialSetTime;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface MaterialSetTimeRepository extends CrudRepository<MaterialSetTime, Long> {
}

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<Class name="FurnacePlan">
<Relation field="WorkPlans" name="WorkPlan" reverse="FurnacePlan" type="ONE_TO_MULTI" owner="true">
</Relation>
</Class>

@ -1,3 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Class name="ResCalendar">
<Relation field="DayShifts" name="DayShift" type="MULTI_TO_MULTI">
</Relation>
<Relation field="Resources" name="Resource" type="MULTI_TO_MULTI">
</Relation>
</Class>

@ -4,7 +4,7 @@
</Relation>
<Relation field="WorkInputs" name="WorkInput" reverse="Work" type="ONE_TO_MULTI" owner="true">
</Relation>
<Relation field="WORK_RESOURCES" name="WorkResource" reverse="Work" type="ONE_TO_MULTI" owner="true">
<Relation field="WorkResources" name="WorkResource" reverse="Work" type="ONE_TO_MULTI" owner="true">
</Relation>
<Relation field="PostRelations" name="WorkRelation" reverse="PrevWork" type="ONE_TO_MULTI" owner="false">
</Relation>
@ -12,6 +12,8 @@
</Relation>
<Relation field="Operation" name="Operation" type="MULTI_TO_ONE" owner="false">
</Relation>
<Relation field="PlanFeedback" name="PlanFeedback" reverse="Work" type="ONE_TO_MULTI" owner="true">
<Relation field="WorkPlan" name="WorkPlan" reverse="Work" type="ONE_TO_ONE" owner="true">
</Relation>
<Relation field="PlanFeedbacks" name="PlanFeedback" reverse="Work" type="ONE_TO_MULTI" owner="true">
</Relation>
</Class>

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<Class name="WorkInput">
<Relation field="WorkRelations" name="WorkRelation" reverse="WorkInput" type="ONE_TO_MULTI" owner="true">
</Relation>
<Relation field="Material" name="Material" reverse="WorkInputs" type="MULTI_TO_ONE" owner="false">
</Relation>
<Relation field="OperInput" name="OperInput" reverse="WorkInputs" type="MULTI_TO_ONE" owner="false">
</Relation>
<Relation field="WorkRelations" name="WorkRelation" reverse="WorkInput" type="ONE_TO_MULTI" owner="true">
</Relation>
<Relation field="Material" name="Material" reverse="WorkInputs" type="MULTI_TO_ONE" owner="false">
</Relation>
<Relation field="OperInput" name="OperInput" reverse="WorkInputs" type="MULTI_TO_ONE" owner="false">
</Relation>
</Class>

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<Class name="WorkPlan">
<Relation field="Resource" name="Resource" type="MULTI_TO_ONE" owner="false">
</Relation>
<Relation field="WorkResource" name="WorkResource" type="ONE_TO_ONE" owner="false">
</Relation>
<Relation field="AssPlans" name="WorkPlan" reverse="MainPlan" type="ONE_TO_MULTI" owner="false">
</Relation>
<Relation field="PrevPlan" name="WorkPlan" reverse="PostPlan" type="MULTI_TO_MULTI" owner="false">
</Relation>
</Class>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Class name="WorkResource">
<Relation field="Resource" name="Resource" reverse="WorkResources" type="MULTI_TO_ONE" owner="false">
<Relation field="Resource" name="Resource" type="MULTI_TO_ONE" owner="false">
</Relation>
<Relation field="OperResource" name="OperResource" reverse="WorkResources" type="MULTI_TO_ONE" owner="false">
</Relation>

@ -67,14 +67,14 @@ public abstract class BaseBean implements Serializable {
@Column(name="IS_VALID")
@ApiParam(value = "有效性",example = "1")
@AnnoOutputColumn(refClass = WmsEnumUtil.TRUE_OR_FALSE.class,refForeignKey = "value",value = "description")
@AnnoOutputColumn(refClass = CommonEnumUtil.TRUE_OR_FALSE.class,refForeignKey = "value",value = "description", hidden = true)
public Integer isValid; //CommonEnumUtil.IS_VAILD;
@Column(name="IS_DELETED")
@ApiParam(value = "是否已删除",example = "2")
@AnnoOutputColumn(hidden = true)
//逻辑删除,软删除
public Integer isDeleted; //CommonEnumUtil.TRUE_OR_FALSE
public Integer isDeleted; //CommonEnumUtil.TRUE_OR_FALSEA
@Column(name="CREATE_USER",updatable = false)
@ApiParam(value = "创建用户")

@ -12,6 +12,53 @@ import org.apache.commons.lang3.StringUtils;
**/
public class AndonEnumUtil {
/**
*
* 10-20-
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum KNOWLEDGE_AUDIT_STATUS {
PENDING(10,"待审批"),
PASS(20,"审批通过"),
STOP(99,"审批不通过");
private int value;
private String description;
KNOWLEDGE_AUDIT_STATUS(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;
}
public static int descriptionOfValue(String val) {
int tmp = -1;
for (int i = 0; i < values().length; i++) {
if (StringUtils.equalsIgnoreCase(values()[i].description, val)) {
tmp = values()[i].value;
}
}
return tmp;
}
}
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
@ -245,6 +292,58 @@ public class AndonEnumUtil {
}
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum IS_ALARM_STATUS {
TRUE(10, "是"), FALSE(20, "否");
private int value;
private String description;
private IS_ALARM_STATUS(int value, String description) {
this.value = value;
this.description = description;
}
public int getValue() {
return value;
}
public String getValueStr() {
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;
}
public static String valueOfDescription(int val) {return valueOf(val);}
public static int descriptionOfValue(String desc) {return descOf(desc);}
}
/**
*
* 10-20-
*/
@ -406,6 +505,16 @@ public class AndonEnumUtil {
}
return tmp;
}
public static String descriptionOfCode(String val) {
String tmp = "";
for (int i = 0; i < values().length; i++) {
if (StringUtils.equalsIgnoreCase(values()[i].description, val)) {
tmp = values()[i].code;
}
}
return tmp;
}
}
@ -462,7 +571,9 @@ public class AndonEnumUtil {
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ALARM_OPERATION_SOURCE{
PHYSICAL("10","物理操作"),
SOFT("20","软件操作");
SOFT("20","软件操作"),
SCHEDULE("30","队列,定时操作"),
INSERT("40","插入动作");
private String value;
private String description;

@ -31,7 +31,7 @@ public class CommonEnumUtil {
JOBFLOW(23,"block-jobflow","智能作业流"),
SOFTSWITCH(24,"block-softswitch","软件适配器"),
HARDSWITCH(25,"block-hardswitch","硬件适配器"),
LAC(26,"link-connect","连接适配器"),
LAC(26,"lac","连接适配器"),
ANDON(27,"andon","安灯"),
CENTER(99,"icloud-server","注册中心"),
SURFACE(98,"i3surface","对外服务"),

@ -11,21 +11,596 @@ import com.fasterxml.jackson.annotation.JsonFormat;
**/
public class MesEnumUtil {
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_SIDE_LOCATION {
A_SIDE(10, "A面"),
B_SIDE(20, "B面"),
C_SIDE(30, "C面"),
D_SIDE(40, "D面");
private int value;
private String description;
MES_SIDE_LOCATION(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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_DEFECT_TYPE {
DEFECT_TYPE1(10, "缺陷类型1"),
DEFECT_TYPE2(20, "缺陷类型2"),
DEFECT_TYPE3(30, "缺陷类型3");
private int value;
private String description;
MES_DEFECT_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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_TYPE_CFG_BUSIN_TYPE {
BUSIN_TYPE1(10, "业务类型1"),
BUSIN_TYPE2(20, "业务类型2"),
BUSIN_TYPE3(30, "业务类型3");
private int value;
private String description;
MES_TYPE_CFG_BUSIN_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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_DEFECT_CAUSE_TYPE {
QUALITY_DEFECTS(10, "质量缺陷"),
PROCESS_DEFECTS(20, "工艺缺陷"),
EQUIPMENT_DEFECT(30, "设备缺陷");
private int value;
private String description;
MES_DEFECT_CAUSE_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;
}
}
/**
* mes-
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_DETAIL_ACTION_STATUS {
PENDING(10, "待处理"),
COMPLETE(20, "已完成"),
CANCEL(30, "取消");
private int value;
private String description;
MES_EQU_TASK_DETAIL_ACTION_STATUS(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;
}
}
/**
* mes-
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_DETAIL_CHECK_RESULT {
YES(10, "合格"),
NO(20, "不合格");
private int value;
private String description;
MES_EQU_TASK_DETAIL_CHECK_RESULT(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;
}
}
/**
* mes-
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_DETAIL_FINAL_RESULT {
YES(10, "合格"),
NO(20, "不合格");
private int value;
private String description;
MES_EQU_TASK_DETAIL_FINAL_RESULT(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;
}
}
/**
* mes-
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_DETAIL_REPAIR_FLAG {
FALSE(10, "否"),
TRUE(20, "是");
private int value;
private String description;
MES_EQU_TASK_DETAIL_REPAIR_FLAG(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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_STATUS {
CREATE(10, "创建"),
LANDED(20, "下达"),
OPEN(30, "开启"),
CLOSE(40, "关闭"),
CANCEL(50, "取消");
private int value;
private String description;
MES_EQU_TASK_STATUS(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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_SOURCE {
PLAN(10, "周期计划"),
CREATE(20, "手工创建"),
ANDON(30, "ANDON");
private int value;
private String description;
MES_EQU_TASK_SOURCE(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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_NOTIFY_FLAG {
FALSE(10, "未通知"),
TRUE(20, "已通知");
private int value;
private String description;
MES_EQU_TASK_NOTIFY_FLAG(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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_INSERT_EXCEL {
MES_PLAN_ORDER(10, "生产计划"),
MES_EQUIPMENT(20, "设备台账"),
MES_EQU_TASK_STANDARD(30, "设备作业要求");
private int value;
private String description;
MES_INSERT_EXCEL(int value, String description) {
this.value = value;
this.description = description;
}
public int getValue() {
return value;
}
public String getDescription() {
return description;
}
// 根据value返回枚举类型,主要在switch中使用
public static MES_INSERT_EXCEL getByValue(int value) {
for (MES_INSERT_EXCEL mesInsertExcel : values()) {
if (mesInsertExcel.getValue() == value) {
return mesInsertExcel;
}
}
return null;
}
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;
}
}
/**
* mes-
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_NOTIFY_CFG_TYPE {
TASK_NOTIFY(10, "任务型通知");
private int value;
private String description;
MES_EQU_TASK_NOTIFY_CFG_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;
}
}
/**
* mes-
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_NOTIFY_CFG_PATTERN {
EMAIL(10, "邮件"),
USERPHONE(20, "手机号");
private int value;
private String description;
MES_EQU_TASK_NOTIFY_CFG_PATTERN(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;
}
}
/**
* mes-
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_NOTIFY_OBJECT_CFG_TYPE {
CHECK_NOTIFY_OBJECT(10, "点检通知对象"),
MAINTAIN_NOTIFY_OBJECT(20, "保养通知对象"),
REPAIR_NOTIFY_OBJECT(30, "维修通知对象");
private int value;
private String description;
MES_EQU_NOTIFY_OBJECT_CFG_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;
}
}
/**
* mes-
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_INSERT_EXCEL {
public enum MES_IS_REPEAT {
MES_PLAN_ORDER(10, "生产计划"),
MES_EQUIPMENT(20, "设备台账"),
MES_EQU_TASK_STANDARD(30, "设备作业要求");
REPEATABLE(1, "可重复"),
NOT_REPEAT(2, "不可重复");
private int value;
private String description;
MES_INSERT_EXCEL(int value, String description) {
MES_IS_REPEAT(int value, String description) {
this.value = value;
this.description = description;
}
@ -39,8 +614,251 @@ public class MesEnumUtil {
}
// 根据value返回枚举类型,主要在switch中使用
public static MES_INSERT_EXCEL getByValue(int value) {
for (MES_INSERT_EXCEL mesInsertExcel : values()) {
public static MES_IS_REPEAT getByValue(int value) {
for (MES_IS_REPEAT mesInsertExcel : values()) {
if (mesInsertExcel.getValue() == value) {
return mesInsertExcel;
}
}
return null;
}
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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_WORK_CELL_TYPE {
NORMAL(10, "正常"),
REWORK(20, "返修");
private int value;
private String description;
MES_WORK_CELL_TYPE(int value, String description) {
this.value = value;
this.description = description;
}
public int getValue() {
return value;
}
public String getDescription() {
return description;
}
// 根据value返回枚举类型,主要在switch中使用
public static MES_WORK_CELL_TYPE getByValue(int value) {
for (MES_WORK_CELL_TYPE mesInsertExcel : values()) {
if (mesInsertExcel.getValue() == value) {
return mesInsertExcel;
}
}
return null;
}
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;
}
}
/**
* pcn
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_ACTION_TYPE {
BIND(10, "绑定"),
UNTYING(20, "解绑");
private int value;
private String description;
MES_ACTION_TYPE(int value, String description) {
this.value = value;
this.description = description;
}
public int getValue() {
return value;
}
public String getDescription() {
return description;
}
// 根据value返回枚举类型,主要在switch中使用
public static MES_ACTION_TYPE getByValue(int value) {
for (MES_ACTION_TYPE mesInsertExcel : values()) {
if (mesInsertExcel.getValue() == value) {
return mesInsertExcel;
}
}
return null;
}
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;
}
}
/**
* pcn
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_IS_KEY {
IS_KEY(10, "是"),
NO_KEY(20, "否");
private int value;
private String description;
MES_IS_KEY(int value, String description) {
this.value = value;
this.description = description;
}
public int getValue() {
return value;
}
public String getDescription() {
return description;
}
// 根据value返回枚举类型,主要在switch中使用
public static MES_IS_KEY getByValue(int value) {
for (MES_IS_KEY mesInsertExcel : values()) {
if (mesInsertExcel.getValue() == value) {
return mesInsertExcel;
}
}
return null;
}
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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_REPAIR_STATUS {
REPAIRED(10, "已维修"),
NO_REPAIR(20, "待维修");
private int value;
private String description;
MES_REPAIR_STATUS(int value, String description) {
this.value = value;
this.description = description;
}
public int getValue() {
return value;
}
public String getDescription() {
return description;
}
// 根据value返回枚举类型,主要在switch中使用
public static MES_REPAIR_STATUS getByValue(int value) {
for (MES_REPAIR_STATUS mesInsertExcel : values()) {
if (mesInsertExcel.getValue() == value) {
return mesInsertExcel;
}
}
return null;
}
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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_OPERATE_TYPE {
WORKSTATION_SCAN(10, "工位扫描"),
QUALITY_JUDGEMENT(20, "质量判定"),
MATERIAL_DISMANTLING(30, "物料拆解"),
REWORK(40, "返修作业"),
WORKSTATION_MONITORING(50, "工位监控");
private int value;
private String description;
MES_OPERATE_TYPE(int value, String description) {
this.value = value;
this.description = description;
}
public int getValue() {
return value;
}
public String getDescription() {
return description;
}
// 根据value返回枚举类型,主要在switch中使用
public static MES_OPERATE_TYPE getByValue(int value) {
for (MES_OPERATE_TYPE mesInsertExcel : values()) {
if (mesInsertExcel.getValue() == value) {
return mesInsertExcel;
}
@ -65,7 +883,7 @@ public class MesEnumUtil {
* mes-
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_EQU_TASK_STANDARD_TASK_TYPE {
public enum MES_EQU_TASK_TYPE {
CHECK(10, "点检"),
MAINTAIN(20, "保养"),
@ -74,7 +892,7 @@ public class MesEnumUtil {
private int value;
private String description;
MES_EQU_TASK_STANDARD_TASK_TYPE(int value, String description) {
MES_EQU_TASK_TYPE(int value, String description) {
this.value = value;
this.description = description;
}
@ -854,7 +1672,8 @@ public class MesEnumUtil {
STANDARD_ORDER(10, "标准工单"),
BTS_ORDER(20, "BTS工单"),
ATTEMPT_ORDER(30, "试制工单");
ATTEMPT_ORDER(30, "试制工单"),
BH_ORDER(40, "B&H工单");;
private int value;
private String description;
@ -1087,6 +1906,7 @@ public class MesEnumUtil {
CREATE(10, "创建"),
PROCESS(20, "加工"),
OFFLINE(30, "下线"),
PACKAGE_SCAN(35, "打包扫描"),
INSTOCKED(40, "入库"),
SHIPING(50, "发运"),
CLOSE(90, "关闭"),
@ -1164,7 +1984,8 @@ public class MesEnumUtil {
QUALIFIED(10, "合格"),
DEFECTED(20, "不合格"),
SCRAPED(30, "报废");
SCRAPED(30, "报废"),
DISMANTLED(40, "已拆解");
private int value;
private String description;
@ -1242,6 +2063,7 @@ public class MesEnumUtil {
CUSTOM_COMPONENT("customComponent", "定制内容"),
TASK_COMPLETE("taskComplete", "整个扫描完成"),
STEP_RAN_STATUS("stepRanStatus", "工步列表执行前"),
RUNNING_INFO("runningInfo", "执行信息"),
RENEW_REQUEST_PARAMS("renewRequestParams", "回传刷新StationResultBean");
@ -1471,7 +2293,8 @@ public class MesEnumUtil {
UPDATE_SYNC_TIME(50, "UPDATE_SYNC_TIME"),
PCN_PULL(60, "PCN_PULL"),
PCN_PUSH(70, "PCN_PUSH"),
FDFS_DOWNLOAD(80, "FDFS_DOWNLOAD");
FDFS_DOWNLOAD(80, "FDFS_DOWNLOAD"),
REWORK_REPAIR(90, "REWORK_REPAIR");
private int value;
private String description;
@ -1620,4 +2443,50 @@ public class MesEnumUtil {
}
}
/**
* MesRoute
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ROUTE_TYPE {
SCAN(10, "扫描流程"),
MONITOR(20, "监控流程");
private int value;
private String description;
ROUTE_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;
}
public static String valueOfDescription2(int val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value == val) {
tmp = values()[i].description.equals("已审批") ? "审批" : values()[i].description;
}
}
return tmp;
}
}
}

@ -13,6 +13,168 @@ import org.apache.commons.lang3.StringUtils;
public class MesPcnEnumUtil {
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_DEFECT_CAUSE_TYPE {
QUALITY_DEFECTS(10, "质量缺陷"),
PROCESS_DEFECTS(20, "工艺缺陷"),
EQUIPMENT_DEFECT(30, "设备缺陷");
private int value;
private String description;
MES_DEFECT_CAUSE_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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_SIDE_LOCATION {
A_SIDE(10, "A面"),
B_SIDE(20, "B面"),
C_SIDE(30, "C面"),
D_SIDE(40, "D面");
private int value;
private String description;
MES_SIDE_LOCATION(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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_REPAIR_STATUS {
REPAIRED(10, "已维修"),
NO_REPAIR(20, "待维修");
private int value;
private String description;
MES_REPAIR_STATUS(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;
}
}
/**
* mes
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MES_QC_CHECK_TYPE {
FIRST_CHECK(10, "首检"),
ON_SITE_CHECK(20, "巡检"),
END_CHECK(30, "尾检");
private int value;
private String description;
MES_QC_CHECK_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;
}
public static Integer descriptionOfValue(String description) {
Integer tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].description.equals(description)) {
tmp = values()[i].value;
}
}
return tmp;
}
}
/**
* mes-pcn
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
@ -351,20 +513,20 @@ public class MesPcnEnumUtil {
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum WORK_CENTER_RUNNING_STATUS {
RUNNING(1, "start", "开线"),
STOPPED(2, "stop", "停线");
RUNNING("Y", "start", "开线"),
STOPPED("N", "stop", "停线");
private int value;
private String value;
private String code;
private String description;
WORK_CENTER_RUNNING_STATUS(int value, String code, String description) {
WORK_CENTER_RUNNING_STATUS(String value, String code, String description) {
this.value = value;
this.code = code;
this.description = description;
}
public int getValue() {
public String getValue() {
return value;
}
@ -376,20 +538,20 @@ public class MesPcnEnumUtil {
return description;
}
public static String valueOfDescription(int val) {
public static String valueOfDescription(String val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value == val) {
if (values()[i].value.equals(val)) {
tmp = values()[i].description;
}
}
return tmp;
}
public static String valueOfCode(int val) {
public static String valueOfCode(String val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value == val) {
if (values()[i].value.equals(val)) {
tmp = values()[i].code;
}
}
@ -855,7 +1017,8 @@ public class MesPcnEnumUtil {
STANDARD_ORDER(10, "标准工单"),
BTS_ORDER(20, "BTS工单"),
ATTEMPT_ORDER(30, "试制工单");
ATTEMPT_ORDER(30, "试制工单"),
BH_ORDER(40, "B&H工单");
private int value;
private String description;
@ -1405,4 +1568,187 @@ public class MesPcnEnumUtil {
}
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum PRODUCE_SN_STATUS {
CREATE(10, "创建"),
PROCESS(20, "加工"),
OFFLINE(30, "下线"),
PACKAGE_SCAN(35, "打包扫描"),
INSTOCKED(40, "入库"),
SHIPING(50, "发运"),
CLOSE(90, "关闭"),
;
private int value;
private String description;
PRODUCE_SN_STATUS(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;
}
}
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum PACKAGE_IS_SEALED {
UNSEALED(1, "未封箱"),
SEALED(2, "已封箱");
private int value;
private String description;
PACKAGE_IS_SEALED(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;
}
}
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum PACKAGE_OP_TYPE {
PACK(10, "打包"),
UNPACK(20, "拆包");
private int value;
private String description;
PACKAGE_OP_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;
}
}
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum PACKAGE_PRINT_STATUS {
UNPRINTED(10, "未打印"),
PRINTED(20, "打印");
private int value;
private String description;
PACKAGE_PRINT_STATUS(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;
}
}
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum STATION_BUSI_TYPE {
MESSAGE("message", "返回信息"),
STEP_LIST("stepList", "工步列表"),
STEP_CONTENT("stepContent", "工步内容"),
MODULE_CONTENT("moduleContent", "组件内容"),
CUSTOM_COMPONENT("customComponent", "定制内容"),
TASK_COMPLETE("taskComplete", "整个扫描完成"),
STEP_RAN_STATUS("stepRanStatus", "工步列表执行前"),
RUNNING_INFO("runningInfo", "执行信息"),
RENEW_REQUEST_PARAMS("renewRequestParams", "回传刷新StationResultBean");
private String value;
private String description;
STATION_BUSI_TYPE(String value, String description) {
this.value = value;
this.description = description;
}
public String getValue() {
return value;
}
public String getDescription() {
return description;
}
public static String valueOfDescription(String val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (val.equals(values()[i].value)) {
tmp = values()[i].description;
}
}
return tmp;
}
}
}

@ -621,7 +621,9 @@ public class WmsEnumUtil {
AMPR(230, "AMPR", "AMPR"),
FINISHGOODS(240, "FINISHGOODS", "VDA生产快速入库"),
VDA_REPORT(250, "VDA_REPORT", "VDA生产报工"),
VDA_PR_INSTOCK(260, "VDA_PR_INSTOCK", "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单箱领料");
private int value;
@ -792,7 +794,12 @@ public class WmsEnumUtil {
VDAINSTOCK("VDAINSTOCK", "VDA入库"),
VDAMOVESTOCK("VDAMOVESTOCK", "VDA内部移库"),
VDA_FAST_STOCK("VDA_FAST_STOCK", "VDA采购快速入库"),
VDAREPORT("VDAREPORT", "VDA生产报工");
VDAREPORT("VDAREPORT", "VDA生产报工"),
VDA_FINISH_GOODS("VDA_FINISH_GOODS", "VDA生产快速入库"),
VDA_PICKING_GOODS("VDA_PICKING_GOODS", "VDA生产领料"),
VDA_NC_FREEZE("VDA_NC_FREEZE", "VDA_NC冻结"),
VDA_ONE_PICKING_GOODS("VDA_ONE_PICKING_GOODS", "VDA单箱领料"),
VDA_NC_UN_FREEZE("VDA_NC_UN_FREEZE", "VDA_NC解冻");
private String value;
private String description;
@ -1520,6 +1527,7 @@ public class WmsEnumUtil {
CHECKLIST(1, "可选列表"),
NUMBER(10, "数字"),
STRING(20, "字符串"),
CONFIGURABLE_STR(25, "可配字符串"),
OUT_OR_UNNECESSARY(30, "出参或者不必需的参数");
private int value;

@ -636,7 +636,7 @@ public class DdlPreparedPack {
if (basisType == CommonEnumUtil.BASIS_TYPE.INT.getValue()) {
name = " cast(" + name + " as integer)";
} else if (basisType == CommonEnumUtil.BASIS_TYPE.DOUBLE.getValue()) {
name = " cast(" + name + " as double)";
name = " cast(" + name + " as decimal)";
} else if (basisType == CommonEnumUtil.BASIS_TYPE.LONG.getValue()) {
name = " cast(" + name + " as long)";
}

@ -13,5 +13,11 @@
<artifactId>i3plus-pojo-lac</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-base</artifactId>
</dependency>
</dependencies>
</project>

@ -0,0 +1,95 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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.Lob;
import javax.persistence.Table;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-18 6:04
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_COMMAND_STACK_RECORD")
@Api(value="适配记录",description = "适配记录")
public class LacCommandStackRecord extends BaseBean {
private static final long serialVersionUID = -2775980024345181459L;
@Column(name="commandStackId")
@ApiParam(value ="指令集ID" , example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long commandStackId;
@Column(name="COMMAND_STACK_NAME_RDD")
@ApiParam(value ="指令集名称")
private String commandStackNameRdd;
@Column(name="COMMAND_STACK_CODE_RDD")
@ApiParam(value ="指令集代码")
private String commandStackCodeRdd;
@Column(name="COMMAND_STACK_TYPE_ID")
@ApiParam(value ="指令集类型")
@JsonSerialize(using = ToStringSerializer.class)
private Long commandStackTypeId;
@Column(name="STEP_INDEX")
@ApiParam(value ="当前步骤")
private Integer stepIndex;
@Column(name="STEP_NUM")
@ApiParam(value ="步骤总数")
private Integer stepNum;
@Column(name="TASK_COMPLETE_NUM")
@ApiParam(value ="任务完成数量")
private Integer taskCompleteNum;
@Column(name="TASK_NUM")
@ApiParam(value ="任务总数")
private Integer taskNum;
@Lob
@Column(name="INPUT_PARAMETER")
@ApiParam(value ="执行入参")
private String inputParameter;
@Column(name="STACK_START_TIME")
@ApiParam(value ="执行开始时间")
private String stackStartTime;
@Column(name="STACK_END_TIME")
@ApiParam(value ="执行结束时间")
private String stackEndTime;
@Column(name="STACK_SPEND")
@ApiParam(value ="执行耗时")
private Integer stackSpend;
@Column(name="STACK_STATUS")
@ApiParam(value ="执行状态")
private Integer stackStatus;
@Column(name="EXECUTION_DESCRIPTION")
@ApiParam(value ="执行说明")
private String executionDescription;
}

@ -0,0 +1,78 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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;
/**
* @Description :
* <per>
* <br/> create table LacInstructionSetStep(
* <br/> templateId bigint null,
* <br/> templateNameRdd varchar(50) null,
* <br/> templateCode varchar(50) null,
* <br/> stepName varchar(50) null,
* <br/> stepSort int null,
* <br/> stepExecCond double null,
* <br/> stepDescription varchar(255) null
* <br/> );
*
* <br/> comment on table LacInstructionSetStep is'';
* <br/> comment on column LacInstructionSetStep.templateId is'id';
* <br/> comment on column LacInstructionSetStep.templateNameRdd is'';
* <br/> comment on column LacInstructionSetStep.templateCode is'';
* <br/> comment on column LacInstructionSetStep.stepName is'';
* <br/> comment on column LacInstructionSetStep.stepSort is'';
* <br/> comment on column LacInstructionSetStep.stepExecCond is'';
* <br/> comment on column LacInstructionSetStep.stepDescription is'';
* </per>
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-25 5:53
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_COMMAND_STACK_STEP")
@Api(value="指令集模板",description = "指令集模板信息")
public class LacCommandStackStep extends BaseBean {
@Column(name="TEMPLATE_ID")
@ApiParam(value ="模板ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long templateId;
@Column(name="STEP_NAME")
@ApiParam(value ="模板名称")
private String stepName;
@Column(name="STEP_CODE")
@ApiParam(value ="模板代码")
private String stepCode;
@Column(name="STEP_SORT")
@ApiParam(value ="步骤顺序")
private Integer stepSort;
@Column(name="STEP_EXEC_COND")
@ApiParam(value ="步骤执行条件")
private Integer stepExecCond;
@Column(name="STEP_DESCRIPTION")
@ApiParam(value ="步骤执行条件")
private String stepDescription;
}

@ -0,0 +1,102 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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;
/**
* @Description :
* <per>
* <br/> create table LacInstructionSetStepTask(
* <br/> templateId bigint null,
* <br/> templateNameRdd varchar(50) null,
* <br/> templateCode varchar(50) null,
* <br/> stepId bigint null,
* <br/> stepNameRdd varchar(50) null,
* <br/> taskId bigint null,
* <br/> taskNameRdd varchar(50) null,
* <br/> taskCode varchar(50) null,
* <br/> isCrux int null
* <br/> );
*
* <br/> comment on table LacInstructionSetStepTask is'';
* <br/> comment on column LacInstructionSetStepTask.templateId is'id';
* <br/> comment on column LacInstructionSetStepTask.templateNameRdd is'';
* <br/> comment on column LacInstructionSetStepTask.templateCode is'';
* <br/> comment on column LacInstructionSetStepTask.stepId is'id';
* <br/> comment on column LacInstructionSetStepTask.stepNameRdd is'';
* <br/> comment on column LacInstructionSetStepTask.taskId is'id';
* <br/> comment on column LacInstructionSetStepTask.taskNameRdd is'';
* <br/> comment on column LacInstructionSetStepTask.taskCode is'';
* <br/> comment on column LacInstructionSetStepTask.isCrux is'';
* </per>
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-25 6:01
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_COMMAND_STACK_STEP_TASK")
@Api(value="步骤任务",description = "步骤任务信息")
public class LacCommandStackStepTask extends BaseBean {
@Column(name="TEMPLATE_ID")
@ApiParam(value ="模板ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long templateId;
// @Column(name="TEMPLATE_NAME_RDD")
// @ApiParam(value ="模板名称")
// private String templateNameRdd;
//
// @Column(name="TEMPLATE_CODE_RDD")
// @ApiParam(value ="模板代码")
// private String templateCodeRdd;
@Column(name="STEP_ID")
@ApiParam(value ="步骤ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long stepId;
//
// @Column(name="STEP_NAME_RDD")
// @ApiParam(value ="步骤名称")
// private String stepNameRdd;
//
// @Column(name="STEP_CODE_RDD")
// @ApiParam(value ="步骤代码")
// private String stepCodeRdd;
@Column(name="TASK_ID")
@ApiParam(value ="任务ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long taskId;
@Column(name="STEP_NAME_RDD")
@ApiParam(value ="步骤名称")
private String taskNameRdd;
@Column(name="STEP_CODE_RDD")
@ApiParam(value ="任务代码")
private String taskCodeRdd;
@Column(name="IS_CRUX")
@ApiParam(value ="是否关键")
private Integer isCrux;
}

@ -0,0 +1,80 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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;
/**
* @Description :
* <per>
* <br/> create table instructionSetTemplate(
* <br/> templateName varchar(50) null,
* <br/> templateCode varchar(50) null,
* <br/> templateTypeId bigint null,
* <br/> templateTypeNameRdd varchar(50) null,
* <br/> templateDescription varchar(50) null,
* <br/> templateStepNum int null
* <br/> );
*
* <br/> comment on table instructionSetTemplate is'';
* <br/> comment on column instructionSetTemplate.templateName is'';
* <br/> comment on column instructionSetTemplate.templateCode is'';
* <br/> comment on column instructionSetTemplate.templateTypeId is'id';
* <br/> comment on column instructionSetTemplate.templateTypeNameRdd is'';
* <br/> comment on column instructionSetTemplate.templateDescription is'';
* <br/> comment on column instructionSetTemplate.templateStepNum is'';
* </per>
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-25 5:45
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_COMMAND_STACK_TEMPLATE")
@Api(value="指令集模板",description = "指令集模板信息")
public class LacCommandStackTemplate extends BaseBean {
@Column(name="TEMPLATE_NAME")
@ApiParam(value ="模板名称")
private String templateName;
@Column(name="TEMPLATE_CODE")
@ApiParam(value ="模板代码")
private String templateCode;
@Column(name="STACK_TYPE_ID")
@ApiParam(value ="指令集类型")
@JsonSerialize(using = ToStringSerializer.class)
private Long stackTypeId;
@Column(name="STACK_TYPE_NAME_RDD")
@ApiParam(value ="类型名称")
private String stackTypeNameRdd;
@Column(name="TYPE_DESCRIPTION")
@ApiParam(value ="模板大类名称")
private String typeDescription;
@Column(name="TEMPLATE_NUM")
@ApiParam(value ="适配器使用数量")
private Integer templateNum;
@Column(name="TEMPLATE_DESCRIPTION")
@ApiParam(value ="模板描述")
private String templateDescription;
}

@ -0,0 +1,44 @@
package cn.estsh.i3plus.pojo.lac.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;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-22 3:29
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_COMMAND_STACK_TYPE")
@Api(value="指令集类型",description = "指令集类型")
public class LacCommandStackType extends BaseBean {
@Column(name="TYPE_NAME")
@ApiParam(value ="类型名称")
private String typeName;
@Column(name="TYPE_REF_NUM")
@ApiParam(value ="适配器使用数量")
private Integer typeRefNum;
@Column(name="TYPE_DESCRIPTION")
@ApiParam(value ="类型描述")
private String typeDescription;
}

@ -0,0 +1,106 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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.Lob;
import javax.persistence.Table;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-18 6:04
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_LOG_TASK")
@Api(value="适配任务记录",description = "适配任务记录")
public class LacLogTask extends BaseBean {
private static final long serialVersionUID = 674009105885048131L;
@Column(name="commandStackId")
@ApiParam(value ="指令集ID" , example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long commandStackId;
@Column(name="COMMAND_STACK_NAME_RDD")
@ApiParam(value ="指令集名称")
private String commandStackNameRdd;
@Column(name="COMMAND_STACK_CODE_RDD")
@ApiParam(value ="指令集代码")
private String commandStackCodeRdd;
@Column(name="COMMAND_STACK_TYPE_ID")
@ApiParam(value ="指令集类型")
@JsonSerialize(using = ToStringSerializer.class)
private Long commandStackTypeId;
@Column(name="STEP_ID")
@ApiParam(value ="步骤ID" , example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long stepId;
@Column(name="STEP_NAME_RDD")
@ApiParam(value ="步骤名称")
private String stepNameRdd;
@Column(name="STEP_SEQUENCE")
@ApiParam(value ="步骤顺序")
private String stepSequence;
@Column(name="TASK_ID")
@ApiParam(value ="任务ID" , example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long taskId;
@Column(name="TASK_NAME_RDD")
@ApiParam(value ="任务名称")
private String taskNameRdd;
@Column(name="TASK_NAME_TYPE")
@ApiParam(value ="任务类型")
@JsonSerialize(using = ToStringSerializer.class)
private Long taskNameType;
@Column(name="adapterId")
@ApiParam(value ="适配器ID" , example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long adapterId;
@Lob
@Column(name="INPUT_PARAMETER")
@ApiParam(value ="任务入参")
private String inputParameter;
@Column(name="TASK_START_TIME")
@ApiParam(value ="任务开始时间")
private String taskStartTime;
@Column(name="TASK_END_TIME")
@ApiParam(value ="任务结束时间")
private String taskEndTime;
@Column(name="TASK_SPEND")
@ApiParam(value ="任务耗时")
private Integer taskSpend;
@Column(name="TASK_STATUS")
@ApiParam(value ="任务状态")
private Integer taskStatus;
}

@ -0,0 +1,94 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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.Lob;
import javax.persistence.Table;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-18 6:04
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_LOG_TASK_DETAIL")
@Api(value="适配任务记录明细",description = "适配任务记录明细")
public class LacLogTaskDetail extends BaseBean {
private static final long serialVersionUID = -4918694502072594064L;
@Column(name="commandStackId")
@ApiParam(value ="指令集ID" , example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long commandStackId;
@Column(name="COMMAND_STACK_TYPE_ID")
@ApiParam(value ="指令集类型")
@JsonSerialize(using = ToStringSerializer.class)
private Long commandStackTypeId;
@Column(name="STEP_ID")
@ApiParam(value ="步骤ID" , example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long stepId;
@Column(name="TASK_ID")
@ApiParam(value ="任务ID" , example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long taskId;
@Column(name="TASK_NAME_TYPE")
@ApiParam(value ="任务类型")
@JsonSerialize(using = ToStringSerializer.class)
private Long taskNameType;
@Column(name="adapterId")
@ApiParam(value ="适配器ID" , example = "-1")
@JsonSerialize(using = ToStringSerializer.class)
private Long adapterId;
@Column(name="TASK_START_TIME")
@ApiParam(value ="任务开始时间")
private String taskStartTime;
@Column(name="TASK_END_TIME")
@ApiParam(value ="任务结束时间")
private String taskEndTime;
@Lob
@Column(name="INPUT_PARAMETER")
@ApiParam(value ="任务入参")
private String inputParameter;
@Lob
@Column(name="INPUT_PARAMETER_BODY")
@ApiParam(value ="任务入参处理完成后")
private String inputParameterBody;
@Lob
@Column(name="OUTPUT_PARAMETER")
@ApiParam(value ="任务出参")
private String outputParameter;
@Lob
@Column(name="OUTPUT_PARAMETER_BODY")
@ApiParam(value ="任务出参处理后")
private String outputParameterBody;
}

@ -0,0 +1,91 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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;
/**
* @Description :
* <per>
* <br/> create table LacSuitCase(
* <br/> sutiCaseId bigint null,
* <br/> sutiCaseNameRdd varchar(50) null,
* <br/> suitCaseCode varchar(50) null,
* <br/> sutiType int null,
* <br/> hardwareType int null,
* <br/> returnMethod int null,
* <br/> timeout int null,
* <br/> retryNum int null,
* <br/> successNum int null,
* <br/> failNum int null,
* <br/> countNum int null,
* <br/> sutiCaseStatus int null
* <br/> );
* <br/>
* <br/> comment on table LacSuitCase is'';
* <br/> comment on column LacSuitCase.sutiCaseId is'id'; 使ID使Code
* <br/> comment on column LacSuitCase.sutiCaseNameRdd is'';
* <br/> comment on column LacSuitCase.suitCaseCode is'';
* <br/> comment on column LacSuitCase.sutiType is'';
* <br/> comment on column LacSuitCase.hardwareType is'';
* <br/> comment on column LacSuitCase.returnMethod is'';
* <br/> comment on column LacSuitCase.timeout is''; ->
* <br/> comment on column LacSuitCase.retryNum is''; ->
* <br/> comment on column LacSuitCase.successNum is''; ->
* <br/> comment on column LacSuitCase.failNum is''; ->
* <br/> comment on column LacSuitCase.countNum is''; ->
* <br/> comment on column LacSuitCase.sutiCaseStatus is'';
* </per>
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-25 6:08
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_SUIT_CASE")
@Api(value="适配器",description = "适配器信息")
public class LacSuitCase extends BaseBean {
@Column(name="SUTI_CASE_NAME_RDD")
@ApiParam(value ="适配器名称")
private String sutiCaseNameRdd;
@Column(name="SUIT_CASE_CODE_RDD")
@ApiParam(value ="适配器代码")
private String suitCaseCodeRdd;
@Column(name="SUTI_TYPE")
@ApiParam(value ="适配器类型")
private Integer sutiType;
@Column(name="HARDWARE_TYPE")
@ApiParam(value ="硬件类型")
private Integer hardwareType;
@Column(name="RETURN_METHOD")
@ApiParam(value ="返回类型")
private Integer returnMethod;
@Column(name="SUTI_CASE_STATUS")
@ApiParam(value ="适配器状态")
private Integer sutiCaseStatus;
@Column(name="SUIT_CASE_DESCRIPTION")
@ApiParam(value ="适配器描述")
private String suitCaseDescription;
}

@ -0,0 +1,116 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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;
/**
* @Description :
* <per>
* <br/> create table LacSuitTask(
* <br/> taskName varchar(50) null,
* <br/> taskCode varchar(50) null,
* <br/> taskTypeId bigint null,
* <br/> taskTypeNameRdd varchar(50) null,
* <br/> suitCaseId bigint null,
* <br/> suitCaseCode varchar(50) null,
* <br/> suitCaseNameRdd varchar(50) null,
* <br/> successNum int null,
* <br/> failNum int null,
* <br/> countNum int null,
* <br/> taskDescription varchar(255) null
* <br/> );
* <br/> comment on table LacSuitTask is'';
* <br/> comment on column LacSuitTask.taskName is'';
* <br/> comment on column LacSuitTask.taskCode is'';
* <br/> comment on column LacSuitTask.taskTypeId is'id';
* <br/> comment on column LacSuitTask.taskTypeNameRdd is'';
* <br/> comment on column LacSuitTask.suitCaseId is'id';
* <br/> comment on column LacSuitTask.suitCaseCode is'';
* <br/> comment on column LacSuitTask.suitCaseNameRdd is'';
* <br/> comment on column LacSuitTask.successNum is'';
* <br/> comment on column LacSuitTask.failNum is'';
* <br/> comment on column LacSuitTask.countNum is'';
* <br/> comment on column LacSuitTask.taskDescription is'';
* <br/> comment on column LacSuitCase.timeout is''; ->
* <br/> comment on column LacSuitCase.retryNum is''; ->
* </per>
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-25 6:47
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_SUIT_TASK")
@Api(value="调度任务",description = "调度任务信息")
public class LacSuitTask extends BaseBean {
@Column(name="TASK_NAME")
@ApiParam(value ="适配器名称")
private String taskName;
@Column(name="TASK_CODE")
@ApiParam(value ="适配器代码")
private String taskCode;
@Column(name="TASK_TIMEOUT")
@ApiParam(value ="超时时间")
private Integer taskTimeout;
@Column(name="TASK_RETRY_NUM")
@ApiParam(value ="重试次数")
private Integer taskRetryNum;
@Column(name="TASK_TYPE_ID")
@ApiParam(value ="任务类型")
@JsonSerialize(using = ToStringSerializer.class)
private Long taskTypeId;
@Column(name="TASK_TYPE_NAME_RDD")
@ApiParam(value ="任务类型名称")
private String taskTypeNameRdd;
@Column(name="SUIT_CASE_ID")
@ApiParam(value ="适配器ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long suitCaseId;
@Column(name="SUTI_CASE_NAME_RDD")
@ApiParam(value ="适配器名称")
private String suitCaseNameRdd;
@Column(name="SUIT_CASE_CODE_RDD")
@ApiParam(value ="适配器代码")
private String suitCaseCodeRdd;
@Column(name="NUM_SUCCESS")
@ApiParam(value ="执行成功次数")
private Integer numSuccess = 0;
@Column(name="NUM_FAIL")
@ApiParam(value ="执行失败次数")
private Integer numFail = 0;
@Column(name="NUM_COUNT")
@ApiParam(value ="执行次数")
private Integer numCount = 0;
@Column(name="TASK_DESCRIPTION")
@ApiParam(value ="任务描述")
private String taskDescription;
}

@ -0,0 +1,90 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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;
/**
* @Description :
* <per>
* <br/> create table LacSuitTaskParam(
* <br/> suitTaskId bigint null,
* <br/> suitTaskName varchar(50) null,
* <br/> suitTaskCode varchar(50) null,
* <br/> paramName varchar(50) null,
* <br/> paramType int null,
* <br/> paramValueType int null,
* <br/> defaultValue varchar(50) null,
* <br/> paramDescrition varchar(255) null
* <br/> );
* <br/> comment on table LacSuitTaskParam is'';
* <br/> comment on column LacSuitTaskParam.suitTaskId is'id';
* <br/> comment on column LacSuitTaskParam.suitTaskName is'';
* <br/> comment on column LacSuitTaskParam.suitTaskCode is'';
* <br/> comment on column LacSuitTaskParam.paramName is'';
* <br/> comment on column LacSuitTaskParam.paramType is'()';
* <br/> comment on column LacSuitTaskParam.paramValueType is'()';
* <br/> comment on column LacSuitTaskParam.defaultValue is'';
* <br/> comment on column LacSuitTaskParam.paramDescrition is'';
* </per>
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-25 6:49
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_SUIT_TASK_PARAM")
@Api(value="调度任务参数",description = "调度任务参数信息")
public class LacSuitTaskParam extends BaseBean {
@Column(name="TASK_ID")
@ApiParam(value ="任务ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long taskId;
@Column(name="TASK_NAME_RDD")
@ApiParam(value ="任务名称")
private String taskNameRdd;
@Column(name="TASK_CODE_RDD")
@ApiParam(value ="任务代码")
private String taskCodeRdd;
@Column(name="PARAM_NAME")
@ApiParam(value ="参数名称")
private String paramName;
@Column(name="PARAM_CODE")
@ApiParam(value ="参数编码")
private String paramCode;
@Column(name="PARAM_TYPE")
@ApiParam(value ="参数类型")
private Integer paramType;
@Column(name="PARAM_VALUE_TYPE")
@ApiParam(value ="参数值类型")
private Integer paramValueType;
@Column(name="PARAM_DEFAULT_VALUE")
@ApiParam(value ="参数默认值")
private String paramDefaultValue;
@Column(name="PARAM_DESCRIPTION")
@ApiParam(value ="参数描述")
private String paramDescription;
}

@ -0,0 +1,100 @@
package cn.estsh.i3plus.pojo.lac.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
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;
/**
* @Description :
* <per>
* <br/> create table LacSuitTaskParamAdapter(
* <br/> sutiTaskId bigint null,
* <br/> suitTaskCode varchar(50) null,
* <br/> suitTaskNameRdd varchar(50) null,
* <br/> paramId bigint null,
* <br/> paramName varchar(50) null,
* <br/> paramType int null,
* <br/> paramValueType int null,
* <br/> defaultValue varchar(50) null,
* <br/> transferParamName varchar(50) null,
* <br/> transferParamValueType int null
* <br/> );
* <br/> comment on table LacSuitTaskParamAdapter is'';
* <br/> comment on column LacSuitTaskParamAdapter.sutiTaskId is'id';
* <br/> comment on column LacSuitTaskParamAdapter.suitTaskCode is'';
* <br/> comment on column LacSuitTaskParamAdapter.suitTaskNameRdd is'';
* <br/> comment on column LacSuitTaskParamAdapter.paramId is'id';
* <br/> comment on column LacSuitTaskParamAdapter.paramName is'';
* <br/> comment on column LacSuitTaskParamAdapter.paramType is'()';
* <br/> comment on column LacSuitTaskParamAdapter.paramValueType is'()';
* <br/> comment on column LacSuitTaskParamAdapter.defaultValue is'';
* <br/> comment on column LacSuitTaskParamAdapter.transferParamName is'';
* <br/> comment on column LacSuitTaskParamAdapter.transferParamValueType is'';
* </per>
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-25 1:45
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_SUIT_TASK_PARAM_ADAPTER")
@Api(value="调度任务参数转换",description = "调度任务参数转换信息")
public class LacSuitTaskParamAdapter extends BaseBean {
@Column(name="TASK_ID")
@ApiParam(value ="任务ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long taskId;
@Column(name="TASK_NAME_RDD")
@ApiParam(value ="任务名称")
private String taskNameRdd;
@Column(name="TASK_CODE_RDD")
@ApiParam(value ="任务代码")
private String taskCodeRdd;
@Column(name="PARAM_ID")
@ApiParam(value ="参数ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long paramId;
@Column(name="PARAM_NAME")
@ApiParam(value ="参数名称")
private String paramName;
@Column(name="PARAM_TYPE")
@ApiParam(value ="参数类型")
private Integer paramType;
@Column(name="PARAM_VALUE_TYPE")
@ApiParam(value ="参数值类型")
private Integer paramValueType;
@Column(name="TRANSFER_PARAM_NAME")
@ApiParam(value ="转换后参数名称")
private String transferParamName;
@Column(name="TRANSFER_PARAM_VALUE_TYPE")
@ApiParam(value ="转换后参数值类型")
private String transferParamValueType;
@Column(name="DEFAULT_VALUE")
@ApiParam(value ="参数默认值")
private String defaultValue;
}

@ -0,0 +1,42 @@
package cn.estsh.i3plus.pojo.lac.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;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-22 3:32
* @Modify:
**/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="LAC_TASK_TYPE")
@Api(value="任务类型",description = "任务类型")
public class LacTaskType extends BaseBean {
@Column(name="TYPE_NAME")
@ApiParam(value ="类型名称")
private String typeName;
@Column(name="TYPE_REF_NUM")
@ApiParam(value ="适配器使用数量")
private Integer typeRefNum;
@Column(name="TYPE_DESCRIPTION")
@ApiParam(value ="类型描述")
private String typeDescription;
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.pojo.lac.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.lac.bean.LacCommandStackRecord;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-22 5:19
* @Modify:
**/
public interface LacCommandStackRecordRepository extends BaseRepository<LacCommandStackRecord, Long> {
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.pojo.lac.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.lac.bean.LacCommandStackStep;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-28 2:55
* @Modify:
**/
public interface LacCommandStackStepRepository extends BaseRepository<LacCommandStackStep, Long> {
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.pojo.lac.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.lac.bean.LacCommandStackStepTask;
/**
* @Description :
* @Reference :
* @Author : wei.peng
* @CreateDate : 19-10-28 2:55
* @Modify:
**/
public interface LacCommandStackStepTaskRepository extends BaseRepository<LacCommandStackStepTask, Long> {
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save