工程资金付款申请单费用项目增加过滤
This commit is contained in:
parent
09119816f2
commit
e087d24de1
|
@ -4,24 +4,28 @@ import kd.bos.bill.AbstractBillPlugIn;
|
||||||
import kd.bos.bill.BillShowParameter;
|
import kd.bos.bill.BillShowParameter;
|
||||||
import kd.bos.bill.OperationStatus;
|
import kd.bos.bill.OperationStatus;
|
||||||
import kd.bos.dataentity.entity.DynamicObject;
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
import kd.bos.entity.datamodel.events.ChangeData;
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||||
import kd.bos.permission.api.HasPermOrgResult;
|
import kd.bos.form.field.BasedataEdit;
|
||||||
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
|
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||||
import kd.bos.servicehelper.permission.PermissionServiceHelper;
|
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||||
import kd.bos.servicehelper.user.UserServiceHelper;
|
import kd.bos.list.ListShowParameter;
|
||||||
|
import kd.bos.mvc.bill.BillView;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.QueryServiceHelper;
|
||||||
import kd.sdk.plugin.Plugin;
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.EventObject;
|
import java.util.EventObject;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1:付款申请单通用插件
|
* 1:付款申请单通用插件
|
||||||
*/
|
*/
|
||||||
public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plugin {
|
public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterBindData(EventObject e) {
|
public void afterBindData(EventObject e) {
|
||||||
|
@ -114,4 +118,51 @@ public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plu
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
//仅针对矿山下组织下的逻辑
|
||||||
|
BasedataEdit expenseitem = this.getControl("zcgj_expenseitem"); //费用项目
|
||||||
|
if (expenseitem != null) {
|
||||||
|
expenseitem.addBeforeF7SelectListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||||
|
String name = beforeF7SelectEvent.getProperty().getName();
|
||||||
|
String billFormId = ((BillView) this.getView()).getFormId();//单据标识
|
||||||
|
if("ec_paymentapply".equals(billFormId)){//付款申请单
|
||||||
|
if (name.equals("zcgj_expenseitem")) { //科目分类根据科目分类基础资料过滤
|
||||||
|
int row = beforeF7SelectEvent.getRow();
|
||||||
|
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");
|
||||||
|
if (dynamicObjectCollection != null) {
|
||||||
|
String paymenttype = dynamicObjectCollection.get(row).getString("paymenttype");//支付类型
|
||||||
|
if("PREPAYMENT".equals(paymenttype)){
|
||||||
|
QFilter biztypefilter = new QFilter("zcgj_biztype", QCP.equals, "50"); //过滤业务单据为支出财务确认单
|
||||||
|
//分录过滤
|
||||||
|
//使用BusinessDataServiceHelper.load查出来的数据,返回的是符合条件的整单,即使只有分录中的某一行符合条件,也会返回整张单包括其他分录行的数据
|
||||||
|
//使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行,不含其他行数据
|
||||||
|
DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee",
|
||||||
|
"zcgj_entryentity.zcgj_fee.number", new QFilter[]{biztypefilter});//费用与科目分类单
|
||||||
|
List<String> numbers = new ArrayList<>();
|
||||||
|
if (accountfeeEntries != null) {
|
||||||
|
for (DynamicObject dynamicObject : accountfeeEntries) {
|
||||||
|
String zcgjAccounttypeNumber = dynamicObject.getString("zcgj_entryentity.zcgj_fee.number");
|
||||||
|
if (zcgjAccounttypeNumber != null) {
|
||||||
|
numbers.add(zcgjAccounttypeNumber);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QFilter qFilter = new QFilter("number", QCP.in, numbers);
|
||||||
|
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||||
|
formShowParameter.getListFilterParameter().getQFilters().add(qFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue