diff --git a/javascript/common/dev.js b/javascript/common/dev.js index 67a3756..666912e 100644 --- a/javascript/common/dev.js +++ b/javascript/common/dev.js @@ -9,6 +9,42 @@ const WfForm = { isMobile: () => { // true表示是eMobile、微信、钉钉等移动终端,false代表PC端 }, + /** + * 4.6 函数式自定义渲染表单字段 + * 最低版本要求:KB900190701 + * + * 以函数返回值方式自定义渲染表单字段,支持全部的字段类型,可实现基于原组件追加/复写/重新布局等等 + * + * 建议结合ecode工具,放到模块加载前调用,使用JSX,可实现与表单字段渲染有关的二次开发 + * + * 此接口的优先级高于4.4、4.5,即使用此接口代理的字段,如再使用4.4、4.5会直接无效 + * + * proxyFieldContentComp: function(fieldid,fn) + * @param convertFieldNameToId + * @param customerRender + */ + proxyFieldContentComp(convertFieldNameToId, customerRender = (info, compFn) => { + // console.log("字段id:",info.fieldid); + // console.log("明细行号:",info.rowIndex); + // console.log("字段只读必填属性:",info.viewAttr); + // console.log("字段值:",info.fieldValue); + // //返回自定义渲染的组件 + // return React.createElement("div", {}, ["想怎么玩就怎么玩"]); + // //返回原组件 + // return compFn(); + // //返回基于原组件的复写组件 + // return React.createElement("div", {}, ["前置组件",compFn(),"后置组件"]); + } + ) { + }, + /** + * //如果此接口调用在代码块、custompage等(非模块加载前调用),需强制渲染字段一次 + * WfForm.forceRenderField("field111"); + * @param field + */ + forceRenderField(field) { + + } } WfForm.OPER_SAVE = '保存' WfForm.OPER_SUBMIT = '提交/批准/提交需反馈/不需反馈等' diff --git a/javascript/youhong.ai/pcn/workflow_code_block.js b/javascript/youhong.ai/pcn/workflow_code_block.js index 5dca6db..feae264 100644 --- a/javascript/youhong.ai/pcn/workflow_code_block.js +++ b/javascript/youhong.ai/pcn/workflow_code_block.js @@ -787,4 +787,126 @@ $(() => { } } }) -/* ******************* 年假计算 end ******************* */ \ No newline at end of file +/* ******************* 年假计算 end ******************* */ + + +/* ******************* youhong.ai 明细字段合并主表,序号内容换行展示 start ******************* */ +$(() => { + const config = { + // 明细表 + detail: 'detail_3', + // 明细字段 + detailField: 'jbxxnr', + // 主表字段 + mainField: 'jbxxnr' + } + + function runJs() { + let rowIndexStr = WfForm.getDetailAllRowIndexStr(config.detail); + let rowIndexArr = rowIndexStr.split(","); + let value = "" + rowIndexArr.forEach(item => { + let fieldId = WfForm.convertFieldNameToId(config.detailField, config.detail) + "_" + item + let fieldValue = WfForm.getFieldValue(fieldId); + value += (+item + 1) + "、" + fieldValue + "\n"; + }) + WfForm.changeFieldValue(WfForm.convertFieldNameToId(config.mainField), {value}) + } + + WfForm.registerCheckEvent(WfForm.OPER_SUBMIT, (callback) => { + runJs() + callback() + }) + +}) +/* ******************* youhong.ai 明细字段合并主表,序号内容换行展示 end ******************* */ + + +/* ******************* youhong.ai 取明细行中最早时间的一行,将数据放到主表 start ******************* */ +$(() => { + const config = { + // 明细表 + detail: 'detail_1', + // 映射关系 + mapping: [{ + // 明细表字段 + detailField: 'jbsj', + // 主表字段 + mainField: 'zzjsrq', + }, { + // 明细表字段 + detailField: 'jbtd', + // 主表字段 + mainField: 'jbqd', + }], + dateSort: 'jbsj' + } + + + function runJs() { + let rowIndexStr = WfForm.getDetailAllRowIndexStr(config.detail); + let rowIndexArray = rowIndexStr.split(","); + const detailData = [] + rowIndexArray.forEach(item => { + let obj = {} + config.mapping.forEach(mapping => { + obj[mapping.detailField] = WfForm.getFieldValue(WfForm.convertFieldNameToId(mapping.detailField, config.detail) + "_" + item) + }) + detailData.push(obj) + }) + console.log(detailData) + let minDateObj = filterByMinDate(detailData, config.dateSort); + console.log(minDateObj) + config.mapping.forEach(item => { + WfForm.changeFieldValue(WfForm.convertFieldNameToId(item.mainField), { + value: minDateObj[item.detailField] + }) + }) + } + + function filterByMinDate(arr, key) { + return arr.reduce((min, obj) => { + if (!min || new Date(obj[key]) <= new Date(min[key])) { + return obj; + } + return min; + }, null); + } + + WfForm.registerCheckEvent(WfForm.OPER_SUBMIT, (callback) => { + runJs() + callback() + }) +}) +/* ******************* youhong.ai 取明细行中最早时间的一行,将数据放到主表 end ******************* */ + +/* ******************* youhong.ai 主表选择框自定义渲染为进度条 start ******************* */ +$(() => { + const field = 'jz' + const config = { + '-1': 0, + '0': 20, + '1': 40, + '2': 60, + '3': 80, + '4': 100, + } + + function customerRender(info, compFn) { + let fieldValue = info.fieldValue; + if (!fieldValue) { + fieldValue = '-1' + } + let {WeaProgress} = ecCom + return React.createElement(WeaProgress, { + strokeColor: '#6c8dc1', + percent: config[fieldValue] + }) + } + + WfForm.proxyFieldContentComp(WfForm.convertFieldNameToId(field).replace("field", ""), customerRender) + setTimeout(() => { + WfForm.forceRenderField(WfForm.convertFieldNameToId(field)); + }, 500) +}) +/* ******************* youhong.ai 主表选择框自定义渲染为进度条 end ******************* */ diff --git a/src/main/java/aiyh/utils/GenerateFileUtil.java b/src/main/java/aiyh/utils/GenerateFileUtil.java index 7b8631b..e443f6e 100644 --- a/src/main/java/aiyh/utils/GenerateFileUtil.java +++ b/src/main/java/aiyh/utils/GenerateFileUtil.java @@ -85,10 +85,11 @@ public class GenerateFileUtil { if (hasRequired) { // 必填参数 RequiredMark requiredMark = declaredField.getAnnotation(RequiredMark.class); - String fieldDesc = requiredMark.value(); - Map param = new HashMap<>(); + String fieldDesc = requiredMark.desc(); + Map param = new HashMap<>(8); param.put("name", name); param.put("desc", fieldDesc); + param.put("example", requiredMark.value()); param.put("isRequired", "是"); boolean hasDefaultTestValue = declaredField.isAnnotationPresent(ActionDefaultTestValue.class); if (hasDefaultTestValue) { @@ -105,9 +106,10 @@ public class GenerateFileUtil { ActionOptionalParam actionOptionalParam = declaredField.getAnnotation(ActionOptionalParam.class); String fieldDesc = actionOptionalParam.desc(); String defaultValue = actionOptionalParam.value(); - Map param = new HashMap<>(); + Map param = new HashMap<>(8); param.put("name", name); param.put("desc", fieldDesc); + param.put("example", defaultValue); param.put("isRequired", "否"); param.put("defaultValue", defaultValue); paramList.add(param); diff --git a/src/main/java/aiyh/utils/ScriptUtil.java b/src/main/java/aiyh/utils/ScriptUtil.java index 7f6cbd1..6c53d1d 100644 --- a/src/main/java/aiyh/utils/ScriptUtil.java +++ b/src/main/java/aiyh/utils/ScriptUtil.java @@ -12,14 +12,14 @@ import java.util.Map; * @author youHong.ai */ public class ScriptUtil { - private static final JexlEngine jexl = new JexlBuilder().create(); + private static final JexlEngine JEXL = new JexlBuilder().create(); public static Object invokeScript(String script, Map params) { JexlContext jc = new MapContext(); for (Map.Entry entry : params.entrySet()) { jc.set(entry.getKey(), entry.getValue()); } - JexlExpression expression = jexl.createExpression(script); + JexlExpression expression = JEXL.createExpression(script); return expression.evaluate(jc); } } diff --git a/src/main/java/com/api/youhong/ai/ihgzhouji/userinfoel/mapper/UserInfoMapper.java b/src/main/java/com/api/youhong/ai/ihgzhouji/userinfoel/mapper/UserInfoMapper.java index 6767fc8..f149ea3 100644 --- a/src/main/java/com/api/youhong/ai/ihgzhouji/userinfoel/mapper/UserInfoMapper.java +++ b/src/main/java/com/api/youhong/ai/ihgzhouji/userinfoel/mapper/UserInfoMapper.java @@ -44,7 +44,7 @@ public interface UserInfoMapper { "or concat(',',fbleader,',') like concat(',',#{uID},',')\n" + "or concat(',',hrleader,',') like concat(',',#{uID},',')\n" + "or concat(',',generalmanager,',') like concat(',', #{uID},',')")*/ - @Select("select count(id) from uf_hotelinfo where\n" + + @Select("select * from uf_hotelinfo where\n" + "concat(',',olt,',') like concat(',',#{userId},',')\n" + "or concat(',',vpo,',') like concat(',',#{userId},',')\n" + "or concat(',',opsconsultant,',') like concat(',',#{userId},',')\n" + @@ -61,7 +61,7 @@ public interface UserInfoMapper { "or concat(',',headoffinancebusinesssupport,',') like concat(',',#{userId},',')\n" + "or concat(',',headofrbeoperations,',') like concat(',',#{userId},',')\n" + "or concat(',',headofengineering,',') like concat(',',#{userId},',')") - Integer selectIsHotel(int uid); + List> selectIsHotel(int uid); /** *

查询酒店信息

@@ -85,12 +85,11 @@ public interface UserInfoMapper { /** *

查询角色信息

* - * @param uid 当前人员 - * @param hotelIndex 酒店编码 + * @param uid 当前人员 * @return 角色信息 */ @Select("select * from uf_hotelinfo where\n" + - "(concat(',',olt,',') like concat(',',#{userId},',')\n" + + "concat(',',olt,',') like concat(',',#{userId},',')\n" + "or concat(',',vpo,',') like concat(',',#{userId},',')\n" + "or concat(',',subregionadmin,',') like concat(',',#{userId},',')\n" + "or concat(',',opsconsultant,',') like concat(',',#{userId},',')\n" + @@ -112,9 +111,8 @@ public interface UserInfoMapper { "or concat(',',revenueleader,',') like concat(',',#{userId},',')\n" + "or concat(',',financeleader,',') like concat(',',#{userId},',')\n" + "or concat(',',fbleader,',') like concat(',',#{userId},',')\n" + - "or concat(',',hrleader,',') like concat(',',#{userId},',')) " + - "and holidex = #{hotelIndex}") - List> selectRoles(@ParamMapper("userId") int uid, @ParamMapper("hotelIndex") String hotelIndex); + "or concat(',',hrleader,',') like concat(',',#{userId},',')") + List> selectRoles(@ParamMapper("userId") int uid); /** *

查询部门信息

diff --git a/src/main/java/com/api/youhong/ai/ihgzhouji/userinfoel/service/UserInfoService.java b/src/main/java/com/api/youhong/ai/ihgzhouji/userinfoel/service/UserInfoService.java index 6f360fd..2aa4961 100644 --- a/src/main/java/com/api/youhong/ai/ihgzhouji/userinfoel/service/UserInfoService.java +++ b/src/main/java/com/api/youhong/ai/ihgzhouji/userinfoel/service/UserInfoService.java @@ -43,7 +43,6 @@ public class UserInfoService { userInfoVo.setTaskAcceptance(true); } } - // 查询用户信息 Map userInfo = this.mapper.selectHrmInfo(user.getUID()); if (CollectionUtil.isNotEmpty(userInfo)) { @@ -70,8 +69,32 @@ public class UserInfoService { // 支持中心,显示部门信息 userInfoVo.setDepartmentInfo(department); } + List> hotelList = mapper.selectRoles(user.getUID()); // 如果存在酒店信息 - if (StrUtil.isNotBlank(hotelIndex)) { + Set roleNames = new HashSet<>(); + if (CollectionUtil.isNotEmpty(hotelList)) { + for (Map hotel : hotelList) { + // 循环酒店角色名称 + for (Map.Entry entry : ROLES_MAP.entrySet()) { + String key = entry.getKey(); + if (!hotel.containsKey(key)) { + continue; + } + String value = Util.null2String(hotel.get(key)); + // 如果在酒店名称中找到对应的人,则为角色名 + if (StrUtil.isBlank(value)) { + continue; + } + String[] split = value.split(","); + List strings = Arrays.asList(split); + if (strings.contains(Util.null2String(user.getUID()))) { + roleNames.add(entry.getValue()); + } + } + } + } + userInfoVo.setRoleNames(roleNames); + /*if (StrUtil.isNotBlank(hotelIndex)) { List> hotelRoles = this.mapper.selectRoles(user.getUID(), hotelIndex); if (CollectionUtil.isEmpty(hotelRoles)) { return userInfoVo; @@ -98,7 +121,7 @@ public class UserInfoService { } } userInfoVo.setRoleNames(roleNames); - } + }*/ } return userInfoVo; } diff --git a/src/main/java/com/customization/youhong/pcn/createrworkflow/impl/CheckWorkflowRequestParamsImpl.java b/src/main/java/com/customization/youhong/pcn/createrworkflow/impl/CheckWorkflowRequestParamsImpl.java index d1012aa..6e8f413 100644 --- a/src/main/java/com/customization/youhong/pcn/createrworkflow/impl/CheckWorkflowRequestParamsImpl.java +++ b/src/main/java/com/customization/youhong/pcn/createrworkflow/impl/CheckWorkflowRequestParamsImpl.java @@ -36,7 +36,7 @@ public class CheckWorkflowRequestParamsImpl extends AbstractServiceProxy impleme private final CheckWorkflowRequestParamsUtil checkUtil = new CheckWorkflowRequestParamsUtil(); @Override - @ServiceMethodDynamicProxy(desc = "子流程触发时,做流程转数据") + @ServiceMethodDynamicProxy(desc = "流程创建校验流程参数") public PAResponseEntity doCreateRequest(User user, ReqOperateRequestEntity requestParam) { try { try { diff --git a/src/main/java/com/customization/youhong/pcn/createrworkflow/util/CheckWorkflowRequestParamsUtil.java b/src/main/java/com/customization/youhong/pcn/createrworkflow/util/CheckWorkflowRequestParamsUtil.java index 8165b72..a710693 100644 --- a/src/main/java/com/customization/youhong/pcn/createrworkflow/util/CheckWorkflowRequestParamsUtil.java +++ b/src/main/java/com/customization/youhong/pcn/createrworkflow/util/CheckWorkflowRequestParamsUtil.java @@ -133,6 +133,7 @@ public class CheckWorkflowRequestParamsUtil { if (Objects.isNull(checkCreateConfigDetail)) { continue; } + // TODO 主表明细表字段一致可能出现问题 checkDetailMap.remove(fieldName); CheckFunctionParam checkFunctionParam = new CheckFunctionParam(); checkFunctionParam.setCheckCreateConfigDetail(checkCreateConfigDetail); diff --git a/src/main/java/weaver/youhong/ai/pcn/actioin/generateloginid/GenerateLoginIdAction.java b/src/main/java/weaver/youhong/ai/pcn/actioin/generateloginid/GenerateLoginIdAction.java index 8a0b35f..53f5298 100644 --- a/src/main/java/weaver/youhong/ai/pcn/actioin/generateloginid/GenerateLoginIdAction.java +++ b/src/main/java/weaver/youhong/ai/pcn/actioin/generateloginid/GenerateLoginIdAction.java @@ -58,9 +58,6 @@ public class GenerateLoginIdAction extends SafeCusBaseAction { Map mainTableValue = super.getMainTableValue(requestInfo); String subCompanyName = mainTableValue.get(subCompanyTextField); String subCompanyId = mapper.selectSubCompanyIdBySubCompanyName(subCompanyName); - // Map lastLoginIdInfo = mapper.selectLastLoginId(subCompanyName, subCompanyId, subCompanyName + "%"); - // String loginIdNo = lastLoginIdInfo.get("loginIdNo"); - // String loginId = prefixFill(loginIdNo, subCompanyName); List loginIdList = mapper.selectLoginIdList(subCompanyId); String loginId = subCompanyName + formatList(loginIdList, Integer.parseInt(numberFillQuantity)); if (mapper.updateLoginId(billTable, requestId, loginId, loginIdField)) { diff --git a/src/main/java/weaver/youhong/ai/pcn/actioin/todwfworkflow/PushWorkflowDataToDWFAction.java b/src/main/java/weaver/youhong/ai/pcn/actioin/todwfworkflow/PushWorkflowDataToDWFAction.java new file mode 100644 index 0000000..af4845f --- /dev/null +++ b/src/main/java/weaver/youhong/ai/pcn/actioin/todwfworkflow/PushWorkflowDataToDWFAction.java @@ -0,0 +1,81 @@ +package weaver.youhong.ai.pcn.actioin.todwfworkflow; + +import aiyh.utils.Util; +import aiyh.utils.action.SafeCusBaseAction; +import aiyh.utils.annotation.ActionDesc; +import aiyh.utils.annotation.ActionOptionalParam; +import aiyh.utils.annotation.RequiredMark; +import aiyh.utils.httpUtil.ResponeVo; +import aiyh.utils.httpUtil.util.HttpUtils; +import lombok.Getter; +import lombok.Setter; +import weaver.hrm.User; +import weaver.soa.workflow.request.RequestInfo; +import weaver.xiao.commons.config.entity.RequestMappingConfig; +import weaver.xiao.commons.config.service.DealWithMapping; + +import javax.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Map; + +/** + *

推送流程数据到dwf

+ * + *

create: 2023/6/25 21:56

+ * + * @author youHong.ai + */ +@Setter +@Getter +@ActionDesc(author = "youhong.ai", value = "推送流程数据到dwf") +public class PushWorkflowDataToDWFAction extends SafeCusBaseAction { + + @RequiredMark(desc = "请求参数配置表的唯一标识") + private String onlyMark; + + + @ActionOptionalParam(desc = "流程失败是否退回", value = "true") + private String isBlack = "true"; + + + @ActionOptionalParam(desc = "成功标识", value = "200") + private String successCode = "200"; + + + private final HttpUtils httpUtils = new HttpUtils(); + + private final DealWithMapping dealWithMapping = new DealWithMapping(); + + + { + httpUtils.getGlobalCache().header.put("Content-Type", MediaType.APPLICATION_JSON); + } + + @Override + public void doSubmit(String requestId, String billTable, int workflowId, User user, RequestInfo requestInfo) { + dealWithMapping.setMainTable(billTable); + try { + RequestMappingConfig requestMappingConfig = dealWithMapping.treeDealWithUniqueCode(onlyMark); + String requestUrl = requestMappingConfig.getRequestUrl(); + Map objMainTableValue = getObjMainTableValue(requestInfo); + Map requestParam = dealWithMapping.getRequestParam(objMainTableValue, requestMappingConfig); + ResponeVo responeVo = httpUtils.apiPost(requestUrl, requestParam); + if (responeVo.getCode() != 200) { + log.error(Util.logStr("接口请求出错:[]", responeVo.getEntityString())); + } + Map responseMap = responeVo.getResponseMap(); + String code = Util.null2String(responseMap.get("code")); + if (!successCode.equals(code)) { + black(requestInfo, Util.null2String(responseMap.get("msg"))); + } + } catch (IOException e) { + black(requestInfo, "system error!"); + } + } + + private void black(RequestInfo requestInfo, String msg) { + if (Boolean.parseBoolean(isBlack)) { + Util.actionFailException(requestInfo.getRequestManager(), msg); + } + } +} diff --git a/src/main/youhong_ai_old_src/com/api/aiyh_logincheck/mapper/DynamicCodeMapper.java b/src/main/youhong_ai_old_src/com/api/aiyh_logincheck/mapper/DynamicCodeMapper.java index e4291f8..5f8716e 100644 --- a/src/main/youhong_ai_old_src/com/api/aiyh_logincheck/mapper/DynamicCodeMapper.java +++ b/src/main/youhong_ai_old_src/com/api/aiyh_logincheck/mapper/DynamicCodeMapper.java @@ -4,6 +4,8 @@ import aiyh.utils.annotation.recordset.ParamMapper; import aiyh.utils.annotation.recordset.Select; import aiyh.utils.annotation.recordset.SqlMapper; +import java.util.Map; + /** * create 2022/1/17 0017 16:57 * @@ -14,7 +16,7 @@ import aiyh.utils.annotation.recordset.SqlMapper; public interface DynamicCodeMapper { @Select("select email from hrmresource where loginid = #{loginId}") - public String selectEmail(@ParamMapper("loginId") String loginId); + String selectEmail(@ParamMapper("loginId") String loginId); /** *

查询用户

@@ -26,4 +28,7 @@ public interface DynamicCodeMapper { @Select("select id from hrmresource where loginid = #{loginId} and password = #{password}") Integer selectUser(@ParamMapper("loginId") String user, @ParamMapper("password") String mdPassword); + + @Select("select id,lastname,loginid,isadaccount from hrmresource where loginid = #{loginId}") + Map selectUserInfo(@ParamMapper("loginId") String user); } diff --git a/src/main/youhong_ai_old_src/com/api/aiyh_logincheck/service/DynamicCodeService.java b/src/main/youhong_ai_old_src/com/api/aiyh_logincheck/service/DynamicCodeService.java index 9058784..293ea99 100644 --- a/src/main/youhong_ai_old_src/com/api/aiyh_logincheck/service/DynamicCodeService.java +++ b/src/main/youhong_ai_old_src/com/api/aiyh_logincheck/service/DynamicCodeService.java @@ -2,6 +2,7 @@ package com.api.aiyh_logincheck.service; import aiyh.utils.Util; import aiyh.utils.excention.CustomerException; +import aiyh.utils.tool.cn.hutool.core.collection.CollectionUtil; import aiyh.utils.zwl.common.ToolUtil; import cn.hutool.core.util.RandomUtil; import com.alibaba.fastjson.JSON; @@ -15,6 +16,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import weaver.email.EmailWorkRunnable; import weaver.general.BaseBean; +import weaver.ldap.LdapUtil; import weaver.sm.SM4Utils; import javax.servlet.ServletContext; @@ -122,10 +124,25 @@ public class DynamicCodeService { password = sm4.decrypt(password, key); } } - String mdPassword = EncryptHelper.encodeMd5(password).toUpperCase(); - Integer userId = dynamicCodeMapper.selectUser(user, mdPassword); - if (Objects.isNull(userId) || userId < 0) { - throw new CustomerException("账号或密码错误!", 403); + // 校验AD登录 + Map userInfoMap = dynamicCodeMapper.selectUserInfo(user); + if (CollectionUtil.isNotEmpty(userInfoMap) && "1".equals(Util.null2String(userInfoMap.get("isadaccount")))) { + LdapUtil util = LdapUtil.getInstance(); + String authenticResult = util.authenticuser(user); + if (authenticResult == null || "uac".equals(authenticResult)) { + throw new CustomerException("AD账号不存在或被禁用!", 403); + } + boolean flag; + flag = util.authentic(user, password); + if (!flag) { + throw new CustomerException("账号或密码错误!", 403); + } + } else { + String mdPassword = EncryptHelper.encodeMd5(password).toUpperCase(); + Integer userId = dynamicCodeMapper.selectUser(user, mdPassword); + if (Objects.isNull(userId) || userId < 0) { + throw new CustomerException("账号或密码错误!", 403); + } } String uncheckList = toolUtil.getSystemParamValue("uncheckList"); String isEnable = toolUtil.getSystemParamValue("enableDynamicCode"); diff --git a/src/test/java/youhong/ai/utiltest/GenericTest.java b/src/test/java/youhong/ai/utiltest/GenericTest.java index b567c20..285f650 100644 --- a/src/test/java/youhong/ai/utiltest/GenericTest.java +++ b/src/test/java/youhong/ai/utiltest/GenericTest.java @@ -12,7 +12,7 @@ import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.junit.Test; -import weaver.youhong.ai.pcn.actioin.doctoavatar.DocToAvatarAction; +import weaver.youhong.ai.pcn.actioin.todwfworkflow.PushWorkflowDataToDWFAction; import youhong.ai.utiltest.excel.ExcelCell; import youhong.ai.utiltest.excel.ExcelPort; import youhong.ai.utiltest.excel.ExcelRow; @@ -98,7 +98,7 @@ public class GenericTest extends BaseTest { @Test public void testGre() { - GenerateFileUtil.createActionDocument(DocToAvatarAction.class); + GenerateFileUtil.createActionDocument(PushWorkflowDataToDWFAction.class); } diff --git a/src/test/java/youhong/ai/utiltest/TestApi.java b/src/test/java/youhong/ai/utiltest/TestApi.java index 8c33456..5781bcc 100644 --- a/src/test/java/youhong/ai/utiltest/TestApi.java +++ b/src/test/java/youhong/ai/utiltest/TestApi.java @@ -63,7 +63,7 @@ public class TestApi extends BaseTest { "\t\"fieldValue\":\"5\"\n" + "},{\n" + "\t\"fieldName\":\"mc\",\n" + - "\t\"fieldValue\":\"不1道\"\n" + + "\t\"fieldValue\":\"不道\"\n" + "}]"); body.put("requestName", "api流程测试调用接口校验参数"); body.put("workflowId", "44");