1.配件发货明细表(已发货)开票日期,如果有多张报关单则取最早的日期
This commit is contained in:
25655 2025-03-20 15:38:18 +08:00
parent 7a089d95bd
commit b780d577fa

View File

@ -13,6 +13,7 @@ import kd.bos.entity.report.ReportQueryParam;
import kd.bos.orm.ORM;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import java.time.Instant;
import java.time.LocalDate;
@ -64,7 +65,7 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
.finish();
//订舱通知关联出口报关
resDataSet = resDataSet.leftJoin(yemEsDeclaredocx)
.on("yemContainernumberid", "yemEsDeclaredocxyem_sourcebillid")
.on("yemContainernumberyem_sourcebillid", "yem_corebilliddx")
.select(RptUtil.getDataSetFiledAlias(resDataSet), RptUtil.getDataSetFiledAlias(yemEsDeclaredocx))
.finish();
resDataSet = resDataSet.leftJoin(yemGathering)
@ -354,10 +355,30 @@ public class SparepartsPlugin extends AbstractReportListDataPlugin {
*/
private DataSet yemEsDeclaredocx() {
QFilter qFilter = getBaseQFilter();
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("yem_es_declaredocx", "id,billno,yem_invoicedate,yem_corebillid"
, new QFilter[]{new QFilter("yem_invoicedate", QCP.not_equals, null)});
Map<Long,Date> map = new HashMap();
List<Long> id = new ArrayList<>();
for (DynamicObject dynamicObject : dynamicObjects) {
long yemSourcebillid = dynamicObject.getLong("yem_corebillid");
Date yemInvoicedate = dynamicObject.getDate("yem_invoicedate");
if (map.get(yemSourcebillid)==null) {
map.put(yemSourcebillid, yemInvoicedate);
}else {
if (!map.get(yemSourcebillid).before(yemInvoicedate)) {
map.put(yemSourcebillid, yemInvoicedate);
}
}
}
Set<Long> longs = map.keySet();
qFilter.and("yem_corebillid",QCP.in,longs);
List<String> selectfields = new ArrayList<>();
selectfields.add("yem_corebillid yem_corebilliddx");
selectfields.add("TO_CHAR(yem_invoicedate, 'yyyy-MM-dd') yem_invoicingdate");//开票日期
selectfields.add("yem_sourcebillid yemEsDeclaredocxyem_sourcebillid");
// selectfields.add("yem_sourcebillid yemEsDeclaredocxyem_sourcebillid");
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_declaredocx", String.join(",", selectfields), qFilter.toArray());
// yemShippingdetails = yemShippingdetails.groupBy(new String[]{"yemEsDeclaredocxyem_sourcebillid"}).finish();
// yemShippingdetails = yemShippingdetails.removeFields("yem_corebillid");
return yemShippingdetails;
}