package fi.em.editPlugin; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.exception.KDBizException; import kd.bos.form.CloseCallBack; import kd.bos.form.FormShowParameter; import kd.bos.form.ShowType; import kd.bos.form.events.AfterDoOperationEventArgs; import kd.bos.form.events.ClosedCallBackEvent; import kd.bos.list.plugin.AbstractListPlugin; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.sdk.plugin.Plugin; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.servicehelper.BusinessDataServiceHelper; import org.apache.commons.lang3.StringUtils; import java.math.BigDecimal; import java.util.HashMap; public class TripreimBurseEditPlugin extends AbstractListPlugin implements Plugin { public static String btn_NOTICE = "donothing"; //操作 public static String btn_NOTICES = "bxdtc"; //操作标识 public static String nckd_agentparameterf1 = "nckd_agentparameterf1";//动因参数动态列表 private static String bos_org = "bos_org"; //组织 private static String er_expenseitemedit="er_expenseitemedit";//差旅报销单标识 @Override public void afterDoOperation(AfterDoOperationEventArgs e) { String operateKey = e.getOperateKey(); if (btn_NOTICES.equals(e.getOperateKey())) { Object value = this.getModel().getValue("costcompany");//获取当前单据费用公司 DynamicObject entrycostcompanyWait = (DynamicObject)value; String orgnumber = entrycostcompanyWait.getString("number");//公司编码 String orgid = entrycostcompanyWait.getString("id");//公司id Object creator=this.getModel().getValue("creator");//获取当前创建人 Object costdept=this.getModel().getValue("costdept");//获取当前费用承担部门 DynamicObject creatorWait=(DynamicObject) creator; DynamicObject costdeptWait=(DynamicObject) costdept; String creatorNumber=creatorWait.getString("number");//创建人编码 String costdeptNumber=costdeptWait.getString("number");//费用承担部门编码 if (orgnumber == null){ throw new KDBizException("付费承担公司为空!"); } showParameter(nckd_agentparameterf1, btn_NOTICE,orgnumber,orgid,creatorNumber,costdeptNumber);//调用弹出页面 } } @Override public void closedCallBack(ClosedCallBackEvent e) { super.closedCallBack(e); if (StringUtils.equals(btn_NOTICE, e.getActionId()) && null != e.getReturnData()) { //父页面返回参数 HashMap returnData = (HashMap) e.getReturnData(); String reJaStr = returnData.get("reJaStr"); //判断空 if (StringUtils.isNotBlank(reJaStr)) { //删除分录信息 this.getModel().deleteEntryData("clearloanentry"); JSONArray reJa = JSONArray.parseArray(reJaStr);//返回信息数组 //循环返回数组插入分录 for(int i =0;i