设备维修确认关联设备维修申请

This commit is contained in:
xiaoshi 2025-06-10 15:47:30 +08:00
parent 016bd8f9aa
commit 498a96d911
1 changed files with 45 additions and 0 deletions

View File

@ -1,5 +1,6 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import com.alibaba.fastjson.JSONObject;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
@ -8,6 +9,7 @@ import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
import kd.bos.dataentity.resource.ResManager;
import kd.bos.entity.datamodel.ListSelectedRow;
import kd.bos.entity.datamodel.ListSelectedRowCollection;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.CloseCallBack;
import kd.bos.form.ShowFormHelper;
import kd.bos.form.ShowType;
@ -18,6 +20,7 @@ import kd.bos.form.operate.FormOperate;
import kd.bos.list.ListShowParameter;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
@ -316,4 +319,46 @@ public class MaintenanceAckBillPlugin extends AbstractBillPlugIn implements Plug
}
}
//删除发票 结束
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String name = e.getProperty().getName();
if (name.equals("zcgj_maintenance")){
Object value = this.getModel().getValue("zcgj_maintenance");
if (value!=null){
DynamicObject maintenance = (DynamicObject) value;
QFilter filter = new QFilter("zcgj_maintenance.id", QCP.equals, maintenance.getLong("id"));
DynamicObject[] maintenanceackbill = BusinessDataServiceHelper.load("zcgj_maintenanceackbill", "entryentity.zcgj_sourceid", new QFilter[]{filter});
Set set = new HashSet();
set.add("9999999");
for (DynamicObject dynamicObject : maintenanceackbill) {
for (DynamicObject object : dynamicObject.getDynamicObjectCollection("entryentity")) {
set.add(object.getString("zcgj_sourceid"));
}
}
QFilter qf = new QFilter("id", QCP.equals, maintenance.getLong("id"));
DynamicObject maintenancebill = BusinessDataServiceHelper.loadSingle("zcgj_maintenancebill", new QFilter[]{qf});
this.getModel().setValue("zcgj_project",maintenancebill.getDynamicObject("zcgj_project"));//项目
this.getModel().setValue("zcgj_accountorg",maintenancebill.getDynamicObject("zcgj_accountorg"));//财务记账组织
this.getModel().setValue("zcgj_totalamount",maintenancebill.getBigDecimal("zcgj_totalamount"));//预估维修金额
this.getModel().setValue("zcgj_currency",maintenancebill.getDynamicObject("zcgj_currency"));//币别
DynamicObjectCollection entrys = (DynamicObjectCollection) getModel().getValue("entryentity");
DynamicObjectCollection maintenanceentry = maintenancebill.getDynamicObjectCollection("entryentity");
maintenanceentry.removeIf(entry -> set.contains(entry.getString("id")));//去除之前单据已有的数据
for (int i = 0; i<maintenanceentry.size();i++) {
DynamicObject object = maintenanceentry.get(i);
i = this.getModel().createNewEntryRow("entryentity");
this.getModel().setValue("zcgj_equipment", object.getDynamicObject("zcgj_equipment"), i);
this.getModel().setValue("zcgj_fault", object.getString("zcgj_fault"), i);
this.getModel().setValue("zcgj_faultreason", object.getString("zcgj_faultreason"), i);
this.getModel().setValue("zcgj_amount", object.getBigDecimal("zcgj_amount"), i);
this.getModel().setValue("zcgj_contacts", object.getString("zcgj_contacts"), i);
this.getModel().setValue("zcgj_supplier", object.getDynamicObject("zcgj_supplier"), i);
this.getModel().setValue("zcgj_sourceid", object.getString("id"), i);
}
}
this.getView().updateView("entryentity");
}
}
}