diff --git a/javascript/youhong.ai/pcn/workflow_code_block.js b/javascript/youhong.ai/pcn/workflow_code_block.js index ac558a7..ff52a8a 100644 --- a/javascript/youhong.ai/pcn/workflow_code_block.js +++ b/javascript/youhong.ai/pcn/workflow_code_block.js @@ -610,4 +610,74 @@ $(() => { })() -/* ******************* 提交外出流程 ******************* */ \ No newline at end of file +/* ******************* 提交外出流程 ******************* */ + + +/* ******************* 明细数据统计数量添加 ******************* */ + +$(() => { + 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 ******************* */ \ No newline at end of file diff --git a/src/main/java/com/api/youhong/ai/geerde/requestlog/controller/RequestLogAuthorityController.java b/src/main/java/com/api/youhong/ai/geerde/requestlog/controller/RequestLogAuthorityController.java new file mode 100644 index 0000000..b8cf5d8 --- /dev/null +++ b/src/main/java/com/api/youhong/ai/geerde/requestlog/controller/RequestLogAuthorityController.java @@ -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; + +/** + *

签字意见权限控制

+ * + *

create: 2023/3/21 15:40

+ * + * @author youHong.ai + */ +@Path("/aiyh/geerde/request-log") +public class RequestLogAuthorityController { + + private final RequestLogAuthorityService service = new RequestLogAuthorityService(); + + private final Logger log = Util.getLogger(); + + /** + *

获取隐私权限信息

+ * + * @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()); + } + } +} diff --git a/src/main/java/com/api/youhong/ai/geerde/requestlog/mapper/RequestLogAuthorityMapper.java b/src/main/java/com/api/youhong/ai/geerde/requestlog/mapper/RequestLogAuthorityMapper.java new file mode 100644 index 0000000..0201d68 --- /dev/null +++ b/src/main/java/com/api/youhong/ai/geerde/requestlog/mapper/RequestLogAuthorityMapper.java @@ -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; + +/** + *

+ * + *

create: 2023/3/21 15:51

+ * + * @author youHong.ai + */ +@SqlMapper +public interface RequestLogAuthorityMapper { + + /** + *

查询隐私权限组配置信息

+ * + * @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); +} diff --git a/src/main/java/com/api/youhong/ai/geerde/requestlog/pojo/RequestLogAuthority.java b/src/main/java/com/api/youhong/ai/geerde/requestlog/pojo/RequestLogAuthority.java new file mode 100644 index 0000000..a3edf5b --- /dev/null +++ b/src/main/java/com/api/youhong/ai/geerde/requestlog/pojo/RequestLogAuthority.java @@ -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; + +/** + *

配置信息

+ * + *

create: 2023/3/21 15:55

+ * + * @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; +} diff --git a/src/main/java/com/api/youhong/ai/geerde/requestlog/service/RequestLogAuthorityService.java b/src/main/java/com/api/youhong/ai/geerde/requestlog/service/RequestLogAuthorityService.java new file mode 100644 index 0000000..05f3519 --- /dev/null +++ b/src/main/java/com/api/youhong/ai/geerde/requestlog/service/RequestLogAuthorityService.java @@ -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; + +/** + *

+ * + *

create: 2023/3/21 15:42

+ * + * @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); + } +} diff --git a/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/controller/PictureAddWaterController.java b/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/controller/PictureAddWaterController.java new file mode 100644 index 0000000..d4f9b82 --- /dev/null +++ b/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/controller/PictureAddWaterController.java @@ -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; + +/** + *

图片添加水印

+ * + *

create: 2023/3/22 16:23

+ * + * @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 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()); + } + } +} diff --git a/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/mapper/PictureAddWaterMapper.java b/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/mapper/PictureAddWaterMapper.java new file mode 100644 index 0000000..ddf4656 --- /dev/null +++ b/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/mapper/PictureAddWaterMapper.java @@ -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; + +/** + *

+ * + *

create: 2023/3/22 16:28

+ * + * @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); +} diff --git a/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/service/PictureAddWaterService.java b/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/service/PictureAddWaterService.java new file mode 100644 index 0000000..c611ff3 --- /dev/null +++ b/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/service/PictureAddWaterService.java @@ -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; + +/** + *

+ * + *

create: 2023/3/22 16:25

+ * + * @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 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 paramsMap = new HashMap<>(); + paramsMap.put("user", user); + Map 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 result = new HashMap<>(); + result.put("fileData", retobj); + result.put("fileIds", newDocIds.toString()); + return result; + } +} diff --git a/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/vo/ConfigInfoVo.java b/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/vo/ConfigInfoVo.java new file mode 100644 index 0000000..cb0a061 --- /dev/null +++ b/src/main/java/com/api/youhong/ai/zhiji/pictureaddwater/vo/ConfigInfoVo.java @@ -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 + + '}'; + } +} diff --git a/src/main/java/com/customization/youhong/deerge/requestlog/impl/InterceptRequestLogImpl.java b/src/main/java/com/customization/youhong/deerge/requestlog/impl/InterceptRequestLogImpl.java new file mode 100644 index 0000000..5670e1c --- /dev/null +++ b/src/main/java/com/customization/youhong/deerge/requestlog/impl/InterceptRequestLogImpl.java @@ -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; + + +/** + *

拦截请求日志,签字意见

+ * + *

create: 2023/3/21 13:36

+ * + * @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 judgeCreateRight(HttpServletRequest request) { + return null; + } + + @Override + public String loadForm(HttpServletRequest request) { + return null; + } + + @Override + public String loadPreView(Map map) { + return null; + } + + @Override + public Map loadDetailData(Map map) { + return null; + } + + @Override + public Map saveDetailPaging(Map params) { + return null; + } + + @Override + public Map copyCustomPageFile(String custompage) { + return null; + } + + @Override + public Map updateReqInfo(HttpServletRequest request) { + return null; + } + + @Override + public Map getLinkageResult(HttpServletRequest request, String type) { + return null; + } + + @Override + public Map getRightMenu(HttpServletRequest httpServletRequest, Map map) { + return null; + } + + @Override + public Map getStatusData(Map params) { + return null; + } + + @Override + public Map getStatusCount(Map params) { + return null; + } + + @Override + public Map getResourcesKey(Map params) { + return null; + } + + @Override + public Map getModifyLog(HttpServletRequest request) { + return null; + } + + @Override + public Map requestBatchSubmit(HttpServletRequest request) { + return null; + } + + @Override + public Map judgeRejectWay(HttpServletRequest request) { + return null; + } + + @Override + public Map getRejectOption(Map params) { + return null; + } + + @Override + @ServiceMethodDynamicProxy(desc = "保存和提交流程时,判断是否开启隐私") + public Map requestSubmit(HttpServletRequest request) { + + Map result = (Map) 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 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 forwardSubmit(HttpServletRequest request) { + return null; + } + + @Override + public Map requestWithdraw(HttpServletRequest httpServletRequest) { + return null; + } + + @Override + public Map remarkSubmit(HttpServletRequest request) { + return null; + } + + @Override + public Map functionManage(HttpServletRequest request, HttpServletResponse response) { + return null; + } + + @Override + public Map triggerSubWf(HttpServletRequest request) { + return null; + } + + @Override + public Map uploadFile(HttpServletRequest request, HttpServletResponse response) { + return null; + } + + @Override + public Map getFileFieldObj(Map params) { + return null; + } + + @Override + public Map createWfCode(Map params) { + return null; + } + + @Override + public Map getWfCodeFieldValue(Map params) { + return null; + } + + @Override + public Map requestImport(Map params) { + return null; + } + + @Override + public Map requestDetailImport(HttpServletRequest request) { + return null; + } + + @Override + public Map chooseExceptionOperator(Map params) { + return null; + } + + @Override + public Map overTimeSetting(HttpServletRequest request) { + return null; + } + + @Override + public Map getPrintLogBase(Map params) { + return null; + } + + @Override + public Map getPrintLogData(Map params) { + return null; + } + + @Override + public Map freeFlowRead(Map params) { + return null; + } + + @Override + public Map freeFlowSave(Map params) { + return null; + } + + @Override + public Map editLockOper(Map params) { + return null; + } + + @Override + public Map loadPrintTemplates(Map params) { + return null; + } + + @Override + public Map doEvalExpression(Map params) { + return null; + } + + @Override + public Map generatePrintLog(HttpServletRequest request) { + return null; + } + + @Override + public Map getForwardDatas(Map params) { + return null; + } + + @Override + public Map doBack(Map params) { + return null; + } + + @Override + public Map getFormTab(Map params) { + return null; + } + + @Override + public Map getSelectNextFlowCondition(Map params) { + return null; + } + + @Override + public Map getSelectNextFlowNodes(Map params) { + return null; + } + + @Override + public Map getRemindData(Map params) { + return null; + } + + @Override + public Map judgeRequestIsValid(Map map) { + return null; + } + + @Override + public Map takeBack(Map map) { + return null; + } + + @Override + public Map getCustomOperation(Map map) { + return null; + } + + @Override + public Map runCustomOperationAction(Map map) { + return null; + } + + @Override + public Map JudgeAutoApprove(AutoApproveEntity autoApproveEntity) { + return null; + } + + @Override + public Map delApproveLog(AutoApproveEntity autoApproveEntity) { + return null; + } + + @Override + public Map verifyRequestForView(Map map) { + return null; + } + + @Override + public Map doTakEnd(HttpServletRequest httpServletRequest, Map map) { + return null; + } + + @Override + public Map importFieldLinkageCfg(Map map) { + return null; + } + + @Override + public Map importFormulaCfg(Map map) { + return null; + } + + @Override + public Map getDetailDataKeyId(Map map) { + return null; + } + + @Override + public Map judgeWorkflowPenetrate(AutoApproveEntity autoApproveEntity, RequestManager requestManager) { + return null; + } + + @Override + public Map getThPreviewUrl(Map map) { + return null; + } + + @Override + public Map getThMouldList(Map map) { + return null; + } + + @Override + public Map getDetailExpSet(Map map) { + return null; + } + + @Override + public Map saveDetailExpSet(Map map) { + return null; + } + + @Override + public Map exportFieldSet(Map map) { + return null; + } + + @Override + public Map getNextNodeContent(Map map) { + return null; + } + + @Override + public Map delRequestVerify(Map map) { + return null; + } + + @Override + public Map getFreeNodeBrowserItem(Map map) { + return null; + } + + @Override + public Map saveFreeNodeFormConfig(Map map) { + return null; + } + + @Override + public Map conformCheck(Map map) { + return null; + } + + @Override + public Map getDetailByRequestId(Map map) { + return null; + } +} diff --git a/src/main/java/com/customization/youhong/deerge/requestlog/impl/RequestLogShowOrHiddenImpl.java b/src/main/java/com/customization/youhong/deerge/requestlog/impl/RequestLogShowOrHiddenImpl.java new file mode 100644 index 0000000..719d594 --- /dev/null +++ b/src/main/java/com/customization/youhong/deerge/requestlog/impl/RequestLogShowOrHiddenImpl.java @@ -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; + +/** + *

是否显示隐私签字意见

+ * + *

create: 2023/3/22 11:23

+ * + * @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 getRequestLogBaseInfo(Map params) { + return null; + } + + @Override + @ServiceMethodDynamicProxy(desc = "控制是否显示隐私签字意见") + public Map getRequestLogList(HttpServletRequest request, Map params) { + Map result = (Map) 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> logList = (List>) result.get("loglist"); + List logIds = new ArrayList<>(); + for (Map 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 privacyLogIds; + // 如果是打印,所有隐私都不显示 + if (isPrint) { + privacyLogIds = mapper.selectPrivacyLogIdAll(Util.join(logIds, ","), "-1", Util.null2String(params.get("requestid"))); + } else { + // 如果不是,不显示除自己和隐私组之外的其他人的信息 + List 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 finalPrivacyLogIds = privacyLogIds; + List> 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 updateUserTxStatus(Map params) { + return null; + } + + @Override + public Map updateRequestLogPageSize(Map params) { + return null; + } + + @Override + public Map addDocReadLog(Map params) { + return null; + } + + @Override + public Map getLogAllReceiveUser(Map map) { + return null; + } + + @Override + public Map getViewLogNode(Map map) { + return null; + } +} diff --git a/src/main/java/com/customization/youhong/deerge/requestlog/mapper/InterceptRequestLogMapper.java b/src/main/java/com/customization/youhong/deerge/requestlog/mapper/InterceptRequestLogMapper.java new file mode 100644 index 0000000..cc89b77 --- /dev/null +++ b/src/main/java/com/customization/youhong/deerge/requestlog/mapper/InterceptRequestLogMapper.java @@ -0,0 +1,94 @@ +package com.customization.youhong.deerge.requestlog.mapper; + +import aiyh.utils.annotation.recordset.*; + +import java.util.List; + +/** + *

拦截签字意见隐私处理

+ * + *

create: 2023/3/21 14:32

+ * + * @author youHong.ai + */ +@SqlMapper +public interface InterceptRequestLogMapper { + + /** + *

查询签字意见的id

+ * + * @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); + + /** + *

更新隐私信息

+ * + * @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); + + /** + *

查询隐私签字意见

+ * + * @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 selectPrivacyLogId( + @ParamMapper("logIds") String logIds, + @ParamMapper("userId") String uid, + @ParamMapper("requestId") String requestId); + + /** + *

查询隐私签字意见

+ * + * @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 selectPrivacyLogIdAll(@ParamMapper("logIds") String logIds, + @ParamMapper("userId") String uid, + @ParamMapper("requestId") String requestId); + + + /** + *

查询权限组成员信息

+ * + * @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 selectPrivacyGroup(@ParamMapper("workflowId") String workflowId, + @ParamMapper("userLike") String userLike); +} diff --git a/src/main/resources/WEB-INF/prop/prop2map/PatentWall.properties b/src/main/resources/WEB-INF/prop/prop2map/PatentWall.properties index ef0339e..cf475f0 100644 --- a/src/main/resources/WEB-INF/prop/prop2map/PatentWall.properties +++ b/src/main/resources/WEB-INF/prop/prop2map/PatentWall.properties @@ -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 -# #sql{select xx from xxx } \u8868\u793A\u67E5\u8BE2SQL\uFF0C\u5C06\u7ED3\u679C\u7684\u7B2C\u4E00\u4E2A\u5B57\u6BB5\u5F53\u505A\u503C -# \u67E5\u8BE2\u7ED3\u679C\u914D\u7F6E -aiyh.patentWall.voMapping.dataResource=uf_zlqzsb -aiyh.patentWall.voMapping.id=${id} -aiyh.patentWall.voMapping.icon=patent.png -aiyh.patentWall.voMapping.activeIcon=patent_active.png -aiyh.patentWall.voMapping.title=#sql{select imagefilename from docimagefile where docid = #{zlzs} } -# labelName labelIndex linkUrl -aiyh.patentWall.voMapping.linkList[0].labelName=\u67E5\u770B\u6587\u6863 -aiyh.patentWall.voMapping.linkList[0].labelIndex=-93792 -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].labelIndex=-93793 -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.docId=${zlzs} -aiyh.patentWall.voMapping.imageFileId=#sql{select imagefileid from docimagefile where docid = #{zlzs} } - -# \u641C\u7D22\u4FE1\u606F\u914D\u7F6E -# 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 \u6570\u636E\u5E93\u5B57\u6BB5 \u641C\u7D22\u65F6\u9700\u8981\u8FC7\u6EE4\u90A3\u4E2A\u6570\u636E\u5E93\u5B57\u6BB5\u7684\u503C -# labelName \u524D\u7AEF\u9ED8\u8BA4\u663E\u793A\u6587\u5B57\u7684labelName -# labelIndex \u524D\u7AEF\u663E\u793A\u6587\u5B57\u7684labelIndex -# 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.inputs[0].type=2 -aiyh.patentWall.search.inputs[0].dbFieldName=zlqr -aiyh.patentWall.search.inputs[0].labelName=\u4E13\u5229\u6743\u4EBA -aiyh.patentWall.search.inputs[0].labelIndex=-95588 -aiyh.patentWall.search.inputs[0].searchType=1 -aiyh.patentWall.search.inputs[0].value= - -aiyh.patentWall.search.inputs[1].type=2 -aiyh.patentWall.search.inputs[1].dbFieldName=fmrsjr -aiyh.patentWall.search.inputs[1].labelName=\u53D1\u660E\u4EBA/\u8BBE\u8BA1\u4EBA -aiyh.patentWall.search.inputs[1].labelIndex=-95589 -aiyh.patentWall.search.inputs[1].searchType=1 -aiyh.patentWall.search.inputs[1].value= - -aiyh.patentWall.search.inputs[2].type=2 -aiyh.patentWall.search.inputs[2].dbFieldName=zlcpmc -aiyh.patentWall.search.inputs[2].labelName=\u4E13\u5229\u4EA7\u54C1\u540D\u79F0 -aiyh.patentWall.search.inputs[2].labelIndex=-95590 -aiyh.patentWall.search.inputs[2].searchType=1 -aiyh.patentWall.search.inputs[2].value= - -aiyh.patentWall.search.inputs[3].type=1 -aiyh.patentWall.search.inputs[3].dbFieldName=zllx -aiyh.patentWall.search.inputs[3].labelName=\u4E13\u5229\u7C7B\u578B -aiyh.patentWall.search.inputs[3].labelIndex=-95591 -aiyh.patentWall.search.inputs[3].searchType=1 -aiyh.patentWall.search.inputs[3].multiple=true -aiyh.patentWall.search.inputs[3].value= - -aiyh.patentWall.search.inputs[4].type=3 -aiyh.patentWall.search.inputs[4].dbFieldName=zlsqrq -aiyh.patentWall.search.inputs[4].labelName=\u4E13\u5229\u7533\u8BF7\u65E5\u671F -aiyh.patentWall.search.inputs[4].labelIndex=-95592 -aiyh.patentWall.search.inputs[4].searchType=1 -aiyh.patentWall.search.inputs[4].value= - -aiyh.patentWall.search.inputs[5].type=1 -aiyh.patentWall.search.inputs[5].dbFieldName=zlzt -aiyh.patentWall.search.inputs[5].labelName=\u4E13\u5229\u72B6\u6001 -aiyh.patentWall.search.inputs[5].labelIndex=-95593 -aiyh.patentWall.search.inputs[5].searchType=1 -aiyh.patentWall.search.inputs[5].value= - -aiyh.patentWall.search.inputs[6].type=1 -aiyh.patentWall.search.inputs[6].dbFieldName=sqlx -aiyh.patentWall.search.inputs[6].labelName=\u6388\u6743\u7C7B\u578B -aiyh.patentWall.search.inputs[6].labelIndex=-95594 -aiyh.patentWall.search.inputs[6].searchType=1 -aiyh.patentWall.search.inputs[6].value= - - -# copyrightWall \u8457\u4F5C\u5899 - -aiyh.copyrightWall.voMapping.dataResource=uf_zlqzsb -aiyh.copyrightWall.voMapping.id=${id} -aiyh.copyrightWall.voMapping.icon=patent.png -aiyh.copyrightWall.voMapping.activeIcon=patent_active.png -aiyh.copyrightWall.voMapping.title=#sql{select imagefilename from docimagefile where docid = #{zlzs} } -# labelName labelIndex linkUrl -aiyh.copyrightWall.voMapping.linkList[0].labelName=\u67E5\u770B\u6587\u6863 -aiyh.copyrightWall.voMapping.linkList[0].labelIndex=-93802 -aiyh.copyrightWall.voMapping.linkList[0].linkUrl=/spa/document/index.jsp?id=${zlzs} -aiyh.copyrightWall.voMapping.linkList[1].labelName=\u8DF3\u8F6C\u6D41\u7A0B -aiyh.copyrightWall.voMapping.linkList[1].labelIndex=-93803 -aiyh.copyrightWall.voMapping.linkList[1].linkUrl=/spa/document/index.jsp?id=${zlzs} -#aiyh.copyrightWall.voMapping.linkUrl=/spa/document/index.jsp?id=${zlzs} -aiyh.copyrightWall.voMapping.docId=${zlzs} -aiyh.copyrightWall.voMapping.imageFileId=#sql{select imagefileid from docimagefile where docid = #{zlzs} } - - - -aiyh.copyrightWall.search.dataResource=uf_zlqzsb - -aiyh.copyrightWall.search.inputs[0].type=2 -aiyh.copyrightWall.search.inputs[0].dbFieldName=zlqr -aiyh.copyrightWall.search.inputs[0].labelName=\u4E13\u5229\u6743\u4EBA -aiyh.copyrightWall.search.inputs[0].labelIndex=-95595 -aiyh.copyrightWall.search.inputs[0].searchType=1 -aiyh.copyrightWall.search.inputs[0].value= - -aiyh.copyrightWall.search.inputs[1].type=2 -aiyh.copyrightWall.search.inputs[1].dbFieldName=fmrsjr -aiyh.copyrightWall.search.inputs[1].labelName=\u53D1\u660E\u4EBA/\u8BBE\u8BA1\u4EBA -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.inputs[2].dbFieldName=zlcpmc -aiyh.copyrightWall.search.inputs[2].labelName=\u4E13\u5229\u4EA7\u54C1\u540D\u79F0 -aiyh.copyrightWall.search.inputs[2].labelIndex=-95597 -aiyh.copyrightWall.search.inputs[2].searchType=1 -aiyh.copyrightWall.search.inputs[2].value= - -aiyh.copyrightWall.search.inputs[3].type=1 -aiyh.copyrightWall.search.inputs[3].dbFieldName=zllx -aiyh.copyrightWall.search.inputs[3].labelName=\u4E13\u5229\u7C7B\u578B -aiyh.copyrightWall.search.inputs[3].labelIndex=-95599 -aiyh.copyrightWall.search.inputs[3].searchType=1 -aiyh.copyrightWall.search.inputs[3].multiple=true -aiyh.copyrightWall.search.inputs[3].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= +# ${id}表示读取数据库中的id,不对结果转义,#{id}表示读取数据库中的id,并将结果进行转义使用?代替后拼接到sql字符串中 +# #sql{select xx from xxx } 表示查询sql,将结果的第一个字段当做值 +# 查询结果配置 +aiyh.patentwall.vomapping.dataresource=uf_zlqzsb +aiyh.patentwall.vomapping.id=${id} +aiyh.patentwall.vomapping.icon=patent.png +aiyh.patentwall.vomapping.activeicon=patent_active.png +aiyh.patentwall.vomapping.title=#sql{select imagefilename from docimagefile where docid = #{zlzs} } +# labelname labelindex linkurl +aiyh.patentwall.vomapping.linklist[0].labelname=查看文档 +aiyh.patentwall.vomapping.linklist[0].labelindex=-93792 +aiyh.patentwall.vomapping.linklist[0].linkurl=/spa/document/index.jsp?id=${zlzs} +aiyh.patentwall.vomapping.linklist[1].labelname=跳转流程 +aiyh.patentwall.vomapping.linklist[1].labelindex=-93793 +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.docid=${zlzs} +aiyh.patentwall.vomapping.imagefileid=#sql{select imagefileid from docimagefile where docid = #{zlzs} } +# 搜索信息配置 +# type 表示搜索框类型,1-选择框,2-单行文本,3-日期,4-单人力资源,5-多人力资源,6-流程路径,7-多流程路径,8-日期范围 +# name 数据库字段 搜索时需要过滤那个数据库字段的值 +# labelname 前端默认显示文字的labelname +# labelindex 前端显示文字的labelindex +# searchtype 搜索类型 1-等于,2-大于,3-小于,4-in,5-日期大于,6-日期小于,7-日期等于,8-日期范围 +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].labelname=专利权人 +aiyh.patentwall.search.inputs[0].labelindex=-95588 +aiyh.patentwall.search.inputs[0].searchtype=1 +aiyh.patentwall.search.inputs[0].value= +aiyh.patentwall.search.inputs[1].type=2 +aiyh.patentwall.search.inputs[1].dbfieldname=fmrsjr +aiyh.patentwall.search.inputs[1].labelname=发明人/设计人 +aiyh.patentwall.search.inputs[1].labelindex=-95589 +aiyh.patentwall.search.inputs[1].searchtype=1 +aiyh.patentwall.search.inputs[1].value= +aiyh.patentwall.search.inputs[2].type=2 +aiyh.patentwall.search.inputs[2].dbfieldname=zlcpmc +aiyh.patentwall.search.inputs[2].labelname=专利产品名称 +aiyh.patentwall.search.inputs[2].labelindex=-95590 +aiyh.patentwall.search.inputs[2].searchtype=1 +aiyh.patentwall.search.inputs[2].value= +aiyh.patentwall.search.inputs[3].type=1 +aiyh.patentwall.search.inputs[3].dbfieldname=zllx +aiyh.patentwall.search.inputs[3].labelname=专利类型 +aiyh.patentwall.search.inputs[3].labelindex=-95591 +aiyh.patentwall.search.inputs[3].searchtype=1 +aiyh.patentwall.search.inputs[3].multiple=true +aiyh.patentwall.search.inputs[3].value= +aiyh.patentwall.search.inputs[4].type=3 +aiyh.patentwall.search.inputs[4].dbfieldname=zlsqrq +aiyh.patentwall.search.inputs[4].labelname=专利申请日期 +aiyh.patentwall.search.inputs[4].labelindex=-95592 +aiyh.patentwall.search.inputs[4].searchtype=1 +aiyh.patentwall.search.inputs[4].value= +aiyh.patentwall.search.inputs[5].type=1 +aiyh.patentwall.search.inputs[5].dbfieldname=zlzt +aiyh.patentwall.search.inputs[5].labelname=专利状态 +aiyh.patentwall.search.inputs[5].labelindex=-95593 +aiyh.patentwall.search.inputs[5].searchtype=1 +aiyh.patentwall.search.inputs[5].value= +aiyh.patentwall.search.inputs[6].type=1 +aiyh.patentwall.search.inputs[6].dbfieldname=sqlx +aiyh.patentwall.search.inputs[6].labelname=授权类型 +aiyh.patentwall.search.inputs[6].labelindex=-95594 +aiyh.patentwall.search.inputs[6].searchtype=1 +aiyh.patentwall.search.inputs[6].value= +# copyrightwall 著作墙 +aiyh.copyrightwall.vomapping.dataresource=uf_zlqzsb +aiyh.copyrightwall.vomapping.id=${id} +aiyh.copyrightwall.vomapping.icon=patent.png +aiyh.copyrightwall.vomapping.activeicon=patent_active.png +aiyh.copyrightwall.vomapping.title=#sql{select imagefilename from docimagefile where docid = #{zlzs} } +# labelname labelindex linkurl +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} +aiyh.copyrightwall.vomapping.linklist[1].labelname=跳转流程 +aiyh.copyrightwall.vomapping.linklist[1].labelindex=-93803 +aiyh.copyrightwall.vomapping.linklist[1].linkurl=/spa/document/index.jsp?id=${zlzs} +#aiyh.copyrightwall.vomapping.linkurl=/spa/document/index.jsp?id=${zlzs} +aiyh.copyrightwall.vomapping.docid=${zlzs} +aiyh.copyrightwall.vomapping.imagefileid=#sql{select imagefileid from docimagefile where docid = #{zlzs} } +aiyh.copyrightwall.search.dataresource=uf_zlqzsb +aiyh.copyrightwall.search.inputs[0].type=2 +aiyh.copyrightwall.search.inputs[0].dbfieldname=zlqr +aiyh.copyrightwall.search.inputs[0].labelname=专利权人 +aiyh.copyrightwall.search.inputs[0].labelindex=-95595 +aiyh.copyrightwall.search.inputs[0].searchtype=1 +aiyh.copyrightwall.search.inputs[0].value= +aiyh.copyrightwall.search.inputs[1].type=2 +aiyh.copyrightwall.search.inputs[1].dbfieldname=fmrsjr +aiyh.copyrightwall.search.inputs[1].labelname=发明人/设计人 +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.inputs[2].dbfieldname=zlcpmc +aiyh.copyrightwall.search.inputs[2].labelname=专利产品名称 +aiyh.copyrightwall.search.inputs[2].labelindex=-95597 +aiyh.copyrightwall.search.inputs[2].searchtype=1 +aiyh.copyrightwall.search.inputs[2].value= +aiyh.copyrightwall.search.inputs[3].type=1 +aiyh.copyrightwall.search.inputs[3].dbfieldname=zllx +aiyh.copyrightwall.search.inputs[3].labelname=专利类型 +aiyh.copyrightwall.search.inputs[3].labelindex=-95599 +aiyh.copyrightwall.search.inputs[3].searchtype=1 +aiyh.copyrightwall.search.inputs[3].multiple=true +aiyh.copyrightwall.search.inputs[3].value= +aiyh.copyrightwall.search.inputs[4].type=3 +aiyh.copyrightwall.search.inputs[4].dbfieldname=zlsqrq +aiyh.copyrightwall.search.inputs[4].labelname=专利申请日期 +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=专利状态 +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=授权类型 +aiyh.copyrightwall.search.inputs[6].labelindex=-95594 +aiyh.copyrightwall.search.inputs[6].searchtype=1 +aiyh.copyrightwall.search.inputs[6].value= diff --git a/src/main/resources/WEB-INF/prop/prop2map/classificationWall.properties b/src/main/resources/WEB-INF/prop/prop2map/classificationWall.properties index cba2e66..baa1521 100644 --- a/src/main/resources/WEB-INF/prop/prop2map/classificationWall.properties +++ b/src/main/resources/WEB-INF/prop/prop2map/classificationWall.properties @@ -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 -# #sql{select xx from xxx } \u8868\u793A\u67E5\u8BE2SQL\uFF0C\u5C06\u7ED3\u679C\u7684\u7B2C\u4E00\u4E2A\u5B57\u6BB5\u5F53\u505A\u503C -# \u67E5\u8BE2\u7ED3\u679C\u914D\u7F6E -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.addSourceLabelIndex=-1000 -aiyh.classificationWall.voMapping.addSourceLabelName=\u6DFB\u52A0\u8D44\u6E90 -# \u6570\u636EID -aiyh.classificationWall.voMapping.id=${id} -# \u56FA\u5B9A\u503C\u56FE\u7247\u540D\u79F0ecode\u56FE\u7247\u540D\u79F0 -aiyh.classificationWall.voMapping.icon=patent.png -aiyh.classificationWall.voMapping.activeIcon=patent_active.png -# \u4E0B\u811A\u663E\u793A\u7684\u6807\u9898 -aiyh.classificationWall.voMapping.title=${mc} -aiyh.classificationWall.voMapping.titleEn=${mc} -# labelName labelIndex linkUrl -aiyh.classificationWall.voMapping.linkList[0].labelName=\u67E5\u770B\u6587\u6863 -aiyh.classificationWall.voMapping.linkList[0].labelIndex=-93792 -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].labelIndex=-93793 -aiyh.classificationWall.voMapping.linkList[1].linkUrl=/spa/document/index.jsp?id=${id} -aiyh.classificationWall.voMapping.docId=0 -aiyh.classificationWall.voMapping.imageFileId=0 +# ${id}表示读取数据库中的id,不对结果转义,#{id}表示读取数据库中的id,并将结果进行转义使用?代替后拼接到sql字符串中 +# #sql{select xx from xxx } 表示查询sql,将结果的第一个字段当做值 +# 查询结果配置 +aiyh.classificationwall.vomapping.dataresource=uf_zfzy +# 添加资源按钮链接 +aiyh.classificationwall.vomapping.addsourceurl=http://www.baidu.com +aiyh.classificationwall.vomapping.addsourcelabelindex=-1000 +aiyh.classificationwall.vomapping.addsourcelabelname=添加资源 +# 数据id +aiyh.classificationwall.vomapping.id=${id} +# 固定值图片名称ecode图片名称 +aiyh.classificationwall.vomapping.icon=patent.png +aiyh.classificationwall.vomapping.activeicon=patent_active.png +# 下脚显示的标题 +aiyh.classificationwall.vomapping.title=${mc} +aiyh.classificationwall.vomapping.titleen=${mc} +# labelname labelindex linkurl +aiyh.classificationwall.vomapping.linklist[0].labelname=查看文档 +aiyh.classificationwall.vomapping.linklist[0].labelindex=-93792 +aiyh.classificationwall.vomapping.linklist[0].linkurl=/spa/document/index.jsp?id=${zyxq} +aiyh.classificationwall.vomapping.linklist[1].labelname=跳转流程 +aiyh.classificationwall.vomapping.linklist[1].labelindex=-93793 +aiyh.classificationwall.vomapping.linklist[1].linkurl=/spa/document/index.jsp?id=${id} +aiyh.classificationwall.vomapping.docid=0 +aiyh.classificationwall.vomapping.imagefileid=0 diff --git a/src/main/resources/WEB-INF/prop/prop2map/cronJobConfig.properties b/src/main/resources/WEB-INF/prop/prop2map/cronJobConfig.properties index a5d5d91..07394ff 100644 --- a/src/main/resources/WEB-INF/prop/prop2map/cronJobConfig.properties +++ b/src/main/resources/WEB-INF/prop/prop2map/cronJobConfig.properties @@ -1,13 +1,11 @@ -# \u5047\u671F\u7C7B\u578B\u6620\u5C04\u5173\u7CFB -# its\u5E74\u5047\u6620\u5C04OA\u5176\u4ED6 -holidaySync.its_type.1=9 -# its\u8C03\u4F11\u6620\u5C04OA\u8C03\u4F11\u5047 -holidaySync.its_type.2=10 - - -# \u5047\u671F\u4F7F\u7528\u989D -holidaySync.its_oa_holiday_viw.used_amount=usedamount -holidaySync.its_oa_holiday_viw.total_amount=baseAmount +# 假期类型映射关系 +# its年假映射oa其他 +holidaysync.its_type.1=9 +# its调休映射oa调休假 +holidaysync.its_type.2=10 +# 假期使用额 +holidaysync.its_oa_holiday_viw.used_amount=usedamount +holidaysync.its_oa_holiday_viw.total_amount=baseamount diff --git a/src/main/resources/WEB-INF/prop/prop2map/ftClientSecret.properties b/src/main/resources/WEB-INF/prop/prop2map/ftClientSecret.properties index 7779212..3d06bf9 100644 --- a/src/main/resources/WEB-INF/prop/prop2map/ftClientSecret.properties +++ b/src/main/resources/WEB-INF/prop/prop2map/ftClientSecret.properties @@ -1,7 +1,6 @@ -# \u6388\u6743\u7801 -aiyh.client.clientId=100001 -aiyh.client.clientSecret=1099af237ed347b19a992a5e46520241 - -# \u6620\u5C04\u89C4\u5219 -aiyh.sqlMapper.ee_no=#{loginid} -aiyh.sqlMapper.org_code=ford +# 授权码 +aiyh.client.clientid=100001 +aiyh.client.clientsecret=1099af237ed347b19a992a5e46520241 +# 映射规则 +aiyh.sqlmapper.ee_no=#{loginid} +aiyh.sqlmapper.org_code=ford diff --git a/src/main/resources/WEB-INF/prop/prop2map/governmentSourceWall.properties b/src/main/resources/WEB-INF/prop/prop2map/governmentSourceWall.properties index cba2e66..51b41a3 100644 --- a/src/main/resources/WEB-INF/prop/prop2map/governmentSourceWall.properties +++ b/src/main/resources/WEB-INF/prop/prop2map/governmentSourceWall.properties @@ -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 -# #sql{select xx from xxx } \u8868\u793A\u67E5\u8BE2SQL\uFF0C\u5C06\u7ED3\u679C\u7684\u7B2C\u4E00\u4E2A\u5B57\u6BB5\u5F53\u505A\u503C -# \u67E5\u8BE2\u7ED3\u679C\u914D\u7F6E +# ${id}表示读取数据库中的id,不对结果转义,#{id}表示读取数据库中的id,并将结果进行转义使用?代替后拼接到sql字符串中 +# #sql{select xx from xxx } 表示查询sql,将结果的第一个字段当做值 +# 查询结果配置 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.addSourceLabelIndex=-1000 aiyh.classificationWall.voMapping.addSourceLabelName=\u6DFB\u52A0\u8D44\u6E90 -# \u6570\u636EID +# 数据id aiyh.classificationWall.voMapping.id=${id} -# \u56FA\u5B9A\u503C\u56FE\u7247\u540D\u79F0ecode\u56FE\u7247\u540D\u79F0 -aiyh.classificationWall.voMapping.icon=patent.png -aiyh.classificationWall.voMapping.activeIcon=patent_active.png -# \u4E0B\u811A\u663E\u793A\u7684\u6807\u9898 -aiyh.classificationWall.voMapping.title=${mc} -aiyh.classificationWall.voMapping.titleEn=${mc} -# labelName labelIndex linkUrl -aiyh.classificationWall.voMapping.linkList[0].labelName=\u67E5\u770B\u6587\u6863 -aiyh.classificationWall.voMapping.linkList[0].labelIndex=-93792 -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].labelIndex=-93793 -aiyh.classificationWall.voMapping.linkList[1].linkUrl=/spa/document/index.jsp?id=${id} -aiyh.classificationWall.voMapping.docId=0 -aiyh.classificationWall.voMapping.imageFileId=0 +# 固定值图片名称ecode图片名称 +aiyh.classificationwall.vomapping.icon=patent.png +aiyh.classificationwall.vomapping.activeicon=patent_active.png +# 下脚显示的标题 +aiyh.classificationwall.vomapping.title=${mc} +aiyh.classificationwall.vomapping.titleen=${mc} +# labelname labelindex linkurl +aiyh.classificationwall.vomapping.linklist[0].labelname=查看文档 +aiyh.classificationwall.vomapping.linklist[0].labelindex=-93792 +aiyh.classificationwall.vomapping.linklist[0].linkurl=/spa/document/index.jsp?id=${zyxq} +aiyh.classificationwall.vomapping.linklist[1].labelname=跳转流程 +aiyh.classificationwall.vomapping.linklist[1].labelindex=-93793 +aiyh.classificationwall.vomapping.linklist[1].linkurl=/spa/document/index.jsp?id=${id} +aiyh.classificationwall.vomapping.docid=0 +aiyh.classificationwall.vomapping.imagefileid=0 diff --git a/src/main/resources/WEB-INF/prop/prop2map/htmlLabelIndex.properties b/src/main/resources/WEB-INF/prop/prop2map/htmlLabelIndex.properties index 7bff55e..aa1fb53 100644 --- a/src/main/resources/WEB-INF/prop/prop2map/htmlLabelIndex.properties +++ b/src/main/resources/WEB-INF/prop/prop2map/htmlLabelIndex.properties @@ -1,6 +1,6 @@ -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.pushSuccess.labelIndex=-1 -aiyh.htmlLabel.porsche.FaDDContractController.pushSuccess.defaultStr=\u7B7E\u7F72\u90AE\u4EF6\u53D1\u9001\u6210\u529F\uFF01 -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 \ No newline at end of file +aiyh.htmllabel.porsche.faddcontractcontroller.pusherr.labelindex=-1 +aiyh.htmllabel.porsche.faddcontractcontroller.pusherr.defaultstr=邮件发送失败,请联系管理员! +aiyh.htmllabel.porsche.faddcontractcontroller.pushsuccess.labelindex=-1 +aiyh.htmllabel.porsche.faddcontractcontroller.pushsuccess.defaultstr=签署邮件发送成功! +attachment_sort.annexsortaction.sorterr.labelindex=-1 +attachment_sort.annexsortaction.sorterr.defaultstr=文件排序失败,请联系系统管理员! \ No newline at end of file diff --git a/src/main/resources/WEB-INF/prop/prop2map/jt_fadadaAuthenticConfiguration.properties b/src/main/resources/WEB-INF/prop/prop2map/jt_fadadaAuthenticConfiguration.properties index fadbd00..f59f366 100644 --- a/src/main/resources/WEB-INF/prop/prop2map/jt_fadadaAuthenticConfiguration.properties +++ b/src/main/resources/WEB-INF/prop/prop2map/jt_fadadaAuthenticConfiguration.properties @@ -1,29 +1,29 @@ -# \u8BF7\u6C42\u53C2\u6570\u4FE1\u606F +# 请求参数信息 # request params config # #{resource_id} replace database hrmresource table's id # #{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 -# 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 -# #{field} \u8868\u793A\u4EBA\u529B\u8D44\u6E90\u8868\u4E2D\u6216cus_fielddata\u5373\u81EA\u5B9A\u4E49\u4EBA\u5458\u5361\u7247\u5B57\u6BB5\u7684\u503C -# #sql{select name from xx where id = #{xx}} \u8868\u662F\u81EA\u5B9A\u4E49SQL -# String: Integer: Boolean: Double: \u5206\u522B\u8868\u793A\u8FD9\u4E2A\u503C\u7C7B\u578B\u4E3Astring\u3001integer\u3001boolean\u3001double\u7C7B\u578B\u7684\u8BF7\u6C42\u53C2\u6570 -fadada.realNameAuthentication.customerId=String:#{lasyname} -fadada.realNameAuthentication.verifiedWay=Integer:#sql{select id from hrmdeptment where id = #{deptId}} -fadada.realNameAuthentication.pageModify=Boolean: -fadada.realNameAuthentication.isRepeatVerified=Double: -fadada.realNameAuthentication.customerName= -fadada.realNameAuthentication.customerIdentityType= -fadada.realNameAuthentication.customerIdentityNo= -fadada.realNameAuthentication.mobile= -fadada.realNameAuthentication.identityFrontPath= -fadada.realNameAuthentication.notifyUrl= -fadada.realNameAuthentication.returnUrl= -fadada.realNameAuthentication.isSendSms= -fadada.realNameAuthentication.identityBackPath= -fadada.realNameAuthentication.resultType= -fadada.realNameAuthentication.certType= -fadada.realNameAuthentication.applyCert= -fadada.realNameAuthentication.certMode= -fadada.realNameAuthentication.miniProgram= -fadada.realNameAuthentication.mobileDevice= +# 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} 表示人力资源表中的id +# #{field} 表示人力资源表中或cus_fielddata即自定义人员卡片字段的值 +# #sql{select name from xx where id = #{xx}} 表是自定义sql +# string: integer: boolean: double: 分别表示这个值类型为string、integer、boolean、double类型的请求参数 +fadada.realnameauthentication.customerid=string:#{lasyname} +fadada.realnameauthentication.verifiedway=integer:#sql{select id from hrmdeptment where id = #{deptid}} +fadada.realnameauthentication.pagemodify=boolean: +fadada.realnameauthentication.isrepeatverified=double: +fadada.realnameauthentication.customername= +fadada.realnameauthentication.customeridentitytype= +fadada.realnameauthentication.customeridentityno= +fadada.realnameauthentication.mobile= +fadada.realnameauthentication.identityfrontpath= +fadada.realnameauthentication.notifyurl= +fadada.realnameauthentication.returnurl= +fadada.realnameauthentication.issendsms= +fadada.realnameauthentication.identitybackpath= +fadada.realnameauthentication.resulttype= +fadada.realnameauthentication.certtype= +fadada.realnameauthentication.applycert= +fadada.realnameauthentication.certmode= +fadada.realnameauthentication.miniprogram= +fadada.realnameauthentication.mobiledevice= diff --git a/src/main/resources/WEB-INF/prop/prop2map/jt_tokenConfigInfo.properties b/src/main/resources/WEB-INF/prop/prop2map/jt_tokenConfigInfo.properties index d852f27..7b156ee 100644 --- a/src/main/resources/WEB-INF/prop/prop2map/jt_tokenConfigInfo.properties +++ b/src/main/resources/WEB-INF/prop/prop2map/jt_tokenConfigInfo.properties @@ -1,47 +1,47 @@ -# \u914D\u7F6E\u89C4\u5219 \u73AF\u5883.\u4E1A\u52A1\u540D\u79F0.\u83B7\u53D6token\u8D26\u53F7\u4FE1\u606F -# configuration environment.Business name.token info -# oa\u53D1\u677F\u6D41\u7A0B\u63A8\u9001 +# 配置规则 环境.业务名称.获取token账号信息 +# configuration environment.business name.token info +# oa发板流程推送 # product environment -pro.release.userName=oa005 +pro.release.username=oa005 pro.release.password=123456 -pro.release.systemCode=oa -pro.release.secretKey=5362448sd132d241e5ae27e318qws11d -pro.release.baseUrl=https://jtdcapi.jtexpress.com.cn +pro.release.systemcode=oa +pro.release.secretkey=5362448sd132d241e5ae27e318qws11d +pro.release.baseurl=https://jtdcapi.jtexpress.com.cn pro.release.expiration=24 # uat test environment -uat.release.userName=oa003 -uat.release.password=JT0725! -uat.release.systemCode=oa -uat.release.secretKey=5362448sd132d241e5ae27e318qws11d -uat.release.baseUrl=https://uat-jtdcapi.jtexpress.com.cn +uat.release.username=oa003 +uat.release.password=jt0725! +uat.release.systemcode=oa +uat.release.secretkey=5362448sd132d241e5ae27e318qws11d +uat.release.baseurl=https://uat-jtdcapi.jtexpress.com.cn uat.release.expiration=24 -# jms\u5E72\u7EBF\u63A8\u9001 +# jms干线推送 # product environment -pro.jms.userName=oa005 +pro.jms.username=oa005 pro.jms.password=123456 -pro.jms.systemCode=oa -pro.jms.secretKey=5362448sd132d241e5ae27e318qws11d -pro.jms.baseUrl=https://jtdcapi.jtexpress.com.cn +pro.jms.systemcode=oa +pro.jms.secretkey=5362448sd132d241e5ae27e318qws11d +pro.jms.baseurl=https://jtdcapi.jtexpress.com.cn pro.jms.expiration=24 # uat test environment -uat.jms.userName=oa003 -uat.jms.password=JT0725! -uat.jms.systemCode=oa -uat.jms.secretKey=5362448sd132d241e5ae27e318qws11d -uat.jms.baseUrl=https://uat-jtdcapi.jtexpress.com.cn +uat.jms.username=oa003 +uat.jms.password=jt0725! +uat.jms.systemcode=oa +uat.jms.secretkey=5362448sd132d241e5ae27e318qws11d +uat.jms.baseurl=https://uat-jtdcapi.jtexpress.com.cn uat.jms.expiration=24 -# \u9ED8\u8BA4 +# 默认 # product environment -pro.default.userName=oa005 +pro.default.username=oa005 pro.default.password=123456 -pro.default.systemCode=oa -pro.default.secretKey=5362448sd132d241e5ae27e318qws11d -pro.default.baseUrl=https://jtdcapi.jtexpress.com.cn +pro.default.systemcode=oa +pro.default.secretkey=5362448sd132d241e5ae27e318qws11d +pro.default.baseurl=https://jtdcapi.jtexpress.com.cn pro.default.expiration=24 # uat test environment -uat.default.userName=oa003 -uat.default.password=JT0725! -uat.default.systemCode=oa -uat.default.secretKey=5362448sd132d241e5ae27e318qws11d -uat.default.baseUrl=https://uat-jtdcapi.jtexpress.com.cn +uat.default.username=oa003 +uat.default.password=jt0725! +uat.default.systemcode=oa +uat.default.secretkey=5362448sd132d241e5ae27e318qws11d +uat.default.baseurl=https://uat-jtdcapi.jtexpress.com.cn uat.default.expiration=24 diff --git a/src/main/resources/WEB-INF/prop/prop2map/wxAccessTokenConfig.properties b/src/main/resources/WEB-INF/prop/prop2map/wxAccessTokenConfig.properties index e740a9d..f275ce7 100644 --- a/src/main/resources/WEB-INF/prop/prop2map/wxAccessTokenConfig.properties +++ b/src/main/resources/WEB-INF/prop/prop2map/wxAccessTokenConfig.properties @@ -1,18 +1,18 @@ -# \u4F01\u4E1A\u5FAE\u4FE1\u83B7\u53D6accessToken\u914D\u7F6E\u4FE1\u606F -# \u4F01\u4E1Acorpid +# 企业微信获取accesstoken配置信息 +# 企业corpid # corpid wx.corpid=wwe5f751c365f187e7 -# \u901A\u8BAF\u5F55\u7EF4\u62A4\u63A5\u53E3\u51ED\u8BC1 +# 通讯录维护接口凭证 # wx corpsecret -wx.corpsecret=L_3ml7weLt9qnonRAPsHN8qw2fG0xJQxsUfWSKv0tsA -# \u83B7\u53D6access_token\u5730\u5740 -wx.baseHost=https://qyapi.weixin.qq.com +wx.corpsecret=l_3ml7welt9qnonrapshn8qw2fg0xjqxsufwskv0tsa +# 获取access_token地址 +wx.basehost=https://qyapi.weixin.qq.com # ============================= # -# EM7 corpid +# em7 corpid # corpid em.corpid=em049e8906ac5811e9833ffa163ed86778 -# \u901A\u8BAF\u5F55\u7EF4\u62A4\u63A5\u53E3\u51ED\u8BC1 +# 通讯录维护接口凭证 # wx corpsecret em.corpsecret=8e5f4d98-8dd0-4657-9025-fb8ace22494b -# \u83B7\u53D6access_token\u5730\u5740 -em.baseHost=http://121.36.197.152:8999 \ No newline at end of file +# 获取access_token地址 +em.basehost=http://121.36.197.152:8999 \ No newline at end of file diff --git a/src/test/java/youhong/ai/taibao/TestTaiBao.java b/src/test/java/youhong/ai/taibao/TestTaiBao.java index b1a6c56..8e125c1 100644 --- a/src/test/java/youhong/ai/taibao/TestTaiBao.java +++ b/src/test/java/youhong/ai/taibao/TestTaiBao.java @@ -152,4 +152,10 @@ public class TestTaiBao extends BaseTest { return wfrequestlist; } + + + @Test + public void testTableModelId() { + System.out.println(Util.getModeIdByTableName("uf_privacy_log_info")); + } }