1.发运明细单(单证)报表日期汇总显示
This commit is contained in:
ljw 2024-11-15 23:32:22 +08:00
parent bab8485b37
commit 813c72a5db

View File

@ -5,8 +5,7 @@ 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.GroupConcatFunctionByComma;
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.entity.report.AbstractReportListDataPlugin;
import kd.bos.entity.report.FilterInfo;
@ -19,7 +18,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import static com.yem.rf.utils.RFUtils.formatDate;
import static com.yem.rf.utils.RFUtils.getBaseQFilter;
/**
@ -37,7 +35,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
DataSet yemImTradeapp = yem_im_tradeapp(reportQueryParam);
DataSet yemsDeclaredocx = yemsDeclaredocx(reportQueryParam);
DataSet yemContainer = yemContainer();
DataSet delivernotices = delivernotice();
DataSet delivernotices = delivernotice(reportQueryParam);
DataSet yem_es_delivernotice = yem_es_delivernotice(reportQueryParam);
resDataSet = yemsDeclaredocx.leftJoin(yemContainer)
.on("declaredocxyem_sourcebillid", "storagetransid")
@ -54,7 +52,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
.select(RptUtil.getDataSetFiledAlias(resDataSet), RptUtil.getDataSetFiledAlias(yem_es_delivernotice))
.finish();
resDataSet = resDataSet.leftJoin(delivernotices)
.on("shippingdetailsid","delivernoticebillid")
.on("yem_es_materialinfoid", "declaredocxid")
.select(RptUtil.getDataSetFiledAlias(resDataSet), RptUtil.getDataSetFiledAlias(delivernotices))
.finish();
//整机配件货款延付申请单
@ -265,17 +263,73 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
selectfields.add("yem_sourcebillid delivernoticeyem_sourcebillid");
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
return yemShippingdetails;
} /**
* 销售出库
}
/**
* 销售出库发货日期汇总
*/
private DataSet delivernotice() {
private DataSet delivernotice(ReportQueryParam reportQueryParam) {
QFilter qFilter = getBaseQFilter();
//销售出库
List<String> selectfields = new ArrayList<>();
selectfields.add("TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_datebus");//发货日期
selectfields.add("billno billnoaddes");
selectfields.add("yem_sourcebillid delivernoticebillid");
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
yemShippingdetails = yemShippingdetails.groupBy(new String[]{"delivernoticebillid"}).agg(new GroupTopOneFunction(),"yem_datebus","yem_datebusiness").finish();
return yemShippingdetails;
DataSet yem_es_delivernotice = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
// yem_es_delivernotice.where("delivernoticebillid = 2008671881934155776");
yem_es_delivernotice = yem_es_delivernotice.groupBy(new String[]{"delivernoticebillid", "billnoaddes"}).agg(new GroupConcatFunction(), "yem_datebus", "yem_datebusin").finish();
//出口报关
FilterInfo filter = reportQueryParam.getFilter();
QFilter qFilter1 = getBaseQFilter();
Date start = filter.getDate("yem_Billofladingday");//提单日期-开始
Date end = filter.getDate("yem_Lookoutdateawbday");//提单日期-结束
qFilter1.and("yem_sumopbill", QCP.equals, "B");
qFilter1.and("billno", QCP.equals, "CKBGDZ-240803-0001");
if (YEM.isNotEmpty(start)) {
qFilter1.and("yem_tddate", ">=", start);
}
if (YEM.isNotEmpty(end)) {
qFilter1.and("yem_tddate", "<=", end);
}
qFilter1.and("yem_customsdeclaration1", QCP.equals, "B");
qFilter1.and("yem_corebillid", QCP.not_equals, 0);
List<String> selectfield1 = new ArrayList<>();
selectfield1.add("id declaredocxid");
selectfield1.add("billno declaredocxbillno");
selectfield1.add("yem_es_declare_ec.yem_splitopbill splitopbillyemid");
selectfield1.add("yem_sourcebillid declaredocxyemid");
DataSet yem_es_declaredocx = ORM.create().queryDataSet(algoKey, "yem_es_declaredocx", String.join(",", selectfield1), qFilter1.toArray());
// yem_es_declaredocx = yem_es_declaredocx
// .groupBy(new String[]{"splitopbillyemid", "yem_es_materialinfoid"})
// .finish();
//订舱通知单
List<String> selectfield2 = new ArrayList<>();
selectfield2.add("id storagetranssid");
selectfield2.add("yem_sourcebillid storagetransyemid");
selectfield2.add("yem_es_materialinfo.yem_sgnenumber yem_sgnenumber");
DataSet yem_es_storagetrans = ORM.create().queryDataSet(algoKey, "yem_es_storagetrans", String.join(",", selectfield2), qFilter.toArray());
yem_es_storagetrans = yem_es_storagetrans.groupBy(new String[]{"storagetranssid", "yem_sgnenumber"}).finish();
//发运明细单
// List<String> selectfield3 = new ArrayList<>();
// selectfield3.add("id shippingdetailid");
// DataSet yemShippingdetails1 = ORM.create().queryDataSet(algoKey, "yem_shippingdetails", String.join(",", selectfield3), qFilter.toArray());
DataSet finish = yem_es_declaredocx.leftJoin(yem_es_storagetrans)
.on("declaredocxyemid", "storagetranssid")
.select(RptUtil.getDataSetFiledAlias(yem_es_declaredocx), RptUtil.getDataSetFiledAlias(yem_es_storagetrans))
.finish();
// finish= finish.leftJoin(yemShippingdetails1)
// .on("storagetransyemid","shippingdetailid")
// .select(RptUtil.getDataSetFiledAlias(finish),RptUtil.getDataSetFiledAlias(yemShippingdetails1))
// .finish();
finish = finish.leftJoin(yem_es_delivernotice)
.on("yem_sgnenumber", "billnoaddes")
.select(RptUtil.getDataSetFiledAlias(finish), RptUtil.getDataSetFiledAlias(yem_es_delivernotice))
.finish();
finish = finish.groupBy(new String[]{"yem_datebusin", "declaredocxid", "splitopbillyemid"}).finish();
finish = finish.groupBy(new String[]{"splitopbillyemid", "declaredocxid"})
.agg(new GroupConcatFunction(), "yem_datebusin", "yem_datebusiness")
.finish();
return finish;
}
}