diff --git a/src/main/java/com/yem/rf/salescommission/SparepartsPlugin.java b/src/main/java/com/yem/rf/salescommission/SparepartsPlugin.java index 30ee6bd4..dbb93dd1 100644 --- a/src/main/java/com/yem/rf/salescommission/SparepartsPlugin.java +++ b/src/main/java/com/yem/rf/salescommission/SparepartsPlugin.java @@ -4,18 +4,15 @@ import com.yem.rf.utils.RFUtils; import com.yem.wm.utils.RptUtil; import com.yem.wm.utils.YEM; import com.yem.wm.utils.groupfunc.GroupConcatFunction; -import com.yem.wm.utils.groupfunc.GroupTopOneFunction; -import kd.bos.algo.*; +import kd.bos.algo.DataSet; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.report.AbstractReportListDataPlugin; import kd.bos.entity.report.FilterInfo; import kd.bos.entity.report.ReportQueryParam; -import kd.bos.isc.util.dt.D; import kd.bos.orm.ORM; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; -import kd.fi.fa.report.util.Rpt; import java.time.Instant; import java.time.LocalDate; @@ -43,7 +40,8 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin { DataSet yemContainernumber = yemContainernumber(); DataSet yemGathering = yemGathering(); DataSet yemShippingdetails = yemShippingdetails(); - DataSet yemEsDelivernotices = yemEsDelivernotices(); + DataSet yemEsDelivernotices = yemEsDelivernotices(reportQueryParam); + yemEsDelivernotices = yemEsDelivernotices.distinct(); //销售出库关联外销合同 resDataSet = yemEsDelivernotices.leftJoin(queryDeliverNotice) .on("yem_corebillids", "queryDeliverNoticeid") @@ -86,6 +84,8 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin { ",(case when yem_contractamount = 0 then yem_contractamount else yem_theamountdue /yem_contractamount*(yem_seafreight+yem_landcarrycost+yem_airliftcost+yem_expresscost) end) yem_freight"); selected = selected.select(String.join(",",RptUtil.getDataSetFiledAlias(selected))+ ",CASE WHEN yem_day > 0 AND (yem_paymenttime = null OR yem_duedate < yem_paymenttime) THEN yem_day ELSE '' END yem_daysoverdue"); + selected = selected.removeFields("paymenttime"); + selected = selected.distinct(); FilterInfo filter = reportQueryParam.getFilter(); String yemLading = filter.getString("yem_exportcontracts"); String yemContract = filter.getString("yem_billnos"); @@ -94,7 +94,6 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin { Date yem_shipdatesdis = filter.getDate("yem_shipdatesdis"); DynamicObjectCollection yem_bd_producttype = filter.getDynamicObjectCollection("yem_bd_producttype"); DataSet result = selected.where("yem_billno != ''"); - StringBuilder sb = new StringBuilder(); sb.append("yem_billno != ''"); if (YEM.isNotEmpty(yemLading)) { @@ -450,8 +449,16 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin { * * @return */ - private DataSet yemEsDelivernotices() { + private DataSet yemEsDelivernotices(ReportQueryParam reportQueryParam) { + FilterInfo filter = reportQueryParam.getFilter(); + String yemContract = filter.getString("yem_billnos"); +// DynamicObject yemClient = filter.getDynamicObject("yem_clientname"); +// Date yem_shipdatesend = filter.getDate("yem_shipdatesend"); +// Date yem_shipdatesdis = filter.getDate("yem_shipdatesdis"); QFilter qFilter = new QFilter("yem_es_materialinfo.yem_businesssort", QCP.equals, "P"); + if (!yemContract.isEmpty()){ + qFilter.and("billno",QCP.like,"%"+yemContract+"%"); + } List selectfields = new ArrayList<>(); selectfields.add("id yemEsDelivernoticesid"); selectfields.add("yem_es_materialinfo.yem_qty yem_qty");