diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/FinanceReportFormPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/FinanceReportFormPlugin.java index 498037c..259ceea 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/FinanceReportFormPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/FinanceReportFormPlugin.java @@ -7,6 +7,7 @@ import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.entity.LocaleString; +import kd.bos.entity.AppMetadataCache; import kd.bos.entity.datamodel.IDataModel; import kd.bos.entity.datamodel.events.PackageDataEvent; import kd.bos.entity.report.*; @@ -23,15 +24,14 @@ import kd.bos.form.events.HyperLinkClickEvent; import kd.bos.form.events.HyperLinkClickListener; import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.mvc.form.FormView; +import kd.bos.mvc.report.ReportListModel; import kd.bos.mvc.report.ReportView; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.permission.api.HasPermOrgResult; import kd.bos.report.ReportList; import kd.bos.report.ReportShowParameter; -import kd.bos.report.events.CreateColumnEvent; -import kd.bos.report.events.CreateFilterInfoEvent; -import kd.bos.report.events.SortAndFilterEvent; +import kd.bos.report.events.*; import kd.bos.report.filter.ReportFilter; import kd.bos.report.plugin.AbstractReportFormPlugin; import kd.bos.servicehelper.BusinessDataServiceHelper; @@ -39,10 +39,10 @@ import kd.bos.servicehelper.QueryServiceHelper; import kd.bos.servicehelper.org.OrgUnitServiceHelper; import kd.bos.servicehelper.org.OrgViewType; import kd.bos.servicehelper.permission.PermissionServiceHelper; -import org.apache.commons.lang3.time.DateUtils; import shkd.sys.sys.plugin.report.domain.FinanceVarietyEnum; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; @@ -192,6 +192,7 @@ public class FinanceReportFormPlugin extends AbstractReportFormPlugin implement @Override public void afterCreateColumn(CreateColumnEvent event) { super.afterCreateColumn(event); + setavg(event); ReportQueryParam queryParam = event.getQueryParam(); FilterInfo filter = queryParam.getFilter(); String shkd_money = filter.getString("shkd_selmoney"); @@ -199,6 +200,12 @@ public class FinanceReportFormPlugin extends AbstractReportFormPlugin implement getColumns( columns,shkd_money); } + @Override + public void setFloatButtomData(List summaryEvents) { + super.setFloatButtomData(summaryEvents); + + } + public List getColumns(List columns,String shkd_money) { //集团外债务融资 List jtwzwrz = ((ReportColumnGroup) columns.get(3)).getChildren(); @@ -378,9 +385,9 @@ public class FinanceReportFormPlugin extends AbstractReportFormPlugin implement } private void addheji(DynamicObjectCollection rowData){ - BigDecimal shkd_jtnbjkamount=new BigDecimal(0);//⑩集团内部借款金额 - BigDecimal shkd_jtnbjkrzcb=new BigDecimal(0);//⑩集团内部借款融资成本(%) - BigDecimal shkd_jtnbjkqx=new BigDecimal(0);//⑩集团内部借款期限 + BigDecimal shkd_jtnbjkamount=new BigDecimal(0.0);//⑩集团内部借款金额 + BigDecimal shkd_jtnbjkrzcb=new BigDecimal(0.0);//⑩集团内部借款融资成本(%) + BigDecimal shkd_jtnbjkqx=new BigDecimal(0.0);//⑩集团内部借款期限 for (DynamicObject rowDatum : rowData) { shkd_jtnbjkamount=shkd_jtnbjkamount.subtract(rowDatum.getBigDecimal("shkd_jtnbjkamount")); shkd_jtnbjkrzcb=shkd_jtnbjkrzcb.subtract(rowDatum.getBigDecimal("shkd_jtnbjkrzcb")); @@ -415,5 +422,25 @@ public class FinanceReportFormPlugin extends AbstractReportFormPlugin implement return longs; } + @Override + public void setCellStyleRules(List cellStyleRules) { + super.setCellStyleRules(cellStyleRules); + } + + private void setavg(CreateColumnEvent event){ + ReportList list = this.getView().getControl("reportlistap"); + ReportListModel reportModel = (ReportListModel) list.getReportModel(); + int rowCount = reportModel.getReportTaskResult().getRowCount(); + Map summaryValueMap = reportModel.getSummaryValueMap(); + for (int i = 0; i < FinanceVarietyEnum.avg.size(); i++) { + BigDecimal totalInAmt = (BigDecimal) summaryValueMap.get( FinanceVarietyEnum.avg.get(i)); + BigDecimal result = totalInAmt.divide(new BigDecimal(rowCount), 2, RoundingMode.HALF_UP); + summaryValueMap.put(FinanceVarietyEnum.avg.get(i),result.toString()); + } + + summaryValueMap.put("shkd_jtnbjkamount",new BigDecimal(0).toString()); + summaryValueMap.put("shkd_jtnbjkrzcb",new BigDecimal(0).toString()); + summaryValueMap.put("shkd_jtnbjkqx",new BigDecimal(0).toString()); + } } diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/transbillreportnewPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/transbillreportnewPlugin.java index 76a45ca..69db92a 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/transbillreportnewPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/transbillreportnewPlugin.java @@ -79,14 +79,14 @@ public class transbillreportnewPlugin extends AbstractTmcTreeReportDataPlugin { // groupSelect = BANK_GROUP_SELECT; // this.setSumNameField("bank"); - upSelect = "company.name as parentorg, company.id as parentorgid, bank.name as bank, bank.id as bankid, entrys.e_useorg.name as sonorg, entrys.e_useorg.id as sonorgid, currency, entrys.transamt as upamount, 0 as downamount,entrys.subacct as shkd_subacct,entrys.subacct.bank.bank_cate as shkd_zzhkhh"; - downSelect = "company.name as parentorg, company.id as parentorgid, bank.name as bank, bank.id as bankid, entrys.e_useorg.name as sonorg, entrys.e_useorg.id as sonorgid, currency, 0 as upamount, entrys.transamt as downamount,entrys.subacct as shkd_subacct,entrys.subacct.bank.bank_cate as shkd_zzhkhh"; + upSelect = "company.name as parentorg, company.id as parentorgid, bank.name as bank, bank.id as bankid, entrys.e_useorg.name as sonorg, entrys.e_useorg.id as sonorgid, currency, entrys.transamt as upamount, 0 as downamount,entrys.subacct.id as shkd_subacct,entrys.subacct.bank.bank_cate as shkd_zzhkhh"; + downSelect = "company.name as parentorg, company.id as parentorgid, bank.name as bank, bank.id as bankid, entrys.e_useorg.name as sonorg, entrys.e_useorg.id as sonorgid, currency, 0 as upamount, entrys.transamt as downamount,entrys.subacct.id as shkd_subacct,entrys.subacct.bank.bank_cate as shkd_zzhkhh"; select = "parentorg, parentorgid, bank, bankid, sonorg, sonorgid, upamount_report as upamount, downamount_report as downamount,shkd_subacct,shkd_zzhkhh"; groupSelect = BANK_GROUP_SELECT; this.setSumNameField("bank"); } else {//不走 - upSelect = "company.name as parentorg, company.id as parentorgid, entrys.e_useorg.name as sonorg, entrys.e_useorg.id as sonorgid, bank.name as bank, bank.id as bankid, currency, entrys.transamt as upamount, 0 as downamount,entrys.subacct as shkd_subacct,entrys.subacct.bank.bank_cate as shkd_zzhkhh"; - downSelect = "company.name as parentorg, company.id as parentorgid, entrys.e_useorg.name as sonorg, entrys.e_useorg.id as sonorgid, bank.name as bank, bank.id as bankid, currency, 0 as upamount, entrys.transamt as downamount,entrys.subacct as shkd_subacct,entrys.subacct.bank.bank_cate as shkd_zzhkhh"; + upSelect = "company.name as parentorg, company.id as parentorgid, entrys.e_useorg.name as sonorg, entrys.e_useorg.id as sonorgid, bank.name as bank, bank.id as bankid, currency, entrys.transamt as upamount, 0 as downamount,entrys.subacct.id as shkd_subacct,entrys.subacct.bank.bank_cate as shkd_zzhkhh"; + downSelect = "company.name as parentorg, company.id as parentorgid, entrys.e_useorg.name as sonorg, entrys.e_useorg.id as sonorgid, bank.name as bank, bank.id as bankid, currency, 0 as upamount, entrys.transamt as downamount,entrys.subacct.id as shkd_subacct,entrys.subacct.bank.bank_cate as shkd_zzhkhh"; select = "parentorg, parentorgid,sonorg, sonorgid, bank, bankid, upamount_report as upamount, downamount_report as downamount,shkd_subacct,shkd_zzhkhh"; groupSelect = SON_ORG_GROUP_SELECT; this.setSumNameField("sonorg");