出库单添加核算组织修改后清空分录逻辑;设备维修确认单添加表单插件,过滤合同名称字段和财务记账组织修改后清空合同名称逻辑;入库单添加财务记账组织修改后清空采购申请字段

This commit is contained in:
xuhaihui 2025-08-21 14:11:23 +08:00
parent 80427613d1
commit 8a60710f95
3 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,60 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.datamodel.events.ChangeData;
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过滤合同名称字段
*/
public class MaintenanceConfirmBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit zcgj_contract = this.getControl("zcgj_contract"); //合同名称
if (zcgj_contract != null) {
zcgj_contract.addBeforeF7SelectListener(this);
}
}
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String key = e.getProperty().getName();
if ("zcgj_accountorg".equals(key)) {
//财务记账组织
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
Object oldValue = changeData.getOldValue();//旧值
if (newValue == null || !newValue.equals(oldValue)) {
this.getModel().setValue("zcgj_contract", null);//清空合同名称
}
}
}
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
String name = beforeF7SelectEvent.getProperty().getName();
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
Object zcgj_accountorg = this.getModel().getValue("zcgj_accountorg");//核算组织
if (zcgj_accountorg != null) {
DynamicObject zcgj_accountorg1 = (DynamicObject) zcgj_accountorg;
QFilter qFilter = new QFilter("project.projectorg", QCP.equals, zcgj_accountorg1.getPkValue());
formShowParameter.getListFilterParameter().getQFilters().add(qFilter);
} else {
this.getView().showErrorNotification("请先填写财务记账组织!!");
beforeF7SelectEvent.setCancel(true);
}
}
}

View File

@ -80,6 +80,15 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
} else if ("warehouse".equals(key)) {
//仓库
this.getModel().setValue("zcgj_purchaseapply", null);//清空采购申请单字段
} else if ("fiaccountorg".equals(key)) {
//财务记账组织
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
Object oldValue = changeData.getOldValue();//旧值
if (newValue == null || !newValue.equals(oldValue)) {
this.getModel().setValue("zcgj_purchaseapply", null);//清空采购申请
}
}
}
@ -88,6 +97,10 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
String propertyName = beforeF7SelectEvent.getProperty().getName();
Object project = this.getModel().getValue("project");//项目
Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织
if (fiaccountorg == null) {
this.getView().showErrorNotification("请先填写财务记账组织!!");
beforeF7SelectEvent.setCancel(true);
}
if (project != null && fiaccountorg != null) {
DynamicObject project1 = (DynamicObject) project;
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;

View File

@ -2,6 +2,8 @@ package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent;
@ -41,6 +43,17 @@ public class MaterialOutBillPlugin extends AbstractBillPlugIn implements BeforeF
} else {
this.getModel().setValue("zcgj_fiorg", null);
}
} else if ("zcgj_fiorg".equals(key)) {
//核算组织
ChangeData[] changeSet = e.getChangeSet();
ChangeData changeData = changeSet[0];
Object newValue = changeData.getNewValue();//新值
Object oldValue = changeData.getOldValue();//旧值
if (newValue == null || !newValue.equals(oldValue)) {
DynamicObjectCollection entryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");//出库单分录
entryCollection.clear();
this.getView().updateView("entryentity");//刷新分录
}
}
}