Merge remote-tracking branch 'orinin/test' into test

This commit is contained in:
ljw 2024-11-18 15:25:53 +08:00
commit ae66636140

View File

@ -5,8 +5,7 @@ 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.GroupConcatFunctionByComma; import com.yem.wm.utils.groupfunc.GroupConcatFunctionByComma;
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.entity.report.AbstractReportListDataPlugin; import kd.bos.entity.report.AbstractReportListDataPlugin;
import kd.bos.entity.report.FilterInfo; import kd.bos.entity.report.FilterInfo;
@ -19,7 +18,6 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import static com.yem.rf.utils.RFUtils.formatDate;
import static com.yem.rf.utils.RFUtils.getBaseQFilter; import static com.yem.rf.utils.RFUtils.getBaseQFilter;
/** /**
@ -37,7 +35,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
DataSet yemImTradeapp = yem_im_tradeapp(reportQueryParam); DataSet yemImTradeapp = yem_im_tradeapp(reportQueryParam);
DataSet yemsDeclaredocx = yemsDeclaredocx(reportQueryParam); DataSet yemsDeclaredocx = yemsDeclaredocx(reportQueryParam);
DataSet yemContainer = yemContainer(); DataSet yemContainer = yemContainer();
DataSet delivernotices = delivernotice(); DataSet delivernotices = delivernotice(reportQueryParam);
DataSet yem_es_delivernotice = yem_es_delivernotice(reportQueryParam); DataSet yem_es_delivernotice = yem_es_delivernotice(reportQueryParam);
resDataSet = yemsDeclaredocx.leftJoin(yemContainer) resDataSet = yemsDeclaredocx.leftJoin(yemContainer)
.on("declaredocxyem_sourcebillid", "storagetransid") .on("declaredocxyem_sourcebillid", "storagetransid")
@ -54,7 +52,7 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
.select(RptUtil.getDataSetFiledAlias(resDataSet), RptUtil.getDataSetFiledAlias(yem_es_delivernotice)) .select(RptUtil.getDataSetFiledAlias(resDataSet), RptUtil.getDataSetFiledAlias(yem_es_delivernotice))
.finish(); .finish();
resDataSet = resDataSet.leftJoin(delivernotices) resDataSet = resDataSet.leftJoin(delivernotices)
.on("shippingdetailsid","delivernoticebillid") .on("yem_es_materialinfoid", "declaredocxid")
.select(RptUtil.getDataSetFiledAlias(resDataSet), RptUtil.getDataSetFiledAlias(delivernotices)) .select(RptUtil.getDataSetFiledAlias(resDataSet), RptUtil.getDataSetFiledAlias(delivernotices))
.finish(); .finish();
//整机配件货款延付申请单 //整机配件货款延付申请单
@ -265,17 +263,60 @@ public class ShipmentsChedulePlugin extends AbstractReportListDataPlugin {
selectfields.add("yem_sourcebillid delivernoticeyem_sourcebillid"); selectfields.add("yem_sourcebillid delivernoticeyem_sourcebillid");
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray()); DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray());
return yemShippingdetails; return yemShippingdetails;
} /** }
* 销售出库
/**
* 销售出库发货日期汇总
*/ */
private DataSet delivernotice() { private DataSet delivernotice(ReportQueryParam reportQueryParam) {
QFilter qFilter = getBaseQFilter(); QFilter qFilter = getBaseQFilter();
//销售出库
List<String> selectfields = new ArrayList<>(); List<String> selectfields = new ArrayList<>();
selectfields.add("TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_datebus");//发货日期 selectfields.add("TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_datebus");//发货日期
selectfields.add("billno billnoaddes");
selectfields.add("yem_sourcebillid delivernoticebillid"); selectfields.add("yem_sourcebillid delivernoticebillid");
DataSet yemShippingdetails = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray()); DataSet yem_es_delivernotice = 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(); yem_es_delivernotice = yem_es_delivernotice.groupBy(new String[]{"delivernoticebillid", "billnoaddes"}).agg(new GroupConcatFunction(), "yem_datebus", "yem_datebusin").finish();
return yemShippingdetails; //出口报关
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");
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());
//订舱通知单
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();
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(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;
} }
} }