Compare commits

...

3 Commits

2 changed files with 54 additions and 11 deletions

View File

@ -2,30 +2,73 @@ 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.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.metadata.IDataEntityProperty;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs; 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.QCP;
import kd.bos.orm.query.QFilter; import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.sdk.plugin.Plugin; import kd.sdk.plugin.Plugin;
public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin { import java.util.EventObject;
/**
* 设备维修申请表单插件
*/
public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit zcgj_equipment = this.getView().getControl("zcgj_equipment");//设备名称
zcgj_equipment.addBeforeF7SelectListener(this);
}
@Override @Override
public void propertyChanged(PropertyChangedArgs e) { public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e); super.propertyChanged(e);
String name = e.getProperty().getName(); String name = e.getProperty().getName();
if (name.equals("zcgj_project")){ if (name.equals("zcgj_project")) {
Object zcgj_project = this.getModel().getValue("zcgj_project"); Object zcgj_project = this.getModel().getValue("zcgj_project");
if(zcgj_project!=null){ if (zcgj_project != null) {
DynamicObject project = (DynamicObject) zcgj_project; DynamicObject project = (DynamicObject) zcgj_project;
DynamicObject projectinfo = BusinessDataServiceHelper.loadSingle("ec_project_f7", new QFilter[]{new QFilter("id", QCP.equals, project.getLong("id"))}); DynamicObject projectinfo = BusinessDataServiceHelper.loadSingle("ec_project_f7", new QFilter[]{new QFilter("id", QCP.equals, project.getLong("id"))});
DynamicObject fiaccountorg = projectinfo.getDynamicObject("fiaccountorg"); DynamicObject fiaccountorg = projectinfo.getDynamicObject("fiaccountorg");
this.getModel().setValue("zcgj_accountorg",fiaccountorg); this.getModel().setValue("zcgj_accountorg", fiaccountorg);
this.getView().setEnable(false,"zcgj_accountorg"); this.getView().setEnable(false, "zcgj_accountorg");
}else { } else {
this.getModel().setValue("zcgj_accountorg",null); this.getModel().setValue("zcgj_accountorg", null);
this.getView().setEnable(true,"zcgj_accountorg"); this.getView().setEnable(true, "zcgj_accountorg");
}
} else if (name.equals("zcgj_accountorg")) {
//财务记账组织
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");//刷新分录
} }
} }
} }
@Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
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("useorg", QCP.equals, zcgj_accountOrg1.getPkValue());
formShowParameter.getListFilterParameter().getQFilters().add(qFilter);
} else {
this.getView().showErrorNotification("请先填写财务记账组织!!");
beforeF7SelectEvent.setCancel(true);
}
}
} }

View File

@ -102,12 +102,12 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
beforeF7SelectEvent.setCancel(true); beforeF7SelectEvent.setCancel(true);
} }
if (project != null && fiaccountorg != null) { if (project != null && fiaccountorg != null) {
DynamicObject project1 = (DynamicObject) project; DynamicObject project1 = (DynamicObject) project;// 项目
DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg; DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;//财务记账组织
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
List<QFilter> qFilters = new ArrayList<>(); 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")));//采购组织 qFilters.add(new QFilter("fiaccountorg.id", QCP.in, fiaccountorg1.get("id")));//财务记账组织
formShowParameter.getListFilterParameter().setQFilters(qFilters); formShowParameter.getListFilterParameter().setQFilters(qFilters);
} }
} }