添加智己水印图片添加,德尔格隐私签字意见功能

main
youHong.ai 2023-03-23 10:28:39 +08:00
parent f79891d95f
commit 228ed443a1
22 changed files with 1492 additions and 285 deletions

View File

@ -610,4 +610,74 @@ $(() => {
})() })()
/* ******************* 提交外出流程 ******************* */ /* ******************* 提交外出流程 ******************* */
/* ******************* 明细数据统计数量添加 ******************* */
$(() => {
let config = {
// 数据来源表配置
sourceConfig: {
key: '',
table: '',
type: ''
},
// 需要修改的表配置
targetConfig: {
key: '',
table: '',
type: [{
type: '',
changeField: ''
}, {
type: '',
changeField: ''
}]
}
}
function changeTargetFieldValue() {
let sourceConfig = config.sourceConfig;
let targetConfig = config.targetConfig;
let targetDetailRowArr = WfForm.getDetailAllRowIndexStr(targetConfig.table).split(",");
let targetMap = new Map()
// 组装明细数据
targetDetailRowArr.forEach(item => {
let fieldMark = WfForm.convertFieldNameToId(targetConfig.key, targetConfig.table)
let fieldId = fieldMark + "_" + item
let fieldValue = WfForm.getFieldValue(fieldId);
targetMap.set(fieldValue, item)
})
let sourceDetailRowArr = WfForm.getDetailAllRowIndexStr(sourceConfig.table).split(",");
sourceDetailRowArr.forEach(item => {
let fieldMark = WfForm.convertFieldNameToId(sourceConfig.key, sourceConfig.table)
let fieldId = fieldMark + "_" + item
let fieldValue = WfForm.getFieldValue(fieldId);
let typeFieldMark = WfForm.convertFieldNameToId(sourceConfig.type, sourceConfig.table)
let typeFieldId = typeFieldMark + "_" + item
let typeFieldValue = WfForm.getFieldValue(typeFieldId);
targetConfig.type.forEach(typeItem => {
if (typeItem.type == typeFieldValue) {
// 需要修改对应行的字段
let targetRowIndex = targetMap.get(fieldValue);
let fieldMark = WfForm.convertFieldNameToId(typeItem.changeField, targetConfig.table)
let fieldId = fieldMark + "_" + targetRowIndex
let targetRowValue = WfForm.getFieldValue(fieldId);
let result = +targetRowValue + 1
WfForm.changeFieldValue(fieldId, {
value: result
})
}
})
})
}
WfForm.registerCheckEvent(WfForm.OPER_SUBMIT, callback => {
changeTargetFieldValue()
callback()
})
})
/* ******************* 明细数据数量统计添加 end ******************* */

View File

@ -0,0 +1,49 @@
package com.api.youhong.ai.geerde.requestlog.controller;
import aiyh.utils.ApiResult;
import aiyh.utils.Util;
import com.api.youhong.ai.geerde.requestlog.service.RequestLogAuthorityService;
import org.apache.log4j.Logger;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
/**
* <h1></h1>
*
* <p>create: 2023/3/21 15:40</p>
*
* @author youHong.ai
*/
@Path("/aiyh/geerde/request-log")
public class RequestLogAuthorityController {
private final RequestLogAuthorityService service = new RequestLogAuthorityService();
private final Logger log = Util.getLogger();
/**
* <h2></h2>
*
* @return
*/
@Path("privacy/get")
@GET
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String getPrivacyAuthority(@Context HttpServletRequest request, @Context HttpServletResponse response,
@QueryParam("workflowId") String workflowId) {
try {
User user = HrmUserVarify.getUser(request, response);
return ApiResult.success(service.getPrivacyAuthority(user, workflowId));
} catch (Exception e) {
log.info("get privacy authority error!" + Util.getErrString(e));
return ApiResult.error(e.getMessage());
}
}
}

View File

@ -0,0 +1,33 @@
package com.api.youhong.ai.geerde.requestlog.mapper;
import aiyh.utils.annotation.recordset.ParamMapper;
import aiyh.utils.annotation.recordset.Select;
import aiyh.utils.annotation.recordset.SelectOracle;
import aiyh.utils.annotation.recordset.SqlMapper;
import com.api.youhong.ai.geerde.requestlog.pojo.RequestLogAuthority;
/**
* <h1></h1>
*
* <p>create: 2023/3/21 15:51</p>
*
* @author youHong.ai
*/
@SqlMapper
public interface RequestLogAuthorityMapper {
/**
* <h2></h2>
*
* @param userLike id
* @param workflowId ID
* @return
*/
@Select("select * from uf_request_log_authority_deg where workflow_type = #{workflowId} " +
"and concat(',',authority_members,',') like #{userLike} and enable_status = 1")
@SelectOracle("select * from uf_request_log_authority_deg where workflow_type = #{workflowId} " +
"and (',' || authority_members || ',') like #{userLike} and enable_status = 1")
RequestLogAuthority selectLogPrivacyConfig(@ParamMapper("userLike") String userLike,
@ParamMapper("workflowId") String workflowId);
}

View File

@ -0,0 +1,29 @@
package com.api.youhong.ai.geerde.requestlog.pojo;
import aiyh.utils.annotation.recordset.SqlOracleDbFieldAnn;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* <h1></h1>
*
* <p>create: 2023/3/21 15:55</p>
*
* @author youHong.ai
*/
@Getter
@Setter
@ToString
public class RequestLogAuthority {
private Integer id;
/** 流程 */
@SqlOracleDbFieldAnn("WORKFLOW_TYPE")
private String workflowType;
/** 是否启用 */
@SqlOracleDbFieldAnn("ENABLE_STATUS")
private Integer enableStatus;
/** 权限组成员 */
@SqlOracleDbFieldAnn("AUTHORITY_MEMBER")
private String authorityMember;
}

View File

@ -0,0 +1,25 @@
package com.api.youhong.ai.geerde.requestlog.service;
import aiyh.utils.Util;
import com.api.youhong.ai.geerde.requestlog.mapper.RequestLogAuthorityMapper;
import com.api.youhong.ai.geerde.requestlog.pojo.RequestLogAuthority;
import weaver.hrm.User;
import java.util.Objects;
/**
* <h1></h1>
*
* <p>create: 2023/3/21 15:42</p>
*
* @author youHong.ai
*/
public class RequestLogAuthorityService {
private final RequestLogAuthorityMapper mapper = Util.getMapper(RequestLogAuthorityMapper.class);
public boolean getPrivacyAuthority(User user, String workflowId) {
RequestLogAuthority requestLogAuthority = mapper.selectLogPrivacyConfig("%," + user.getUID() + ",%", workflowId);
return !Objects.isNull(requestLogAuthority);
}
}

View File

@ -0,0 +1,75 @@
package com.api.youhong.ai.zhiji.pictureaddwater.controller;
import aiyh.utils.ApiResult;
import aiyh.utils.Util;
import com.api.youhong.ai.zhiji.pictureaddwater.service.PictureAddWaterService;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import org.apache.log4j.Logger;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.Map;
/**
* <h1></h1>
*
* <p>create: 2023/3/22 16:23</p>
*
* @author youHong.ai
*/
@Path("/aiyh/zhiji/picture-add-water/")
public class PictureAddWaterController {
private final PictureAddWaterService service = new PictureAddWaterService();
private final Logger log = Util.getLogger();
/**
*
*
* @return
*/
@Path("/queryWatermark/{workflowId}")
@GET
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String queryWatermark(@PathParam("workflowId") String workflowId) {
try {
return ApiResult.success(service.getWatermarkConfig(workflowId));
} catch (Exception e) {
log.error("query add water config error!" + Util.getErrString(e));
return ApiResult.error(e.toString());
}
}
/**
*
*
* @param request
* @param response
* @param param
* @return
*/
@Path("/addWatermark")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String addWatermark(@Context HttpServletRequest request, @Context HttpServletResponse response,
@RequestBody Map<String, String> param) {
User user = HrmUserVarify.getUser(request, response);
try {
return ApiResult.success(service.addWaterMark(user, param));
} catch (Exception e) {
log.error("add water to picture error!" + Util.getErrString(e));
return ApiResult.error(e.toString());
}
}
}

View File

@ -0,0 +1,24 @@
package com.api.youhong.ai.zhiji.pictureaddwater.mapper;
import aiyh.utils.annotation.recordset.ParamMapper;
import aiyh.utils.annotation.recordset.Select;
import aiyh.utils.annotation.recordset.SqlMapper;
import com.api.youhong.ai.zhiji.pictureaddwater.vo.ConfigInfoVo;
/**
* <h1></h1>
*
* <p>create: 2023/3/22 16:28</p>
*
* @author youHong.ai
*/
@SqlMapper
public interface PictureAddWaterMapper {
@Select("select cf.workflow_type ,cf.workflow_node ,cf.enable ,wf.fieldname workflow_field from $t{tableName}" +
" cf left join workflow_field_table_view wf on wf.id = cf.workflow_field " +
" where cf.workflow_type = #{workflowId}")
ConfigInfoVo getConfigInfo(@ParamMapper("tableName") String tableName,
@ParamMapper("workflowId") String workflowId);
}

View File

@ -0,0 +1,233 @@
package com.api.youhong.ai.zhiji.pictureaddwater.service;
import aiyh.utils.ApiResult;
import aiyh.utils.Util;
import aiyh.utils.fileUtil.WatermarkPoint;
import aiyh.utils.fileUtil.WatermarkPointEnum;
import aiyh.utils.fileUtil.WritWatermark;
import aiyh.utils.mapUtil.ParaMap;
import aiyh.utils.sqlUtil.sqlResult.impl.PrepSqlResultImpl;
import aiyh.utils.zwl.common.ToolUtil;
import com.api.workflow.constant.RequestAuthenticationConstant;
import com.api.youhong.ai.zhiji.pictureaddwater.mapper.PictureAddWaterMapper;
import com.api.youhong.ai.zhiji.pictureaddwater.vo.ConfigInfoVo;
import com.engine.workflow.biz.requestForm.FileBiz;
import org.h2.util.StringUtils;
import weaver.conn.RecordSet;
import weaver.docs.docs.DocManager;
import weaver.hrm.User;
import java.awt.*;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/**
* <h1></h1>
*
* <p>create: 2023/3/22 16:25</p>
*
* @author youHong.ai
*/
public class PictureAddWaterService {
private final PictureAddWaterMapper mapper = Util.getMapper(PictureAddWaterMapper.class);
private final ToolUtil toolUtil = new ToolUtil();
public ConfigInfoVo getWatermarkConfig(String workflowId) {
ConfigInfoVo configInfo = mapper.getConfigInfo("uf_watermark_cofig", workflowId);
return configInfo;
}
/**
*
*
* @param user user
* @param param
* @return
*/
public Object addWaterMark(User user, Map<String, String> param) {
String fileIds = param.get("fileIds");
String location = param.get("location");
String time = param.get("time");
if (StringUtils.isNullOrEmpty(time)) {
time = Util.getTime("yyyy-MM-dd HH:mm:ss");
}
String pressText = "地点:" + location + "\n" + "时间:" + time;
String watermarkColor = toolUtil.getSystemParamValue("WATERMARK_COLOR");
if (StringUtils.isNullOrEmpty(watermarkColor)) {
watermarkColor = "0,0,0";
}
// 处理文字水印的RGB颜色
String[] RGBStr = watermarkColor.replace("", ",").split(",");
int[] RGB = Arrays.stream(RGBStr).mapToInt(Integer::parseInt).toArray();
if (RGB.length < 3) {
RGB = new int[]{0, 0, 0};
}
int R = RGB[0];
int G = RGB[1];
int B = RGB[2];
if (R < 0) {
R = 0;
}
if (R > 255) {
R = 255;
}
if (G < 0) {
G = 0;
}
if (G > 255) {
G = 255;
}
if (B < 0) {
B = 0;
}
if (B > 255) {
B = 255;
}
Color color = new Color(R, G, B);
String fontName = toolUtil.getSystemParamValue("FONT_NAME");
if (StringUtils.isNullOrEmpty(fontName)) {
fontName = "Microsoft YaHei";
}
int fontSize = Util.getIntValue(toolUtil.getSystemParamValue("FONT_SIZE"), 10);
StringBuilder newIds = new StringBuilder();
int index = 0;
// 根据fileId 查询物理文件
String query = "select imagefileid from docimagefile where docid in ( " + fileIds + ")";
RecordSet rs = new RecordSet();
rs.executeQuery(query);
while (rs.next()) {
int id = rs.getInt(1);
int newId;
try {
toolUtil.writeDebuggerLog("开始添加水印,传递字体大小!");
newId = WritWatermark.addTextWatermarkById(id, pressText, color, fontName, Font.PLAIN, fontSize
, new WatermarkPoint(WatermarkPointEnum.RIGHT_BOTTOM), 0, 1, 1.3);
} catch (IOException e) {
return ApiResult.error("图片水印添加失败!");
}
if (index == 0) {
newIds.append(newId);
} else {
newIds.append(",").append(newId);
}
index++;
}
// 复制原图的权限信息等
// 复制原来的文件信息,并将现有的信息进行绑定
DocManager docManager = new DocManager();
String[] picIdStrArr = fileIds.split(",");
String[] newImgArr = newIds.toString().split(",");
int[] picIdArr = Arrays.stream(picIdStrArr).mapToInt(Integer::parseInt).toArray();
StringBuilder newDocIds = new StringBuilder();
for (int i = 0; i < picIdArr.length; i++) {
docManager.setId(picIdArr[i]);
// 复制文件
int newId = 0;
try {
newId = docManager.copyDoc();
} catch (Exception e) {
e.printStackTrace();
toolUtil.writeErrorLog("file copy fail!");
}
if (i == 0) {
newDocIds.append(newId);
} else {
newDocIds.append(",").append(newId);
}
// 替换复制出来的数据的物理文件关联关系
PrepSqlResultImpl prepSqlResult = aiyh.utils.Util.createSqlBuilder().updateSql("docimagefile"
, ParaMap.create().put("imagefileid", newImgArr[i])
, aiyh.utils.Util.createPrepWhereImpl().whereAnd("docid").whereEqual(newId));
rs.executeUpdate(prepSqlResult.getSqlStr(), prepSqlResult.getArgs());
}
// 替换原来图片的字段
String isSaveResource = toolUtil.getSystemParamValue("SAVE_RESOURCE");
String sourceField = toolUtil.getSystemParamValue("RESOURCE_FIELD");
if (StringUtils.isNullOrEmpty(isSaveResource)) {
isSaveResource = "0";
}
String fieldName = param.get("fieldName");
String tableName = param.get("tableName");
String isWrite = param.get("isWrite");
String isAppend = param.get("isAppend");
// String sourceField = param.get("sourceField");
String requestId = param.get("requestId");
String oldFileIds = param.get("oldFileIds");
if ("true".equals(isWrite)) {
if ("true".equals(isAppend)) {
// // 查询原字段是否存在图片
// String queryStr = "";
// try {
// queryStr = "select " + fieldName + " from " + tableName + " where requestid = ?";
// rs.executeQuery(queryStr, requestId);
// rs.next();
// String oldImg = Util.null2String(rs.getString(1));
// if (!StringUtils.isNullOrEmpty(oldImg)) {
newDocIds.append(",").append(oldFileIds);
// }
// }catch (Exception e){
// toolUtil.writeErrorLog("查询错误:" + queryStr);
// }
}
if ("0".equals(isSaveResource)) {
// 不保存原来的图片
String update = "update " +
tableName +
" set " +
fieldName +
" = '" +
newDocIds +
"' where " +
" requestid = ?";
rs.executeUpdate(update, requestId);
} else {
String update = "update " +
tableName +
" set " +
fieldName +
" = '" +
newDocIds +
"' , " +
sourceField +
" = '" +
fileIds +
"' where " +
" requestid = ?";
rs.executeUpdate(update, requestId);
}
}
// 查询新文件信息
String listType = Util.null2String(String.valueOf(param.get("listType")), "list");
int requestid = Util.getIntValue(Util.null2String(String.valueOf(param.get("requestid"))), -1);
int desrequestid = Util.getIntValue(Util.null2String(String.valueOf(param.get("desrequestid"))), -1);
int isprint = Util.getIntValue(Util.null2String(String.valueOf(param.get("isprint"))), 0);
int workflowid = Util.getIntValue(Util.null2String(String.valueOf(param.get("workflowid"))), 0);
String f_weaver_belongto_userid = Util.null2String(String.valueOf(param.get("f_weaver_belongto_userid")));
String f_weaver_belongto_usertype = Util.null2String(String.valueOf(param.get("f_weaver_belongto_usertype")));
String authStr = Util.null2String(String.valueOf(param.get(RequestAuthenticationConstant.AUTHORITY_STRING)));
String authSignatureStr = Util.null2String(String.valueOf(param.get(RequestAuthenticationConstant.AUTHORITY_SIGNATURESTRING)));
Map<String, Object> paramsMap = new HashMap<>();
paramsMap.put("user", user);
Map<String, Object> retobj;
try {
retobj = FileBiz.getFileDatas(Util.null2String(newDocIds.toString()), listType, requestid, desrequestid,
isprint, f_weaver_belongto_userid, f_weaver_belongto_usertype, true, false, authStr, authSignatureStr, paramsMap);
} catch (Exception e) {
e.printStackTrace();
return ApiResult.error("查询附件信息失败:" + e);
}
Map<String, Object> result = new HashMap<>();
result.put("fileData", retobj);
result.put("fileIds", newDocIds.toString());
return result;
}
}

View File

@ -0,0 +1,67 @@
package com.api.youhong.ai.zhiji.pictureaddwater.vo;
/**
* @author EBU7-dev1-ayh
* @create 2021/9/14 0014 21:28
* peizhi xinxi Vo
*/
public class ConfigInfoVo {
int workflowType;
String workflowField;
String workflowNode;
int enable;
public ConfigInfoVo() {
}
public ConfigInfoVo(int workflowType, String workflowField, String workflowNode, int enable) {
this.workflowType = workflowType;
this.workflowField = workflowField;
this.workflowNode = workflowNode;
this.enable = enable;
}
public int getWorkflowType() {
return workflowType;
}
public void setWorkflowType(int workflowType) {
this.workflowType = workflowType;
}
public String getWorkflowField() {
return workflowField;
}
public void setWorkflowField(String workflowField) {
this.workflowField = workflowField;
}
public String getWorkflowNode() {
return workflowNode;
}
public void setWorkflowNode(String workflowNode) {
this.workflowNode = workflowNode;
}
public int getEnable() {
return enable;
}
public void setEnable(int enable) {
this.enable = enable;
}
@Override
public String toString() {
return "ConfigInfoVo{" +
"workflowType=" + workflowType +
", workflowField='" + workflowField + '\'' +
", workflowNode='" + workflowNode + '\'' +
", enable=" + enable +
'}';
}
}

View File

@ -0,0 +1,408 @@
package com.customization.youhong.deerge.requestlog.impl;
import aiyh.utils.Util;
import aiyh.utils.tool.cn.hutool.core.util.StrUtil;
import com.customization.youhong.deerge.requestlog.mapper.InterceptRequestLogMapper;
import com.engine.core.cfg.annotation.ServiceDynamicProxy;
import com.engine.core.cfg.annotation.ServiceMethodDynamicProxy;
import com.engine.core.impl.aop.AbstractServiceProxy;
import com.engine.workflow.entity.requestForm.AutoApproveEntity;
import com.engine.workflow.entity.requestForm.RequestOperationResultBean;
import com.engine.workflow.service.RequestFormService;
import com.engine.workflow.service.impl.RequestFormServiceImpl;
import org.apache.log4j.Logger;
import weaver.workflow.request.RequestManager;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
* <h1></h1>
*
* <p>create: 2023/3/21 13:36</p>
*
* @author youHong.ai
*/
@ServiceDynamicProxy(target = RequestFormServiceImpl.class, desc = "拦截签字意见信息,是否需要隐私控制")
public class InterceptRequestLogImpl extends AbstractServiceProxy implements RequestFormService {
public static final String SUCCESS = "SUCCESS";
private final Logger log = Util.getLogger();
private final InterceptRequestLogMapper mapper = Util.getMapper(InterceptRequestLogMapper.class);
@Override
public Map<String, Object> judgeCreateRight(HttpServletRequest request) {
return null;
}
@Override
public String loadForm(HttpServletRequest request) {
return null;
}
@Override
public String loadPreView(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> loadDetailData(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> saveDetailPaging(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> copyCustomPageFile(String custompage) {
return null;
}
@Override
public Map<String, Object> updateReqInfo(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> getLinkageResult(HttpServletRequest request, String type) {
return null;
}
@Override
public Map<String, Object> getRightMenu(HttpServletRequest httpServletRequest, Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getStatusData(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getStatusCount(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getResourcesKey(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getModifyLog(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> requestBatchSubmit(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> judgeRejectWay(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> getRejectOption(Map<String, Object> params) {
return null;
}
@Override
@ServiceMethodDynamicProxy(desc = "保存和提交流程时,判断是否开启隐私")
public Map<String, Object> requestSubmit(HttpServletRequest request) {
Map<String, Object> result = (Map<String, Object>) executeMethod(request);
try {
log.info("调用提交流程和保存流程后的返回参数: " + result);
RequestOperationResultBean data = (RequestOperationResultBean) result.get("data");
String type = Util.null2String(data.getType());
if (SUCCESS.equals(type)) {
// 保存成功,这里对隐私的签字意见做处理
String userId = request.getParameter("userId");
String enablePrivacy = request.getParameter("enablePrivacy");
String nodeId = request.getParameter("nodeid");
String requestId = request.getParameter("requestid");
String remark = request.getParameter("remark");
if (StrUtil.isBlank(enablePrivacy)) {
return result;
}
if (!Boolean.parseBoolean(enablePrivacy)) {
return result;
}
if ("-1".equals(requestId)) {
Map<String, Object> submitParams = data.getSubmitParams();
requestId = Util.null2String(submitParams.get("requestid"));
}
// 查询logId
Integer logId = mapper.selectRequestLogId(requestId, remark, nodeId, userId);
// 插入logId隐私信息
int dataId = Util.getModeDataId("uf_privacy_log_info", 1);
Boolean flag = mapper.insertPrivacyLog(dataId, logId, userId, nodeId, requestId);
if (!flag) {
Util.deleteModeId("uf_privacy_log_info", dataId);
}
}
} catch (Exception e) {
log.error("add privacy request log error! " + Util.getErrString(e));
}
return result;
}
@Override
public Map<String, Object> forwardSubmit(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> requestWithdraw(HttpServletRequest httpServletRequest) {
return null;
}
@Override
public Map<String, Object> remarkSubmit(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> functionManage(HttpServletRequest request, HttpServletResponse response) {
return null;
}
@Override
public Map<String, Object> triggerSubWf(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> uploadFile(HttpServletRequest request, HttpServletResponse response) {
return null;
}
@Override
public Map<String, Object> getFileFieldObj(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> createWfCode(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getWfCodeFieldValue(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> requestImport(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> requestDetailImport(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> chooseExceptionOperator(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> overTimeSetting(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> getPrintLogBase(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getPrintLogData(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> freeFlowRead(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> freeFlowSave(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> editLockOper(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> loadPrintTemplates(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> doEvalExpression(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> generatePrintLog(HttpServletRequest request) {
return null;
}
@Override
public Map<String, Object> getForwardDatas(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> doBack(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getFormTab(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getSelectNextFlowCondition(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getSelectNextFlowNodes(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getRemindData(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> judgeRequestIsValid(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> takeBack(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getCustomOperation(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> runCustomOperationAction(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> JudgeAutoApprove(AutoApproveEntity autoApproveEntity) {
return null;
}
@Override
public Map<String, Object> delApproveLog(AutoApproveEntity autoApproveEntity) {
return null;
}
@Override
public Map<String, Object> verifyRequestForView(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> doTakEnd(HttpServletRequest httpServletRequest, Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> importFieldLinkageCfg(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> importFormulaCfg(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getDetailDataKeyId(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> judgeWorkflowPenetrate(AutoApproveEntity autoApproveEntity, RequestManager requestManager) {
return null;
}
@Override
public Map<String, Object> getThPreviewUrl(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getThMouldList(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getDetailExpSet(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> saveDetailExpSet(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> exportFieldSet(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getNextNodeContent(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> delRequestVerify(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getFreeNodeBrowserItem(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> saveFreeNodeFormConfig(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> conformCheck(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getDetailByRequestId(Map<String, Object> map) {
return null;
}
}

View File

@ -0,0 +1,118 @@
package com.customization.youhong.deerge.requestlog.impl;
import aiyh.utils.Util;
import aiyh.utils.tool.cn.hutool.core.collection.CollectionUtil;
import aiyh.utils.tool.cn.hutool.core.util.StrUtil;
import com.customization.youhong.deerge.requestlog.mapper.InterceptRequestLogMapper;
import com.engine.core.cfg.annotation.ServiceDynamicProxy;
import com.engine.core.cfg.annotation.ServiceMethodDynamicProxy;
import com.engine.core.impl.aop.AbstractServiceProxy;
import com.engine.workflow.service.RequestLogService;
import com.engine.workflow.service.impl.RequestLogServiceImpl;
import org.apache.log4j.Logger;
import weaver.hrm.HrmUserVarify;
import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <h1></h1>
*
* <p>create: 2023/3/22 11:23</p>
*
* @author youHong.ai
*/
@ServiceDynamicProxy(target = RequestLogServiceImpl.class, desc = "拦截签字意见信息,是否需要隐私控制")
public class RequestLogShowOrHiddenImpl extends AbstractServiceProxy implements RequestLogService {
private final Logger log = Util.getLogger();
private final InterceptRequestLogMapper mapper = Util.getMapper(InterceptRequestLogMapper.class);
@Override
public Map<String, Object> getRequestLogBaseInfo(Map<String, Object> params) {
return null;
}
@Override
@ServiceMethodDynamicProxy(desc = "控制是否显示隐私签字意见")
public Map<String, Object> getRequestLogList(HttpServletRequest request, Map<String, Object> params) {
Map<String, Object> result = (Map<String, Object>) executeMethod(request, params);
try {
String isMonitor = request.getParameter("ismonitor");
boolean isPrint = "1".equals(Util.null2String(request.getParameter("isprint")));
// 如果是流程监控,全部返回
if (!StrUtil.isBlank(isMonitor) && !isPrint) {
return result;
}
User user = HrmUserVarify.getUser(request, null);
List<Map<String, Object>> logList = (List<Map<String, Object>>) result.get("loglist");
List<String> logIds = new ArrayList<>();
for (Map<String, Object> logInfo : logList) {
String logId = Util.null2String(logInfo.get("logid"));
logIds.add(logId);
}
String workflowId = Util.null2String(params.get("workflowid"));
if (StrUtil.isBlank(workflowId)) {
log.error("can not get value from params by wworkflowid!");
return result;
}
List<String> privacyLogIds;
// 如果是打印,所有隐私都不显示
if (isPrint) {
privacyLogIds = mapper.selectPrivacyLogIdAll(Util.join(logIds, ","), "-1", Util.null2String(params.get("requestid")));
} else {
// 如果不是,不显示除自己和隐私组之外的其他人的信息
List<String> userGroup = mapper.selectPrivacyGroup(workflowId, "%," + user.getUID() + ",%");
if (CollectionUtil.isEmpty(userGroup)) {
// 不在权限组,不能查看隐私的签字意见
privacyLogIds = mapper.selectPrivacyLogIdAll(Util.join(logIds, ","), String.valueOf(user.getUID()), Util.null2String(params.get("requestid")));
} else {
privacyLogIds = mapper.selectPrivacyLogId(Util.join(logIds, ","),
Util.join(userGroup, ","), Util.null2String(params.get("requestid")));
}
}
if (CollectionUtil.isEmpty(privacyLogIds)) {
return result;
}
List<String> finalPrivacyLogIds = privacyLogIds;
List<Map<String, Object>> newLogList = logList.stream()
.filter(item -> !finalPrivacyLogIds.contains(Util.null2String(item.get("logid"))))
.collect(Collectors.toList());
result.put("loglist", newLogList);
} catch (Exception e) {
log.error("filter request log list error!" + Util.getErrString(e));
}
return result;
}
@Override
public Map<String, Object> updateUserTxStatus(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> updateRequestLogPageSize(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> addDocReadLog(Map<String, Object> params) {
return null;
}
@Override
public Map<String, Object> getLogAllReceiveUser(Map<String, Object> map) {
return null;
}
@Override
public Map<String, Object> getViewLogNode(Map<String, Object> map) {
return null;
}
}

View File

@ -0,0 +1,94 @@
package com.customization.youhong.deerge.requestlog.mapper;
import aiyh.utils.annotation.recordset.*;
import java.util.List;
/**
* <h1></h1>
*
* <p>create: 2023/3/21 14:32</p>
*
* @author youHong.ai
*/
@SqlMapper
public interface InterceptRequestLogMapper {
/**
* <h2>id</h2>
*
* @param requestId requestid
* @param remark
* @param nodeId id
* @param operator
* @return id
*/
@Select("select logid from workflow_requestlog where REQUESTID = #{requestId} and REMARK = #{remark} " +
"and NODEID = #{nodeId} and OPERATOR = #{operator}")
Integer selectRequestLogId(@ParamMapper("requestId") String requestId,
@ParamMapper("remark") String remark,
@ParamMapper("nodeId") String nodeId,
@ParamMapper("operator") String operator);
/**
* <h2></h2>
*
* @param dataId ID
* @param logId id
* @param userId id
* @param nodeId ID
* @param requestId id
* @return
*/
@Update("update uf_privacy_log_info set request_id = #{requestId}," +
"node_id = #{nodeId}, user_id = #{userId},log_id = #{logId} " +
"where id = #{dataId}")
Boolean insertPrivacyLog(
@ParamMapper("dataId") int dataId,
@ParamMapper("logId") Integer logId,
@ParamMapper("userId") String userId,
@ParamMapper("nodeId") String nodeId,
@ParamMapper("requestId") String requestId);
/**
* <h2></h2>
*
* @param logIds ids
* @param uid ID
* @param requestId id
* @return
*/
@Select("select log_id from uf_privacy_log_info where request_id = #{requestId} and user_id not in ($t{userId}) and log_id in ($t{logIds})")
List<String> selectPrivacyLogId(
@ParamMapper("logIds") String logIds,
@ParamMapper("userId") String uid,
@ParamMapper("requestId") String requestId);
/**
* <h2></h2>
*
* @param logIds ids
* @param requestId id
* @return
*/
@Select("select log_id from uf_privacy_log_info where request_id = #{requestId} and user_id <> #{userId} and log_id in ($t{logIds})")
List<String> selectPrivacyLogIdAll(@ParamMapper("logIds") String logIds,
@ParamMapper("userId") String uid,
@ParamMapper("requestId") String requestId);
/**
* <h2></h2>
*
* @param workflowId
* @param userLike
* @return
*/
@Select("select authority_members from uf_request_log_authority_deg where enable_status = 1 " +
"and workflow_type = #{workflowId} and concat(',',authority_members,',') like #{userLike}")
@SelectOracle("select authority_members from uf_request_log_authority_deg where enable_status = 1 " +
"and workflow_type = #{workflowId} and (',' || authority_members || ',') like #{userLike}")
List<String> selectPrivacyGroup(@ParamMapper("workflowId") String workflowId,
@ParamMapper("userLike") String userLike);
}

View File

@ -1,149 +1,128 @@
# ${id}\u8868\u793A\u8BFB\u53D6\u6570\u636E\u5E93\u4E2D\u7684id\uFF0C\u4E0D\u5BF9\u7ED3\u679C\u8F6C\u4E49\uFF0C#{id}\u8868\u793A\u8BFB\u53D6\u6570\u636E\u5E93\u4E2D\u7684id\uFF0C\u5E76\u5C06\u7ED3\u679C\u8FDB\u884C\u8F6C\u4E49\u4F7F\u7528?\u4EE3\u66FF\u540E\u62FC\u63A5\u5230sql\u5B57\u7B26\u4E32\u4E2D # ${id}表示读取数据库中的id不对结果转义#{id}表示读取数据库中的id并将结果进行转义使用?代替后拼接到sql字符串中
# #sql{select xx from xxx } \u8868\u793A\u67E5\u8BE2SQL\uFF0C\u5C06\u7ED3\u679C\u7684\u7B2C\u4E00\u4E2A\u5B57\u6BB5\u5F53\u505A\u503C # #sql{select xx from xxx } 表示查询sql将结果的第一个字段当做值
# \u67E5\u8BE2\u7ED3\u679C\u914D\u7F6E # 查询结果配置
aiyh.patentWall.voMapping.dataResource=uf_zlqzsb aiyh.patentwall.vomapping.dataresource=uf_zlqzsb
aiyh.patentWall.voMapping.id=${id} aiyh.patentwall.vomapping.id=${id}
aiyh.patentWall.voMapping.icon=patent.png aiyh.patentwall.vomapping.icon=patent.png
aiyh.patentWall.voMapping.activeIcon=patent_active.png aiyh.patentwall.vomapping.activeicon=patent_active.png
aiyh.patentWall.voMapping.title=#sql{select imagefilename from docimagefile where docid = #{zlzs} } aiyh.patentwall.vomapping.title=#sql{select imagefilename from docimagefile where docid = #{zlzs} }
# labelName labelIndex linkUrl # labelname labelindex linkurl
aiyh.patentWall.voMapping.linkList[0].labelName=\u67E5\u770B\u6587\u6863 aiyh.patentwall.vomapping.linklist[0].labelname=查看文档
aiyh.patentWall.voMapping.linkList[0].labelIndex=-93792 aiyh.patentwall.vomapping.linklist[0].labelindex=-93792
aiyh.patentWall.voMapping.linkList[0].linkUrl=/spa/document/index.jsp?id=${zlzs} aiyh.patentwall.vomapping.linklist[0].linkurl=/spa/document/index.jsp?id=${zlzs}
aiyh.patentWall.voMapping.linkList[1].labelName=\u8DF3\u8F6C\u6D41\u7A0B aiyh.patentwall.vomapping.linklist[1].labelname=跳转流程
aiyh.patentWall.voMapping.linkList[1].labelIndex=-93793 aiyh.patentwall.vomapping.linklist[1].labelindex=-93793
aiyh.patentWall.voMapping.linkList[1].linkUrl=/spa/document/index.jsp?id=${zlzs} aiyh.patentwall.vomapping.linklist[1].linkurl=/spa/document/index.jsp?id=${zlzs}
#aiyh.patentWall.voMapping.linkUrl=/spa/document/index.jsp?id=${zlzs} #aiyh.patentwall.vomapping.linkurl=/spa/document/index.jsp?id=${zlzs}
aiyh.patentWall.voMapping.docId=${zlzs} aiyh.patentwall.vomapping.docid=${zlzs}
aiyh.patentWall.voMapping.imageFileId=#sql{select imagefileid from docimagefile where docid = #{zlzs} } aiyh.patentwall.vomapping.imagefileid=#sql{select imagefileid from docimagefile where docid = #{zlzs} }
# 搜索信息配置
# \u641C\u7D22\u4FE1\u606F\u914D\u7F6E # type 表示搜索框类型1-选择框2-单行文本3-日期4-单人力资源5-多人力资源6-流程路径7-多流程路径8-日期范围
# type \u8868\u793A\u641C\u7D22\u6846\u7C7B\u578B\uFF0C1-\u9009\u62E9\u6846\uFF0C2-\u5355\u884C\u6587\u672C\uFF0C3-\u65E5\u671F\uFF0C4-\u5355\u4EBA\u529B\u8D44\u6E90\uFF0C5-\u591A\u4EBA\u529B\u8D44\u6E90\uFF0C6-\u6D41\u7A0B\u8DEF\u5F84\uFF0C7-\u591A\u6D41\u7A0B\u8DEF\u5F84\uFF0C8-\u65E5\u671F\u8303\u56F4 # name 数据库字段 搜索时需要过滤那个数据库字段的值
# name \u6570\u636E\u5E93\u5B57\u6BB5 \u641C\u7D22\u65F6\u9700\u8981\u8FC7\u6EE4\u90A3\u4E2A\u6570\u636E\u5E93\u5B57\u6BB5\u7684\u503C # labelname 前端默认显示文字的labelname
# labelName \u524D\u7AEF\u9ED8\u8BA4\u663E\u793A\u6587\u5B57\u7684labelName # labelindex 前端显示文字的labelindex
# labelIndex \u524D\u7AEF\u663E\u793A\u6587\u5B57\u7684labelIndex # searchtype 搜索类型 1-等于2-大于3-小于4-in5-日期大于6-日期小于7-日期等于,8-日期范围
# searchType \u641C\u7D22\u7C7B\u578B 1-\u7B49\u4E8E\uFF0C2-\u5927\u4E8E\uFF0C3-\u5C0F\u4E8E\uFF0C4-in\uFF0C5-\u65E5\u671F\u5927\u4E8E\uFF0C6-\u65E5\u671F\u5C0F\u4E8E\uFF0C7-\u65E5\u671F\u7B49\u4E8E,8-\u65E5\u671F\u8303\u56F4 aiyh.patentwall.search.dataresource=uf_zlqzsb
aiyh.patentWall.search.dataResource=uf_zlqzsb aiyh.patentwall.search.inputs[0].type=2
aiyh.patentwall.search.inputs[0].dbfieldname=zlqr
aiyh.patentWall.search.inputs[0].type=2 aiyh.patentwall.search.inputs[0].labelname=专利权人
aiyh.patentWall.search.inputs[0].dbFieldName=zlqr aiyh.patentwall.search.inputs[0].labelindex=-95588
aiyh.patentWall.search.inputs[0].labelName=\u4E13\u5229\u6743\u4EBA aiyh.patentwall.search.inputs[0].searchtype=1
aiyh.patentWall.search.inputs[0].labelIndex=-95588 aiyh.patentwall.search.inputs[0].value=
aiyh.patentWall.search.inputs[0].searchType=1 aiyh.patentwall.search.inputs[1].type=2
aiyh.patentWall.search.inputs[0].value= aiyh.patentwall.search.inputs[1].dbfieldname=fmrsjr
aiyh.patentwall.search.inputs[1].labelname=发明人/设计人
aiyh.patentWall.search.inputs[1].type=2 aiyh.patentwall.search.inputs[1].labelindex=-95589
aiyh.patentWall.search.inputs[1].dbFieldName=fmrsjr aiyh.patentwall.search.inputs[1].searchtype=1
aiyh.patentWall.search.inputs[1].labelName=\u53D1\u660E\u4EBA/\u8BBE\u8BA1\u4EBA aiyh.patentwall.search.inputs[1].value=
aiyh.patentWall.search.inputs[1].labelIndex=-95589 aiyh.patentwall.search.inputs[2].type=2
aiyh.patentWall.search.inputs[1].searchType=1 aiyh.patentwall.search.inputs[2].dbfieldname=zlcpmc
aiyh.patentWall.search.inputs[1].value= aiyh.patentwall.search.inputs[2].labelname=专利产品名称
aiyh.patentwall.search.inputs[2].labelindex=-95590
aiyh.patentWall.search.inputs[2].type=2 aiyh.patentwall.search.inputs[2].searchtype=1
aiyh.patentWall.search.inputs[2].dbFieldName=zlcpmc aiyh.patentwall.search.inputs[2].value=
aiyh.patentWall.search.inputs[2].labelName=\u4E13\u5229\u4EA7\u54C1\u540D\u79F0 aiyh.patentwall.search.inputs[3].type=1
aiyh.patentWall.search.inputs[2].labelIndex=-95590 aiyh.patentwall.search.inputs[3].dbfieldname=zllx
aiyh.patentWall.search.inputs[2].searchType=1 aiyh.patentwall.search.inputs[3].labelname=专利类型
aiyh.patentWall.search.inputs[2].value= aiyh.patentwall.search.inputs[3].labelindex=-95591
aiyh.patentwall.search.inputs[3].searchtype=1
aiyh.patentWall.search.inputs[3].type=1 aiyh.patentwall.search.inputs[3].multiple=true
aiyh.patentWall.search.inputs[3].dbFieldName=zllx aiyh.patentwall.search.inputs[3].value=
aiyh.patentWall.search.inputs[3].labelName=\u4E13\u5229\u7C7B\u578B aiyh.patentwall.search.inputs[4].type=3
aiyh.patentWall.search.inputs[3].labelIndex=-95591 aiyh.patentwall.search.inputs[4].dbfieldname=zlsqrq
aiyh.patentWall.search.inputs[3].searchType=1 aiyh.patentwall.search.inputs[4].labelname=专利申请日期
aiyh.patentWall.search.inputs[3].multiple=true aiyh.patentwall.search.inputs[4].labelindex=-95592
aiyh.patentWall.search.inputs[3].value= aiyh.patentwall.search.inputs[4].searchtype=1
aiyh.patentwall.search.inputs[4].value=
aiyh.patentWall.search.inputs[4].type=3 aiyh.patentwall.search.inputs[5].type=1
aiyh.patentWall.search.inputs[4].dbFieldName=zlsqrq aiyh.patentwall.search.inputs[5].dbfieldname=zlzt
aiyh.patentWall.search.inputs[4].labelName=\u4E13\u5229\u7533\u8BF7\u65E5\u671F aiyh.patentwall.search.inputs[5].labelname=专利状态
aiyh.patentWall.search.inputs[4].labelIndex=-95592 aiyh.patentwall.search.inputs[5].labelindex=-95593
aiyh.patentWall.search.inputs[4].searchType=1 aiyh.patentwall.search.inputs[5].searchtype=1
aiyh.patentWall.search.inputs[4].value= aiyh.patentwall.search.inputs[5].value=
aiyh.patentwall.search.inputs[6].type=1
aiyh.patentWall.search.inputs[5].type=1 aiyh.patentwall.search.inputs[6].dbfieldname=sqlx
aiyh.patentWall.search.inputs[5].dbFieldName=zlzt aiyh.patentwall.search.inputs[6].labelname=授权类型
aiyh.patentWall.search.inputs[5].labelName=\u4E13\u5229\u72B6\u6001 aiyh.patentwall.search.inputs[6].labelindex=-95594
aiyh.patentWall.search.inputs[5].labelIndex=-95593 aiyh.patentwall.search.inputs[6].searchtype=1
aiyh.patentWall.search.inputs[5].searchType=1 aiyh.patentwall.search.inputs[6].value=
aiyh.patentWall.search.inputs[5].value= # copyrightwall 著作墙
aiyh.copyrightwall.vomapping.dataresource=uf_zlqzsb
aiyh.patentWall.search.inputs[6].type=1 aiyh.copyrightwall.vomapping.id=${id}
aiyh.patentWall.search.inputs[6].dbFieldName=sqlx aiyh.copyrightwall.vomapping.icon=patent.png
aiyh.patentWall.search.inputs[6].labelName=\u6388\u6743\u7C7B\u578B aiyh.copyrightwall.vomapping.activeicon=patent_active.png
aiyh.patentWall.search.inputs[6].labelIndex=-95594 aiyh.copyrightwall.vomapping.title=#sql{select imagefilename from docimagefile where docid = #{zlzs} }
aiyh.patentWall.search.inputs[6].searchType=1 # labelname labelindex linkurl
aiyh.patentWall.search.inputs[6].value= aiyh.copyrightwall.vomapping.linklist[0].labelname=查看文档
aiyh.copyrightwall.vomapping.linklist[0].labelindex=-93802
aiyh.copyrightwall.vomapping.linklist[0].linkurl=/spa/document/index.jsp?id=${zlzs}
# copyrightWall \u8457\u4F5C\u5899 aiyh.copyrightwall.vomapping.linklist[1].labelname=跳转流程
aiyh.copyrightwall.vomapping.linklist[1].labelindex=-93803
aiyh.copyrightWall.voMapping.dataResource=uf_zlqzsb aiyh.copyrightwall.vomapping.linklist[1].linkurl=/spa/document/index.jsp?id=${zlzs}
aiyh.copyrightWall.voMapping.id=${id} #aiyh.copyrightwall.vomapping.linkurl=/spa/document/index.jsp?id=${zlzs}
aiyh.copyrightWall.voMapping.icon=patent.png aiyh.copyrightwall.vomapping.docid=${zlzs}
aiyh.copyrightWall.voMapping.activeIcon=patent_active.png aiyh.copyrightwall.vomapping.imagefileid=#sql{select imagefileid from docimagefile where docid = #{zlzs} }
aiyh.copyrightWall.voMapping.title=#sql{select imagefilename from docimagefile where docid = #{zlzs} } aiyh.copyrightwall.search.dataresource=uf_zlqzsb
# labelName labelIndex linkUrl aiyh.copyrightwall.search.inputs[0].type=2
aiyh.copyrightWall.voMapping.linkList[0].labelName=\u67E5\u770B\u6587\u6863 aiyh.copyrightwall.search.inputs[0].dbfieldname=zlqr
aiyh.copyrightWall.voMapping.linkList[0].labelIndex=-93802 aiyh.copyrightwall.search.inputs[0].labelname=专利权人
aiyh.copyrightWall.voMapping.linkList[0].linkUrl=/spa/document/index.jsp?id=${zlzs} aiyh.copyrightwall.search.inputs[0].labelindex=-95595
aiyh.copyrightWall.voMapping.linkList[1].labelName=\u8DF3\u8F6C\u6D41\u7A0B aiyh.copyrightwall.search.inputs[0].searchtype=1
aiyh.copyrightWall.voMapping.linkList[1].labelIndex=-93803 aiyh.copyrightwall.search.inputs[0].value=
aiyh.copyrightWall.voMapping.linkList[1].linkUrl=/spa/document/index.jsp?id=${zlzs} aiyh.copyrightwall.search.inputs[1].type=2
#aiyh.copyrightWall.voMapping.linkUrl=/spa/document/index.jsp?id=${zlzs} aiyh.copyrightwall.search.inputs[1].dbfieldname=fmrsjr
aiyh.copyrightWall.voMapping.docId=${zlzs} aiyh.copyrightwall.search.inputs[1].labelname=发明人/设计人
aiyh.copyrightWall.voMapping.imageFileId=#sql{select imagefileid from docimagefile where docid = #{zlzs} } aiyh.copyrightwall.search.inputs[1].labelindex=-95598
aiyh.copyrightwall.search.inputs[1].searchtype=1
aiyh.copyrightwall.search.inputs[1].value=
aiyh.copyrightwall.search.inputs[2].type=2
aiyh.copyrightWall.search.dataResource=uf_zlqzsb aiyh.copyrightwall.search.inputs[2].dbfieldname=zlcpmc
aiyh.copyrightwall.search.inputs[2].labelname=专利产品名称
aiyh.copyrightWall.search.inputs[0].type=2 aiyh.copyrightwall.search.inputs[2].labelindex=-95597
aiyh.copyrightWall.search.inputs[0].dbFieldName=zlqr aiyh.copyrightwall.search.inputs[2].searchtype=1
aiyh.copyrightWall.search.inputs[0].labelName=\u4E13\u5229\u6743\u4EBA aiyh.copyrightwall.search.inputs[2].value=
aiyh.copyrightWall.search.inputs[0].labelIndex=-95595 aiyh.copyrightwall.search.inputs[3].type=1
aiyh.copyrightWall.search.inputs[0].searchType=1 aiyh.copyrightwall.search.inputs[3].dbfieldname=zllx
aiyh.copyrightWall.search.inputs[0].value= aiyh.copyrightwall.search.inputs[3].labelname=专利类型
aiyh.copyrightwall.search.inputs[3].labelindex=-95599
aiyh.copyrightWall.search.inputs[1].type=2 aiyh.copyrightwall.search.inputs[3].searchtype=1
aiyh.copyrightWall.search.inputs[1].dbFieldName=fmrsjr aiyh.copyrightwall.search.inputs[3].multiple=true
aiyh.copyrightWall.search.inputs[1].labelName=\u53D1\u660E\u4EBA/\u8BBE\u8BA1\u4EBA aiyh.copyrightwall.search.inputs[3].value=
aiyh.copyrightWall.search.inputs[1].labelIndex=-95598 aiyh.copyrightwall.search.inputs[4].type=3
aiyh.copyrightWall.search.inputs[1].searchType=1 aiyh.copyrightwall.search.inputs[4].dbfieldname=zlsqrq
aiyh.copyrightWall.search.inputs[1].value= aiyh.copyrightwall.search.inputs[4].labelname=专利申请日期
aiyh.copyrightwall.search.inputs[4].labelindex=-95600
aiyh.copyrightWall.search.inputs[2].type=2 aiyh.copyrightwall.search.inputs[4].searchtype=1
aiyh.copyrightWall.search.inputs[2].dbFieldName=zlcpmc aiyh.copyrightwall.search.inputs[4].value=
aiyh.copyrightWall.search.inputs[2].labelName=\u4E13\u5229\u4EA7\u54C1\u540D\u79F0 aiyh.copyrightwall.search.inputs[5].type=1
aiyh.copyrightWall.search.inputs[2].labelIndex=-95597 aiyh.copyrightwall.search.inputs[5].dbfieldname=zlzt
aiyh.copyrightWall.search.inputs[2].searchType=1 aiyh.copyrightwall.search.inputs[5].labelname=专利状态
aiyh.copyrightWall.search.inputs[2].value= aiyh.copyrightwall.search.inputs[5].labelindex=-95601
aiyh.copyrightwall.search.inputs[5].searchtype=1
aiyh.copyrightWall.search.inputs[3].type=1 aiyh.copyrightwall.search.inputs[5].value=
aiyh.copyrightWall.search.inputs[3].dbFieldName=zllx aiyh.copyrightwall.search.inputs[6].type=1
aiyh.copyrightWall.search.inputs[3].labelName=\u4E13\u5229\u7C7B\u578B aiyh.copyrightwall.search.inputs[6].dbfieldname=sqlx
aiyh.copyrightWall.search.inputs[3].labelIndex=-95599 aiyh.copyrightwall.search.inputs[6].labelname=授权类型
aiyh.copyrightWall.search.inputs[3].searchType=1 aiyh.copyrightwall.search.inputs[6].labelindex=-95594
aiyh.copyrightWall.search.inputs[3].multiple=true aiyh.copyrightwall.search.inputs[6].searchtype=1
aiyh.copyrightWall.search.inputs[3].value= aiyh.copyrightwall.search.inputs[6].value=
aiyh.copyrightWall.search.inputs[4].type=3
aiyh.copyrightWall.search.inputs[4].dbFieldName=zlsqrq
aiyh.copyrightWall.search.inputs[4].labelName=\u4E13\u5229\u7533\u8BF7\u65E5\u671F
aiyh.copyrightWall.search.inputs[4].labelIndex=-95600
aiyh.copyrightWall.search.inputs[4].searchType=1
aiyh.copyrightWall.search.inputs[4].value=
aiyh.copyrightWall.search.inputs[5].type=1
aiyh.copyrightWall.search.inputs[5].dbFieldName=zlzt
aiyh.copyrightWall.search.inputs[5].labelName=\u4E13\u5229\u72B6\u6001
aiyh.copyrightWall.search.inputs[5].labelIndex=-95601
aiyh.copyrightWall.search.inputs[5].searchType=1
aiyh.copyrightWall.search.inputs[5].value=
aiyh.copyrightWall.search.inputs[6].type=1
aiyh.copyrightWall.search.inputs[6].dbFieldName=sqlx
aiyh.copyrightWall.search.inputs[6].labelName=\u6388\u6743\u7C7B\u578B
aiyh.copyrightWall.search.inputs[6].labelIndex=-95594
aiyh.copyrightWall.search.inputs[6].searchType=1
aiyh.copyrightWall.search.inputs[6].value=

View File

@ -1,25 +1,25 @@
# ${id}\u8868\u793A\u8BFB\u53D6\u6570\u636E\u5E93\u4E2D\u7684id\uFF0C\u4E0D\u5BF9\u7ED3\u679C\u8F6C\u4E49\uFF0C#{id}\u8868\u793A\u8BFB\u53D6\u6570\u636E\u5E93\u4E2D\u7684id\uFF0C\u5E76\u5C06\u7ED3\u679C\u8FDB\u884C\u8F6C\u4E49\u4F7F\u7528?\u4EE3\u66FF\u540E\u62FC\u63A5\u5230sql\u5B57\u7B26\u4E32\u4E2D # ${id}表示读取数据库中的id不对结果转义#{id}表示读取数据库中的id并将结果进行转义使用?代替后拼接到sql字符串中
# #sql{select xx from xxx } \u8868\u793A\u67E5\u8BE2SQL\uFF0C\u5C06\u7ED3\u679C\u7684\u7B2C\u4E00\u4E2A\u5B57\u6BB5\u5F53\u505A\u503C # #sql{select xx from xxx } 表示查询sql将结果的第一个字段当做值
# \u67E5\u8BE2\u7ED3\u679C\u914D\u7F6E # 查询结果配置
aiyh.classificationWall.voMapping.dataResource=uf_zfzy aiyh.classificationwall.vomapping.dataresource=uf_zfzy
# \u6DFB\u52A0\u8D44\u6E90\u6309\u94AE\u94FE\u63A5 # 添加资源按钮链接
aiyh.classificationWall.voMapping.addSourceUrl=http://www.baidu.com aiyh.classificationwall.vomapping.addsourceurl=http://www.baidu.com
aiyh.classificationWall.voMapping.addSourceLabelIndex=-1000 aiyh.classificationwall.vomapping.addsourcelabelindex=-1000
aiyh.classificationWall.voMapping.addSourceLabelName=\u6DFB\u52A0\u8D44\u6E90 aiyh.classificationwall.vomapping.addsourcelabelname=添加资源
# \u6570\u636EID # 数据id
aiyh.classificationWall.voMapping.id=${id} aiyh.classificationwall.vomapping.id=${id}
# \u56FA\u5B9A\u503C\u56FE\u7247\u540D\u79F0ecode\u56FE\u7247\u540D\u79F0 # 固定值图片名称ecode图片名称
aiyh.classificationWall.voMapping.icon=patent.png aiyh.classificationwall.vomapping.icon=patent.png
aiyh.classificationWall.voMapping.activeIcon=patent_active.png aiyh.classificationwall.vomapping.activeicon=patent_active.png
# \u4E0B\u811A\u663E\u793A\u7684\u6807\u9898 # 下脚显示的标题
aiyh.classificationWall.voMapping.title=${mc} aiyh.classificationwall.vomapping.title=${mc}
aiyh.classificationWall.voMapping.titleEn=${mc} aiyh.classificationwall.vomapping.titleen=${mc}
# labelName labelIndex linkUrl # labelname labelindex linkurl
aiyh.classificationWall.voMapping.linkList[0].labelName=\u67E5\u770B\u6587\u6863 aiyh.classificationwall.vomapping.linklist[0].labelname=查看文档
aiyh.classificationWall.voMapping.linkList[0].labelIndex=-93792 aiyh.classificationwall.vomapping.linklist[0].labelindex=-93792
aiyh.classificationWall.voMapping.linkList[0].linkUrl=/spa/document/index.jsp?id=${zyxq} aiyh.classificationwall.vomapping.linklist[0].linkurl=/spa/document/index.jsp?id=${zyxq}
aiyh.classificationWall.voMapping.linkList[1].labelName=\u8DF3\u8F6C\u6D41\u7A0B aiyh.classificationwall.vomapping.linklist[1].labelname=跳转流程
aiyh.classificationWall.voMapping.linkList[1].labelIndex=-93793 aiyh.classificationwall.vomapping.linklist[1].labelindex=-93793
aiyh.classificationWall.voMapping.linkList[1].linkUrl=/spa/document/index.jsp?id=${id} aiyh.classificationwall.vomapping.linklist[1].linkurl=/spa/document/index.jsp?id=${id}
aiyh.classificationWall.voMapping.docId=0 aiyh.classificationwall.vomapping.docid=0
aiyh.classificationWall.voMapping.imageFileId=0 aiyh.classificationwall.vomapping.imagefileid=0

View File

@ -1,13 +1,11 @@
# \u5047\u671F\u7C7B\u578B\u6620\u5C04\u5173\u7CFB # 假期类型映射关系
# its\u5E74\u5047\u6620\u5C04OA\u5176\u4ED6 # its年假映射oa其他
holidaySync.its_type.1=9 holidaysync.its_type.1=9
# its\u8C03\u4F11\u6620\u5C04OA\u8C03\u4F11\u5047 # its调休映射oa调休假
holidaySync.its_type.2=10 holidaysync.its_type.2=10
# 假期使用额
holidaysync.its_oa_holiday_viw.used_amount=usedamount
# \u5047\u671F\u4F7F\u7528\u989D holidaysync.its_oa_holiday_viw.total_amount=baseamount
holidaySync.its_oa_holiday_viw.used_amount=usedamount
holidaySync.its_oa_holiday_viw.total_amount=baseAmount

View File

@ -1,7 +1,6 @@
# \u6388\u6743\u7801 # 授权码
aiyh.client.clientId=100001 aiyh.client.clientid=100001
aiyh.client.clientSecret=1099af237ed347b19a992a5e46520241 aiyh.client.clientsecret=1099af237ed347b19a992a5e46520241
# 映射规则
# \u6620\u5C04\u89C4\u5219 aiyh.sqlmapper.ee_no=#{loginid}
aiyh.sqlMapper.ee_no=#{loginid} aiyh.sqlmapper.org_code=ford
aiyh.sqlMapper.org_code=ford

View File

@ -1,25 +1,25 @@
# ${id}\u8868\u793A\u8BFB\u53D6\u6570\u636E\u5E93\u4E2D\u7684id\uFF0C\u4E0D\u5BF9\u7ED3\u679C\u8F6C\u4E49\uFF0C#{id}\u8868\u793A\u8BFB\u53D6\u6570\u636E\u5E93\u4E2D\u7684id\uFF0C\u5E76\u5C06\u7ED3\u679C\u8FDB\u884C\u8F6C\u4E49\u4F7F\u7528?\u4EE3\u66FF\u540E\u62FC\u63A5\u5230sql\u5B57\u7B26\u4E32\u4E2D # ${id}表示读取数据库中的id不对结果转义#{id}表示读取数据库中的id并将结果进行转义使用?代替后拼接到sql字符串中
# #sql{select xx from xxx } \u8868\u793A\u67E5\u8BE2SQL\uFF0C\u5C06\u7ED3\u679C\u7684\u7B2C\u4E00\u4E2A\u5B57\u6BB5\u5F53\u505A\u503C # #sql{select xx from xxx } 表示查询sql将结果的第一个字段当做值
# \u67E5\u8BE2\u7ED3\u679C\u914D\u7F6E # 查询结果配置
aiyh.classificationWall.voMapping.dataResource=uf_zfzy aiyh.classificationWall.voMapping.dataResource=uf_zfzy
# \u6DFB\u52A0\u8D44\u6E90\u6309\u94AE\u94FE\u63A5 # 添加资源按钮链接
aiyh.classificationWall.voMapping.addSourceUrl=http://www.baidu.com aiyh.classificationWall.voMapping.addSourceUrl=http://www.baidu.com
aiyh.classificationWall.voMapping.addSourceLabelIndex=-1000 aiyh.classificationWall.voMapping.addSourceLabelIndex=-1000
aiyh.classificationWall.voMapping.addSourceLabelName=\u6DFB\u52A0\u8D44\u6E90 aiyh.classificationWall.voMapping.addSourceLabelName=\u6DFB\u52A0\u8D44\u6E90
# \u6570\u636EID # 数据id
aiyh.classificationWall.voMapping.id=${id} aiyh.classificationWall.voMapping.id=${id}
# \u56FA\u5B9A\u503C\u56FE\u7247\u540D\u79F0ecode\u56FE\u7247\u540D\u79F0 # 固定值图片名称ecode图片名称
aiyh.classificationWall.voMapping.icon=patent.png aiyh.classificationwall.vomapping.icon=patent.png
aiyh.classificationWall.voMapping.activeIcon=patent_active.png aiyh.classificationwall.vomapping.activeicon=patent_active.png
# \u4E0B\u811A\u663E\u793A\u7684\u6807\u9898 # 下脚显示的标题
aiyh.classificationWall.voMapping.title=${mc} aiyh.classificationwall.vomapping.title=${mc}
aiyh.classificationWall.voMapping.titleEn=${mc} aiyh.classificationwall.vomapping.titleen=${mc}
# labelName labelIndex linkUrl # labelname labelindex linkurl
aiyh.classificationWall.voMapping.linkList[0].labelName=\u67E5\u770B\u6587\u6863 aiyh.classificationwall.vomapping.linklist[0].labelname=查看文档
aiyh.classificationWall.voMapping.linkList[0].labelIndex=-93792 aiyh.classificationwall.vomapping.linklist[0].labelindex=-93792
aiyh.classificationWall.voMapping.linkList[0].linkUrl=/spa/document/index.jsp?id=${zyxq} aiyh.classificationwall.vomapping.linklist[0].linkurl=/spa/document/index.jsp?id=${zyxq}
aiyh.classificationWall.voMapping.linkList[1].labelName=\u8DF3\u8F6C\u6D41\u7A0B aiyh.classificationwall.vomapping.linklist[1].labelname=跳转流程
aiyh.classificationWall.voMapping.linkList[1].labelIndex=-93793 aiyh.classificationwall.vomapping.linklist[1].labelindex=-93793
aiyh.classificationWall.voMapping.linkList[1].linkUrl=/spa/document/index.jsp?id=${id} aiyh.classificationwall.vomapping.linklist[1].linkurl=/spa/document/index.jsp?id=${id}
aiyh.classificationWall.voMapping.docId=0 aiyh.classificationwall.vomapping.docid=0
aiyh.classificationWall.voMapping.imageFileId=0 aiyh.classificationwall.vomapping.imagefileid=0

View File

@ -1,6 +1,6 @@
aiyh.htmlLabel.porsche.FaDDContractController.pushErr.labelIndex=-1 aiyh.htmllabel.porsche.faddcontractcontroller.pusherr.labelindex=-1
aiyh.htmlLabel.porsche.FaDDContractController.pushErr.defaultStr=\u90AE\u4EF6\u53D1\u9001\u5931\u8D25\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\uFF01 aiyh.htmllabel.porsche.faddcontractcontroller.pusherr.defaultstr=邮件发送失败,请联系管理员!
aiyh.htmlLabel.porsche.FaDDContractController.pushSuccess.labelIndex=-1 aiyh.htmllabel.porsche.faddcontractcontroller.pushsuccess.labelindex=-1
aiyh.htmlLabel.porsche.FaDDContractController.pushSuccess.defaultStr=\u7B7E\u7F72\u90AE\u4EF6\u53D1\u9001\u6210\u529F\uFF01 aiyh.htmllabel.porsche.faddcontractcontroller.pushsuccess.defaultstr=签署邮件发送成功!
attachment_sort.AnnexSortAction.sortErr.labelIndex=-1 attachment_sort.annexsortaction.sorterr.labelindex=-1
attachment_sort.AnnexSortAction.sortErr.defaultStr=\u6587\u4EF6\u6392\u5E8F\u5931\u8D25\uFF0C\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u5458\uFF01 attachment_sort.annexsortaction.sorterr.defaultstr=文件排序失败,请联系系统管理员!

View File

@ -1,29 +1,29 @@
# \u8BF7\u6C42\u53C2\u6570\u4FE1\u606F # 请求参数信息
# request params config # request params config
# #{resource_id} replace database hrmresource table's id # #{resource_id} replace database hrmresource table's id
# #{field} or ${field} replace database hrmresource and cus_fielddata field value # #{field} or ${field} replace database hrmresource and cus_fielddata field value
# #sql{select name from xxx where id = #{resource_id}} while replace execute customer sql to value # #sql{select name from xxx where id = #{resource_id}} while replace execute customer sql to value
# String: Express this value is String; Integer: Express this value is Integer; Boolean: Express this value is Boolean; Double: Express this value is Double # string: express this value is string; integer: express this value is integer; boolean: express this value is boolean; double: express this value is double
# #{resource_id} \u8868\u793A\u4EBA\u529B\u8D44\u6E90\u8868\u4E2D\u7684id # #{resource_id} 表示人力资源表中的id
# #{field} \u8868\u793A\u4EBA\u529B\u8D44\u6E90\u8868\u4E2D\u6216cus_fielddata\u5373\u81EA\u5B9A\u4E49\u4EBA\u5458\u5361\u7247\u5B57\u6BB5\u7684\u503C # #{field} 表示人力资源表中或cus_fielddata即自定义人员卡片字段的值
# #sql{select name from xx where id = #{xx}} \u8868\u662F\u81EA\u5B9A\u4E49SQL # #sql{select name from xx where id = #{xx}} 表是自定义sql
# String: Integer: Boolean: Double: \u5206\u522B\u8868\u793A\u8FD9\u4E2A\u503C\u7C7B\u578B\u4E3Astring\u3001integer\u3001boolean\u3001double\u7C7B\u578B\u7684\u8BF7\u6C42\u53C2\u6570 # string: integer: boolean: double: 分别表示这个值类型为string、integer、boolean、double类型的请求参数
fadada.realNameAuthentication.customerId=String:#{lasyname} fadada.realnameauthentication.customerid=string:#{lasyname}
fadada.realNameAuthentication.verifiedWay=Integer:#sql{select id from hrmdeptment where id = #{deptId}} fadada.realnameauthentication.verifiedway=integer:#sql{select id from hrmdeptment where id = #{deptid}}
fadada.realNameAuthentication.pageModify=Boolean: fadada.realnameauthentication.pagemodify=boolean:
fadada.realNameAuthentication.isRepeatVerified=Double: fadada.realnameauthentication.isrepeatverified=double:
fadada.realNameAuthentication.customerName= fadada.realnameauthentication.customername=
fadada.realNameAuthentication.customerIdentityType= fadada.realnameauthentication.customeridentitytype=
fadada.realNameAuthentication.customerIdentityNo= fadada.realnameauthentication.customeridentityno=
fadada.realNameAuthentication.mobile= fadada.realnameauthentication.mobile=
fadada.realNameAuthentication.identityFrontPath= fadada.realnameauthentication.identityfrontpath=
fadada.realNameAuthentication.notifyUrl= fadada.realnameauthentication.notifyurl=
fadada.realNameAuthentication.returnUrl= fadada.realnameauthentication.returnurl=
fadada.realNameAuthentication.isSendSms= fadada.realnameauthentication.issendsms=
fadada.realNameAuthentication.identityBackPath= fadada.realnameauthentication.identitybackpath=
fadada.realNameAuthentication.resultType= fadada.realnameauthentication.resulttype=
fadada.realNameAuthentication.certType= fadada.realnameauthentication.certtype=
fadada.realNameAuthentication.applyCert= fadada.realnameauthentication.applycert=
fadada.realNameAuthentication.certMode= fadada.realnameauthentication.certmode=
fadada.realNameAuthentication.miniProgram= fadada.realnameauthentication.miniprogram=
fadada.realNameAuthentication.mobileDevice= fadada.realnameauthentication.mobiledevice=

View File

@ -1,47 +1,47 @@
# \u914D\u7F6E\u89C4\u5219 \u73AF\u5883.\u4E1A\u52A1\u540D\u79F0.\u83B7\u53D6token\u8D26\u53F7\u4FE1\u606F # 配置规则 环境.业务名称.获取token账号信息
# configuration environment.Business name.token info # configuration environment.business name.token info
# oa\u53D1\u677F\u6D41\u7A0B\u63A8\u9001 # oa发板流程推送
# product environment # product environment
pro.release.userName=oa005 pro.release.username=oa005
pro.release.password=123456 pro.release.password=123456
pro.release.systemCode=oa pro.release.systemcode=oa
pro.release.secretKey=5362448sd132d241e5ae27e318qws11d pro.release.secretkey=5362448sd132d241e5ae27e318qws11d
pro.release.baseUrl=https://jtdcapi.jtexpress.com.cn pro.release.baseurl=https://jtdcapi.jtexpress.com.cn
pro.release.expiration=24 pro.release.expiration=24
# uat test environment # uat test environment
uat.release.userName=oa003 uat.release.username=oa003
uat.release.password=JT0725! uat.release.password=jt0725!
uat.release.systemCode=oa uat.release.systemcode=oa
uat.release.secretKey=5362448sd132d241e5ae27e318qws11d uat.release.secretkey=5362448sd132d241e5ae27e318qws11d
uat.release.baseUrl=https://uat-jtdcapi.jtexpress.com.cn uat.release.baseurl=https://uat-jtdcapi.jtexpress.com.cn
uat.release.expiration=24 uat.release.expiration=24
# jms\u5E72\u7EBF\u63A8\u9001 # jms干线推送
# product environment # product environment
pro.jms.userName=oa005 pro.jms.username=oa005
pro.jms.password=123456 pro.jms.password=123456
pro.jms.systemCode=oa pro.jms.systemcode=oa
pro.jms.secretKey=5362448sd132d241e5ae27e318qws11d pro.jms.secretkey=5362448sd132d241e5ae27e318qws11d
pro.jms.baseUrl=https://jtdcapi.jtexpress.com.cn pro.jms.baseurl=https://jtdcapi.jtexpress.com.cn
pro.jms.expiration=24 pro.jms.expiration=24
# uat test environment # uat test environment
uat.jms.userName=oa003 uat.jms.username=oa003
uat.jms.password=JT0725! uat.jms.password=jt0725!
uat.jms.systemCode=oa uat.jms.systemcode=oa
uat.jms.secretKey=5362448sd132d241e5ae27e318qws11d uat.jms.secretkey=5362448sd132d241e5ae27e318qws11d
uat.jms.baseUrl=https://uat-jtdcapi.jtexpress.com.cn uat.jms.baseurl=https://uat-jtdcapi.jtexpress.com.cn
uat.jms.expiration=24 uat.jms.expiration=24
# \u9ED8\u8BA4 # 默认
# product environment # product environment
pro.default.userName=oa005 pro.default.username=oa005
pro.default.password=123456 pro.default.password=123456
pro.default.systemCode=oa pro.default.systemcode=oa
pro.default.secretKey=5362448sd132d241e5ae27e318qws11d pro.default.secretkey=5362448sd132d241e5ae27e318qws11d
pro.default.baseUrl=https://jtdcapi.jtexpress.com.cn pro.default.baseurl=https://jtdcapi.jtexpress.com.cn
pro.default.expiration=24 pro.default.expiration=24
# uat test environment # uat test environment
uat.default.userName=oa003 uat.default.username=oa003
uat.default.password=JT0725! uat.default.password=jt0725!
uat.default.systemCode=oa uat.default.systemcode=oa
uat.default.secretKey=5362448sd132d241e5ae27e318qws11d uat.default.secretkey=5362448sd132d241e5ae27e318qws11d
uat.default.baseUrl=https://uat-jtdcapi.jtexpress.com.cn uat.default.baseurl=https://uat-jtdcapi.jtexpress.com.cn
uat.default.expiration=24 uat.default.expiration=24

View File

@ -1,18 +1,18 @@
# \u4F01\u4E1A\u5FAE\u4FE1\u83B7\u53D6accessToken\u914D\u7F6E\u4FE1\u606F # 企业微信获取accesstoken配置信息
# \u4F01\u4E1Acorpid # 企业corpid
# corpid # corpid
wx.corpid=wwe5f751c365f187e7 wx.corpid=wwe5f751c365f187e7
# \u901A\u8BAF\u5F55\u7EF4\u62A4\u63A5\u53E3\u51ED\u8BC1 # 通讯录维护接口凭证
# wx corpsecret # wx corpsecret
wx.corpsecret=L_3ml7weLt9qnonRAPsHN8qw2fG0xJQxsUfWSKv0tsA wx.corpsecret=l_3ml7welt9qnonrapshn8qw2fg0xjqxsufwskv0tsa
# \u83B7\u53D6access_token\u5730\u5740 # 获取access_token地址
wx.baseHost=https://qyapi.weixin.qq.com wx.basehost=https://qyapi.weixin.qq.com
# ============================= # # ============================= #
# EM7 corpid # em7 corpid
# corpid # corpid
em.corpid=em049e8906ac5811e9833ffa163ed86778 em.corpid=em049e8906ac5811e9833ffa163ed86778
# \u901A\u8BAF\u5F55\u7EF4\u62A4\u63A5\u53E3\u51ED\u8BC1 # 通讯录维护接口凭证
# wx corpsecret # wx corpsecret
em.corpsecret=8e5f4d98-8dd0-4657-9025-fb8ace22494b em.corpsecret=8e5f4d98-8dd0-4657-9025-fb8ace22494b
# \u83B7\u53D6access_token\u5730\u5740 # 获取access_token地址
em.baseHost=http://121.36.197.152:8999 em.basehost=http://121.36.197.152:8999

View File

@ -152,4 +152,10 @@ public class TestTaiBao extends BaseTest {
return wfrequestlist; return wfrequestlist;
} }
@Test
public void testTableModelId() {
System.out.println(Util.getModeIdByTableName("uf_privacy_log_info"));
}
} }