package tqq9.lc123.cloud.app.plugin.form.result; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.form.control.events.BeforeItemClickEvent; import kd.bos.form.control.events.ItemClickEvent; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.util.StringUtils; import tqq9.lc123.cloud.app.plugin.utils.BillCloseCancelUtils; import tqq9.lc123.cloud.app.plugin.utils.ConfigUtils; import java.util.EventObject; //采购退货申请单(单据取消) public class PmPurRefundApplyBillPlugin extends AbstractBillPlugIn { @Override public void registerListener(EventObject e) { super.registerListener(e); this.addItemClickListeners("tbmain"); } @Override public void beforeItemClick(BeforeItemClickEvent evt) { super.beforeItemClick(evt); String itemKey = evt.getItemKey(); if ("tqq9_close".equals(itemKey)) { boolean tqq9_isclose = (boolean) this.getModel().getValue("tqq9_isclose"); if (tqq9_isclose) { this.getView().showMessage("该单据已关闭"); evt.setCancel(true); } } } @Override public void itemClick(ItemClickEvent evt) { super.itemClick(evt); String itemKey = evt.getItemKey(); if ("tqq9_close".equals(itemKey)) { String billNo = (String) this.getModel().getValue("billno"); String message = null; DynamicObject dataEntity = BusinessDataServiceHelper.loadSingle("pm_purrefundapplybill", "id,billno,org,billentry.tqq9_thck", new QFilter[]{new QFilter("billno", QCP.equals, billNo)}); String entityType = "pm_purrefundapplybill"; String entityName; String label = "tqq9_isclose"; DynamicObject org = dataEntity.getDynamicObject("org");//收货组织 if (null != org) { String number = org.getString("number"); if ("SHLC".equals(number)) { DynamicObjectCollection billentry = dataEntity.getDynamicObjectCollection("billentry"); String warehouseCode = null; for (DynamicObject dynamicObject : billentry) { DynamicObject warehouse = dynamicObject.getDynamicObject("tqq9_thck"); if (null != warehouse) { warehouseCode = warehouse.getString("number"); } } String orderType = "CGTH"; entityName = "WMS-SH-收货通知单取消"; message = BillCloseCancelUtils.wmsCancel(orderType, warehouseCode, billNo, entityType, entityName, label); } else if ("BJLC".equals(number)) { String BJ_URL = ConfigUtils.getThirdConfigByNumber("BJ_POSTURL"); entityName = "WMS-BJ-收货通知单取消"; message = BillCloseCancelUtils.BGPuCancelPurReturn(billNo, BJ_URL, entityType, entityName, label); } else if ("GZLC".equals(number)) { String GZURL = ConfigUtils.getThirdConfigByNumber("GZ_POSTURL"); entityName = "WMS-GZ-收货通知单取消"; message = BillCloseCancelUtils.BGPuCancelPurReturn(billNo, GZURL, entityType, entityName, label); } if (StringUtils.isNotEmpty(message)) { this.getView().showMessage(String.valueOf(message)); } } } } }