付款申请:添加财务组织字段,根据所属组织自动带出

This commit is contained in:
ptt 2025-05-20 15:20:17 +08:00
parent 269af98913
commit 3863e66e11
1 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,64 @@
package shkd.repc.recon.report.data;
import kd.bos.algo.DataSet;
import kd.bos.dataentity.entity.DataEntityBase;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.report.AbstractReportListDataPlugin;
import kd.bos.entity.report.FilterInfo;
import kd.bos.entity.report.FilterItemInfo;
import kd.bos.entity.report.ReportQueryParam;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.QueryServiceHelper;
import kd.repc.recon.report.helper.ReconRptListPluginHelper;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Set;
import java.util.stream.Collectors;
public class RePayStdBookRptListNewPlugin extends AbstractReportListDataPlugin {
public RePayStdBookRptListNewPlugin() {
}
public DataSet query(ReportQueryParam reportQueryParam, Object o) {
FilterInfo filterInfo = reportQueryParam.getFilter();
ArrayList<QFilter> qFilters = new ArrayList();
ReconRptListPluginHelper.setF7QFilter(filterInfo, qFilters, "orgf7", "org", true);
ReconRptListPluginHelper.setAllProjectQFilter(filterInfo, qFilters, "recon_paystdbook_rpt", "projectf7", "orgf7", "mainprojectid", "project");
ReconRptListPluginHelper.setF7QFilter(filterInfo, qFilters, "contracttypef7", "contractbill.contracttype", false);
ReconRptListPluginHelper.setF7QFilter(filterInfo, qFilters, "contractf7", "contractbill", true);
ReconRptListPluginHelper.setEnumQFilter(filterInfo, qFilters, "billstatusenum", "payreqbill.billstatus", true);
ReconRptListPluginHelper.setBillSourceEnumQFilter(filterInfo, qFilters, "billsourceenum", (String)null, true);
setDataFilter(filterInfo, qFilters);
DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "recon_paystdbook", String.join(",", "org", "project", "contractbill", "contractbill".concat(".").concat("hassettled"), "contractbill".concat(".").concat("latestoriprice"), "connotextbill", "connotextbill".concat(".").concat("name"), "connotextbill".concat(".").concat("number"), "connotextbill".concat(".").concat("oriamt"), "payreqbill", "payreqbill".concat(".").concat("oricurrency"), "payreqbill".concat(".").concat("totalworkloadoriamt"), "payreqbill".concat(".").concat("totalinvoiceamt"), "payreqbill".concat(".").concat("preunpayoriamt"), "payreqbill".concat(".").concat("invoiceamt"), "payreqbill".concat(".").concat("oriamt"), "payreqbill".concat(".").concat("prepayoriamt"), "payreqbill".concat(".").concat("rewarddeductoriamt"), "payreqbill".concat(".").concat("curactualoriamt"), "payreqbill".concat(".").concat("projectconoriamt"), "payreqbill".concat(".").concat("payedoriamt"), "totaloriamt", "totalpayedconoriamt"), (QFilter[])qFilters.toArray(new QFilter[0]), "longnumber");
return dataSet;
}
public void setDataFilter(FilterInfo filterInfo, ArrayList<QFilter> qFilters) {
FilterItemInfo oriamt = filterInfo.getFilterItem("qeug_oriamt");
BigDecimal bigDecimal = oriamt.getBigDecimal();
if(BigDecimal.ZERO.compareTo(bigDecimal)==-1){
qFilters.add(new QFilter("payreqbill.oriamt", QCP.equals, bigDecimal));
}
FilterItemInfo usedepart = filterInfo.getFilterItem("qeug_usedepart");
if (usedepart != null && usedepart.getValue() != null) {
DynamicObject object = (DynamicObject)usedepart.getValue();
qFilters.add(new QFilter("payreqbill.useDepart", "=", object.getPkValue()));
}
FilterItemInfo handler = filterInfo.getFilterItem("qeug_handler");
if (handler != null && handler.getValue() != null) {
DynamicObject object = (DynamicObject)handler.getValue();
qFilters.add(new QFilter("payreqbill.handler", "=", object.getPkValue()));
}
FilterItemInfo payreqbill = filterInfo.getFilterItem("qeug_payreqbill");
if (payreqbill != null && payreqbill.getValue() != null) {
DynamicObject object = (DynamicObject)payreqbill.getValue();
qFilters.add(new QFilter("payreqbill.id", "=", object.getPkValue()));
}
}
}