diff --git a/src/main/java/com/xujie/sys/modules/orderIssure/entity/SOIssueNotifyHeaderData.java b/src/main/java/com/xujie/sys/modules/orderIssure/entity/SOIssueNotifyHeaderData.java
index 40892ef9..ec992996 100644
--- a/src/main/java/com/xujie/sys/modules/orderIssure/entity/SOIssueNotifyHeaderData.java
+++ b/src/main/java/com/xujie/sys/modules/orderIssure/entity/SOIssueNotifyHeaderData.java
@@ -34,4 +34,7 @@ public class SOIssueNotifyHeaderData extends SOIssueNotifyHeader {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date needDate;
+
+ /** 为 true 时主表按派工单明细子表最早要求发料时间(needDate)升序排序 */
+ private Boolean orderByMinChildNeedDate;
}
diff --git a/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml b/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml
index 8eec86c4..755063bb 100644
--- a/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml
+++ b/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml
@@ -175,6 +175,13 @@ RecordVersion,OutWorkOrderFlag,ProjectID,OrderType,AuthRuleID,bu)
left join sys_user b on a.UserName=b.username
left join eam_WorkShop c on b.workShopId=c.workShopId
LEFT JOIN SOIssueNotifyOrderList d on a.site=d.site and a.NotifyNo=d.NotifyNo and d.ItemNo = '1'
+
+ LEFT JOIN (
+ SELECT site, NotifyNo, MIN(needDate) AS minChildNeedDate
+ FROM SOIssueNotifyOrderList
+ GROUP BY site, NotifyNo
+ ) ol_need ON a.site = ol_need.site AND a.NotifyNo = ol_need.NotifyNo
+
@@ -215,7 +222,14 @@ RecordVersion,OutWorkOrderFlag,ProjectID,OrderType,AuthRuleID,bu)
AND b.workShopId in ${query.workShopId}
- order by a.NotifyNo
+
+
+ order by case when ol_need.minChildNeedDate is null then 1 else 0 end, ol_need.minChildNeedDate asc, a.NotifyNo
+
+
+ order by a.NotifyNo
+
+