diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java index c7574aa..2c03df2 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java @@ -17,6 +17,7 @@ import kd.bos.orm.ORM; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.QueryServiceHelper; import shkd.sys.sys.plugin.report.util.ReportUtils; import java.text.SimpleDateFormat; @@ -46,7 +47,7 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { private static final String DANGYUE_SELECT = "fbillno," + "fstartdate_yyyyMM as dangyueqijian," + - "fbankcateid as shkd_jrjg," + + "fbankcateid as fbankcateid1," + "total_fdetailext12 as shkd_cljrzwye," + "total_fdetailext13 as shkd_yxsx," + "total_fdetailext15 as shkd_dytqhk," + @@ -84,9 +85,6 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { DynamicObject Period = BusinessDataServiceHelper.loadSingle(shkd_qj.getPkValue(), "fpm_member"); date=Period.getDate("startdate"); } - logger.info("shkd_qj:"+shkd_qj); - logger.info("shkd_km:"+shkd_km); - logger.info("date:"+date); //获取当月日期范围 Map dangyue = getMonthStartAndEnd(date); Date date1 = getnextMonth(date); @@ -104,6 +102,7 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { } long id = fpm_report.getLong("id"); logger.info("id:"+id); + StringBuilder dangyuesqlBuilder=getsql(id,zdm,dangyue,shkd_km); DataSet dangyueres = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), dangyuesqlBuilder.toString());//财务云 dangyueres= dangyueres.select(DANGYUE_SELECT); @@ -122,8 +121,9 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { // 将合并后的 List 转回数组 String[] mergedFieldNames = mergedList.toArray(new String[0]); - JoinDataSet join = dangyueres.join(xiayueyueres, JoinType.LEFT); - DataSet finish = join.on("shkd_jrjg", "fbankcateid").select(mergedFieldNames).finish(); + JoinDataSet join = dangyueres.join(xiayueyueres, JoinType.FULL); + DataSet finish = join.on("fbankcateid1", "fbankcateid").select(mergedFieldNames).finish(); + finish=finish.addField("(case when fbankcateid1!=null and fbankcateid1!=0 then fbankcateid1 else fbankcateid end)","shkd_jrjg"); //小计 finish=finish.addField("(case when shkd_dyxd!=null then shkd_dyxd else 0 end)+(case when shkd_dyxzrz!=null then shkd_dyxzrz else 0 end)-(case when shkd_dytqhk!=null then shkd_dytqhk else 0 end)-(case when shkd_dydqhk!=null then shkd_dydqhk else 0 end)","shkd_dyxj"); finish=finish.addField("(case when shkd_xyxd!=null then shkd_xyxd else 0 end)+(case when shkd_xyxzrz!=null then shkd_xyxzrz else 0 end)-(case when shkd_xytqhk!=null then shkd_xytqhk else 0 end)-(case when shkd_xydqhk!=null then shkd_xydqhk else 0 end)","shkd_xyxj");