|
@@ -2,10 +2,16 @@ package nckd.jimin.jyyy.fi.plugin.form;
|
|
|
|
|
|
import com.alibaba.druid.util.StringUtils;
|
|
|
import kd.bos.bill.AbstractBillPlugIn;
|
|
|
+import kd.bos.dataentity.entity.DynamicObject;
|
|
|
import kd.bos.entity.operate.result.IOperateInfo;
|
|
|
import kd.bos.entity.operate.result.OperationResult;
|
|
|
import kd.bos.form.IClientViewProxy;
|
|
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
|
|
+import kd.bos.orm.query.QCP;
|
|
|
+import kd.bos.orm.query.QFilter;
|
|
|
+import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
|
+
|
|
|
+import java.util.EventObject;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -55,4 +61,43 @@ public class PayApplyBillSRMEditPlugin extends AbstractBillPlugIn {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 在创建新数据后执行的操作,用于根据视图类型自动填充相关字段。
|
|
|
+ *
|
|
|
+ * 功能:
|
|
|
+ * - 从自定义参数中获取视图类型(viewType)。
|
|
|
+ * - 查询对应的视图类型数据(nckd_payviewtype)。
|
|
|
+ * - 如果视图类型编号为 "1004"(专项费用和培训申请),则进一步查询并自动填充费用类型(er_expenseitemedit)。
|
|
|
+ *
|
|
|
+ * @param e 事件对象,包含触发此操作的上下文信息。
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void afterCreateNewData(EventObject e) {
|
|
|
+ super.afterCreateNewData(e);
|
|
|
+ Map<String, Object> customParams = this.getView().getFormShowParameter().getCustomParams();
|
|
|
+ if(customParams.get("viewType") != null){
|
|
|
+ String[] typeStrings = customParams.get("viewType").toString().split(",");
|
|
|
+
|
|
|
+ QFilter qFilter = new QFilter("number", QCP.in, typeStrings);
|
|
|
+
|
|
|
+ DynamicObject[] viewTypeCols = BusinessDataServiceHelper.load("nckd_payviewtype", "id, masterid,number, name", qFilter.toArray());
|
|
|
+ if(viewTypeCols != null && viewTypeCols.length > 0){
|
|
|
+ //页面类型赋值
|
|
|
+ // this.getModel().setValue("nckd_payviewtype", viewTypeCols[0]);
|
|
|
+ //根据页面类型找到费用类型,专项费用和培训申请时候自动填充费用类型
|
|
|
+ String viewtNumber=viewTypeCols[0].getString("number");
|
|
|
+ if(viewtNumber.equals("1004")){
|
|
|
+ //根据页面类型查找费用类型
|
|
|
+ QFilter expenseitemFilter = new QFilter("nckd_payviewtype", QCP.equals, viewTypeCols[0].getLong("id"));
|
|
|
+ expenseitemFilter.and("isleaf",QCP.equals,true);
|
|
|
+ DynamicObject[] expenseitemCols = BusinessDataServiceHelper.load("er_expenseitemedit", "id, number,name,fullname", expenseitemFilter.toArray());
|
|
|
+ //费用项目赋值
|
|
|
+ this.getModel().setValue("nckd_expenseitem", expenseitemCols[0]);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|