出库单表单插件添加:赋值核算组织逻辑和使用设备过滤逻辑添加;入库单优化采购申请字段过滤逻辑优化;采购申请单项目字段过滤逻辑添加

This commit is contained in:
xuhaihui 2025-08-21 10:49:12 +08:00
parent f23ba4b690
commit 80427613d1
3 changed files with 101 additions and 4 deletions

View File

@ -87,11 +87,14 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String propertyName = beforeF7SelectEvent.getProperty().getName();
Object project = this.getModel().getValue("project");//项目
if (project != null) {
Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织
if (project != null && fiaccountorg != null) {
DynamicObject project1 = (DynamicObject) project;
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>();
qFilters.add(new QFilter("project.id", QCP.in, project1.get("id")));
qFilters.add(new QFilter("project.id", QCP.in, project1.get("id")));// 项目
qFilters.add(new QFilter("purchaseorg.id", QCP.in, fiaccountorg1.get("id")));//采购组织
formShowParameter.getListFilterParameter().setQFilters(qFilters);
}
}

View File

@ -0,0 +1,61 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent;
import kd.bos.form.field.events.BeforeF7SelectListener;
import kd.bos.list.ListShowParameter;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import java.util.EventObject;
/**
* 出库单表单插件
* 说明1核算组织由项目中的财务记账组织携带而来
* 2使用设备过滤通过核算组织与使用设备中的使用组织比对而来过滤
*/
public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit zcgj_shebei = this.getControl("zcgj_shebei"); //使用设备
if (zcgj_shebei != null) {
zcgj_shebei.addBeforeF7SelectListener(this);
}
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String key = e.getProperty().getName();
if ("project".equals(key) || "warehouse".equals(key)) {
//项目仓库
Object project = this.getModel().getValue("project");// 项目
if (project != null) {
DynamicObject project1 = (DynamicObject) project;
this.getModel().setValue("zcgj_fiorg", project1.get("fiaccountorg"));//核算组织 项目-财务记账组织
} else {
this.getModel().setValue("zcgj_fiorg", null);
}
}
}
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String name = beforeF7SelectEvent.getProperty().getName();
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
Object zcgj_fiorg = this.getModel().getValue("zcgj_fiorg");//核算组织
if (zcgj_fiorg != null) {
DynamicObject zcgj_fiorg1 = (DynamicObject) zcgj_fiorg;
QFilter qFilter = new QFilter("useorg", QCP.equals, zcgj_fiorg1.getPkValue());
formShowParameter.getListFilterParameter().getQFilters().add(qFilter);
} else {
this.getView().showErrorNotification("请先填写核算组织!");
beforeF7SelectEvent.setCancel(true);
}
}
}

View File

@ -1,17 +1,50 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent;
import kd.bos.form.field.events.BeforeF7SelectListener;
import kd.bos.list.ListShowParameter;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
/**
* 采购申请单表单插件初始默认采购组织等于所属组织
* 采购申请单表单插件
* 说明 1初始默认采购组织等于所属组织
* 2过滤项目项目的项目组织与财务记账组织一致才显示
*/
public class PurchaseAppBillPlugin extends AbstractBillPlugIn {
public class PurchaseAppBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit project = this.getControl("project"); //项目
if (project != null) {
project.addBeforeF7SelectListener(this);
}
}
@Override
public void afterCreateNewData(EventObject e) {
super.afterCreateNewData(e);
Object org = this.getModel().getValue("org");//所属组织
this.getModel().setValue("purchaseorg", org);//采购组织
}
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String propertyName = beforeF7SelectEvent.getProperty().getName();
Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织
if (fiaccountorg != null){
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>();
qFilters.add(new QFilter("projectorg.id", QCP.in, fiaccountorg1.get("id")));//项目组织
formShowParameter.getListFilterParameter().setQFilters(qFilters);
}
}
}