diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java index eca112e..905670b 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java @@ -394,9 +394,9 @@ public class MesEnumUtil { CREATE(10, "创建"), LANDED(20, "下达"), - OPEN(30, "开启"), + OPEN(30, "启动"), PAUSE(40, "暂停"), - CANCEL(50, "撤销"), + CANCEL(50, "取消"), CLOSE(60, "关闭"); private int value; @@ -552,7 +552,9 @@ public class MesEnumUtil { MES("MES", "来源于MES"), AMES("AMES", "来源于AMES"), - SAP("SAP", "来源于SAP"); + SAP("SAP", "来源于SAP"), + CREATE("CREATE", "手工新增"), + RESOLVE("RESOLVE", "计划分解"); private String value; private String description; diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkOrder.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkOrder.java index e28e0e0..dd8dc61 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkOrder.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesWorkOrder.java @@ -119,6 +119,14 @@ public class MesWorkOrder extends BaseBean { @ApiParam("审批状态") private Integer approvalStatus; + @Column(name="CUST_CODE") + @ApiParam("客户代码") + private String custCode; + + @Column(name="CUST_ORDER_NO") + @ApiParam("客户订单号") + private String custOrderNo; + public double getQtyVal() { return this.qty == null ? 0.0d : this.qty; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStatus.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStatus.java new file mode 100644 index 0000000..1f1d8c2 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStatus.java @@ -0,0 +1,50 @@ +package cn.estsh.i3plus.pojo.mes.bean; + + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :mes状态配置表 + * @Reference : + * @Author : wangjie + * @CreateDate : 2019-09-19 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="MES_STATUS") +@Api("系统业务动作") +public class MesStatus extends BaseBean { + @Column(name="STATUS_CODE") + @ApiParam("状态代码") + private String statusCode; + + @Column(name="STATUS_NAME") + @ApiParam("状态名称") + private String statusName; + + @Column(name="STATUS_VALUE") + @ApiParam("状态值") + private Integer statusValue; + + @Column(name="STATUS_FIELD") + @ApiParam("状态字段") + private String statusField; + + public int getStatusValueVal() { + return this.statusValue == null ? 0 : this.statusValue; + } +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java index 81037ba..308024e 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java @@ -132,6 +132,14 @@ public class MesWorkOrder extends BaseBean { @ApiParam("审批状态") private Integer approvalStatus; + @Column(name="CUST_CODE") + @ApiParam("客户代码") + private String custCode; + + @Column(name="CUST_ORDER_NO") + @ApiParam("客户订单号") + private String custOrderNo; + /********************** 冗余字段 *********************************/ @Transient @ApiParam(value="工作中心名称") @@ -150,6 +158,10 @@ public class MesWorkOrder extends BaseBean { public String shiftName; @Transient + @ApiParam(value="班组名称") + public String shiftGroupName; + + @Transient @ApiParam(value="产品配置名称") public String prodCfgName; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrderLog.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrderLog.java new file mode 100644 index 0000000..e48bba7 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrderLog.java @@ -0,0 +1,222 @@ +package cn.estsh.i3plus.pojo.mes.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import cn.estsh.i3plus.pojo.mes.model.MesWorkOrderButtonModel; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.persistence.Transient; + +/** + * @Description: + * @Reference: + * @Author: wangjie + * @CreateDate:2019-09-19-17:36 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="MES_WORK_ORDER_LOG") +@Api("生产工单日志") +public class MesWorkOrderLog extends BaseBean { + @Column(name="ORDER_NO") + @ApiParam("工单号") + private String orderNo; + + @Column(name="PART_NO") + @ApiParam("物料号") + private String partNo; + + @Column(name="PART_NAME_RDD") + @ApiParam("物料名称") + private String partNameRdd; + + @Column(name="PROD_CFG_CODE") + @ApiParam("产品配置代码") + private String prodCfgCode; + + @Column(name="QTY") + @ApiParam("数量") + private Double qty; + + @Column(name="COMPLETE_QTY") + @ApiParam("完成数量") + private Double completeQty; + + @Column(name="REPAIR_QTY") + @ApiParam("返修数量") + private Double repairQty; + + @Column(name="SCRAP_QTY") + @ApiParam("报废数量") + private Double scrapQty; + + @Column(name="SEQ") + @ApiParam("工单序号") + private Double seq; + + @Column(name="WO_STATUS") + @ApiParam("工单状态") + private Integer workOrderStatus; + + @Column(name="WO_TYPE") + @ApiParam("工单类型") + private Integer workOrderType; + + @Column(name="NEXT_ORDER") + @ApiParam("下一工单") + private String nextOrder; + + @Column(name="PLAN_ORDER_NO") + @ApiParam("生产计划单号") + private String planOrderNo; + + @Column(name="WORK_CENTER_CODE") + @ApiParam("工作中心代码") + private String workCenterCode; + + @Column(name="AREA_CODE") + @ApiParam("区域代码") + private String areaCode; + + @Column(name="WORK_CELL_CODE") + @ApiParam("工作单元代码") + private String workCellCode; + + @Column(name="SCHEDULE_DATE") + @ApiParam("排产日期") + private String scheduleDate; + + @Column(name="CUST_PROD_LINE_CODE") + @ApiParam("客户产线代码") + private String custProdLineCode; + + @Column(name="SHIFT_CODE") + @ApiParam("班次") + private String shiftCode; + + @Column(name="START_TIME") + @ApiParam("开始时间") + private String startTime; + + @Column(name="END_TIME") + @ApiParam("结束时间") + private String endTime; + + @Column(name="WO_SOURCE") + @ApiParam("工单来源") + private String workOrderSource; + + @Column(name="MEMO") + @ApiParam("备注") + private String memo; + + @Column(name="SHIFT_GROUP") + @ApiParam("班组") + private String shiftGroup; + + @Column(name="APPROVAL_STATUS") + @ApiParam("审批状态") + private Integer approvalStatus; + + @Column(name="CUST_CODE") + @ApiParam("客户代码") + private String custCode; + + @Column(name="CUST_ORDER_NO") + @ApiParam("客户订单号") + private String custOrderNo; + + /********************** 冗余字段 *********************************/ + @Transient + @ApiParam(value="工作中心名称") + public String workCenterName; + + @Transient + @ApiParam(value="工作单元名称") + public String workCellName; + + @Transient + @ApiParam(value="客户产线名称") + public String custProdLineName; + + @Transient + @ApiParam(value="班次名称") + public String shiftName; + + @Transient + @ApiParam(value="班组名称") + public String shiftGroupName; + + @Transient + @ApiParam(value="产品配置名称") + public String prodCfgName; + + @Transient +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiParam(value="计划开始日期查询用,查询开始日期",example = "2018-12-31 23:59:59") + public String startTimeStart; + + + @Transient +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiParam(value="计划开始日期查询用,查询截至日期",example = "2018-12-31 23:59:59") + public String startTimeEnd; + + @Transient +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiParam(value="计划结束日期查询用,查询结束日期起始",example = "2018-12-31 23:59:59") + public String endTimeStart; + + @Transient +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiParam(value="计划结束日期查询用,查询结束日期截至",example = "2018-12-31 23:59:59") + public String endTimeEnd; + + @Transient + @ApiParam("mes生产工单页面按钮控制") + private MesWorkOrderButtonModel workOrderButtonModel; + + + public double getQtyVal() { + return this.qty == null ? 0.0d : this.qty; + } + + public double getCompleteQtyVal() { + return this.completeQty == null ? 0.0d : this.completeQty; + } + + public double getRepairQtyVal() { + return this.repairQty == null ? 0.0d : this.repairQty; + } + + public double getScrapQtyVal() { + return this.scrapQty == null ? 0.0d : this.scrapQty; + } + + public double getSeqVal() { + return this.seq == null ? 0.0d : this.seq; + } + + public int getWorkOrderStatusVal() { + return this.workOrderStatus == null ? 0 : this.workOrderStatus; + } + + public int getWorkOrderTypeVal() { + return this.workOrderType == null ? 0 : this.workOrderType; + } + + public int getApprovalStatusVal() { + return this.approvalStatus == null ? 0 : this.approvalStatus; + } +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesWorkOrderButtonModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesWorkOrderButtonModel.java index 175de3e..1d37fff 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesWorkOrderButtonModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesWorkOrderButtonModel.java @@ -23,14 +23,14 @@ public class MesWorkOrderButtonModel implements Serializable { @ApiParam("修改按钮") private boolean updateButton; - @ApiParam("按配置修改按钮") - private boolean updateButton4Config; +// @ApiParam("按配置修改按钮") +// private boolean updateButton4Config; @ApiParam("下达按钮") private boolean transmitButton; - @ApiParam("测试动态下达按钮") - private boolean dynamicTransmitButton4Test; +// @ApiParam("测试动态下达按钮") +// private boolean dynamicTransmitButton4Test; @ApiParam("启动按钮") private boolean startUpButton; @@ -38,7 +38,7 @@ public class MesWorkOrderButtonModel implements Serializable { @ApiParam("暂停按钮") private boolean suspendButton; - @ApiParam("撤销按钮") + @ApiParam("取消按钮") private boolean revokeButton; @ApiParam("关闭按钮") diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkOrderLogRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkOrderLogRepository.java new file mode 100644 index 0000000..c8a76e4 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkOrderLogRepository.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderLog; +import org.springframework.stereotype.Repository; + +/** + * @Description: + * @Reference: + * @Author: wangjie + * @CreateDate:2019-09-19-17:13 + * @Modify: + **/ +@Repository +public interface MesWorkOrderLogRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java index fb9eb70..f6995fd 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java @@ -154,31 +154,38 @@ public class MesHqlPack { if (StringUtils.isNotEmpty(mesWorkOrder.getWorkCenterCode())) { DdlPreparedPack.getStringEqualPack(mesWorkOrder.getWorkCenterCode(), "workCenterCode", packBean); } - if (StringUtils.isNotEmpty(mesWorkOrder.getWorkCellCode())) { - DdlPreparedPack.getStringEqualPack(mesWorkOrder.getWorkCellCode(), "workCellCode", packBean); + if (mesWorkOrder.getApprovalStatus() != null) { + DdlPreparedPack.getNumEqualPack(mesWorkOrder.getApprovalStatus(), "approvalStatus", packBean); } if (StringUtils.isNotEmpty(mesWorkOrder.getWorkOrderType() + "") && mesWorkOrder.getWorkOrderTypeVal() != 0) { DdlPreparedPack.getNumEqualPack(mesWorkOrder.getWorkOrderType(), "workOrderType", packBean); } - if (StringUtils.isNotEmpty(mesWorkOrder.getProdCfgCode())) { - DdlPreparedPack.getStringEqualPack(mesWorkOrder.getProdCfgCode(), "prodCfgCode", packBean); + if (StringUtils.isNotEmpty(mesWorkOrder.getCustOrderNo())) { + DdlPreparedPack.getStringLikerPack(mesWorkOrder.getCustOrderNo(), "custOrderNo", packBean); } if (StringUtils.isNotEmpty(mesWorkOrder.getPlanOrderNo())) { DdlPreparedPack.getStringLikerPack(mesWorkOrder.getPlanOrderNo(), "planOrderNo", packBean); } + if (StringUtils.isNotEmpty(mesWorkOrder.getCreateUser())) { + DdlPreparedPack.getStringLikerPack(mesWorkOrder.getCreateUser(), "createUser", packBean); + } if (mesWorkOrder.getIsValid() != null) { DdlPreparedPack.getNumEqualPack(mesWorkOrder.getIsValid(), "isValid", packBean); } // 时间段查询 -// DdlPreparedPack.timeBuilder( -// mesWorkOrder.getStartTimeStart(), -// mesWorkOrder.getStartTimeEnd(), -// "startTime", packBean, true); -// DdlPreparedPack.timeBuilder( -// mesWorkOrder.getEndTimeStart(), -// mesWorkOrder.getEndTimeEnd(), -// "endTime", packBean, true); + DdlPreparedPack.timeBuilder( + mesWorkOrder.getStartTimeStart(), + mesWorkOrder.getStartTimeEnd(), + "startTime", packBean, true); + DdlPreparedPack.timeBuilder( + mesWorkOrder.getEndTimeStart(), + mesWorkOrder.getEndTimeEnd(), + "endTime", packBean, true); + DdlPreparedPack.timeBuilder( + mesWorkOrder.getCreateDateTimeStart(), + mesWorkOrder.getCreateDateTimeEnd(), + "createDatetime", packBean, true); DdlPreparedPack.getOrderDefault(mesWorkOrder); DdlPreparedPack.getOrderByPack(new Object[]{"2"}, new String[]{mesWorkOrder.getOrderByParam()}, packBean); return packBean;