diff --git a/javascript/xuanran.wang/xk_hospital/ModelConfig.js b/javascript/xuanran.wang/xk_hospital/ModelConfig.js
new file mode 100644
index 0000000..6895850
--- /dev/null
+++ b/javascript/xuanran.wang/xk_hospital/ModelConfig.js
@@ -0,0 +1,48 @@
+const detailTable = "detail_1";
+// 多选字段
+const detailMultiFieldId = ModeForm.convertFieldNameToId("model_field", detailTable);
+// 单选字段
+const detailRadioFieldId = ModeForm.convertFieldNameToId("model_field_ass", detailTable);
+// 表单字段名字段
+const detailFieldNameId = ModeForm.convertFieldNameToId("model_field_name", detailTable);
+// 所属表
+const detailFieldTableNameId = ModeForm.convertFieldNameToId("table_name", detailTable);
+// 主表还是明细
+const detailMainOrDetailId = ModeForm.convertFieldNameToId("main_or_detail", detailTable);
+$(()=>{
+ let chose = {};
+ ModeForm.bindDetailFieldChangeEvent(detailMultiFieldId, (id, index, val)=>{
+ console.log('id : ', id);
+ console.log('index : ', index);
+ console.log('val : ', val);
+ if(!val){
+ return;
+ }
+ let fieldMameArr = [];
+ let tableNameArr = [];
+ let mainOrDetailArr = [];
+ val.split(',').forEach(id=>{
+ ModeForm.changeFieldValue(`${detailRadioFieldId}_${index}`, {
+ value: id,
+ specialobj:[
+ {id:id, name:"field"}
+ ]
+ })
+ setTimeout(()=>{
+ let detailFieldNameIdValue = ModeForm.getFieldValue(`${detailFieldNameId}_${index}`)
+ let detailFieldTableNameValue = ModeForm.getFieldValue(`${detailFieldTableNameId}_${index}`)
+ let detailMainOrDetailValue = ModeForm.getFieldValue(`${detailMainOrDetailId}_${index}`);
+ fieldMameArr.push(detailFieldNameIdValue);
+ tableNameArr.push(detailFieldTableNameValue);
+ mainOrDetailArr.push(detailMainOrDetailValue);
+ },0);
+ })
+ console.log('fieldMameArr : ', fieldMameArr)
+ console.log('tableNameArr : ', tableNameArr)
+ console.log('mainOrDetailArr : ', mainOrDetailArr)
+
+ ModeForm.changeFieldValue(`${detailFieldNameId}_${index}`,{value:fieldMameArr.join(',')})
+ ModeForm.changeFieldValue(`${detailFieldTableNameId}_${index}`,{value:tableNameArr.join(',')})
+ ModeForm.changeFieldValue(`${detailMainOrDetailId}_${index}`,{value:mainOrDetailArr.join(',')})
+ })
+})
\ No newline at end of file
diff --git a/javascript/youhong.ai/pcn/workflow_code_block.js b/javascript/youhong.ai/pcn/workflow_code_block.js
index 5029599..2b146f2 100644
--- a/javascript/youhong.ai/pcn/workflow_code_block.js
+++ b/javascript/youhong.ai/pcn/workflow_code_block.js
@@ -1029,7 +1029,9 @@ $(() => {
targetDetail: {
tableName: '',
testQuestionField: ''
- }
+ },
+ // 橘色id
+ roleId: 88,
}
diff --git a/src/main/java/aiyh/utils/GenerateFileUtil.java b/src/main/java/aiyh/utils/GenerateFileUtil.java
index e443f6e..399efaa 100644
--- a/src/main/java/aiyh/utils/GenerateFileUtil.java
+++ b/src/main/java/aiyh/utils/GenerateFileUtil.java
@@ -4,8 +4,17 @@ import aiyh.utils.annotation.ActionDefaultTestValue;
import aiyh.utils.annotation.ActionDesc;
import aiyh.utils.annotation.ActionOptionalParam;
import aiyh.utils.annotation.RequiredMark;
+import aiyh.utils.annotation.webdoc.Api;
+import aiyh.utils.annotation.webdoc.ApiModelProperty;
+import aiyh.utils.annotation.webdoc.ApiOperation;
+import aiyh.utils.annotation.webdoc.ApiParam;
import aiyh.utils.entity.ActionTemplate;
import aiyh.utils.excention.CustomerException;
+import aiyh.utils.tool.cn.hutool.core.bean.BeanUtil;
+import aiyh.utils.tool.cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
import org.apache.log4j.Logger;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
@@ -14,12 +23,11 @@ import org.apache.velocity.app.VelocityEngine;
import weaver.interfaces.schedule.BaseCronJob;
import weaver.interfaces.workflow.action.Action;
+import javax.ws.rs.*;
import java.io.*;
import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.lang.reflect.Method;
+import java.util.*;
/**
*
生成文档工具类
@@ -221,5 +229,201 @@ public class GenerateFileUtil {
throw new CustomerException("创建模版文件失败!", e);
}
}
+
+
+ public static void createApiDoc(Class>... classes) {
+ if (Objects.isNull(classes)) {
+ return;
+ }
+ List