Jelajahi Sumber

算法beta版,修改订单产品优先级

yejian016332 3 tahun lalu
induk
melakukan
4a8ac91895

+ 14 - 14
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/aps/instance/domain/basicdata/Part.java

@@ -22,11 +22,6 @@ public class Part implements Serializable {
 	 */
 	private int operationNum; // 工序数量
 
-	/**
-	 * 紧急插单标记 0 紧急插单 1 正常
-	 */
-	private int rushOrderFlag;
-
 	/**
 	 * 工序列表
 	 */
@@ -60,6 +55,11 @@ public class Part implements Serializable {
 	 */
 	private double totalWorkTime;
 
+	/**
+	 * 订单工件优先级
+	 */
+	private int partPrority;
+
 	public String getId() {
 		return id;
 	}
@@ -98,14 +98,6 @@ public class Part implements Serializable {
 		this.operationNum = operationNum;
 	}
 
-	public int getRushOrderFlag() {
-		return rushOrderFlag;
-	}
-
-	public void setRushOrderFlag(int rushOrderFlag) {
-		this.rushOrderFlag = rushOrderFlag;
-	}
-
 	/**
 	 * @return the opList
 	 */
@@ -212,13 +204,21 @@ public class Part implements Serializable {
 		this.totalWorkTime = totalWorkTime;
 	}
 
+	public int getPartPrority() {
+		return partPrority;
+	}
+
+	public void setPartPrority(int partPrority) {
+		this.partPrority = partPrority;
+	}
+
 	@Override
 	public String toString() {
 		return "Part{" +
 				"id=" + id +
 				", name='" + name + '\'' +
 				", operationNum=" + operationNum +
-				", rushOrderFlag=" + rushOrderFlag +
+				", partPrority=" + partPrority +
 				", opList=" + opList +
 				", start=" + start +
 				", finish=" + finish +

+ 11 - 5
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/aps/rule/OperationPriority.java

@@ -26,12 +26,18 @@ public class OperationPriority extends OperationRule implements Comparator<Opera
 		try {
 			// 优先级数值越小越优先
 			// 先根据是否插单的排序,在根据交期排序,最后按照遗传算法基因(优先级)排序
-			if(operTask1.getPart().getRushOrderFlag() > operTask2.getPart().getRushOrderFlag()){
-				i = 1;
-			}else if(operTask1.getPart().getRushOrderFlag() == operTask2.getPart().getRushOrderFlag()){
-				if (operTask1.getPart().getDueDate() > operTask2.getPart().getDueDate()) {
+			int partPrority = operTask1.getPart().getPartPrority();
+			int comparePartPrority = operTask2.getPart().getPartPrority();
+
+			double partDueDate = operTask1.getPart().getDueDate();
+			double comparePartDueDate = operTask2.getPart().getDueDate();
+
+			if(partPrority > comparePartPrority){
+				i = -1;
+			}else if(partPrority == comparePartPrority){
+				if (partDueDate > comparePartDueDate) {
 					i = 1;
-				}else if(operTask1.getPart().getDueDate() == operTask2.getPart().getDueDate()){
+				}else if(partDueDate == comparePartDueDate){
 					if (operTask1.getOpPriority() > operTask2.getOpPriority()) {
 						i = 1;
 					}else if (operTask1.getOpPriority() == operTask2.getOpPriority()) {

+ 2 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskServiceImpl.java

@@ -317,7 +317,9 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
                 part.setName(orderProduct.getName());
                 part.setOperationNum(bomProcedureList.size());
                 part.setOpList(opList);
+                // 根据最终版本调整交互日期及优先级
                 part.setDueDate(orderProduct.getDeliveryTime().getTime());
+                part.setPartPrority(orderProduct.getPrority());
                 partMap.put(workpiece.getCompleteBatchNo(),part);
             }
         }

+ 2 - 1
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/operationManagementCenter/OrderProductMapper.xml

@@ -14,12 +14,13 @@
         <result column="remark" jdbcType="VARCHAR" property="remark"/>
         <result column="create_user" jdbcType="VARCHAR" property="createUser"/>
         <result column="update_user" jdbcType="VARCHAR" property="updateUser"/>
+        <result column="prority" jdbcType="VARCHAR" property="prority"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id,create_time,update_time,
-        order_id, bom_id, bom_num, delivery_time, remark, create_user, update_user
+        order_id, bom_id, bom_num, delivery_time, remark, create_user, update_user, prority
     </sql>
 
     <select id="getList" parameterType="com.github.zuihou.business.operationManagementCenter.entity.OrderProduct" resultType="com.github.zuihou.business.operationManagementCenter.entity.OrderProduct">

+ 8 - 1
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/operationManagementCenter/entity/OrderProduct.java

@@ -96,6 +96,13 @@ public class OrderProduct extends Entity<Long> {
     @Excel(name = "交货时间", format = DEFAULT_DATE_TIME_FORMAT, width = 20)
     private Date deliveryTime;
 
+    /**
+     * 优先级
+     */
+    @ApiModelProperty(value = "prority")
+    @TableField("prority")
+    private int prority;
+
     /**
      * 备注
      */
@@ -151,7 +158,7 @@ public class OrderProduct extends Entity<Long> {
     private Integer limitNum;
 
     @Builder
-    public OrderProduct(Long id, LocalDateTime createTime, LocalDateTime updateTime, 
+    public OrderProduct(Long id, LocalDateTime createTime, LocalDateTime updateTime,
                     Long orderId, Long bomId, Integer bomNum, Date deliveryTime, String remark) {
         this.id = id;
         this.createTime = createTime;