diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java new file mode 100644 index 0000000..1eeeaef --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java @@ -0,0 +1,96 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import com.greenpineyu.fel.common.NumberUtil; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.ListSelectedRow; +import kd.bos.entity.datamodel.ListSelectedRowCollection; +import kd.bos.form.control.events.BeforeItemClickEvent; +import kd.bos.form.control.events.ItemClickEvent; +import kd.bos.form.events.BeforeDoOperationEventArgs; +import kd.bos.form.operate.FormOperate; +import kd.bos.list.plugin.AbstractListPlugin; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.sdk.plugin.Plugin; +import org.jetbrains.annotations.NotNull; + +import java.util.EventObject; +import java.util.HashSet; +import java.util.Set; + +public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugin { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + this.addItemClickListeners("tbmain");//监听按钮 + } + + @Override + public void itemClick(ItemClickEvent evt) { + super.itemClick(evt); + String itemKey = evt.getItemKey(); + if (itemKey.equals("zcgj_idle")){ + Set setIds = getSelectOrderIds(this.getSelectedRows()); + DynamicObject[] equipments = BusinessDataServiceHelper.load("eceq_equipment_card", "billno,billname,equipstatus", new QFilter[]{new QFilter("id", "in", setIds)}); + for (DynamicObject equipment : equipments) { + equipment.set("equipstatus","FREE"); + } + Object[] save = SaveServiceHelper.save(equipments); + System.out.println(); + this.getView().showMessage("闲置成功!"); + } + } + + @Override + public void beforeDoOperation(BeforeDoOperationEventArgs args) { + super.beforeDoOperation(args); +// FormOperate operate = (FormOperate) args.getSource(); +// String operateNo = operate.getOperateKey(); +// if(operateNo.equalsIgnoreCase("zcgj_idle")){ +// ListSelectedRowCollection listSelectedData = args.getListSelectedData(); +// for (ListSelectedRow listSelectedDatum : listSelectedData) { +// String billNo = listSelectedDatum.getBillNo(); +// QFilter qf = new QFilter("billno", QCP.equals,billNo); +// DynamicObject equipment = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{qf}); +// String equipstatus = equipment.getString("equipstatus"); +// if (!equipstatus.equals("USED")){ +// this.getView().showErrorNotification("只有在用状态下的设备才可置为闲置"); +// args.setCancel(true); +// return; +// } +// } +// +// } + } + + + @Override + public void beforeItemClick(BeforeItemClickEvent evt) { + super.beforeItemClick(evt); + String itemKey = evt.getItemKey(); + if(itemKey.equals("zcgj_idle")){ + Set setIds = getSelectOrderIds(this.getSelectedRows()); + DynamicObject[] equipments = BusinessDataServiceHelper.load("eceq_equipment_card", "billno,billname,equipstatus", new QFilter[]{new QFilter("id", "in", setIds)}); + for (DynamicObject equipment : equipments) { + String equipstatus = equipment.getString("equipstatus"); + if (!equipstatus.equals("USED")){ + this.getView().showErrorNotification("只有在用状态下的设备才可置为闲置"); + evt.setCancel(true); + return; + } + } + } + } + + @NotNull + private Set getSelectOrderIds(@NotNull ListSelectedRowCollection selectedRows) { + Set setIds = new HashSet<>(); + for (ListSelectedRow selectedRow : selectedRows) { + setIds.add(NumberUtil.toLong(selectedRow.getPrimaryKeyValue())); + } + return setIds; + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentApplySupplierPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentApplySupplierPlugin.java index 9de0dc4..9f73486 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentApplySupplierPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentApplySupplierPlugin.java @@ -163,6 +163,24 @@ public class PaymentApplySupplierPlugin extends AbstractBillPlugIn implements Pl // for (int i = 0; i < itementry.size(); i++) { // this.getModel().setValue("zcgj_supplier1", supplier, i); // } + }else if (propName.equals("zcgj_maintenance")) { + //关联设备维修 + Object value = this.getModel().getValue("zcgj_maintenance"); + if (value!=null){ + DynamicObject maintenance = (DynamicObject) value; + QFilter qf = new QFilter("id", QCP.equals, maintenance.getLong("id")); + DynamicObject maintenancebill = BusinessDataServiceHelper.loadSingle("zcgj_maintenanceackbill", new QFilter[]{qf}); + this.getModel().setValue("totalshouldpay",maintenancebill.getBigDecimal("zcgj_toactualamount")); + this.getModel().setValue("project",maintenancebill.getDynamicObject("zcgj_project")); + this.getModel().setValue("fiaccountorg",maintenancebill.getDynamicObject("zcgj_accountorg")); + DynamicObjectCollection maintenanceentry = maintenancebill.getDynamicObjectCollection("entryentity"); + for (int i = 0; i < maintenanceentry.size(); i++) { + DynamicObject object = maintenanceentry.get(i); + i = this.getModel().createNewEntryRow("itementry"); + this.getModel().setValue("zcgj_supplier1", object.getDynamicObject("zcgj_supplier"), i); + this.getModel().setValue("zcgj_requestedamount", object.getBigDecimal("zcgj_actualamount"), i); + } + } } }