diff --git a/src/main/java/com/yem/rf/salescommission/ExportDeclarationDetailsReportPlugin.java b/src/main/java/com/yem/rf/salescommission/ExportDeclarationDetailsReportPlugin.java index 65727626..97a4ceed 100644 --- a/src/main/java/com/yem/rf/salescommission/ExportDeclarationDetailsReportPlugin.java +++ b/src/main/java/com/yem/rf/salescommission/ExportDeclarationDetailsReportPlugin.java @@ -52,6 +52,7 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData dataSet = declaredocx.leftJoin(declaredocx_relation) .on("merged_seq", "rl_merged_seq") + .on("declaredocx_id", "declare_id_gp_fk") .select(RptUtil.getDataSetFiledAlias(declaredocx), RptUtil.getDataSetFiledAlias(declaredocx_relation)) .finish(); @@ -331,7 +332,7 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData selectfields.add("yem_es_declare_ecd.yem_decsourceentryidtext rl_detail_id");//商品明细分录行id selectfields.add("yem_es_declare_ecd.yem_decgoodsseq rl_merged_seq");//报关商品序号 DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_es_declaredocx", String.join(",", selectfields), qFilter.toArray()); - dataSet = dataSet.select("declare_id_gp_fk, CAST(rl_detail_seq as Integer) rl_detail_seq, CAST(rl_detail_id as Long) rl_detail_id, CAST(rl_merged_seq as Integer) rl_merged_seq"); + dataSet = dataSet.select("CAST(rl_detail_seq as Integer) rl_detail_seq, CAST(rl_detail_id as Long) rl_detail_id, CAST(rl_merged_seq as Integer) rl_merged_seq, declare_id_gp_fk"); DataSet declaredocx_detail = queryDeclareDocx_Detail(param); @@ -354,26 +355,28 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData .select(RptUtil.getDataSetFiledAlias(dataSet), RptUtil.getDataSetFiledAlias(salesorder)) .finish(); - DataSet infoDataSet1 = dataSet.copy().groupBy(new String[]{"rl_merged_seq"}) + DataSet infoDataSet1 = dataSet.copy().groupBy(new String[]{"declare_id_gp_fk", "rl_merged_seq"}) .agg(new GroupConcatFunctionByComma(), "yem_bizdate", "yem_shipdate") .agg(new GroupConcatFunctionByComma(), "yem_contactno", "yem_contactno") .finish() - .select("rl_merged_seq rl_merged_seq_1, yem_shipdate, yem_contactno"); + .select("declare_id_gp_fk declare_id_gp_fk_1, rl_merged_seq rl_merged_seq_1, yem_shipdate, yem_contactno"); - DataSet infoDataSet2 = dataSet.copy().groupBy(new String[]{"rl_merged_seq"}) + DataSet infoDataSet2 = dataSet.copy().groupBy(new String[]{"declare_id_gp_fk", "rl_merged_seq"}) .agg(new GroupTopOneFunction(), "yem_declarationele", "yem_declarationele") .agg(new GroupTopOneFunction(), "rl_detail_id", "rl_detail_id") .agg(new GroupTopOneFunction(), "main_id", "main_id") .agg(new GroupTopOneFunction(), "yem_orderno", "yem_orderno") + .agg(new GroupTopOneFunction(), "rl_merged_seq", "rl_merged_seq") .finish() - .select("rl_merged_seq rl_merged_seq_2, yem_declarationele, rl_detail_id, main_id, yem_orderno"); + .select("declare_id_gp_fk declare_id_gp_fk_2, rl_merged_seq rl_merged_seq_2, yem_declarationele, rl_detail_id, main_id, yem_orderno, rl_merged_seq"); dataSet = infoDataSet1.leftJoin(infoDataSet2) + .on("declare_id_gp_fk_1", "declare_id_gp_fk_2") .on("rl_merged_seq_1", "rl_merged_seq_2") .select(RptUtil.getDataSetFiledAlias(infoDataSet1), RptUtil.getDataSetFiledAlias(infoDataSet2)) .finish(); - dataSet = dataSet.select(String.join(",", RptUtil.getDataSetFiledAlias(dataSet)) + ", rl_merged_seq_1 rl_merged_seq"); + dataSet = dataSet.select(String.join(",", RptUtil.getDataSetFiledAlias(dataSet)) + ", declare_id_gp_fk_1 declare_id_gp_fk"); return dataSet; } @@ -411,7 +414,11 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData selectfields.add("yem_bizdate");//业务日期 DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_es_delivernotice", String.join(",", selectfields), qFilter.toArray()); - return dataSet.select("dn_main_id_fk, TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_bizdate"); + dataSet = dataSet.select("dn_main_id_fk, TO_CHAR(yem_bizdate, 'yyyy-MM-dd') yem_bizdate"); + dataSet = dataSet.groupBy(new String[]{"dn_main_id_fk"}) + .agg(new GroupConcatFunctionByComma(), "yem_bizdate", "yem_bizdate") + .finish(); + return dataSet; }