From 7ab3ea6afce8dd63a96a1f76b69907ea5be50932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Mon, 3 Aug 2026 18:14:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=93=81=E6=B5=81=E7=A8=8Bok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../support/PoDetailAdvancedQuerySupport.java | 2 +- .../order/support/PoFieldAuthSupport.java | 12 ++++++++++- .../InspectionRequestHeaderMapper.xml | 21 +++++++++++++------ .../resources/mapper/order/PODetailMapper.xml | 16 ++++++++++---- .../resources/mapper/order/POHeaderMapper.xml | 15 +++++++++---- .../mapper/srm/SrmSupplierMapper.xml | 3 ++- 6 files changed, 52 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/xujie/modules/order/support/PoDetailAdvancedQuerySupport.java b/src/main/java/com/xujie/modules/order/support/PoDetailAdvancedQuerySupport.java index d008605..74d68ef 100644 --- a/src/main/java/com/xujie/modules/order/support/PoDetailAdvancedQuerySupport.java +++ b/src/main/java/com/xujie/modules/order/support/PoDetailAdvancedQuerySupport.java @@ -75,7 +75,7 @@ public final class PoDetailAdvancedQuerySupport { map.put("advancePayment", new FieldMeta("pod.c_advance_payment", "string")); map.put("advancePaid", new FieldMeta("pod.c_advance_paid", "string")); map.put("createTime", new FieldMeta("pod.create_time", "date")); - map.put("planner", new FieldMeta("pod.c_planner", "string")); + map.put("planner", new FieldMeta("ISNULL(suPlanner.user_display, poh.c_planner)", "string")); map.put("edit", new FieldMeta("pod.c_edit", "string")); map.put("endPlanner", new FieldMeta("pod.c_end_planner", "string")); map.put("remarkDelay", new FieldMeta("pod.c_remark_delay", "string")); diff --git a/src/main/java/com/xujie/modules/order/support/PoFieldAuthSupport.java b/src/main/java/com/xujie/modules/order/support/PoFieldAuthSupport.java index dc43d7b..84304cc 100644 --- a/src/main/java/com/xujie/modules/order/support/PoFieldAuthSupport.java +++ b/src/main/java/com/xujie/modules/order/support/PoFieldAuthSupport.java @@ -228,7 +228,7 @@ public class PoFieldAuthSupport { rawValue = PoOrderTypeSupport.normalizeOrderTypeFilter(rawValue); } ValidatedQueryCondition validated = new ValidatedQueryCondition(); - validated.setSqlExpression(meta.getQuerySqlExpr()); + validated.setSqlExpression(resolveQuerySqlExpr(meta)); validated.setOperator(operator); validated.setValue(rawValue); validated.setDataType(meta.getQueryDataType()); @@ -435,6 +435,16 @@ public class PoFieldAuthSupport { return StringUtils.hasText(meta.getDictType()) ? meta.getDictType().trim() : null; } + private String resolveQuerySqlExpr(PoFieldMeta meta) { + if (meta == null || !StringUtils.hasText(meta.getQuerySqlExpr())) { + return meta == null ? null : meta.getQuerySqlExpr(); + } + if ("planner".equals(normalizeFieldCode(meta.getFieldCode()))) { + return "ISNULL(suPlanner.user_display, poh.c_planner)"; + } + return meta.getQuerySqlExpr(); + } + private String resolveExtEditorType(String dataType, String dictType) { if (StringUtils.hasText(dictType)) { return "dict-select"; diff --git a/src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml b/src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml index 9e25309..0183fc4 100644 --- a/src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml +++ b/src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml @@ -29,7 +29,7 @@ - h.site, h.request_no, h.request_date, h.need_inspect_date, h.supplier_no, h.planner, h.create_by, h.create_date, h.inspect_address, h.inspect_contract, h.remark, h.status, h.status_db, h.qc_operator, h.inspect_date, h.plan_start_date, h.plan_end_date, h.scheduled_date, h.scheduled_by, h.schedule_remark, s.supplier_name + h.site, h.request_no, h.request_date, h.need_inspect_date, h.supplier_no, ISNULL(dbo.plm_get_user_display(h.site, h.planner), h.planner) AS planner, h.create_by, h.create_date, h.inspect_address, h.inspect_contract, h.remark, h.status, h.status_db, h.qc_operator, h.inspect_date, h.plan_start_date, h.plan_end_date, h.scheduled_date, h.scheduled_by, h.schedule_remark, s.supplier_name @@ -150,7 +156,7 @@ poh.ship_via AS shipMethod, poh.supplier_no AS supplierNo, ss.supplier_name AS supplierName, - poh.c_planner AS planner + ISNULL(dbo.plm_get_user_display(poh.site, poh.c_planner), poh.c_planner) AS planner FROM PODetail pod INNER JOIN POHeader poh ON poh.order_no = pod.order_no @@ -191,7 +197,10 @@ AND ss.supplier_name like concat('%',#{query.supplierName},'%') - AND ISNULL(poh.c_planner, '') like concat('%',#{query.planner},'%') + AND ( + ISNULL(poh.c_planner, '') like concat('%',#{query.planner},'%') + OR ISNULL(dbo.plm_get_user_display(poh.site, poh.c_planner), '') like concat('%',#{query.planner},'%') + ) ORDER BY ISNULL(pod.c_crd,pod.want_receive_date) DESC, pod.id DESC diff --git a/src/main/resources/mapper/order/PODetailMapper.xml b/src/main/resources/mapper/order/PODetailMapper.xml index 1990c3e..cb9b1ed 100644 --- a/src/main/resources/mapper/order/PODetailMapper.xml +++ b/src/main/resources/mapper/order/PODetailMapper.xml @@ -163,7 +163,10 @@ and c_advance_payment = #{advancePayment} and c_advance_paid = #{advancePaid} and create_time = #{createTime} - and c_planner = #{planner} + + and (c_planner = #{planner} + or ISNULL(dbo.plm_get_user_display(site, c_planner), '') = #{planner}) + and c_edit = #{edit} and c_end_planner = #{endPlanner} and c_remark_delay = #{remarkDelay} @@ -220,7 +223,7 @@ ,pod.c_advance_payment as advancePayment ,pod.c_advance_paid as advancePaid ,pod.create_time as createTime - ,pod.c_planner as planner + ,ISNULL(suPlanner.user_display, poh.c_planner) as planner ,pod.c_edit as edit ,pod.c_end_planner as endPlanner ,pod.c_remark_delay as remarkDelay @@ -262,6 +265,7 @@ from PODetail pod left join POHeader poh on poh.order_no = pod.order_no left join srm_supplier ss on ss.supplier_no = poh.supplier_no and ss.site = pod.site + left join sys_user suPlanner on suPlanner.site = poh.site and suPlanner.username = poh.c_planner left join part p on p.part_no = pod.part_no and p.site = pod.site left join part_family pf1 on p.site = pf1.site and p.category = pf1.family_id where pod.site = '${query.site}' @@ -328,7 +332,10 @@ and pod.c_advance_payment like '%${query.advancePayment}%' and pod.c_advance_paid like '%${query.advancePaid}%' and pod.create_time like '%${query.createTime}%' - and pod.c_planner like '%${query.planner}%' + + and (poh.c_planner like '%${query.planner}%' + or ISNULL(suPlanner.user_display, '') like '%${query.planner}%') + and pod.c_edit like '%${query.edit}%' and pod.c_end_planner like '%${query.endPlanner}%' and pod.c_remark_delay like '%${query.remarkDelay}%' @@ -388,7 +395,7 @@ ,pod.c_advance_payment as advancePayment ,pod.c_advance_paid as advancePaid ,pod.create_time as createTime - ,pod.c_planner as planner + ,ISNULL(suPlanner.user_display, poh.c_planner) as planner ,pod.c_edit as edit ,pod.c_end_planner as endPlanner ,pod.c_remark_delay as remarkDelay @@ -434,6 +441,7 @@ and exv.order_no = pod.order_no and exv.item_no = pod.item_no left join srm_supplier ss on ss.supplier_no = poh.supplier_no and ss.site = pod.site + left join sys_user suPlanner on suPlanner.site = poh.site and suPlanner.username = poh.c_planner left join part p on p.part_no = pod.part_no and p.site = pod.site left join part_family pf1 on p.site = pf1.site and p.category = pf1.family_id where pod.site = #{query.site} diff --git a/src/main/resources/mapper/order/POHeaderMapper.xml b/src/main/resources/mapper/order/POHeaderMapper.xml index 83f16a9..5a964d1 100644 --- a/src/main/resources/mapper/order/POHeaderMapper.xml +++ b/src/main/resources/mapper/order/POHeaderMapper.xml @@ -55,7 +55,8 @@ select - + , + ISNULL(dbo.plm_get_user_display(site, c_planner), c_planner) AS planner from POHeader where 1=1 and order_no like '%${query.orderNo}%' @@ -141,7 +145,10 @@ and c_destination like '%${query.cDestination}%' and c_enquiry like '%${query.cEnquiry}%' and c_confirmed like '%${query.cConfirmed}%' - and c_planner like '%${query.planner}%' + + and (c_planner like '%${query.planner}%' + or ISNULL(dbo.plm_get_user_display(site, c_planner), '') like '%${query.planner}%') + and confirmed_by like '%${query.confirmedBy}%' and confirmed_remark like '%${query.confirmedRemark}%' and id = '${query.id}' diff --git a/src/main/resources/mapper/srm/SrmSupplierMapper.xml b/src/main/resources/mapper/srm/SrmSupplierMapper.xml index ee6a388..a69fab6 100644 --- a/src/main/resources/mapper/srm/SrmSupplierMapper.xml +++ b/src/main/resources/mapper/srm/SrmSupplierMapper.xml @@ -117,7 +117,8 @@ id,site,supplier_no,supplier_name,supplier_group,create_date,create_by,update_date,update_by,supplier_doc_type, TaxCode,tax,FaxNo,PhoneNo,PhoneNo2,PhoneNo3,Contact,Address,PaymentTerm,DeliveryTerm,Buyer,SourcingStaff, Currency,ABC,Active,BankName,BankAccount,TaxNo,Email,Email2,Other_contact1,Other_contact2,Other_contact3,Memo, - c_short_office,c_short_npc,planner + c_short_office,c_short_npc, + ISNULL(dbo.plm_get_user_display(site, planner), planner) AS planner FROM srm_supplier