Compare commits

..

3 Commits

41 changed files with 9468 additions and 1286 deletions

View File

@ -3,6 +3,9 @@ package com.actionsoft.apps.coe.pal.output.pr.report1;
import static com.actionsoft.apps.coe.pal.pal.output.util.OutputWordUtil.specialCharTransfer;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.sql.Timestamp;
import java.util.*;
import java.util.function.Function;
@ -107,7 +110,28 @@ public class Report1Gener {
OutputAppProfile appModel = OutputAppManager.getProfile(model.getProfileId());
String tempPath = appModel.getAppContext().getPath();
//String tempName = "步骤横表-流程手册.xml";
String tempName = "步骤横表-流程手册4.xml";
//增加判断文件类型逻辑因为可能有多个取其中第一个文件判断文件类型
String targetFileId = "";
String[] targetFileIds = jsonObj.getString("targetFileId").split(",");
for (String fileId : targetFileIds) {
if(UtilString.isNotEmpty(fileId)){
targetFileId = fileId;
break;
}
}
String tempName;
String methodId=PALRepositoryCache.getCache().get(targetFileId).getMethodId();
if(methodId.equals("process.oaApprove")){
tempName = "步骤横表-流程手册5.xml";
}else {
tempName = "步骤横表-流程手册4.xml";
}
log.info("begin...");
log.info("-------------------");
// ----文件处理-----
@ -144,6 +168,8 @@ public class Report1Gener {
if(repositoryModel1.getMethodId().equals("process.framework")){
continue;
}
String methodId=repositoryModel1.getMethodId();
PALRepositoryModel model = PALRepositoryQueryAPIManager.getInstance().queryPalRepositoryModelByPalId(repositoryId);
if (model != null) {
//获取文件扩展属性
@ -195,12 +221,22 @@ public class Report1Gener {
}
JSONObject dataMap = getData(repositoryId, wizardJsonData, docPath, fileName);
if (dataMap != null) {
OutputWordUtil.createDoc2(dataMap, tempPath, tempName, docName, repositoryId);
if(methodId.equals("process.oaApprove")){
OutputWordUtil.createOAApproveDoc(dataMap, tempPath, tempName, docName, repositoryId);
}else{
OutputWordUtil.createDoc2(dataMap, tempPath, tempName, docName, repositoryId);
}
}
}
}
}
/**
* 获取文档数据
* @param repositoryId

View File

@ -27,11 +27,12 @@ import com.actionsoft.bpms.util.*;
import com.actionsoft.sdk.local.SDK;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import jodd.util.StringUtil;
import static com.actionsoft.apps.coe.pal.pal.output.util.OutputWordUtil.specialCharTransfer;
public class PrReportComment {
public static String TARGET_METHOD_SCOPE = "process.bpmn2,process.epc,process.flowchart,process.framework";
public static String TARGET_METHOD_SCOPE = "process.bpmn2,process.epc,process.flowchart,process.framework,process.oaApprove";
public static String PROCESS_STEP = "userTask,serviceTask,manualTask,receiveTask,sendTask,scriptTask,businessRuleTask,callActivityCallingProcess,method,process,predefinedProcess,decision";
//word换行符
@ -288,9 +289,7 @@ public class PrReportComment {
dataMap.put("pl_" + propertyObj.getString("key"), OutputWordUtil.specialCharTransfer(propertyObj.getString("value")));
}
}else if (propertyObj.getString("key").equals("T_supplementary_articles")) {
if (propertyObj.getString("value").equals("")) {
dataMap.put("pl_" + propertyObj.getString("key"), "");
}else{
if (StringUtil.isNotEmpty(propertyObj.getString("value"))) {
dataMap.put("pl_" + propertyObj.getString("key"), OutputWordUtil.specialCharTransfer(propertyObj.getString("value")));
}
}else if("P_versions".equals(propertyObj.getString("key"))) {

View File

@ -3915,6 +3915,12 @@
</w:tbl>
</#if>
<w:p wsp:rsidR="00AC2941" wsp:rsidRDefault="00AC2941">
<w:pPr>
<w:pStyle w:val="IDSTYLERDDEFAULT"/>
@ -3922,6 +3928,14 @@
</w:p>
</wx:sub-section>
</#if>
<wx:sub-section>
<w:p wsp:rsidR="00581922" wsp:rsidRDefault="00581922">
<w:pPr>
@ -4212,6 +4226,7 @@
</wx:sect>
<wx:sect>
<wx:sub-section>
<w:p wsp:rsidR="00AC2941" wsp:rsidRDefault="00AC2941" wsp:rsidP="00CF7D26">
<w:pPr>
<w:pStyle w:val="1"/>
@ -6059,7 +6074,7 @@
<w:p wsp:rsidR="00751D62" wsp:rsidRDefault="00751D62"/>
</w:ftr>
<w:pgSz w:w="16838" w:h="11906" w:orient="landscape"/>
<w:pgMar w:top="1134" w:right="1701" w:bottom="1134" w:left="1701" w:header="567" w:footer="567" w:gutter="0"/>
<w:pgMar w:top="1134" w:right="1701" w:bottom="1134" w:left="1701" w:header="100" w:footer="50" w:gutter="0"/>
<w:cols w:space="720"/>
<w:docGrid w:line-pitch="326"/>
</w:sectPr>
@ -7020,7 +7035,7 @@
</wx:sub-section>
</#if>
<!-- 外部文件开始 -->
<!-- 外部文件开始 -->
<#if (relevant_table_count >0 )>
<wx:sub-section>
@ -7249,7 +7264,7 @@
</w:p>
</wx:sub-section>
</#if>
<!-- 外部文件结束 -->
<!-- 外部文件结束 -->
<#if (T_supplementary_articles_count >0)>
<wx:sub-section>
@ -7305,6 +7320,8 @@
</w:p>
</wx:sub-section>
</#if>
<w:sectPr wsp:rsidR="00140F58" wsp:rsidRPr="00822EA9">
<w:hdr w:type="odd">
<w:tbl>
@ -7583,4 +7600,4 @@
</w:sectPr>
</wx:sect>
</w:body>
</w:wordDocument>
</w:wordDocument>

File diff suppressed because it is too large Load Diff

View File

@ -101,9 +101,9 @@
<en><![CDATA[Control.Policy]]></en>
<big5><![CDATA[制度圖]]></big5>
</item>
<item key="control.oaApprove">
<item key="process.oaApprove">
<cn><![CDATA[OA审批流程图]]></cn>
<en><![CDATA[control.oaApprove]]></en>
<en><![CDATA[process.oaApprove]]></en>
<big5><![CDATA[OA审批流程圖]]></big5>
</item>
<item key="control.risk">

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<attributes type="customer">
<attribute key="file_number" title="文件编码" type="string" value="" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true" desc="无需填写,发布后自动生成" isRequired="false"/>
<attribute key="R_Organizational_and_role_responsibilities" title="组织/角色职责" type="string" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true" desc="组织/角色职责" isRequired="true"/>
<attribute key="versions" title="版本" type="string" value="" desc="版本" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="Drafted_and_revised_by" title="拟制/修订人" type="string" value="" desc="拟制/修订人" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="Process_Architecture_L1" title="流程架构L1" type="string" value="" desc="流程架构L1" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="Process_Architecture_L2" title="流程架构L2" type="string" value="" desc="流程架构L2" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="Process_Architecture_L3" title="流程架构L3" type="string" value="" desc="流程架构L3" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="Process_Architecture_L4" title="流程架构L4" type="string" value="" desc="流程架构L4" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="auditor" title="审核人" type="string" value="" desc="审核人" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="reviewer" title="复核人" type="string" value="" desc="复核人" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="approver" title="审批人" type="string" value="" desc="审批人" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="related_files" title="相关文件" type="relation" value="" desc="相关文件" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="support_files" title="支持文件" type="relation" value="" desc="支持文件" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="effective_date" title="生效日期" type="DateTimePicker" value="" desc="无需填写,发布审批后系统自动更新" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="related_knowledge" title="相关知识" type="link" value="" desc="相关知识" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="Issuing_department" title="发布部门" type="awsorg" value="" desc="发布部门" isRequired="true" ref="{&quot;scope&quot;:[&quot;department&quot;],&quot;multiple&quot;:true}" readonly="true" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="Drafted_and_revised_date" title="拟制/修订日期" type="DateTimePicker" value="" desc="拟制/修订日期" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="term" title="术语" type="table" value="" desc="术语" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;术语&quot;,&quot;secondColumn&quot;:&quot;定义&quot;}" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="Organizational_role" title="组织角色" type="table" value="" desc="组织角色" isRequired="true" ref="{&quot;firstColumn&quot;:&quot;组织&quot;,&quot;secondColumn&quot;:&quot;职责&quot;}" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="content" title="内容" type="string" value="" desc="内容" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="company" title="编制单位" type="string" value="" desc="编制单位" isRequired="false" ref="" readonly="false" groupPath="organization" scope="*" isValid="true"/>
<attribute key="desc" title="描述" type="textarea" value="" desc="描述" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="Purpose" title="目的" type="textarea" value="" desc="目的" isRequired="true" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="application" title="适用范围" type="textarea" value="" desc="适用范围" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="Contents_and_reasons_for_revision" title="修订内容及理由" type="textarea" value="" desc="修订内容及理由" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="T_supplementary_articles" title="附则" type="textarea" value="" desc="附则" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="activity_number" title="活动序号" type="string" value="" desc="活动序号" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="Out_related_files" title="外部相关文件" type="textarea" value="" desc="填写外部相关文件名称,多个用逗号隔开" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="JYGLGY" title="相关经营管理纲要" type="select_m" value="" desc="请选择" isRequired="false" ref="【集团】全面价值经营,【集团】全面创新驱动,【奶粉】以消费者为中心,提供极致满意的消费体验,【奶粉】以高目标为引领,快速发展,只争第一,【奶粉】以共赢为指引,与合作伙伴建立长期利益共同体,【奶粉】以结果为导向,付出不亚于任何人的努力,【奶粉】以赢得市场竞争为驱动,成为一支有理想、有信念的强大团队,【酸奶】始终以消费者为中心,提供最优品质产品与最佳消费体验,【酸奶】视品牌为核心资产,让我们的品牌成为消费者的挚爱与首选,【酸奶】打造厂商命运共同体,构建稳固可持续发展的厂商生态圈,【酸奶】坚持高目标引领,直面竞争,只争第一,【酸奶】人人都是企业的经营者,不达目标誓不罢休,【酸奶】成为心中有理想、胸中有目标、敢打硬仗、能打胜仗、追求卓越的高绩效团队" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="riskMatrixInfo" title="风险矩阵信息" type="table" value="" desc="风险矩阵信息" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;关键控制点&quot;,&quot;secondColumn&quot;:&quot;控制描述&quot;,&quot;threeColumn&quot;:&quot;对应风险描述&quot;,&quot;fourColumn&quot;:&quot;角色/岗位&quot;}" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="111aaa" title="测试的" type="table" value="" desc="aaaa" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;列名1&quot;,&quot;secondColumn&quot;:&quot;列名2&quot;,&quot;threeColumn&quot;:&quot;&quot;,&quot;fourColumn&quot;:&quot;&quot;}" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
</attributes>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
特性设置非必须多个app提供该Method Attribute时追加定义作用范围该MethodId对象。
被ResourceScanner扫描器检查更新
-->
<attributes>
<!--
分组
name 组名称
parentName 上级组名称,若根此处可空
desc 简要说明
-->
<group name="baseAttribute" parentName="" desc="基本属性"/>
<group name="organization" parentName="" desc="组织"/>
<!--
扩展特性(属性)
key 全局唯一标识名
title 属性标题
type 属性类型支持string(普通字符串),number(数字),boolean(是非),list(多选值),link(链接),relation(关联关系),textarea(多行文本)
value 默认值//支持@公式
ref 当type=list时参考值
readonly 是否只读
groupPath 特性绑定在哪个组别上
适用范围
scope 应用范围methodId、methodId.shapeId多个用逗号隔开%代表文件属性 *代表对所有的图形有效,不是文件属性
- 组织-执行部门
-->
<attribute key="company" title="编制单位" type="string" value="" ref="" readonly="false" groupPath="organization" scope="*" isValid="true"/>
</attributes>

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Linker设置非必须多个app提供该Method Concept时追加定义作用范围该MethodId对象。
被ResourceScanner扫描器检查更新
-->
<linker>
<!--
Linker语境上下文设置
methodId 建模方法标识,这是一个隐形属性,读上级目录
conceptCode 代码methodId+conceptCode的组合不允许重复
fromShapeId 从哪些形状连出时多个ShapeId用逗号隔开,程序暂不支持逗号隔开
toShapeId 连接到哪些形状连出时多个ShapeId用逗号隔开
outcomingName 连出对象主动名称,用于提示给用户和生成文档
incomingName 连入对象被动名称,用于提示给用户和生成文档
-->
<concept conceptCode="001" fromShapeId="regulation" toShapeId="regulation,item" outcomingName="包含" incomingName="属于" />
<concept conceptCode="002" fromShapeId="item" toShapeId="item" outcomingName="包含" incomingName="属于" />
</linker>

View File

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<attributes type="customer">
<attribute key="Purpose" title="目的" type="string" value="" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true" desc="目的" isRequired="false"/>
<attribute key="file_number" title="文件编码" type="string" value="" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true" desc="文件编码" isRequired="false"/>
<attribute key="R_Organizational_and_role_responsibilities" title="组织/角色职责" type="string" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true" desc="组织/角色职责" isRequired="false"/>
<attribute key="application" title="适用范围" type="string" value="" desc="适用范围" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="versions" title="版本" type="string" value="" desc="版本" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="Drafted_and_revised_by" title="拟制/修订人" type="string" value="" desc="拟制/修订人" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="Process_Architecture_L1" title="流程架构L1" type="string" value="" desc="流程架构L1" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="Process_Architecture_L2" title="流程架构L2" type="string" value="" desc="流程架构L2" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="Process_Architecture_L3" title="流程架构L3" type="string" value="" desc="流程架构L3" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="auditor" title="审核人" type="string" value="" desc="审核人" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="reviewer" title="复核人" type="string" value="" desc="复核人" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="approver" title="审批人" type="string" value="" desc="审批人" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="related_files" title="相关文件" type="relation" value="" desc="相关文件" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="support_files" title="支持文件" type="relation" value="" desc="支持文件" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="T_supplementary_articles" title="附则" type="string" value="" desc="附则" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="Process_owner" title="流程责任人" type="awsorg" value="" desc="流程责任人" isRequired="false" ref="{&quot;scope&quot;:[&quot;user&quot;],&quot;multiple&quot;:false}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="effective_date" title="生效日期" type="DateTimePicker" value="" desc="生效日期" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="Contents_and_reasons_for_revision" title="修订内容及理由" type="string" value="" desc="修订内容及理由" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="Process_performance_metrics" title="流程绩效" type="relation" value="" desc="流程绩效" isRequired="false" ref="{&quot;method&quot;:&quot;control.kpi&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="pre_process" title="前置流程" type="relation" value="" desc="前置流程" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false,&quot;value&quot;:&quot;&quot;}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="next_process" title="后置流程" type="relation" value="" desc="后置流程" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false,&quot;value&quot;:&quot;&quot;}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="related_knowledge" title="相关知识" type="link" value="" desc="相关知识" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="Issuing_department" title="发布部门" type="awsorg" value="" desc="发布部门" isRequired="false" ref="{&quot;scope&quot;:[&quot;department&quot;],&quot;multiple&quot;:false}" readonly="true" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="Drafted_and_revised_date" title="拟制/修订日期" type="DateTimePicker" value="" desc="拟制/修订日期" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="term" title="术语" type="table" value="" desc="术语" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;术语&quot;,&quot;secondColumn&quot;:&quot;定义&quot;}" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="Organizational_role" title="组织角色" type="table" value="" desc="组织角色" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;组织&quot;,&quot;secondColumn&quot;:&quot;职责&quot;}" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="content" title="内容" type="string" value="" desc="内容" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="company" title="编制单位" type="string" value="" desc="编制单位" isRequired="false" ref="" readonly="false" groupPath="organization" scope="*" isValid="true"/>
</attributes>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
特性设置非必须多个app提供该Method Attribute时追加定义作用范围该MethodId对象。
被ResourceScanner扫描器检查更新
-->
<attributes>
<!--
分组
name 组名称
parentName 上级组名称,若根此处可空
desc 简要说明
-->
<group name="baseAttribute" parentName="" desc="基本属性"/>
<group name="organization" parentName="" desc="组织"/>
<!--
扩展特性(属性)
key 全局唯一标识名
title 属性标题
type 属性类型支持string(普通字符串),number(数字),boolean(是非),list(多选值),link(链接),relation(关联关系),textarea(多行文本)
value 默认值//支持@公式
ref 当type=list时参考值
readonly 是否只读
groupPath 特性绑定在哪个组别上
适用范围
scope 应用范围methodId、methodId.shapeId多个用逗号隔开%代表文件属性 *代表对所有的图形有效,不是文件属性
- 组织-执行部门
-->
<attribute key="company" title="编制单位" type="string" value="" ref="" readonly="false" groupPath="organization" scope="*" isValid="true"/>
</attributes>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<attributes type="customer">
<attribute key="auditor" title="审核人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="审核人" isRequired="true"/>
<attribute key="reviewer" title="复核人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="复核人" isRequired="true"/>
<attribute key="approver" title="审批人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="审批人" isRequired="true"/>
<attribute key="application" title="适用范围" type="textarea" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="适用范围" isRequired="true"/>
<attribute key="file_number" title="文件编码" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="无需填写,发布后自动生成" isRequired="false"/>
<attribute key="Process_Architecture_L1" title="流程架构L1" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="流程架构L1" isRequired="true"/>
<attribute key="Process_Architecture_L2" title="流程架构L2" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="流程架构l2" isRequired="true"/>
<attribute key="Process_Architecture_L3" title="流程架构L3" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="流程架构L3" isRequired="true"/>
<attribute key="Process_Architecture_L4" title="流程架构L4" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="流程架构L4" isRequired="true"/>
<attribute key="ARIS" title="ARIS地址" type="textarea" value="" ref="" readonly="false" groupPath="organization" scope="%" isValid="true" desc="ARIS地址" isRequired="false"/>
<attribute key="P_versions" title="版本" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="版本" isRequired="false"/>
<attribute key="Drafted_and_revised_by" title="拟制/修订人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="拟制/修订人" isRequired="true"/>
<attribute key="T_supplementary_articles" title="附则" type="textarea" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="附则" isRequired="false"/>
<attribute key="goal" title="目的" type="textarea" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="目的" isRequired="true"/>
<attribute key="activity_number" title="活动序号" type="string" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true" desc="活动序号" isRequired="false"/>
<attribute key="Process_performance_metrics" title="流程绩效" type="relation" value="" ref="{&quot;method&quot;:&quot;control.kpi&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true" desc="流程绩效" isRequired="false"/>
<attribute key="activity_description" title="活动描述" type="textarea" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true" desc="如为审批类活动,需描述审核/审批具体内容" isRequired="true"/>
<attribute key="output" title="输出" type="textarea" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true" desc="必填,无输出请填写 “/” " isRequired="true"/>
<attribute key="R_relevant_flies" title="相关文件" type="relation" value="" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true" desc="相关文件" isRequired="false"/>
<attribute key="relevant_flies" title="相关知识" type="link" value="" desc="相关知识" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="input" title="输入" type="textarea" value="" desc="必填,无输入请填写 “/” " isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="relevant_demand" title="相关要求" type="relation" value="" desc="相关要求" isRequired="false" ref="{&quot;method&quot;:&quot;itsystem&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false,&quot;value&quot;:&quot;&quot;}" readonly="true" groupPath="baseAttribute" scope="*" isValid="false"/>
<attribute key="post" title="岗位" type="relation" value="" desc="岗位" isRequired="false" ref="{&quot;method&quot;:&quot;org.normal&quot;,&quot;type&quot;:&quot;shapeAndFile&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="role" title="角色" type="relation" value="" desc="角色" isRequired="false" ref="{&quot;method&quot;:&quot;org.role&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="term" title="术语" type="table" value="" desc="术语" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;术语&quot;,&quot;secondColumn&quot;:&quot;定义&quot;}" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="information_systems" title="信息系统" type="relation" value="" desc="信息系统" isRequired="false" ref="{&quot;method&quot;:&quot;itsystem.normal&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="Organizational_role" title="组织/角色与职责" type="table" value="" desc="组织/角色与职责" isRequired="true" ref="{&quot;firstColumn&quot;:&quot;名称&quot;,&quot;secondColumn&quot;:&quot;职责&quot;}" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Drafted_and_revised_date" title="拟制/修订日期" type="DateTimePicker" value="" desc="拟制/修订日期" isRequired="true" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="effective_date" title="生效日期" type="DateTimePicker" value="" desc="无需填写,发布审批后系统自动更新" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Issuing_department" title="发布部门" type="awsorg" value="" desc="发布部门" isRequired="true" ref="{&quot;scope&quot;:[&quot;department&quot;],&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Process_owner" title="流程责任人" type="awsorg" value="" desc="流程责任人" isRequired="true" ref="{&quot;scope&quot;:[&quot;user&quot;],&quot;multiple&quot;:false}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="isPublish" title="是否发布" type="string" value="" desc="是否发布" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="ARIS_process_name" title="ARIS流程名称" type="string" value="" desc="ARIS流程名称" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="lead_process" title="上游流程" type="relation" value="" desc="上游流程" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="rear_process" title="下游流程" type="relation" value="" desc="下游流程" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="support_files" title="支持文件" type="relation" value="" desc="支持文件" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Contents_and_reasons_for_revision" title="修订内容及理由" type="textarea" value="" desc="修订内容及理由" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Out_relevant_files" title="外部相关文件" type="textarea" value="" desc="填写外部相关文件名称,多个用逗号隔开" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="management_requirements_Location" title="管理要求位置" type="string" value="流程图前,活动说明后,不显示管理要求" desc="管理要求位置" isRequired="false" ref="" readonly="true" groupPath="baseAttribute" scope="%" isValid="true"/>
</attributes>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<attributes type="customer">
<attribute key="auditor" title="审核人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="审核人" isRequired="false"/>
<attribute key="reviewer" title="复核人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="复核人" isRequired="false"/>
<attribute key="approver" title="审批人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="审批人" isRequired="false"/>
<attribute key="application" title="适用范围" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="file_number" title="文件编码" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="文件编码" isRequired="false"/>
<attribute key="Process_Architecture_L1" title="流程架构L1" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="22" isRequired="false"/>
<attribute key="Process_Architecture_L2" title="流程架构L2" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="流程架构l2" isRequired="false"/>
<attribute key="Process_Architecture_L3" title="流程架构L3" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="流程架构L3" isRequired="false"/>
<attribute key="Contents_and_reasons_for_revision" title="修订内容及理由" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="ARIS" title="ARIS地址" type="string" value="" ref="" readonly="false" groupPath="organization" scope="%" isValid="true"/>
<attribute key="P_versions" title="版本" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="版本" isRequired="true"/>
<attribute key="Drafted_and_revised_by" title="拟制/修订人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="拟制修订人" isRequired="true"/>
<attribute key="T_supplementary_articles" title="附则" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="goal" title="目的" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="1" isRequired="true"/>
<attribute key="activity_number" title="活动序号" type="string" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="Process_performance_metrics" title="流程绩效" type="relation" value="" ref="{&quot;method&quot;:&quot;control.kpi&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true" desc="流程绩效" isRequired="false"/>
<attribute key="activity_description" title="活动描述" type="textarea" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true" desc="活动描述" isRequired="true"/>
<attribute key="output" title="输出" type="textarea" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="R_relevant_flies" title="相关文件" type="relation" value="" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true" desc="相关文件" isRequired="false"/>
<attribute key="support_files" title="支持文件" type="relation" value="" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true" desc="支持文件" isRequired="false"/>
<attribute key="relevant_flies" title="相关知识" type="link" value="" desc="相关知识" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="input" title="输入" type="textarea" value="" desc="输入" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="relevant_demand" title="相关要求" type="relation" value="" desc="相关要求" isRequired="false" ref="{&quot;method&quot;:&quot;itsystem&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false,&quot;value&quot;:&quot;&quot;}" readonly="true" groupPath="baseAttribute" scope="*" isValid="false"/>
<attribute key="post" title="岗位" type="relation" value="" desc="岗位" isRequired="false" ref="{&quot;method&quot;:&quot;org.normal&quot;,&quot;type&quot;:&quot;shapeAndFile&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="role" title="角色" type="relation" value="" desc="角色" isRequired="false" ref="{&quot;method&quot;:&quot;org.role&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="term" title="术语" type="table" value="" desc="术语" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;术语&quot;,&quot;secondColumn&quot;:&quot;说明&quot;}" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="information_systems" title="信息系统" type="relation" value="" desc="信息系统" isRequired="true" ref="{&quot;method&quot;:&quot;itsystem.normal&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="Drafted_and_revised_date" title="拟制/修订日期" type="DateTimePicker" value="" desc="拟制/修订日期" isRequired="true" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="effective_date" title="生效时间" type="DateTimePicker" value="" desc="生效时间" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Issuing_department" title="发布部门" type="awsorg" value="" desc="发布部门" isRequired="false" ref="{&quot;scope&quot;:[&quot;department&quot;],&quot;multiple&quot;:false}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Process_owner" title="流程负责人" type="awsorg" value="" desc="流程负责人" isRequired="false" ref="{&quot;scope&quot;:[&quot;user&quot;],&quot;multiple&quot;:false}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="lead_process" title="前置流程" type="relation" value="" desc="前置流程" isRequired="true" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:false}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="TEST1" title="测试日期" type="DateTimePicker" value="" desc="测试日期" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="TEST2" title="测试表格" type="table" value="" desc="测试表格" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;测试表格1&quot;,&quot;secondColumn&quot;:&quot;测试表格2&quot;}" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="TEST3" title="测试模型内形状" type="relation" value="" desc="测试模型内形状" isRequired="false" ref="{&quot;method&quot;:&quot;process.epc&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="TEST4" title="测试模型文件" type="relation" value="" desc="测试模型文件" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:false,&quot;value&quot;:&quot;&quot;}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="TEST5" title="测试模型文件及文件内形状" type="relation" value="" desc="测试模型文件及文件内形状" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;shapeAndFile&quot;,&quot;multiple&quot;:false,&quot;value&quot;:&quot;&quot;}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="pubulish1" title="是否发布" type="string" value="" desc="是否发布" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="readrang" title="查阅范围" type="string" value="" desc="查阅范围" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%,*" isValid="true"/>
<attribute key="ARIS_process_name" title="ARIS流程名称" type="string" value="" desc="ARIS流程名称" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="organizational" title="组织/角色与职责" type="table" value="" desc="组织/角色与职责" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;组织&quot;,&quot;secondColumn&quot;:&quot;职责&quot;}" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="rear_process" title="后置流程" type="relation" value="" desc="后置流程" isRequired="true" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="aaaaa" title="测试单行2" type="textarea" value="" desc="测试单行2" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
</attributes>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
特性设置非必须多个app提供该Method Attribute时追加定义作用范围该MethodId对象。
被ResourceScanner扫描器检查更新
-->
<attributes>
<!--
分组
name 组名称
parentName 上级组名称,若根此处可空
desc 简要说明
<group name="AWS" parentName="" desc="AWS BPMS名称"/>
<group name="Process" parentName="AWS" desc="Process名称"/>-->
<group name="baseAttribute" parentName="" desc="基本属性"/>
<group name="process" parentName="" desc="流程分析"/>
<group name="organization" parentName="" desc="组织"/>
<group name="org_performance" parentName="" desc="绩效"/>
<group name="data_form" parentName="" desc="数据"/>
<group name="itsystem_normal" parentName="" desc="IT系统"/>
<group name="control" parentName="" desc="控制"/>
<group name="process_model" parentName="" desc="流程"/>
<!--
扩展特性(属性)
key 全局唯一标识名
title 属性标题
type 属性类型支持string(普通字符串),number(数字),boolean(是非),list(多选值),link(链接),relation(关联关系),textarea(多行文本)
value 默认值//支持@公式
ref 当type=list时参考值
readonly 是否只读
groupPath 特性绑定在哪个组别上
scope 应用范围methodId、methodId.shapeId多个用逗号隔开%代表文件属性 *代表对所有的图形有效,不是文件属性
- 组织-执行部门
- 流程分析-处理时间
- 流程分析-等待时间
- 流程分析-执行频率
- 绩效-流程绩效
- 产品服务-产品
- 产品服务-服务
- 流程执行-信息系统
- 风险控制 - 制度
- 风险控制 - 制度条款
- 风险控制- 风险
- 风险控制 - 控制
-->
<attribute key="lead_process" title="前置流程" type="relation" value="" ref="{method:'process',multiple:true,type:'file'}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="rear_process" title="后置流程" type="relation" value="" ref="{method:'process',multiple:true,type:'file'}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
</attributes>

View File

@ -6,10 +6,11 @@
<shapes>
<!--
methodId 建模方法IdmethodId、methodId.shapeId),多个用逗号隔开
methodId 建模方法IdmethodId多个用逗号隔开
-->
<import methodId="basic"/>
<import methodId="org.normal"/>
<import methodId="data.form"/>
<import methodId="org.normal"/>
<import methodId="control.policy,control.risk"/>
<import methodId="itsystem.normal"/>
</shapes>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Linker设置非必须多个app提供该Method Concept时追加定义作用范围该MethodId对象。
被ResourceScanner扫描器检查更新
-->
<linker>
<!--
Linker语境上下文设置
methodId 建模方法标识,这是一个隐形属性,读上级目录
conceptCode 代码methodId+conceptCode的组合不允许重复
fromShapeId 从哪些形状连出时多个ShapeId用逗号隔开,程序暂不支持逗号隔开
toShapeId 连接到哪些形状连出时多个ShapeId用逗号隔开
outcomingName 连出对象主动名称,用于提示给用户和生成文档
incomingName 连入对象被动名称,用于提示给用户和生成文档
-->
<concept conceptCode="001" fromShapeId="event" toShapeId="method" outcomingName="激活" incomingName="被...激活" />
<concept conceptCode="002" fromShapeId="event" toShapeId="procedure,and,or,xor" outcomingName="由...评估" incomingName="评估" />
<concept conceptCode="003" fromShapeId="method" toShapeId="event" outcomingName="创建" incomingName="由...创建" />
<concept conceptCode="004" fromShapeId="method" toShapeId="method" outcomingName="在...之前" incomingName="在...之后" />
<concept conceptCode="005" fromShapeId="method" toShapeId="and,or,xor" outcomingName="导致" incomingName="被分配给" />
<concept conceptCode="006" fromShapeId="procedure" toShapeId="event" outcomingName="创建" incomingName="由...创建" />
<concept conceptCode="007" fromShapeId="procedure" toShapeId="xor" outcomingName="导致" incomingName="被分配给" />
<concept conceptCode="008" fromShapeId="and" toShapeId="event" outcomingName="导致" incomingName="依赖于" />
<concept conceptCode="009" fromShapeId="and" toShapeId="method,procedure" outcomingName="激活" incomingName="被...激活" />
<concept conceptCode="010" fromShapeId="and" toShapeId="xor" outcomingName="链接" incomingName="被...链接" />
<concept conceptCode="011" fromShapeId="xor" toShapeId="event" outcomingName="导致" incomingName="依赖于" />
<concept conceptCode="012" fromShapeId="xor" toShapeId="method,procedure" outcomingName="激活" incomingName="被...激活" />
<concept conceptCode="013" fromShapeId="xor" toShapeId="and,or,xor" outcomingName="链接" incomingName="被...链接" />
<concept conceptCode="014" fromShapeId="or" toShapeId="event" outcomingName="导致" incomingName="依赖于" />
<concept conceptCode="015" fromShapeId="or" toShapeId="xor" outcomingName="链接" incomingName="被...链接" />
</linker>

View File

@ -0,0 +1,868 @@
Schema.addCategory({name:"process_epc", text:"事件驱动的过程链图", dataAttributes:[
{name:"No.", type:"number", value:"", category:"default"},
{name:"Name", type:"string", value:"", category:"default"},
{name:"Owner", type:"string", value:"", category:"default"},
{name:"Link", type:"link", value:"", category:"default"},
{name:"Memo", type:"string", value:"", category:"default"},
{name:"Cost", type:"number", value:"", category:"default"},
{name:"Time", type:"number", value:"", category:"default"},
{name:"Manner", type:"list", value:"", category:"default"},
{name:"Department", type:"string", value:"", category:"default"},
{name:"Input", type:"string", value:"", category:"default"},
{name:"Output", type:"string", value:"", category:"default"},
{name:"Risk", type:"string", value:"", category:"default"},
{name:"Remarks", type:"string", value:"", category:"default"}
]});
Schema.addGlobalCommand("method_user_task", [
{action:"move", x:"100*0.05+ 100/11*2*0.5-100/11*2*0.2", y:"60*0.1+ 60/55*16*0.3"},
{action:"curve", x1:"100*0.05+ 100/11*2*0.30", y1:"60*0.1+ 60/55*16*0.3 - 60/55*16*0.4*2/3", x2:"100*0.05+ 100/11*2*0.5+100/11*2*0.2", y2:"60*0.1+ 60/55*16*0.3 - 60/55*16*0.4*2/3", x:"100*0.05+ 100/11*2*0.5+100/11*2*0.2", y:"60*0.1+ 60/55*16*0.3"},
{action:"line", x:"100*0.05+ 100/11*2*0.5-100/11*2*0.2", y:"60*0.1+ 60/55*16*0.3"},
{action:"close"},
{action:"move", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.1", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.96"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.1", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.68"},
{action:"quadraticCurve", x1:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.1", y1:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.45", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.35", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.45"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.35", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.58"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.60", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.58"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.60", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.45"},
{action:"quadraticCurve", x1:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.95", y1:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.45", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.95", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.68"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.95", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.96"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.77", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.96"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.77", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.77"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.77", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.96"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.23", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.96"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.23", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.77"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.23", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.96"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.05", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.96"},
{action:"close"},
{action:"move", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.35", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.45"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.38", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.42"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.35", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.40"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.32", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.35"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.32", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.27"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.43", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.27"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.46", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.24"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.68", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.24"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.68", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.35"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.60", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.40"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.62", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.42"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.60", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.45"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.60", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.58"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.35", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.58"},
{action:"line", x:"100*0.05+ 100/11*2*0.0 + 100/11*2*0.35", y:"60*0.1+ 60/55*16*0.0 + 60/55*16*0.45"},
{action:"close"}
]);
Schema.addGlobalCommand("method_service_task", [
{action:"move", x:"100*0.09 -100*0.26 *0.16", y:"60*0.14 + 60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.09 -100*0.28 *0.16", y:"60*0.14 + 60/5*8 *0.11 *0.16"},
{action:"line", x:"100*0.09 - 100*0.26 *0.16", y:"60*0.14 + 60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.09 -100*0.17 *0.16", y:"60*0.14 + 60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.09 -100*0.12 *0.16", y:"60*0.14 -60/5*8 *0.02 *0.16"},
{action:"line", x:"100*0.09 -100*0.21 *0.16", y:"60*0.14 -60/5*8 *0.13 *0.16"},
{action:"line", x:"100*0.09 -100*0.18 *0.16", y:"60*0.14 -60/5*8 *0.17 *0.16"},
{action:"line", x:"100*0.09 -100*0.13 *0.16", y:"60*0.14 -60/5*8 *0.19 *0.16"},
{action:"line", x:"100*0.09 -100*0.05 *0.16", y:"60*0.14 -60/5*8 *0.11 *0.16"},
{action:"line", x:"100*0.09 +100*0.03 *0.16", y:"60*0.14 -60/5*8 *0.15 *0.16"},
{action:"line", x:"100*0.09 + 100*0.04 *0.16", y:"60*0.14 -60/5*8 *0.25 *0.16"},
{action:"line", x:"100*0.09 + 100*0.10 *0.16", y:"60*0.14 -60/5*8 *0.27 *0.16"},
{action:"line", x:"100*0.09 + 100*0.15 *0.16", y:"60*0.14 -60/5*8 *0.25 *0.16"},
{action:"line", x:"100*0.09 + 100*0.15 *0.16", y:"60*0.14 -60/5*8 *0.15 *0.16"},
{action:"line", x:"100*0.09 + 100*0.23 *0.16", y:"60*0.14 -60/5*8 *0.12 *0.16"},
{action:"line", x:"100*0.09 + 100*0.30 *0.16", y:"60*0.14 -60/5*8 *0.19 *0.16"},
{action:"line", x:"100*0.09 + 100*0.35 *0.16", y:"60*0.14 -60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.09 + 100*0.38 *0.16", y:"60*0.14 -60/5*8 *0.12 *0.16"},
{action:"line", x:"100*0.09 + 100*0.32 *0.16", y:"60*0.14 -60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.09 + 100*0.37 *0.16", y:"60*0.14 + 60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.09 + 100*0.46 *0.16", y:"60*0.14 + 60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.09 + 100*0.48 *0.16", y:"60*0.14 + 60/5*8 *0.10 *0.16"},
{action:"line", x:"100*0.09 + 100*0.46 *0.16", y:"60*0.14 + 60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.09 + 100*0.37 *0.16", y:"60*0.14 + 60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.09 + 100*0.33 *0.16", y:"60*0.14 + 60/5*8 *0.25 *0.16"},
{action:"line", x:"100*0.09 + 100*0.38 *0.16", y:"60*0.14 + 60/5*8 *0.31 *0.16"},
{action:"line", x:"100*0.09 + 100*0.36 *0.16", y:"60*0.14 + 60/5*8 *0.37 *0.16"},
{action:"line", x:"100*0.09 + 100*0.29 *0.16", y:"60*0.14 + 60/5*8 *0.39 *0.16"},
{action:"line", x:"100*0.09 + 100*0.25 *0.16", y:"60*0.14 + 60/5*8 *0.35 *0.16"},
{action:"line", x:"100*0.09 + 100*0.16 *0.16", y:"60*0.14 + 60/5*8 *0.37 *0.16"},
{action:"line", x:"100*0.09 + 100*0.16 *0.16", y:"60*0.14 + 60/5*8 *0.46 *0.16"},
{action:"line", x:"100*0.09 + 100*0.10 *0.16", y:"60*0.14 + 60/5*8 *0.48 *0.16"},
{action:"line", x:"100*0.09 + 100*0.04 *0.16", y:"60*0.14 + 60/5*8 *0.46 *0.16"},
{action:"line", x:"100*0.09 + 100*0.04 *0.16", y:"60*0.14 + 60/5*8 *0.37 *0.16"},
{action:"line", x:"100*0.09 -100*0.04 *0.16", y:"60*0.14 + 60/5*8 *0.33 *0.16"},
{action:"line", x:"100*0.09 -100*0.12 *0.16", y:"60*0.14 + 60/5*8 *0.38 *0.16"},
{action:"line", x:"100*0.09 -100*0.18 *0.16", y:"60*0.14 + 60/5*8 *0.37 *0.16"},
{action:"line", x:"100*0.09 -100*0.21 *0.16", y:"60*0.14 + 60/5*8 *0.33 *0.16"},
{action:"line", x:"100*0.09 -100*0.14 *0.16", y:"60*0.14 + 60/5*8 *0.25 *0.16"},
{action:"line", x:"100*0.09 -100*0.16 *0.16", y:"60*0.14 + 60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.09 -100*0.26 *0.16", y:"60*0.14 + 60/5*8 *0.16 *0.16"},
{action:"close"},
{action:"move", x:"100*0.09 -100*0.01 *0.16", y:"60*0.14 + 60/5*8 *0.01 *0.16"},
{action:"line", x:"100*0.09 +100*0.01 *0.16", y:"60*0.14 - 60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.09 +100*0.04 *0.16", y:"60*0.14 + 60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.08 *0.16", y:"60*0.14 + 60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.08 *0.16", y:"60*0.14 - 60*0.03 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.12 *0.16", y:"60*0.14 - 60*0.03 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.12 *0.16", y:"60*0.14 - 60*0.0 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.15 *0.16", y:"60*0.14 + 60*0.02 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.18 *0.16", y:"60*0.14 -60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.22 *0.16", y:"60*0.14 + 60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.18 *0.16", y:"60*0.14 + 60*0.04 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.20 *0.16", y:"60*0.14 + 60*0.08 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.25 *0.16", y:"60*0.14 + 60*0.08 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.25 *0.16", y:"60*0.14 + 60*0.12 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.20 *0.16", y:"60*0.14 + 60*0.12 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.18 *0.16", y:"60*0.14 + 60*0.16 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.21 *0.16", y:"60*0.14 + 60*0.19 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.18 *0.16", y:"60*0.14 + 60*0.22 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.15 *0.16", y:"60*0.14 + 60*0.19 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.12 *0.16", y:"60*0.14 + 60*0.21 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.12 *0.16", y:"60*0.14 + 60*0.25 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.08 *0.16", y:"60*0.14 + 60*0.26 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.08 *0.16", y:"60*0.14 + 60*0.21 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.05 *0.16", y:"60*0.14 + 60*0.18 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.01 *0.16", y:"60*0.14 + 60*0.22 /5*8 *0.16"},
{action:"line", x:"100*0.09 - 100*0.02 *0.16", y:"60*0.14 + 60*0.19 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.0 *0.16", y:"60*0.14 + 60*0.16 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.0 *0.16", y:"60*0.14 + 60*0.12 /5*8 *0.16"},
{action:"line", x:"100*0.09 -100*0.04 *0.16", y:"60*0.14 + 60*0.12 /5*8 *0.16"},
{action:"line", x:"100*0.09 -100*0.04 *0.16", y:"60*0.14 + 60*0.08 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0. *0.16", y:"60*0.14 + 60*0.08 /5*8 *0.16"},
{action:"line", x:"100*0.09 + 100*0.01 *0.16", y:"60*0.14 + 60*0.05 /5*8 *0.16"},
{action:"line", x:"100*0.09 -100*0.01 *0.16", y:"60*0.14 + 60*0.01 /5*8 *0.16"},
{action:"close"},
{action:"move", x:"100*0.15 -100*0.26 *0.16", y:"60*0.24 + 60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.15 -100*0.28 *0.16", y:"60*0.24 + 60/5*8 *0.11 *0.16"},
{action:"line", x:"100*0.15 -100*0.26 *0.16", y:"60*0.24 + 60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.15 -100*0.17 *0.16", y:"60*0.24 + 60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.15 -100*0.12 *0.16", y:"60*0.24 -60/5*8 *0.02 *0.16"},
{action:"line", x:"100*0.15 -100*0.21 *0.16", y:"60*0.24 -60/5*8 *0.13 *0.16"},
{action:"line", x:"100*0.15 -100*0.18 *0.16", y:"60*0.24 -60/5*8 *0.17 *0.16"},
{action:"line", x:"100*0.15 -100*0.13 *0.16", y:"60*0.24 -60/5*8 *0.19 *0.16"},
{action:"line", x:"100*0.15 -100*0.05 *0.16", y:"60*0.24 -60/5*8 *0.11 *0.16"},
{action:"line", x:"100*0.15 + 100*0.03 *0.16", y:"60*0.24 -60/5*8 *0.15 *0.16"},
{action:"line", x:"100*0.15 + 100*0.04 *0.16", y:"60*0.24 -60/5*8 *0.25 *0.16"},
{action:"line", x:"100*0.15 + 100*0.10 *0.16", y:"60*0.24 -60/5*8 *0.27 *0.16"},
{action:"line", x:"100*0.15 + 100*0.15 *0.16", y:"60*0.24 -60/5*8 *0.25 *0.16"},
{action:"line", x:"100*0.15 + 100*0.15 *0.16", y:"60*0.24 -60/5*8 *0.15 *0.16"},
{action:"line", x:"100*0.15 + 100*0.23 *0.16", y:"60*0.24 -60/5*8 *0.12 *0.16"},
{action:"line", x:"100*0.15 + 100*0.30 *0.16", y:"60*0.24 -60/5*8 *0.19 *0.16"},
{action:"line", x:"100*0.15 + 100*0.35 *0.16", y:"60*0.24 -60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.15 + 100*0.38 *0.16", y:"60*0.24 -60/5*8 *0.12 *0.16"},
{action:"line", x:"100*0.15 + 100*0.32 *0.16", y:"60*0.24 -60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.15 + 100*0.37 *0.16", y:"60*0.24 +60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.15 + 100*0.46 *0.16", y:"60*0.24 +60/5*8 *0.05 *0.16"},
{action:"line", x:"100*0.15 + 100*0.48 *0.16", y:"60*0.24 +60/5*8 *0.10 *0.16"},
{action:"line", x:"100*0.15 + 100*0.46 *0.16", y:"60*0.24 +60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.15 + 100*0.37 *0.16", y:"60*0.24 +60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.15 + 100*0.33 *0.16", y:"60*0.24 +60/5*8 *0.25 *0.16"},
{action:"line", x:"100*0.15 + 100*0.38 *0.16", y:"60*0.24 +60/5*8 *0.31 *0.16"},
{action:"line", x:"100*0.15 + 100*0.36 *0.16", y:"60*0.24 +60/5*8 *0.37 *0.16"},
{action:"line", x:"100*0.15 + 100*0.29 *0.16", y:"60*0.24 +60/5*8 *0.39 *0.16"},
{action:"line", x:"100*0.15 + 100*0.25 *0.16", y:"60*0.24 +60/5*8 *0.35 *0.16"},
{action:"line", x:"100*0.15 + 100*0.16 *0.16", y:"60*0.24 +60/5*8 *0.37 *0.16"},
{action:"line", x:"100*0.15 + 100*0.16 *0.16", y:"60*0.24 +60/5*8 *0.46 *0.16"},
{action:"line", x:"100*0.15 + 100*0.10 *0.16", y:"60*0.24 +60/5*8 *0.48 *0.16"},
{action:"line", x:"100*0.15 + 100*0.04 *0.16", y:"60*0.24 +60/5*8 *0.46 *0.16"},
{action:"line", x:"100*0.15 + 100*0.04 *0.16", y:"60*0.24 +60/5*8 *0.37 *0.16"},
{action:"line", x:"100*0.15 -100*0.04 *0.16", y:"60*0.24 +60/5*8 *0.33 *0.16"},
{action:"line", x:"100*0.15 -100*0.12 *0.16", y:"60*0.24 +60/5*8 *0.38 *0.16"},
{action:"line", x:"100*0.15 -100*0.18 *0.16", y:"60*0.24 +60/5*8 *0.37 *0.16"},
{action:"line", x:"100*0.15 -100*0.21 *0.16", y:"60*0.24 +60/5*8 *0.33 *0.16"},
{action:"line", x:"100*0.15 -100*0.14 *0.16", y:"60*0.24 +60/5*8 *0.25 *0.16"},
{action:"line", x:"100*0.15 -100*0.16 *0.16", y:"60*0.24 +60/5*8 *0.16 *0.16"},
{action:"line", x:"100*0.15 -100*0.26 *0.16", y:"60*0.24 +60/5*8 *0.16 *0.16"},
{action:"close"},
{action:"move", x:"100*0.15 -100*0.01 *0.16", y:"60*0.24 +60/5*8 *0.01 *0.16"},
{action:"line", x:"100*0.15 + 100*0.01 *0.16", y:"60*0.24 - 60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.04 *0.16", y:"60*0.24 + 60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.08 *0.16", y:"60*0.24 + 60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.08 *0.16", y:"60*0.24 - 60*0.03 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.12 *0.16", y:"60*0.24 - 60*0.03 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.12 *0.16", y:"60*0.24 - 60*0.0 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.15 *0.16", y:"60*0.24 + 60*0.02 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.18 *0.16", y:"60*0.24 -60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.22 *0.16", y:"60*0.24 + 60*0.01 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.18 *0.16", y:"60*0.24 + 60*0.04 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.20 *0.16", y:"60*0.24 + 60*0.08 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.25 *0.16", y:"60*0.24 + 60*0.08 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.25 *0.16", y:"60*0.24 + 60*0.12 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.20 *0.16", y:"60*0.24 + 60*0.12 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.18 *0.16", y:"60*0.24 + 60*0.16 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.21 *0.16", y:"60*0.24 + 60*0.19 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.18 *0.16", y:"60*0.24 + 60*0.22 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.15 *0.16", y:"60*0.24 + 60*0.19 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.12 *0.16", y:"60*0.24 + 60*0.21 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.12 *0.16", y:"60*0.24 + 60*0.25 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.08 *0.16", y:"60*0.24 + 60*0.26 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.08 *0.16", y:"60*0.24 + 60*0.21 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.05 *0.16", y:"60*0.24 + 60*0.18 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.01 *0.16", y:"60*0.24 + 60*0.22 /5*8 *0.16"},
{action:"line", x:"100*0.15 - 100*0.02 *0.16", y:"60*0.24 + 60*0.19 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.0 *0.16", y:"60*0.24 + 60*0.16 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.0 *0.16", y:"60*0.24 + 60*0.12 /5*8 *0.16"},
{action:"line", x:"100*0.15 -100*0.04 *0.16", y:"60*0.24 + 60*0.12 /5*8 *0.16"},
{action:"line", x:"100*0.15 -100*0.04 *0.16", y:"60*0.24 + 60*0.08 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0 *0.16", y:"60*0.24 + 60*0.08 /5*8 *0.16"},
{action:"line", x:"100*0.15 + 100*0.01 *0.16", y:"60*0.24 + 60*0.05 /5*8 *0.16"},
{action:"line", x:"100*0.15 -100*0.01 *0.16", y:"60*0.24 + 60*0.01 /5*8 *0.16"},
{action:"close"}
]);
Schema.addGlobalCommand("method_business_rule", [
{action:"move", x:"100*0.15- 100*0.08", y:"60*0.24- 60*0.1"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24- 60*0.1"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24 + 60*0.1"},
{action:"line", x:"100*0.15 - 100*0.08", y:"60*0.24 + 60*0.1"},
{action:"close"},
{action:"move", x:"100*0.15 - 100*0.08", y:"60*0.24 - 60*0.05"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24 - 60*0.05"},
{action:"move", x:"100*0.15 - 100*0.08", y:"60*0.24 + 60*0.0"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24 + 60*0.0"},
{action:"move", x:"100*0.15 - 100*0.08", y:"60*0.24 + 60*0.05"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24 + 60*0.05"},
{action:"move", x:"100*0.15 - 100*0.04", y:"60*0.24 - 60*0.1"},
{action:"line", x:"100*0.15 - 100*0.04", y:"60*0.24 + 60*0.1"}
]);
Schema.addGlobalCommand("method_script_task", [
{action:"move", x:"100*0.15- 100*0.05", y:"60*0.24- 60*0.1"},
{action:"line", x:"100*0.15 + 100*0.05", y:"60*0.24 - 60*0.1"},
{action:"curve", x1:"100*0.15 + 100*0.02", y1:"60*0.24 - 60*0.1", x2:"100*0.15 + 100*0.02", y2:"60*0.24", x:"100*0.15 + 100*0.04", y:"60*0.24"},
{action:"curve", x1:"100*0.15 + 100*0.06", y1:"60*0.24", x2:"100*0.15 + 100*0.06", y2:"60*0.24 + 60*0.1", x:"100*0.15 + 100*0.03", y:"60*0.24 + 60*0.1"},
{action:"line", x:"100*0.15 - 100*0.08", y:"60*0.24 + 60*0.1"},
{action:"curve", x1:"100*0.15 - 100*0.05", y1:"60*0.24 + 60*0.1", x2:"100*0.15 - 100*0.05", y2:"60*0.24", x:"100*0.15 - 100*0.07", y:"60*0.24"},
{action:"curve", x1:"100*0.15 - 100*0.09", y1:"60*0.24", x2:"100*0.15 - 100*0.09", y2:"60*0.24 - 60*0.1", x:"100*0.15 - 100*0.05", y:"60*0.24 - 60*0.1"},
{action:"close"},
{action:"move", x:"100*0.15 - 100*0.08", y:"60*0.24 - 60*0.05"},
{action:"line", x:"100*0.15 + 100*0.025", y:"60*0.24 - 60*0.05"},
{action:"move", x:"100*0.15 - 100*0.07", y:"60*0.24 - 0"},
{action:"line", x:"100*0.15 + 100*0.04", y:"60*0.24 - 0"},
{action:"move", x:"100*0.15 - 100*0.055", y:"60*0.24 + 60*0.06"},
{action:"line", x:"100*0.15 + 100*0.05", y:"60*0.24 + 60*0.06"}
]);
/***Event需要配置渐变背景*/Schema.addShape({name:"event", title:"事件", text:"事件", category:"process_epc", props:{w:150, h:66}, lineStyle:{lineWidth:1, lineColor:"137,188,255"}, fillStyle:{color:"255,255,255"}, textBlock:{x:"Math.min(h/2,w/6)", y:"0", w:"w-Math.min(h/2,w/6)*2", h:"h"},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"}, path:[
{actions:[
{action:"move", x:"0", y:"h*0.5"},
{action:"line", x:"Math.min(h/2,w/6)", y:"0"},
{action:"line", x:"w-Math.min(h/2,w/6)", y:"0"},
{action:"line", x:"w", y:"h*0.5"},
{action:"line", x:"w-Math.min(h/2,w/6)", y:"h"},
{action:"line", x:"Math.min(h/2,w/6)", y:"h"},
{action:"line", x:"0", y:"h*0.5"},
{action:"close"}
]}
]});
/***Method*/Schema.addShape({name:"method_approval_node", title:"线上审批", text:"线上审批",groupName:"features", category:"process_epc", props:{w:150, h:66}, lineStyle:{lineWidth:1, lineColor:"137,188,255"}, fillStyle:{type:"gradient", gradientType:"linear", beginColor:"245,250,255", endColor:"232,242,255", angle:Math.PI * 0.5}, path:[
{actions:[
{action:"move", x:"w*0", y:"5"},
{action:"quadraticCurve", x1:"0", y1:"0", x:"5", y:"0"},
{action:"line", x:"w-5", y:"0"},
{action:"quadraticCurve", x1:"w", y1:"0", x:"w", y:"5"},
{action:"line", x:"w", y:"h-5"},
{action:"quadraticCurve", x1:"w", y1:"h", x:"w-5", y:"h"},
{action:"line", x:"5", y:"h"},
{action:"quadraticCurve", x1:"0", y1:"h", x:"0", y:"h-5"},
{action:"line", x:"0", y:"5"},
{action:"close"}
]},
{lineStyle:{lineStyle:"solid"}, actions:{ref:"roundRectangle"}},
{lineStyle:{lineWidth:1, lineColor:"137,188,255", lineStyle:"solid"}, fillStyle:{type:"solid", color:"255,255,255"}, actions:{ref:"method_script_task"}},
{lineStyle:{lineWidth:0}, fillStyle:{type:"none"}, actions:{ref:"roundRectangle"}}
]});
Schema.addGlobalCommand("business_rule", [
{action:"move", x:"100*0.15- 100*0.08", y:"60*0.24- 60*0.1"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24- 60*0.1"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24 + 60*0.1"},
{action:"line", x:"100*0.15 - 100*0.08", y:"60*0.24 + 60*0.1"},
{action:"close"},
{action:"move", x:"100*0.15 - 100*0.08", y:"60*0.24 - 60*0.05"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24 - 60*0.05"},
{action:"move", x:"100*0.15 - 100*0.08", y:"60*0.24 + 60*0.0"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24 + 60*0.0"},
{action:"move", x:"100*0.15 - 100*0.08", y:"60*0.24 + 60*0.05"},
{action:"line", x:"100*0.15 + 100*0.08", y:"60*0.24 + 60*0.05"},
{action:"move", x:"100*0.15 - 100*0.04", y:"60*0.24 - 60*0.1"},
{action:"line", x:"100*0.15 - 100*0.04", y:"60*0.24 + 60*0.1"}
]);
Schema.addShape({name:"method_service_node", title:"线下审批", text:"线下审批",groupName:"features", category:"process_epc", props:{w:150, h:66}, lineStyle:{lineWidth:1, lineColor:"137,188,255"}, fillStyle:{type:"gradient", gradientType:"linear", beginColor:"245,250,255", endColor:"232,242,255", angle:Math.PI * 0.5}, path:[
{actions:[
{action:"move", x:"w*0", y:"5"},
{action:"quadraticCurve", x1:"0", y1:"0", x:"5", y:"0"},
{action:"line", x:"w-5", y:"0"},
{action:"quadraticCurve", x1:"w", y1:"0", x:"w", y:"5"},
{action:"line", x:"w", y:"h-5"},
{action:"quadraticCurve", x1:"w", y1:"h", x:"w-5", y:"h"},
{action:"line", x:"5", y:"h"},
{action:"quadraticCurve", x1:"0", y1:"h", x:"0", y:"h-5"},
{action:"line", x:"0", y:"5"},
{action:"close"}
]},
{lineStyle:{lineStyle:"solid"}, actions:{ref:"roundRectangle"}},
{lineStyle:{lineWidth:1, lineColor:"137,188,255", lineStyle:"solid"}, fillStyle:{type:"solid"}, actions:{ref:"business_rule"}},
{lineStyle:{lineWidth:0}, fillStyle:{type:"none"}, actions:{ref:"roundRectangle"}}
]});
/***Method*/Schema.addShape({name:"method_approval_node3", title:"系统任务", text:"系统任务",groupName:"features3", category:"process_epc", props:{w:150, h:66}, lineStyle:{lineWidth:1, lineColor:"137,188,255"}, fillStyle:{type:"gradient", gradientType:"linear", beginColor:"245,250,255", endColor:"232,242,255", angle:Math.PI * 0.5}, path:[
{actions:[
{action:"move", x:"w*0", y:"5"},
{action:"quadraticCurve", x1:"0", y1:"0", x:"5", y:"0"},
{action:"line", x:"w-5", y:"0"},
{action:"quadraticCurve", x1:"w", y1:"0", x:"w", y:"5"},
{action:"line", x:"w", y:"h-5"},
{action:"quadraticCurve", x1:"w", y1:"h", x:"w-5", y:"h"},
{action:"line", x:"5", y:"h"},
{action:"quadraticCurve", x1:"0", y1:"h", x:"0", y:"h-5"},
{action:"line", x:"0", y:"5"},
{action:"close"}
]},
{lineStyle:{lineStyle:"solid"}, actions:{ref:"roundRectangle"}},
{lineStyle:{lineWidth:1, lineColor:"137,188,255", lineStyle:"solid"}, fillStyle:{type:"solid"}, actions:{ref:"method_service_task"}},
{lineStyle:{lineWidth:0}, fillStyle:{type:"none"}, actions:{ref:"roundRectangle"}}
]});
Schema.addShape({name:"method_service_node4", title:"人工任务", text:"人工任务",groupName:"features3", category:"process_epc", props:{w:150, h:66}, lineStyle:{lineWidth:1, lineColor:"137,188,255"}, fillStyle:{type:"gradient", gradientType:"linear", beginColor:"245,250,255", endColor:"232,242,255", angle:Math.PI * 0.5}, path:[
{actions:[
{action:"move", x:"w*0", y:"5"},
{action:"quadraticCurve", x1:"0", y1:"0", x:"5", y:"0"},
{action:"line", x:"w-5", y:"0"},
{action:"quadraticCurve", x1:"w", y1:"0", x:"w", y:"5"},
{action:"line", x:"w", y:"h-5"},
{action:"quadraticCurve", x1:"w", y1:"h", x:"w-5", y:"h"},
{action:"line", x:"5", y:"h"},
{action:"quadraticCurve", x1:"0", y1:"h", x:"0", y:"h-5"},
{action:"line", x:"0", y:"5"},
{action:"close"}
]},
{lineStyle:{lineStyle:"solid"}, actions:{ref:"roundRectangle"}},
{lineStyle:{lineWidth:1, lineColor:"137,188,255", lineStyle:"solid"}, fillStyle:{type:"solid"}, actions:{ref:"method_user_task"}},
{lineStyle:{lineWidth:0}, fillStyle:{type:"none"}, actions:{ref:"roundRectangle"}}
]});
/***Procedure*/Schema.addShape({name:"procedure", title:"流程接口", text:"流程接口", category:"process_epc", props:{w:150, h:66}, lineStyle:{lineWidth:1, lineColor:"197,197,197"}, fillStyle:{type:"gradient", gradientType:"linear", beginColor:"255,255,255", endColor:"237,237,237", angle:Math.PI * 0.5}, textBlock:{x:"0", y:"0", w:"w*0.8", h:"h*0.8"},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"}, path:[
{actions:[
{action:"move", x:"0", y:"4*0.8"},
{action:"quadraticCurve", x1:"0", y1:"0", x:"4*0.8", y:"0"},
{action:"line", x:"(w-4)*0.8", y:"0"},
{action:"quadraticCurve", x1:"w*0.8", y1:"0", x:"w*0.8", y:"4*0.8"},
{action:"line", x:"w*0.8", y:"(h-4)*0.8"},
{action:"quadraticCurve", x1:"w*0.8", y1:"h*0.8", x:"(w-4)*0.8", y:"h*0.8"},
{action:"line", x:"4*0.8", y:"h*0.8"},
{action:"quadraticCurve", x1:"0", y1:"h*0.8", x:"0", y:"(h-4)*0.8"},
{action:"line", x:"0", y:"4*0.8"},
{action:"move", x:"w*0.8", y:"6"},
{action:"line", x:"w", y:"h*0.5"},
{action:"line", x:"(w-4)*0.8", y:"h"},
{action:"line", x:"w*3/8", y:"h"},
{action:"line", x:"w/4", y:"h*0.8"},
{action:"line", x:"(w-4)*0.8", y:"h*0.8"},
{action:"quadraticCurve", x1:"w*0.8", y1:"h*0.8", x:"w*0.8", y:"(h-4)*0.8"}
]}
]});
Schema.addShape({name:"sub_process_node", title:"子流程", text:"子流程", category:"process_epc", props:{w:150, h:66}, lineStyle:{lineWidth:1, lineColor:"197,197,197"},
fillStyle:{type:"gradient", gradientType:"linear", beginColor:"255,255,255", endColor:"237,237,237", angle:Math.PI * 0.5}, textBlock:{x:"20", y:"0", w:"w-40", h:"h"},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"}, path:[
{lineStyle:{lineWidth:1,color:"51,62,75"},actions:[
{action:"move", x:"0", y:"0"},
{action:"line", x:"w", y:"0"},
{action:"line", x:"w", y:"h"},
{action:"line", x:"0", y:"h"},
{action:"close"}
]},
{lineStyle:{lineWidth:1,color:"51,62,75"},actions:[
{action:"move", x:"20", y:"0"},
{action:"line", x:"w-20", y:"0"},
{action:"line", x:"w-20", y:"h"},
{action:"line", x:"20", y:"h"},
{action:"close"}
]}
]});
/***And*/Schema.addShape({name:"and", title:"与", category:"process_epc", attribute:{editable:false}, props:{w:46, h:46}, fillStyle:{color:"175,210,255"}, path:[
{lineStyle:{lineWidth:0},actions:{ref:"round"}},
{lineStyle:{lineWidth:1,color:"51,62,75"},actions:[
{action:"move", x:"w/2-w*0.15", y:"h/2+h*0.13"},
{action:"line", x:"w*0.5", y:"h/2-h*0.15"},
{action:"line", x:"w/2+w*0.15", y:"h/2+h*0.13"},
{action:"line", x:"w*0.5", y:"h/2-h*0.15"}
]},
{lineStyle:{lineWidth:0}, fillStyle:{type:"none"}, actions:{ref:"round"}}
]});
/***Or*/Schema.addShape({name:"or", title:"或", category:"process_epc", attribute:{editable:false}, props:{w:46, h:46}, fillStyle:{color:"175,210,255"}, path:[
{lineStyle:{lineWidth:0},actions:{ref:"round"}},
{lineStyle:{lineWidth:1,color:"51,62,75"},actions:[
{action:"move", x:"w/2-w*0.15", y:"h/2-h*0.13"},
{action:"line", x:"w*0.5", y:"h/2+h*0.15"},
{action:"line", x:"w/2+w*0.15", y:"h/2-h*0.13"},
{action:"line", x:"w*0.5", y:"h/2+h*0.15"}
]},
{lineStyle:{lineWidth:0}, fillStyle:{type:"none"}, actions:{ref:"round"}}
]});
/***Xor*/Schema.addShape({name:"xor", title:"异或", category:"process_epc", attribute:{editable:false}, props:{w:46, h:46}, fillStyle:{color:"175,210,255"}, path:[
{lineStyle:{lineWidth:0},actions:{ref:"round"}},
{lineStyle:{lineWidth:1,color:"51,62,75"},actions:[
{action:"move", x:"w/2-w*0.15", y:"h/2-h*0.15"},
{action:"line", x:"w/2+w*0.15", y:"h/2+h*0.15"},
{action:"move", x:"w/2+w*0.15", y:"h/2-h*0.15"},
{action:"line", x:"w/2-w*0.15", y:"h/2+h*0.15"}
]},
{lineStyle:{lineWidth:0}, fillStyle:{type:"none"}, actions:{ref:"round"}}
]});
/*泳池/泳道分组*/
Schema.addCategory({name:"lane", text:"泳池/泳道"});
function getPool(a, d) {
for (var b = Model.orderList.length - 1; b >= 0; b--) {
var e = Model.orderList[b].id;
var c = Model.getShapeById(e);
if (c.name == d) {
if (Utils.rectCross(c.props, a.props)) {
return c
}
}
}
return null
}
function getVerticalPoolWidth(c) {
var a = 0;
for (var b = 0; b < c.children.length; b++) {
var d = c.children[b];
var e = Model.getShapeById(d);
if (e.name != "horizontalSeparator") {
a += e.props.w
}
}
return a
}
function getHorizontalPoolHeight(c) {
var a = 0;
for (var b = 0; b < c.children.length; b++) {
var d = c.children[b];
var e = Model.getShapeById(d);
if (e.name != "horizontalSeparator") {
a += e.props.w
}
}
return a
}
function getChild(c, a) {
for (var b = 0; b < c.children.length; b++) {
var d = c.children[b];
var e = Model.getShapeById(d);
if (e.name == a) {
return e
}
}
return null
}
Schema.addShape({name:"verticalPool", title:"泳池(垂直)",text:"泳池(垂直)", category:"lane", attribute:{rotatable:false, linkable:false, container:true}, children:[], props:{w:250, h:540}, fontStyle:{size:16}, textBlock:{x:10, y:0, w:"w-20", h:40},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"},
anchors:[], resizeDir:["l", "b", "r"], path:[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:{ref:"rectangle"}},
{lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:0},
{action:"line", x:"w", y:0},
{action:"line", x:"w", y:40},
{action:"line", x:0, y:40},
{action:"close"}
]}
], drawIcon:function (b, c) {
b += 8;
var a = -4;
return[
{fillStyle:{type:"none"}, actions:[
{action:"move", x:a, y:0},
{action:"line", x:b, y:0},
{action:"line", x:b, y:c},
{action:"line", x:a, y:c},
{action:"close"}
]},
{actions:[
{action:"move", x:a, y:0},
{action:"line", x:b, y:0},
{action:"line", x:b, y:4},
{action:"line", x:a, y:4},
{action:"close"}
]},
{actions:[
{action:"move", x:(a + b) / 2, y:4},
{action:"line", x:(a + b) / 2, y:c}
]}
]
}});
Schema.addShape({name:"verticalLane", title:"泳道(垂直)",text:"泳道(垂直)", category:"lane", attribute:{container:true, rotatable:false, linkable:false}, props:{w:250, h:500}, textBlock:{x:10, y:0, w:"w-20", h:30},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"},
anchors:[], resizeDir:["l", "b", "r"], path:[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:{ref:"rectangle"}},
{lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:0},
{action:"line", x:"w", y:0},
{action:"line", x:"w", y:30},
{action:"line", x:0, y:30},
{action:"close"}
]}
], drawIcon:function (a, b) {
return[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:0},
{action:"line", x:a, y:0},
{action:"line", x:a, y:b},
{action:"line", x:0, y:b},
{action:"close"}
]},
{lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:0},
{action:"line", x:a, y:0},
{action:"line", x:a, y:4},
{action:"line", x:0, y:4},
{action:"close"}
]}
]
}, onCreated:function () {
var e = getPool(this, "verticalPool");
if (e == null) {
e = Model.create("verticalPool", this.props.x, this.props.y - 40);
e.children = [this.id];
Model.add(e)
} else {
if (!e.children) {
e.children = []
}
var g = [e];
var a = e.props.x;
var c = 0;
var b = 0;
for (var d = 0; d < e.children.length; d++) {
var f = e.children[d];
var h = Model.getShapeById(f);
if (h.name == "verticalLane") {
a += h.props.w;
c++
} else {
if (h.name == "verticalSeparatorBar") {
a += h.props.w;
b++
}
}
}
this.props.x = a;
this.props.y = e.props.y + 40;
this.props.h = e.props.h - 40;
if (c == 0) {
if (b == 0) {
this.props.w = e.props.w
} else {
this.props.w = e.props.w - 20
}
}
Designer.painter.renderShape(this);
e.props.w = this.props.x + this.props.w - e.props.x;
for (var d = 0; d < e.children.length; d++) {
var f = e.children[d];
var h = Model.getShapeById(f);
if (h.name == "horizontalSeparator") {
h.props.w = e.props.w;
Designer.painter.renderShape(h);
g.push(h)
}
}
e.children.push(this.id);
Model.updateMulti(g)
}
Designer.painter.renderShape(e);
this.parent = e.id
}});
Schema.addShape({name:"horizontalPool", title:"泳池(水平)",text:"泳池(水平)", category:"lane", attribute:{rotatable:false, linkable:false, container:true}, children:[], props:{w:640, h:200}, fontStyle:{size:16, orientation:"horizontal"}, textBlock:{x:0, y:10, w:40, h:"h-20"},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"},
anchors:[], resizeDir:["t", "r", "b"], path:[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:{ref:"rectangle"}},
{lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:0},
{action:"line", x:40, y:0},
{action:"line", x:40, y:"h"},
{action:"line", x:0, y:"h"},
{action:"close"}
]}
], drawIcon:function (a, b) {
b += 8;
var c = -4;
return[
{fillStyle:{type:"none"}, actions:[
{action:"move", x:0, y:c},
{action:"line", x:a, y:c},
{action:"line", x:a, y:b},
{action:"line", x:0, y:b},
{action:"close"}
]},
{actions:[
{action:"move", x:0, y:c},
{action:"line", x:4, y:c},
{action:"line", x:4, y:b},
{action:"line", x:0, y:b},
{action:"close"}
]},
{actions:[
{action:"move", x:4, y:(c + b) / 2},
{action:"line", x:a, y:(c + b) / 2}
]}
]
}});
Schema.addShape({name:"horizontalLane", title:"泳道(水平)",text:"泳道(水平)", category:"lane", attribute:{container:true, rotatable:false, linkable:false}, props:{w:600, h:200}, fontStyle:{orientation:"horizontal"}, textBlock:{x:0, y:10, w:30, h:"h-20"},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"},
anchors:[], resizeDir:["t", "b", "r"], path:[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:{ref:"rectangle"}},
{lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:0},
{action:"line", x:30, y:0},
{action:"line", x:30, y:"h"},
{action:"line", x:0, y:"h"},
{action:"close"}
]}
], drawIcon:function (a, b) {
b += 3;
return[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:-1},
{action:"line", x:a, y:-1},
{action:"line", x:a, y:b},
{action:"line", x:0, y:b},
{action:"close"}
]},
{lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:-1},
{action:"line", x:4, y:-1},
{action:"line", x:4, y:b},
{action:"line", x:0, y:b},
{action:"close"}
]}
]
}, onCreated:function () {
var d = getPool(this, "horizontalPool");
if (d == null) {
d = Model.create("horizontalPool", this.props.x - 40, this.props.y);
d.children = [this.id];
Model.add(d)
} else {
if (!d.children) {
d.children = []
}
var f = [d];
var h = d.props.y;
var b = 0;
var a = 0;
for (var c = 0; c < d.children.length; c++) {
var e = d.children[c];
var g = Model.getShapeById(e);
if (g.name == "horizontalLane") {
h += g.props.h;
b++
} else {
if (g.name == "horizontalSeparatorBar") {
h += g.props.h;
a++
}
}
}
this.props.y = h;
this.props.x = d.props.x + 40;
this.props.w = d.props.w - 40;
if (b == 0) {
if (a == 0) {
this.props.h = d.props.h
} else {
this.props.h = d.props.h - 20
}
}
Designer.painter.renderShape(this);
d.props.h = this.props.y + this.props.h - d.props.y;
for (var c = 0; c < d.children.length; c++) {
var e = d.children[c];
var g = Model.getShapeById(e);
if (g.name == "verticalSeparator") {
g.props.h = d.props.h;
Designer.painter.renderShape(g);
f.push(g)
}
}
d.children.push(this.id);
Model.updateMulti(f)
}
Designer.painter.renderShape(d);
this.parent = d.id
}});
Schema.addShape({name:"verticalSeparatorBar", title:"水平分隔条",category:"lane", attribute:{rotatable:false, linkable:false, visible:false}, props:{w:20, h:500}, anchors:[], resizeDir:[], textBlock:{},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"}, path:[
{lineStyle:{lineStyle:"solid"}, actions:{ref:"rectangle"}}
]});
Schema.addShape({name:"horizontalSeparator", title:"分隔符(水平)", category:"lane", attribute:{rotatable:false, linkable:false}, props:{w:300, h:0}, fontStyle:{orientation:"horizontal", textAlign:"left"}, textBlock:{x:0, y:5, w:20, h:"h-10"},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"}, text:"阶段",
anchors:[], resizeDir:["b"], path:[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:"h"},
{action:"line", x:"w", y:"h"}
]},
{actions:[
{action:"move", x:0, y:0},
{action:"line", x:20, y:0},
{action:"line", x:20, y:"h"},
{action:"line", x:0, y:"h"},
{action:"close"}
]}
], drawIcon:function (a, b) {
return[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:0},
{action:"line", x:a, y:0}
]}
]
}, onCreated:function () {
var g = getPool(this, "verticalPool");
if (g == null) {
return false
}
var j = getChild(g, "verticalSeparatorBar");
if (j == null) {
j = Model.create("verticalSeparatorBar", g.props.x - 20, g.props.y + 40);
j.props.h = g.props.h - 40;
j.parent = g.id;
Model.add(j);
Designer.painter.renderShape(j);
g.props.x -= j.props.w;
g.props.w += j.props.w;
g.children.push(j.id);
Designer.painter.renderShape(g)
}
var a = this.props.y + this.props.h;
var h = g.props.y + 40;
var f = null;
for (var e = 0; e < g.children.length; e++) {
var d = g.children[e];
var b = Model.getShapeById(d);
if (b.name != "horizontalSeparator") {
continue
}
var c = b.props.y + b.props.h;
if (c <= a) {
h += b.props.h
} else {
if (f == null || b.props.y < f.props.y) {
f = b
}
}
}
this.props.x = g.props.x;
this.props.w = g.props.w;
this.props.h = a - h;
this.props.y = h;
g.children.push(this.id);
this.parent = g.id;
if (a > g.props.y + g.props.h) {
this.props.h = g.props.y + g.props.h - h
}
Designer.painter.renderShape(this);
if (f != null) {
f.props.y += this.props.h;
f.props.h -= this.props.h;
Designer.painter.renderShape(f);
Model.updateMulti([g, f])
} else {
Model.update(g)
}
this.props.zindex = Model.maxZIndex + 1
}});
Schema.addShape({name:"horizontalSeparatorBar", title:"垂直分隔条", category:"lane", attribute:{rotatable:false, linkable:false, visible:false}, props:{w:600, h:20}, anchors:[], resizeDir:[], textBlock:{},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"}, path:[
{lineStyle:{lineStyle:"solid"}, actions:{ref:"rectangle"}}
]});
Schema.addShape({name:"verticalSeparator", title:"分隔符(垂直)", category:"lane", attribute:{rotatable:false, linkable:false}, props:{w:0, h:300}, fontStyle:{textAlign:"right"}, textBlock:{x:5, y:0, w:"w-10", h:20},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"}, text:"阶段",
anchors:[], resizeDir:["r"], path:[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:"w", y:0},
{action:"line", x:"w", y:"h"}
]},
{actions:[
{action:"move", x:0, y:0},
{action:"line", x:"w", y:0},
{action:"line", x:"w", y:20},
{action:"line", x:0, y:20},
{action:"close"}
]}
], drawIcon:function (a, b) {
return[
{fillStyle:{type:"none"}, lineStyle:{lineStyle:"solid"}, actions:[
{action:"move", x:0, y:0},
{action:"line", x:0, y:b}
]}
]
}, onCreated:function () {
var e = getPool(this, "horizontalPool");
if (e == null) {
return false
}
var g = getChild(e, "horizontalSeparatorBar");
if (g == null) {
g = Model.create("horizontalSeparatorBar", e.props.x + 40, e.props.y - 20);
e.props.y -= g.props.h;
e.props.h += g.props.h;
e.children.push(g.id);
Designer.painter.renderShape(e);
g.props.w = e.props.w - 40;
g.parent = e.id;
Model.add(g);
Designer.painter.renderShape(g)
}
var j = this.props.x + this.props.w;
var h = e.props.x + 40;
var d = null;
for (var c = 0; c < e.children.length; c++) {
var b = e.children[c];
var a = Model.getShapeById(b);
if (a.name != "verticalSeparator") {
continue
}
var f = a.props.x + a.props.w;
if (f <= j) {
h += a.props.w
} else {
if (d == null || a.props.x < d.props.x) {
d = a
}
}
}
this.props.x = h;
this.props.w = j - h;
this.props.y = e.props.y;
this.props.h = e.props.h;
if (j > e.props.x + e.props.w) {
this.props.w = e.props.x + e.props.w - h
}
Designer.painter.renderShape(this);
e.children.push(this.id);
this.parent = e.id;
if (d != null) {
d.props.x += this.props.w;
d.props.w -= this.props.w;
Designer.painter.renderShape(d);
Model.updateMulti([e, d])
} else {
Model.update(e)
}
this.props.zindex = Model.maxZIndex + 1
}});

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<attributes type="customer">
<attribute key="auditor" title="审核人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="审核人" isRequired="false"/>
<attribute key="reviewer" title="复核人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="复核人" isRequired="false"/>
<attribute key="approver" title="审批人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="审批人" isRequired="false"/>
<attribute key="application" title="适用范围" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="适用范围" isRequired="false"/>
<attribute key="file_number" title="文件编码" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="文件编码" isRequired="false"/>
<attribute key="Process_Architecture_L1" title="流程架构L1" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="流程架构L1" isRequired="false"/>
<attribute key="Process_Architecture_L2" title="流程架构L2" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="流程架构L2" isRequired="false"/>
<attribute key="Process_Architecture_L3" title="流程架构L3" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="流程架构L3" isRequired="false"/>
<attribute key="ARIS" title="ARIS地址" type="string" value="" ref="" readonly="false" groupPath="organization" scope="%" isValid="true" desc="ARIS地址" isRequired="false"/>
<attribute key="P_versions" title="版本" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="版本" isRequired="true"/>
<attribute key="Drafted_and_revised_by" title="拟制/修订人" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="拟制/修订人" isRequired="false"/>
<attribute key="T_supplementary_articles" title="附则" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="附则" isRequired="false"/>
<attribute key="goal" title="目的" type="string" value="" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true" desc="目的" isRequired="true"/>
<attribute key="activity_number" title="活动序号" type="string" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true" desc="活动序号" isRequired="false"/>
<attribute key="Process_performance_metrics" title="流程绩效" type="relation" value="" ref="{&quot;method&quot;:&quot;control.kpi&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true" desc="流程绩效" isRequired="false"/>
<attribute key="activity_description" title="活动描述" type="textarea" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true" desc="活动描述" isRequired="true"/>
<attribute key="output" title="输出" type="textarea" value="" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true" desc="输出" isRequired="false"/>
<attribute key="R_relevant_flies" title="相关文件" type="relation" value="" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true" desc="相关文件" isRequired="false"/>
<attribute key="support_files" title="支持文件" type="relation" value="" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true" desc="支持文件" isRequired="false"/>
<attribute key="relevant_flies" title="相关知识" type="link" value="" desc="相关知识" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="input" title="输入" type="textarea" value="" desc="输入" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="relevant_demand" title="相关要求" type="relation" value="" desc="相关要求" isRequired="false" ref="{&quot;method&quot;:&quot;itsystem&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false,&quot;value&quot;:&quot;&quot;}" readonly="true" groupPath="baseAttribute" scope="*" isValid="false"/>
<attribute key="post" title="岗位" type="relation" value="" desc="岗位" isRequired="false" ref="{&quot;method&quot;:&quot;org.normal&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="role" title="角色" type="relation" value="" desc="角色" isRequired="false" ref="{&quot;method&quot;:&quot;org.normal&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="term" title="术语" type="table" value="" desc="术语" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;术语&quot;,&quot;secondColumn&quot;:&quot;定义&quot;}" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="information_systems" title="信息系统" type="relation" value="" desc="信息系统" isRequired="false" ref="{&quot;method&quot;:&quot;itsystem.normal&quot;,&quot;type&quot;:&quot;shape&quot;,&quot;multiple&quot;:false}" readonly="true" groupPath="baseAttribute" scope="*" isValid="true"/>
<attribute key="Organizational_role" title="组织/角色与职责" type="table" value="" desc="组织/角色与职责" isRequired="false" ref="{&quot;firstColumn&quot;:&quot;名称&quot;,&quot;secondColumn&quot;:&quot;职责&quot;}" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Drafted_and_revised_date" title="拟制/修订日期" type="DateTimePicker" value="" desc="拟制/修订日期" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="effective_date" title="生效日期" type="DateTimePicker" value="" desc="生效日期" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Issuing_department" title="发布部门" type="awsorg" value="" desc="发布部门" isRequired="false" ref="{&quot;scope&quot;:[&quot;department&quot;],&quot;multiple&quot;:false}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Process_owner" title="流程责任人" type="awsorg" value="" desc="流程责任人" isRequired="false" ref="{&quot;scope&quot;:[&quot;user&quot;],&quot;multiple&quot;:false}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Whether_issued" title="是否发布" type="string" value="" desc="是否发布" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
<attribute key="ARIS_process_name" title="ARIS流程名称" type="string" value="" desc="ARIS流程名称" isRequired="false" ref="" readonly="false" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="lead_process" title="前置流程" type="relation" value="" desc="前置流程" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="rear_process" title="后置流程" type="relation" value="" desc="后置流程" isRequired="false" ref="{&quot;method&quot;:&quot;process&quot;,&quot;type&quot;:&quot;file&quot;,&quot;multiple&quot;:true}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="Contents_and_reasons_for_revision" title="修订内容及理由" type="textarea" value="" desc="修订内容及理由" isRequired="false" ref="" readonly="false" groupPath="baseAttribute" scope="%" isValid="true"/>
</attributes>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
特性设置非必须多个app提供该Method Attribute时追加定义作用范围该MethodId对象。
被ResourceScanner扫描器检查更新
-->
<attributes>
<!--
分组
name 组名称
parentName 上级组名称,若根此处可空
desc 简要说明
<group name="AWS" parentName="" desc="AWS BPMS名称"/>
<group name="Process" parentName="AWS" desc="Process名称"/>-->
<group name="baseAttribute" parentName="" desc="基本属性"/>
<group name="process" parentName="" desc="流程分析"/>
<group name="organization" parentName="" desc="组织"/>
<group name="org_performance" parentName="" desc="绩效"/>
<group name="data_form" parentName="" desc="数据"/>
<group name="itsystem_normal" parentName="" desc="IT系统"/>
<group name="control" parentName="" desc="控制"/>
<group name="process_model" parentName="" desc="流程"/>
<!--
扩展特性(属性)
key 全局唯一标识名
title 属性标题
type 属性类型支持string(普通字符串),number(数字),boolean(是非),list(多选值),link(链接),relation(关联关系),textarea(多行文本)
value 默认值//支持@公式
ref 当type=list时参考值
readonly 是否只读
groupPath 特性绑定在哪个组别上
scope 应用范围methodId、methodId.shapeId多个用逗号隔开%代表文件属性 *代表对所有的图形有效,不是文件属性
- 组织-执行部门
- 流程分析-处理时间
- 流程分析-等待时间
- 流程分析-执行频率
- 绩效-流程绩效
- 产品服务-产品
- 产品服务-服务
- 流程执行-信息系统
- 风险控制 - 制度
- 风险控制 - 制度条款
- 风险控制- 风险
- 风险控制 - 控制
-->
<attribute key="lead_process" title="前置流程" type="relation" value="" ref="{method:'process',multiple:true,type:'file'}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
<attribute key="rear_process" title="后置流程" type="relation" value="" ref="{method:'process',multiple:true,type:'file'}" readonly="true" groupPath="process_model" scope="%" isValid="true"/>
</attributes>

View File

@ -2597,13 +2597,14 @@ public class CoEPALController {
// @Mapping("COE_PAL_OUTPUTREPORT_OUTPUT_PROCESS_CREATE")
@Mapping("com.actionsoft.apps.coe.pal_outputreport_output_process_create")
public String COEPALOUTPUTREPORTOutputProcessCreate(UserContext me, String wsId, String teamId, String fileId) {
PALRepositoryModel model = PALRepositoryCache.getCache().get(fileId);
PALRepositoryModel model = PALRepositoryCache.getCache().get(fileId);
String methodId = model.getMethodId();
if ("data.form".equals(methodId)) {
return PALRepositoryQueryAPIManager.getInstance().createOutputReportBd(wsId, me.getUID(), teamId, fileId);
if ("data.form".equals(methodId)) {
return PALRepositoryQueryAPIManager.getInstance().createOutputReportBd(wsId, me.getUID(), teamId, fileId);
//方案手册走制度手册逻辑
} else if ("control.policy".equals(methodId) ||"process.scheme".equals(methodId) || "engineering.standard".equals(methodId)) {
return PALRepositoryQueryAPIManager.getInstance().createOutputReportZd(wsId, me.getUID(), teamId, fileId);
return PALRepositoryQueryAPIManager.getInstance().createOutputReportZd(wsId, me.getUID(), teamId, fileId);
}

View File

@ -75,7 +75,7 @@ public class PALMethodCache {
}
//如果是控制类过滤到制度图
if (method.equals("control")) {
if (k.equals("control.policy") ||k.equals("control.oaApprove")) {
if (k.equals("control.policy")) {
continue;
}
}
@ -87,7 +87,7 @@ public class PALMethodCache {
list.add(pmppMap.get("data.form"));
list.add(pmppMap.get("control.policy"));
list.add(pmppMap.get("engineering.standard"));
list.add(pmppMap.get("control.oaApprove"));
}
temp.put(method, list);
}

View File

@ -162,7 +162,7 @@ public final class PALMethodModel {
case "control.ma": name = "L1-L3流程绩效指标";break;
case "process.scheme": name = "方案图";break;
case "engineering.standard": name = "工程技术标准";break;
case "control.oaApprove": name = "OA审批流程";break;
case "process.oaApprove": name = "OA审批流程";break;
}
return name;
}

View File

@ -13100,7 +13100,7 @@ public class CoeProcessLevelWeb extends ActionWeb {
JSONArray methodIds = new JSONArray();
List<PALMethodModel> process = PALMethodCache.getPALMethodModelListByMethod("process");
for (PALMethodModel methodModel : process) {
if ("control.policy".equals(methodModel.getId()) || "data.form".equals(methodModel.getId()) || "process.epc".equals(methodModel.getId()) || "process.bpmn2".equals(methodModel.getId()) || "process.flowchart".equals(methodModel.getId()) || "process.evc".equals(methodModel.getId()) ||"process.scheme".equals(methodModel.getId()) || "engineering.standard".equals(methodModel.getId()) || "control.oaApprove".equals(methodModel.getId())) {
if ("control.policy".equals(methodModel.getId()) || "data.form".equals(methodModel.getId()) || "process.epc".equals(methodModel.getId()) || "process.bpmn2".equals(methodModel.getId()) || "process.flowchart".equals(methodModel.getId()) || "process.evc".equals(methodModel.getId()) ||"process.scheme".equals(methodModel.getId()) || "engineering.standard".equals(methodModel.getId()) || "process.oaApprove".equals(methodModel.getId())) {
JSONObject methodId = new JSONObject();
methodId.put("methodId", methodModel.getId());
methodId.put("name", methodModel.getMethodName());
@ -13118,7 +13118,7 @@ public class CoeProcessLevelWeb extends ActionWeb {
}
List<PALMethodModel> control = PALMethodCache.getPALMethodModelListByMethod("control");
for (PALMethodModel methodModel : control) {
if ("control.policy".equals(methodModel.getId()) || "control.ma".equals(methodModel.getId()) || "control.risk".equals(methodModel.getId()) || "control.kpi".equals(methodModel.getId()) || "control.oaApprove".equals(methodModel.getId()) ) {
if ("control.policy".equals(methodModel.getId()) || "control.ma".equals(methodModel.getId()) || "control.risk".equals(methodModel.getId()) || "control.kpi".equals(methodModel.getId()) || "process.oaApprove".equals(methodModel.getId()) ) {
JSONObject methodId = new JSONObject();
methodId.put("methodId", methodModel.getId());
methodId.put("name", methodModel.getMethodName());

View File

@ -310,7 +310,7 @@ public class StartListener implements AppListener{
MethodAppManager.register("control.risk", appContext, "control.risk", "risk建模方法");
MethodAppManager.register("control.kpi", appContext, "control.kpi", "kpi建模方法");
MethodAppManager.register("control.oaApprove", appContext, "control.oaApprove", "OA");
MethodAppManager.register("process.oaApprove", appContext, "process.oaApprove", "OA");
// 是否开启业务层级业务域流程组建模方法
if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "OPEN_BUSINESS_METHOD", false)) {

View File

@ -13,4 +13,4 @@
var mainType = "<#mainType>";
var uid = "<#uid>";
var wHref = "./w";
var jdHref = "./jd";</script><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-000a72de.ef0a5aa8.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-1183d26a.c5c7126f.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-2bfb9a00.0f85d5fe.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-37cfda4c.283a9f57.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-4c9d1ae3.dbfe5264.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-60212f14.adde4cab.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-84878f88.3b6330d4.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-aa4b8a60.38619268.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-c9eae4cc.e55cad48.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-000a72de.20a550d5.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-1183d26a.f76d45f3.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2bfb9a00.154e2040.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0ab156.2feb75b4.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0f078a.405755e3.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d212b99.36769e0d.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d216d3a.77e9b381.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d224b23.21147211.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d224ef1.0e6c6041.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-3178e2bf.4eaea01a.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-37cfda4c.ab0d3ddd.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-3a9b7577.d0fe904b.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-4c9d1ae3.3024a0cf.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-60212f14.0adeb254.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-84878f88.388e8115.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-aa4b8a60.c4f44745.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-c9eae4cc.f7f90891.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/app.64a72b43.css rel=preload as=style><link href=../apps/com.actionsoft.apps.coe.pal/main/js/app.9f354cc6.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-vendors.81a322e7.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal/main/css/app.64a72b43.css rel=stylesheet></head><body style=margin:0;><div id=app></div><script src=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-vendors.81a322e7.js></script><script src=../apps/com.actionsoft.apps.coe.pal/main/js/app.9f354cc6.js></script></body></html>
var jdHref = "./jd";</script><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-000a72de.ef0a5aa8.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-1183d26a.c5c7126f.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-37cfda4c.283a9f57.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-4c9d1ae3.dbfe5264.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-60212f14.adde4cab.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-61da7f82.e16c7b2b.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-84878f88.3b6330d4.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-aa4b8a60.38619268.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/chunk-c9eae4cc.e55cad48.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-000a72de.20a550d5.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-1183d26a.f76d45f3.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0ab156.2feb75b4.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d0f078a.405755e3.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d212b99.36769e0d.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d216d3a.77e9b381.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d224b23.21147211.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-2d224ef1.0e6c6041.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-3178e2bf.4eaea01a.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-37cfda4c.ab0d3ddd.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-3a9b7577.d0fe904b.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-4c9d1ae3.3024a0cf.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-60212f14.0adeb254.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-61da7f82.c1690733.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-84878f88.388e8115.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-aa4b8a60.c4f44745.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-c9eae4cc.f7f90891.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal/main/css/app.64a72b43.css rel=preload as=style><link href=../apps/com.actionsoft.apps.coe.pal/main/js/app.f1eb86d6.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-vendors.81a322e7.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal/main/css/app.64a72b43.css rel=stylesheet></head><body style=margin:0;><div id=app></div><script src=../apps/com.actionsoft.apps.coe.pal/main/js/chunk-vendors.81a322e7.js></script><script src=../apps/com.actionsoft.apps.coe.pal/main/js/app.f1eb86d6.js></script></body></html>

View File

@ -450,6 +450,7 @@
var teamId = "<#teamId>";
var jssdk;
var mrStatus = "0";
var apprivalStatus = "0";
</script>
<!--工具js-->
<script type='text/javascript' charset='UTF-8' src='../apps/com.actionsoft.apps.coe.pal/lib/designer/extend/js/util/map.js'></script>
@ -592,10 +593,14 @@
if (methodId == 'data.form') {
$('#bar_importPolicyFile').css('display','none')
}
if (methodId != 'process.oaApprove') {
$('#switchOAApproval').css('display','none')
}
//新增 打开wps文件逻辑
if(methodId === 'control.policy' || methodId ==='engineering.standard' || methodId ==='process.scheme'){
//执行切换显示按钮
switchWpsDisplay(true);
//switchWpsDisplay(true);
}else{
$("#switchViews").css('display','none');
}
@ -606,6 +611,7 @@
}
isGetHidden();
if (!installBatch) {// 未安装批处理应用,删除功能入口
$('li[ac=batchreplace]').remove();
@ -1211,6 +1217,39 @@
updateShapePanel();
}
}
async function switchWpsOAApprovalDisplay(flag) {
if (flag) {//显示wps页面隐藏其余页面
$("#wpsPage").css('display', 'block');
$("#wpsPage").height($('#designer_viewport').height());
$("#shape_panel").css('display', 'none');
$("#shape_panel_more_shape").css('display', 'none');
$("#designer_layout").css('display', 'none');
//打开wps在线编辑页面
$("#dock").css("right", 0);
openWpsOaApprovalUrl();
} else {
$("#wpsPage").css('display', 'none');
$("#shape_panel").css('display', 'block');
$("#shape_panel_more_shape").css('display', 'block');
$("#designer_layout").css('display', 'block');
var layoutW = $("#designer_layout").width();
var viewW = $("#layout_block").width();
// 总宽度减去可视区域的宽度,得到滚动条宽度
var navRight = layoutW - viewW;
$("#dock").css("right", navRight);
//先触发保存
await saveWps();
updateShapePanel();
}
}
//切换视图页面
function switchViews(){
if ($("#wpsPage").is(":visible")) {
@ -1227,6 +1266,14 @@
switchWpsMRDisplay(true);
}
}
//切换OA审批视图
function switchOAApproval(){
if ($("#wpsPage").is(":visible")) {
switchWpsOAApprovalDisplay(false);
} else {
switchWpsOAApprovalDisplay(true);
}
}
function updateMrStatus(){//更新管理办法的生效状态
//先判断是否要更新管理办法的生效状态
@ -1315,6 +1362,33 @@
}
});
}
function openWpsOaApprovalUrl() {
$.ajax({
url: "./jd?sid=" + sid + "&cmd=com.awspaas.user.apps.yiliwps.previewUrl_oaApproval&palId=" + ruuid,
type: 'GET',
success: function (data) {
apprivalStatus = data.data.approvalStatus;
if (data.data.content.code === 200) {
//换一种打开方式
console.log('引入后可以开始使用 JSSDK 了~');
jssdk = WebOfficeSDK.config({
url: data.data.content.data.link, // 该地址需要对接方服务端提供,形如 https://wwo.wps.cn/office/p/xxx
mount: document.querySelector('#wpsPage')
})
jssdk.on('fileOpen', (data) => {
console.log('打开文档成功: ', data)
})
}
}
});
}
//渲染形状配置信息
/*function painterShapeConfig(dataArray, shapeId, key) {
for (var i = 0; i < dataArray.length; i++) {
@ -1580,6 +1654,9 @@
<div id="switchMRViews" awsui-qtip='切换管理要求视图' class="toolbar_button">
<div class="ico switchViews" onclick="switchMRViews()"></div>
</div>
<div id="switchOAApproval" awsui-qtip='切换oa审批视图' class="toolbar_button">
<div class="ico switchViews" onclick="switchOAApproval()"></div>
</div>
<!-- <div id="bar_import" awsui-qtip='导入' class="toolbar_button" style="<#importStyle>">
<div class="ico ico_import"></div>
</div> -->

View File

@ -759,6 +759,9 @@
<div id="switchMRViews" awsui-qtip='切换管理要求视图' class="toolbar_button">
<div class="ico switchViews"></div>
</div>
<div id="switchOAApproval" awsui-qtip='切换OA审批视图' class="toolbar_button">
<div class="ico switchViews"></div>
</div>
<!-- <div id="bar_importShape" awsui-qtip='上传附件并创建相应节点' class="toolbar_button" style="<#importShapeStyle>">
<div class="ico ico_importShape"></div>
</div>-->
@ -1803,15 +1806,19 @@
<script>
$(document).ready(function() {
//新增 打开wps文件逻辑
if(methodId === 'control.policy'|| methodId ==='engineering.standard' || methodId ==='process.scheme' || methodId ==='control.oaApprove'){
if(methodId === 'control.policy'|| methodId ==='engineering.standard' || methodId ==='process.scheme' || methodId ==='process.oaApprove'){
//执行切换显示按钮
switchWpsDisplay(true);
}else{
$("#switchViews").css('display','none');
$("#textFileShow").css('display','none');
}
if (methodId != 'process.oaApprove') {
$('#switchOAApproval').css('display','none')
}
// 只有epc和泳道图显示切换按钮
if (methodId !== 'process.epc' && methodId !== 'process.flowchart') {
if (methodId !== 'process.epc' && methodId !== 'process.flowchart' && methodId !== 'process.oaApprove') {
$("#switchMRViews").css('display', 'none');
}
@ -1854,6 +1861,15 @@
}
});
$("#switchOAApproval").off("click").on("click", function () {
if ($("#wpsPage").is(":visible")) {
switchWpsOAApprovalDisplay(false);
} else {
switchWpsOAApprovalDisplay(true);
}
});
function switchWpsDisplay(flag) {
if (flag) {//显示wps页面隐藏其余页面
$("#wpsPage").css('display', 'block');
@ -1898,8 +1914,35 @@
}
}
async function switchWpsOAApprovalDisplay(flag) {
if (flag) {//显示wps页面隐藏其余页面
$("#wpsPage").css('display', 'block');
$("#wpsPage").height($('#designer_viewport').height());
$("#shape_panel").css('display', 'none');
$("#shape_panel_more_shape").css('display', 'none');
$("#designer_layout").css('display', 'none');
//打开wps在线编辑页面
$("#dock").css("right", 0);
openWpsOAApprovalUrl();
} else {
$("#wpsPage").css('display', 'none');
$("#shape_panel").css('display', 'block');
$("#shape_panel_more_shape").css('display', 'block');
$("#designer_layout").css('display', 'block');
var layoutW = $("#designer_layout").width();
var viewW = $("#layout_block").width();
// 总宽度减去可视区域的宽度,得到滚动条宽度
var navRight = layoutW - viewW;
$("#dock").css("right", navRight);
updateShapePanel();
}
}
function openWpsUrl(){
debugger;
$.ajax({
url: "./jd?sid=" + sid + "&cmd=com.awspaas.user.apps.yiliwps.readOnlyUrl&palId=" + ruuid +"&fileName="+updatedPolicyFileList,
type: 'GET',
@ -1947,6 +1990,38 @@
});
}
function openWpsOAApprovalUrl() {
$.ajax({
url: "./jd?sid=" + sid + "&cmd=com.awspaas.user.apps.yiliwps.previewUrl_oaApproval_read&palId=" + ruuid,
type: 'GET',
success: function (data) {
if(data.result=="ok"){
if (data.data.content.code === 200) {
//换一种打开方式
console.log('引入后可以开始使用 JSSDK 了~');
jssdk = WebOfficeSDK.config({
url: data.data.content.data.link, // 该地址需要对接方服务端提供,形如 https://wwo.wps.cn/office/p/xxx
mount: document.querySelector('#wpsPage')
})
jssdk.on('fileOpen', (data) => {
console.log('打开文档成功: ', data)
})
}else{
$.simpleAlert(data.data.msg, "info", 2000);
}
}else{
$.simpleAlert(data.msg, "info", 2000);
}
}
});
}
});
</script>

File diff suppressed because one or more lines are too long

View File

@ -432,6 +432,8 @@ public class Report1Gener {
dataMap.put("CNAMEFONTSIZE",changeValueToDouble(bo.getString("CNAMEFONTSIZE")));
dataMap.put("HEADERFONT",bo.getString("HEADERFONT"));
dataMap.put("FOOTERFONT",bo.getString("FOOTERFONT"));
//dataMap.put("HEADERBOTTOMLINE1","───────────────────────────────────────────────────");
//dataMap.put("HEADERBOTTOMLINE1","───────────────────────────────────────────────────────────────────────────────────────────────────────────────");
List<FormFile> headerlogo = SDK.getBOAPI().getFiles(bo.getId(), "HEADERLOGO");
if(headerlogo.size()>0){
FormFile formFile = headerlogo.get(0);

View File

@ -2955,7 +2955,7 @@
<w:hdr w:type="odd">
<w:tbl>
<w:tblPr>
<w:tblW w:w="8520" w:type="dxa"/>
<w:tblW w:w="100%" w:type="pct"/>
<w:jc w:val="center"/>
<w:tblInd w:w="0" w:type="dxa"/>
<w:tblBorders>
@ -2969,8 +2969,8 @@
<w:tblLayout w:type="Fixed"/>
</w:tblPr>
<w:tblGrid>
<w:gridCol w:w="4260"/>
<w:gridCol w:w="4260"/>
<w:gridCol w:w="5000"/>
<w:gridCol w:w="5000"/>
</w:tblGrid>
<w:tr wsp:rsidR="002737AF" wsp:rsidTr="00F7324A">
<w:trPr>
@ -2979,7 +2979,7 @@
</w:trPr>
<w:tc>
<w:tcPr>
<w:tcW w:w="4260" w:type="dxa"/>
<w:tcW w:w="0" w:type="auto"/>
<w:tcBorders>
<w:top w:val="single" w:sz="6" wx:bdrwidth="15" w:space="0" w:color="FFFFFF"/>
<w:left w:val="single" w:sz="6" wx:bdrwidth="15" w:space="0" w:color="FFFFFF"/>
@ -3005,7 +3005,7 @@
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="4260" w:type="dxa"/>
<w:tcW w:w="0" w:type="auto"/>
<w:tcBorders>
<w:top w:val="single" w:sz="6" wx:bdrwidth="15" w:space="0" w:color="FFFFFF"/>
<w:left w:val="single" w:sz="6" wx:bdrwidth="15" w:space="0" w:color="FFFFFF"/>

View File

@ -27,4 +27,13 @@ public class YiliWpsConst {
public static final String APP_ACT_COE_PAL_UPFILE = "APP_ACT_COE_PAL_UPFILE";
public static final String BO_EU_OA_APPROVAL_TEMPLATE = "BO_EU_OA_APPROVAL_TEMPLATE";
public static final String BO_EU_OA_APPROVAL_TEMPLATE_TJ = "BO_EU_OA_APPROVAL_TEMPLATE_TJ";
}

View File

@ -41,6 +41,21 @@ public class YiliWpsController {
return web.getWPSMROnlineFilePreviewUrl(palId);
}
/**
* 打开可编辑的页面oa审批流程
* @param me
* @param palId
* @return
* @throws Exception
*/
@Mapping("com.awspaas.user.apps.yiliwps.previewUrl_oaApproval")
public String getWPSOnlineFilePreviewUrloaApproval(UserContext me,String palId) throws Exception{
WpsWeb web =new WpsWeb(me);
return web.getWPSOaApprovalOnlineFilePreviewUrl(palId);
}
/**
* 打开只读的页面epc
* @param me
@ -54,6 +69,21 @@ public class YiliWpsController {
return web.getWPSMROnlineFilePreviewReadUrl(palId);
}
/**
* 打开只读的页面oaapproval
* @param me
* @param palId
* @return
* @throws Exception
*/
@Mapping("com.awspaas.user.apps.yiliwps.previewUrl_oaApproval_read")
public String getWPSOnlineFilePreviewUrlOaApprovalRead(UserContext me,String palId) throws Exception{
WpsWeb web =new WpsWeb(me);
return web.getWPSMROnlineFilePreviewOaApprovalReadUrl(palId);
}
/**
* 打开制度的页面
* @param me

View File

@ -97,9 +97,13 @@ public class WpsWeb extends ActionWeb {
JSONObject user = new JSONObject();
JSONObject user_acl = new JSONObject();
JSONObject watermark = new JSONObject();
if("1".equals(isEPC)){
if("1".equals(isEPC)){
sourceDc = getFileDCContext(fileId,isEPC);
file.put("id", fileId);
}else if("2".equals(isEPC)) {
sourceDc = getFileOAApprovalDCContext(fileId);
file.put("id", fileId);
}else if(UtilString.isEmpty(filePreview)){
sourceDc = getFileDCContext(fileId);
file.put("id", fileId.equals("")?"1":fileId);
@ -167,13 +171,20 @@ public class WpsWeb extends ActionWeb {
//aslpUtil.callTranslateDocASLP(me,palId,fileName,fileInputStream);
//只写入新文件
DCContext sourceDc;
if("1".equals(isEPC)){//EPC图
if("1".equals(isEPC)){//EPC图
sourceDc = getFileDCContext(fileId,isEPC);
sourceDc.setSession(me);
BO mrBO = SDK.getBOAPI().getByKeyField(YiliWpsConst.BO_EU_PROCESS_MR, "FILEUUID", fileId);
List<FormFile> systemfile = SDK.getBOAPI().getFiles(mrBO.getId(), "SYSTEMFILE");
FormFile formFile = systemfile.get(0);
SDK.getBOAPI().upFile(formFile,fileInputStream);
}else if("2".equals(isEPC)){
sourceDc = getFileOAApprovalDCContext(fileId);
sourceDc.setSession(me);
BO mrBO = SDK.getBOAPI().getByKeyField(YiliWpsConst.BO_EU_OA_APPROVAL_TEMPLATE_TJ, "FILEUUID", fileId);
List<FormFile> processfile = SDK.getBOAPI().getFiles(mrBO.getId(), "PROCESSFILE");
FormFile formFile = processfile.get(0);
SDK.getBOAPI().upFile(formFile,fileInputStream);
}else{//制度图
sourceDc = getFileDCContext(fileId);
//在重新获取下fileId
@ -318,6 +329,24 @@ public class WpsWeb extends ActionWeb {
return fileDCContext;
}
/**
* 获取附件的附件ID流程图相关的逻辑
* @param fileId
* @return
*/
public DCContext getFileOAApprovalDCContext(String fileId){
//查询模版记录文件
BO approvalBO = SDK.getBOAPI().getByKeyField(YiliWpsConst.BO_EU_OA_APPROVAL_TEMPLATE_TJ, "FILEUUID", fileId);
List<FormFile> processfile = SDK.getBOAPI().getFiles(approvalBO.getId(), "PROCESSFILE");
FormFile formFile = processfile.get(0);
DCContext fileDCContext = SDK.getBOAPI().getFileDCContext(formFile);
fileDCContext.setSession(this.getContext());
return fileDCContext;
}
/**
* 获取附件的附件ID
* @return
@ -451,9 +480,51 @@ public class WpsWeb extends ActionWeb {
ResponseObject ro = ResponseObject.newOkResponse();
ro.put("mrStatus",mrStatus);
ro.put("content",content);
System.out.println("content1111111"+content);
return ro.toString();
}
/**
* 编辑打开OA审批流程图wps在线
* @param palId
* @return
* @throws Exception
*/
public String getWPSOaApprovalOnlineFilePreviewUrl(String palId) throws Exception{
//先判断流程是否已经编辑过 //先判断流程是否已经编辑过
BO approvalBO = SDK.getBOAPI().getByKeyField(YiliWpsConst.BO_EU_OA_APPROVAL_TEMPLATE_TJ, "FILEUUID", palId);
if(null == approvalBO){//如果为空
approvalBO = new BO();
approvalBO.set("FILEUUID",palId);
approvalBO.set("STATUS","1");//默认无效
ProcessInstance processInstance = SDK.getProcessAPI().createProcessInstance("obj_f400aa120f0a4bceb31f0a354ea73fd7", this.getContext().getUID(), "新建OA审批流程文件");
SDK.getBOAPI().create(YiliWpsConst.BO_EU_OA_APPROVAL_TEMPLATE_TJ, approvalBO, processInstance, this.getContext());
//创建完BO后把模版附件copy进去
//先获取模版文件
BO tplBO = SDK.getBOAPI().query(YiliWpsConst.BO_EU_OA_APPROVAL_TEMPLATE).addQuery("FILESTATE=", true).detail();
SDK.getBOAPI().copyFileTo(tplBO.getId(),"PROCESSFILE",approvalBO.getId(),YiliWpsConst.BO_EU_OA_APPROVAL_TEMPLATE_TJ,"PROCESSFILE",processInstance.getId(),null);
}
String approvalStatus = approvalBO.getString("STATUS");//获取管理办法状态
DCContext sourceDc = getFileOAApprovalDCContext(palId);
WPS4Util.initAppInfo(YiliWpsConst.AK, YiliWpsConst.SK);
String url = String.format("/api/edit/v1/files/%s/link?type=%s&_w_third_sid=%s&_w_third_palId=%s&_w_third_queryFileId=%s&_w_third_fname=%s&_w_third_isEPC=%s",palId,"w",this.getContext().getSessionId(),palId,palId,URLEncoder.encode(sourceDc.getFileName()),"2");
Map<String,String> headers = WPS4Util.getSignatureHeaders(url, HttpMethod.GET,null, YiliWpsConst.CONTENT_TYPE);
logAPI.consoleInfo(">>>>>headers"+headers);
String content = HttpPostUtil.sendGetRequest(YiliWpsConst.HOST + "/open" + url, headers);
ResponseObject ro = ResponseObject.newOkResponse();
ro.put("approvalStatus",approvalStatus);
ro.put("content",content);
return ro.toString();
}
/**
* 只读打开流程图管理要求wps在线
* @param palId
@ -481,6 +552,39 @@ public class WpsWeb extends ActionWeb {
return ro.toString();
}
/**
* 只读打开流程图管理要求wps在线
* @param palId
* @return
*/
public String getWPSMROnlineFilePreviewOaApprovalReadUrl(String palId) throws Exception {
//先判断流程是否已经编辑过
BO mrBO = SDK.getBOAPI().getByKeyField(YiliWpsConst.BO_EU_OA_APPROVAL_TEMPLATE_TJ, "FILEUUID", palId);
if(null == mrBO) {//如果为空
return ResponseObject.newErrResponse("未创建管理要求文件").toString();
}
String approvalStatus = mrBO.getString("STATUS");//获取管理办法状态
if("0".equals(approvalStatus)){
return ResponseObject.newErrResponse("OA审批文件未生效").toString();
}
DCContext sourceDc = getFileDCContext(palId,"1");
WPS4Util.initAppInfo(YiliWpsConst.AK, YiliWpsConst.SK);
String url = String.format("/api/preview/v1/files/%s/link?type=%s&_w_third_sid=%s&_w_third_palId=%s&_w_third_queryFileId=%s&_w_third_fname=%s&_w_third_isEPC=%s",palId,"w",this.getContext().getSessionId(),palId,palId,URLEncoder.encode(sourceDc.getFileName()),"2");
Map<String,String> headers = WPS4Util.getSignatureHeaders(url, HttpMethod.GET,null, YiliWpsConst.CONTENT_TYPE);
logAPI.consoleInfo(">>>>>headers"+headers);
String content = HttpPostUtil.sendGetRequest(YiliWpsConst.HOST + "/open" + url, headers);
ResponseObject ro = ResponseObject.newOkResponse();
ro.put("approvalStatus",approvalStatus);
ro.put("content",content);
return ro.toString();
}
/**
* 更新MR管理办法状态
* @param palId