From 35bf4911dbd7108315cda77e6e3c365aad7bd8ff Mon Sep 17 00:00:00 2001 From: zzs Date: Tue, 18 Feb 2025 14:36:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=8A=A5=E8=A1=A8=EF=BC=8C=E5=8F=91?= =?UTF-8?q?=E8=BD=A6=E6=97=A5=E6=8A=A5=EF=BC=8C=E6=9C=AA=E6=94=B6=E6=AC=BE?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E8=AE=A1=E7=AE=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DepartureDailyReportPlugin.java | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/yem/rf/salescommission/DepartureDailyReportPlugin.java b/src/main/java/com/yem/rf/salescommission/DepartureDailyReportPlugin.java index 8c68d2b2..39e18508 100644 --- a/src/main/java/com/yem/rf/salescommission/DepartureDailyReportPlugin.java +++ b/src/main/java/com/yem/rf/salescommission/DepartureDailyReportPlugin.java @@ -20,10 +20,6 @@ import org.apache.commons.compress.utils.Lists; import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZoneOffset; import java.util.*; import static com.yem.rf.salescommission.CompleteShipDetailReportPlugin.*; @@ -223,11 +219,21 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin { QFilter qFilter = getBaseQFilter(new String[]{"B", "C"}); List selectfields = new ArrayList<>(); - selectfields.add("yem_sourcebillid source_order_id_placeexamine_fk"); + selectfields.add("yem_es_materialinfo.yem_sourceentryid source_order_id_placeexamine_fk"); + selectfields.add("yem_es_materialinfo.yem_qty yem_qty"); return ORM.create().queryDataSet(algoKey, "yem_placeexamine", String.join(",", selectfields), qFilter.toArray()); } + private Set sumIds(DataSet dataSet) { + DynamicObjectCollection c = ORM.create().toPlainDynamicObjectCollection(dataSet.copy()); + Set orderIds = new HashSet<>(); + for (DynamicObject d : c) { + long orderIdPlaceexamineFk = d.getLong("source_order_id_placeexamine_fk"); + orderIds.add(orderIdPlaceexamineFk); + } + return orderIds; + } /** * 合同已下单(下单审批提交或者审核),但是合同款项未认领 @@ -241,10 +247,11 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin { DataSet dataSet; DataSet placeexamine = queryPlaceExamine(param);//BC下单审批 - DataSet salesorder = querySalesOrder(param); + Set orderIds = sumIds(placeexamine); + DataSet salesorder = querySalesOrder(param, orderIds); DataSet trackTaskConsole = queryTrackTaskConsole(param); dataSet = placeexamine.leftJoin(salesorder) - .on("source_order_id_placeexamine_fk", "order_id") + .on("source_order_id_placeexamine_fk", "order_entry_id") .select(RptUtil.getDataSetFiledAlias(placeexamine), RptUtil.getDataSetFiledAlias(salesorder)) .finish(); dataSet = dataSet.leftJoin(claimedAmt) @@ -300,10 +307,11 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin { DataSet dataSet; DataSet placeexamine = queryPlaceExamine(param);//BC下单审批 - DataSet salesorder = querySalesOrder(param); + Set orderIds = sumIds(placeexamine); + DataSet salesorder = querySalesOrder(param, orderIds); dataSet = placeexamine.leftJoin(salesorder) - .on("source_order_id_placeexamine_fk", "order_id") + .on("source_order_id_placeexamine_fk", "order_entry_id") .select(RptUtil.getDataSetFiledAlias(placeexamine), RptUtil.getDataSetFiledAlias(salesorder)) .finish(); dataSet = dataSet.select("order_id received_order_id, order_product_id_main_fk received_order_product_id_main_fk, yem_qty"); @@ -335,16 +343,17 @@ public class DepartureDailyReportPlugin extends AbstractReportListDataPlugin { return dataSet; } - private DataSet querySalesOrder(ReportQueryParam param) { + private DataSet querySalesOrder(ReportQueryParam param, Set orderIds) { QFilter qFilter = getBaseQFilter(); qFilter.and("yem_es_materialinfo.yem_businesssort", "=", "Z"); + qFilter.and("yem_es_materialinfo.id", "in", orderIds); List selectfields = new ArrayList<>(); selectfields.add("id order_id"); + selectfields.add("yem_es_materialinfo.id order_entry_id"); selectfields.add("billno salesorder_no"); selectfields.add("yem_es_materialinfo.yem_resourcenog.yem_products.group.id order_product_id_main_fk"); - selectfields.add("yem_es_materialinfo.yem_qty yem_qty"); return ORM.create().queryDataSet(algoKey, "yem_es_salesorder", String.join(",", selectfields), qFilter.toArray()); }