1.配件发货明细表数据重复修复

(cherry picked from commit 975ba7f974)
This commit is contained in:
ljw 2024-11-26 16:35:32 +08:00
parent e0bbeea4fd
commit 4c04b538aa

View File

@ -4,18 +4,15 @@ import com.yem.rf.utils.RFUtils;
import com.yem.wm.utils.RptUtil; import com.yem.wm.utils.RptUtil;
import com.yem.wm.utils.YEM; import com.yem.wm.utils.YEM;
import com.yem.wm.utils.groupfunc.GroupConcatFunction; import com.yem.wm.utils.groupfunc.GroupConcatFunction;
import com.yem.wm.utils.groupfunc.GroupTopOneFunction; import kd.bos.algo.DataSet;
import kd.bos.algo.*;
import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.report.AbstractReportListDataPlugin; import kd.bos.entity.report.AbstractReportListDataPlugin;
import kd.bos.entity.report.FilterInfo; import kd.bos.entity.report.FilterInfo;
import kd.bos.entity.report.ReportQueryParam; import kd.bos.entity.report.ReportQueryParam;
import kd.bos.isc.util.dt.D;
import kd.bos.orm.ORM; import kd.bos.orm.ORM;
import kd.bos.orm.query.QCP; import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter; import kd.bos.orm.query.QFilter;
import kd.fi.fa.report.util.Rpt;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
@ -43,7 +40,8 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
DataSet yemContainernumber = yemContainernumber(); DataSet yemContainernumber = yemContainernumber();
DataSet yemGathering = yemGathering(); DataSet yemGathering = yemGathering();
DataSet yemShippingdetails = yemShippingdetails(); DataSet yemShippingdetails = yemShippingdetails();
DataSet yemEsDelivernotices = yemEsDelivernotices(); DataSet yemEsDelivernotices = yemEsDelivernotices(reportQueryParam);
yemEsDelivernotices = yemEsDelivernotices.distinct();
//销售出库关联外销合同 //销售出库关联外销合同
resDataSet = yemEsDelivernotices.leftJoin(queryDeliverNotice) resDataSet = yemEsDelivernotices.leftJoin(queryDeliverNotice)
.on("yem_corebillids", "queryDeliverNoticeid") .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"); ",(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))+ 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"); ",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(); FilterInfo filter = reportQueryParam.getFilter();
String yemLading = filter.getString("yem_exportcontracts"); String yemLading = filter.getString("yem_exportcontracts");
String yemContract = filter.getString("yem_billnos"); String yemContract = filter.getString("yem_billnos");
@ -94,7 +94,6 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
Date yem_shipdatesdis = filter.getDate("yem_shipdatesdis"); Date yem_shipdatesdis = filter.getDate("yem_shipdatesdis");
DynamicObjectCollection yem_bd_producttype = filter.getDynamicObjectCollection("yem_bd_producttype"); DynamicObjectCollection yem_bd_producttype = filter.getDynamicObjectCollection("yem_bd_producttype");
DataSet result = selected.where("yem_billno != ''"); DataSet result = selected.where("yem_billno != ''");
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("yem_billno != ''"); sb.append("yem_billno != ''");
if (YEM.isNotEmpty(yemLading)) { if (YEM.isNotEmpty(yemLading)) {
@ -450,8 +449,16 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
* *
* @return * @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"); QFilter qFilter = new QFilter("yem_es_materialinfo.yem_businesssort", QCP.equals, "P");
if (!yemContract.isEmpty()){
qFilter.and("billno",QCP.like,"%"+yemContract+"%");
}
List<String> selectfields = new ArrayList<>(); List<String> selectfields = new ArrayList<>();
selectfields.add("id yemEsDelivernoticesid"); selectfields.add("id yemEsDelivernoticesid");
selectfields.add("yem_es_materialinfo.yem_qty yem_qty"); selectfields.add("yem_es_materialinfo.yem_qty yem_qty");