收款申请添加总部代收组织赋值逻辑

This commit is contained in:
xuhaihui 2025-12-10 16:16:54 +08:00
parent 5e596f260c
commit 5c03fd576a
1 changed files with 34 additions and 2 deletions

View File

@ -1,13 +1,20 @@
package zcgj.zcdev.zcdev.pr.plugin.form; package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn; 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.control.events.BeforeItemClickEvent; import kd.bos.form.control.events.BeforeItemClickEvent;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
import kd.sdk.plugin.Plugin; import kd.sdk.plugin.Plugin;
import java.util.EventObject; import java.util.EventObject;
/** /**
* 收付款申请单选择合同时项目提醒插件 * 收付款申请单选择合同时项目提醒插件
*/ */
public class ContractSelectProjectPlugin extends AbstractBillPlugIn implements Plugin { public class ContractSelectProjectPlugin extends AbstractBillPlugIn implements Plugin {
@ -24,11 +31,36 @@ public class ContractSelectProjectPlugin extends AbstractBillPlugIn implements P
//工具栏上的所有按钮的点击都会激活itemClick和beforeItemClick方法 //要开发人员实现不同按钮的逻辑 //工具栏上的所有按钮的点击都会激活itemClick和beforeItemClick方法 //要开发人员实现不同按钮的逻辑
if (evt.getItemKey().equals("selectcontract")) { if (evt.getItemKey().equals("selectcontract")) {
Object project = this.getModel().getValue("project"); Object project = this.getModel().getValue("project");
if(project == null) { if (project == null) {
evt.setCancel(true); evt.setCancel(true);
this.getView().showErrorNotification("请选择项目"); this.getView().showErrorNotification("请选择项目");
} }
} }
super.beforeItemClick(evt); super.beforeItemClick(evt);
} }
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String name = e.getProperty().getName();
if (name.equals("zcgj_hqrec")) {
//总部代收
ChangeData changeData = e.getChangeSet()[0];
Object newValue = changeData.getNewValue();
if (newValue != null && newValue.equals("20")) {
DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织
if (org != null) {
QFilter filter = new QFilter("zcgj_companyblentry.zcgj_org", QCP.equals, org.getPkValue());//组织
DynamicObject zcgj_companybelong = BusinessDataServiceHelper.loadSingle("zcgj_companybelong", "zcgj_headquarters",
new QFilter[]{filter});//"公司归属区域"
if (zcgj_companybelong != null) {
DynamicObject zcgj_headquarters = zcgj_companybelong.getDynamicObject("zcgj_headquarters");//本部
this.getModel().setValue("zcgj_hqorg", zcgj_headquarters);//总部代收组织
}
}
} else {
this.getModel().setValue("zcgj_hqorg", null);//总部代收组织
}
}
}
} }