From 1e84cec5baf984ce4f1ebcd9b555f8e40e62c582 Mon Sep 17 00:00:00 2001 From: shenzhouyu Date: Fri, 20 Mar 2026 13:23:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/SOIssueNotifyHeaderData.java | 3 +++ .../mapper/orderIssure/IssureNotifyMapper.xml | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) 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 + +