From 88bd2336ee48291919993aabacd99492244e112b Mon Sep 17 00:00:00 2001 From: "446052889@qq.com" <446052889@qq.com> Date: Thu, 15 Sep 2022 19:32:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=B6=E5=BA=A6=E6=89=8B=E5=86=8C=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...om.awspaas.user.apps.coe.pal.output.zd.jar | Bin 69372 -> 43813 bytes .../pal/output/zd/report1/Report1Gener.java | 8 +- .../pal/output/zd/report2/Report2Gener.java | 393 - .../zd/report2/Report2WizardOption.java | 32 - .../pal/output/zd/report3/Report3Gener.java | 250 - .../zd/report3/Report3WizardOption.java | 32 - .../pal/output/zd/report4/Report4Gener.java | 364 - .../zd/report4/Report4WizardOption.java | 26 - .../pal/output/zd/report5/Report5Gener.java | 33 - .../zd/report5/Report5WizardOption.java | 27 - .../制度-手册4.doc | Bin 0 -> 179712 bytes .../制度-手册4.xml | 6988 +++++++++++++++++ 12 files changed, 6992 insertions(+), 1161 deletions(-) delete mode 100644 com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report2/Report2Gener.java delete mode 100644 com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report2/Report2WizardOption.java delete mode 100644 com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report3/Report3Gener.java delete mode 100644 com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report3/Report3WizardOption.java delete mode 100644 com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report4/Report4Gener.java delete mode 100644 com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report4/Report4WizardOption.java delete mode 100644 com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report5/Report5Gener.java delete mode 100644 com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report5/Report5WizardOption.java create mode 100644 com.awspaas.user.apps.coe.pal.output.zd/制度-手册4.doc create mode 100644 com.awspaas.user.apps.coe.pal.output.zd/制度-手册4.xml diff --git a/com.awspaas.user.apps.coe.pal.output.zd/lib/com.awspaas.user.apps.coe.pal.output.zd.jar b/com.awspaas.user.apps.coe.pal.output.zd/lib/com.awspaas.user.apps.coe.pal.output.zd.jar index 539088227afa76933747f49508e03631de64cb8c..97829304a239381a14d826e2ad60376e16c6402f 100644 GIT binary patch delta 15248 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
    Fg;X2Y;k81;lkC%IRhc(TcKof_x+f+ggDsR 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 Bp7{U( delta 39806 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

    Qo<%jn;(Ve@a61~`Hw4oI& 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%0DQq69pbHw;Dl#V^V0V;-S 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 bmc>HQi{d*(ENCofFoNrw3C48{1loT9-*7 indexMap = new HashMap(); - for (String repositoryId : repositoryIds) { - if (repositoryId == null || "".equals(repositoryId)) { - continue; - } - PALRepositoryModel model = PALRepositoryCache.getCache().get(repositoryId); - if (model != null) { - //获取文件扩展属性 - String json = CoePropertyUtil.getPropertyValue(model.getId() + "_attr"); - JSONObject extendAttr = new JSONObject(); - if (json != null && !"".equals(json) && !"null".equals(json)) { - JSONArray jsonArray = JSONArray.parseArray(json); - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject object = jsonArray.getJSONObject(i); - extendAttr.put(object.getString("id"), object.get("value")); - } - } - //文件的扩展属性 - List repositoryPropertyList = PALRepositoryPropertyCache.getPropertyByPlId(model.getId()); - if (repositoryPropertyList != null && repositoryPropertyList.size() > 0) { - for (PALRepositoryPropertyModel repositoryPropertyModel : repositoryPropertyList) { - extendAttr.put(repositoryPropertyModel.getPropertyId(), repositoryPropertyModel.getPropertyValue()); - } - } - List reportNameLabels = OutputExcelUtil.string2label(reportName); - String reportNameValue = reportName; - if (reportNameLabels.size() > 0) { - reportNameValue = OutputExcelUtil.label2value(model, extendAttr, null, reportName); - - } - reportNameValue = reportNameValue.replaceAll(OutputExcelUtil.FILENAMEREGX, ""); - if (reportNameValue.length() > 255) { - reportNameValue = reportNameValue.substring(0, 255); - } - String docName = ""; - if (indexMap.containsKey(reportNameValue)) { - int index = indexMap.get(reportNameValue); - index++; - log.info("得到word名称为:" + reportNameValue + "(" + index + ")"); - docName = docPath + reportNameValue + "(" + index + ")" + ".doc"; - indexMap.put(reportNameValue, index); - } else { - log.info("得到word名称为:" + reportNameValue); - docName = docPath + reportNameValue + ".doc"; - indexMap.put(reportNameValue, 1); - } - JSONObject dataMap = getData(repositoryId, wizardJsonData); - if (dataMap != null) { - OutputWordUtil.createDoc(dataMap, tempPath, tempName, docName); - } - } - } - } - - private JSONObject getData(String repositoryId, JSONObject wizardJsonData) { - JSONObject dataMap = new JSONObject(); - boolean raciRelationType = SDK.getAppAPI().getPropertyBooleanValue("com.awspaas.user.apps.coe.pal.output.zd", "DETY_POSITION_ROLE_RELATION_TYPE", false); - - dataMap.put("organizationType1", "涉及部门"); - dataMap.put("organizationType2", "涉及岗位\\角色"); - PrReportComment prReportComment = new PrReportComment(); - PALRepositoryModel repositoryModel = PALRepositoryCache.getCache().get(repositoryId); - if (repositoryModel == null) { - return null; - } - prReportComment.getCommentContent(dataMap, repositoryModel); // 获取一些公共的数据(手册首页的手册岗位名称、部门、时间等) - - JSONArray repositoryShapeTable = new JSONArray(); // 流程步骤table - JSONArray shapeDangerTable = new JSONArray(); // 流程步骤的风控要求table - JSONArray shapeKPITable = new JSONArray(); // 流程步骤的量化指标table - - Set dangerSet = new HashSet();// 风险 - Set kpiSet = new HashSet<>();// kpi - Map> relationFileMap = new HashMap<>(); - - List> repositoryFileElements = CoeDesignerUtil.getShapeMessageJson4(repositoryId); //流程文件内容 - if (wizardJsonData.getBoolean("orderNuberFirst")) { // 根据页面选择进行排序 - OutputWordUtil.orderByNumber(repositoryFileElements); - } - if (repositoryFileElements != null) { - int index = 1;// 流程步骤序号 - int dangerIndex = 1;// 风险序号 - int kpiIndex = 1;// 指标序号 - for (Map shape : repositoryFileElements) { - //如果图形元素不是流程步骤,不导出该元素 - if (PrReportComment.PROCESS_STEP.indexOf((String) shape.get("type")) == -1) { - continue; - } - boolean containDangerAttribute = false; - boolean containKPIAttribute = false; - JSONObject _tr = new JSONObject(); - OutputWordUtil.setShapeDefaultValue2(repositoryId, _tr); //设置默认值 - _tr.put(OutputWordUtil.SERIAL_NUMBER, index); //序号 - _tr.put(OutputWordUtil.REPOSITORY_NAME, specialCharTransfer(repositoryModel.getName().replace("\n", ""))); //流程名称 - _tr.put(OutputWordUtil.SHAPE_NAME, specialCharTransfer(shape.get("text").toString()).replace("\n", OutputWordUtil.WRAPSTRING)); //步骤名称 - JSONArray dataAttributes = (JSONArray) shape.get("attributes"); - // 组织(部门)、员工 - List dutyROrgList = new ArrayList<>(); - List approvalAOrgAList = new ArrayList<>(); - List counselorCOrgList = new ArrayList<>(); - List notifyIOrgList = new ArrayList<>(); - // 岗位、员工 - List dutyRRoleList = new ArrayList<>(); - List approvalARoleAList = new ArrayList<>(); - List counselorCRoleList = new ArrayList<>(); - List notifyIRoleList = new ArrayList<>(); - Map> map = OutputWordUtil.getShapeRelationAttrMap(repositoryId, shape.get("id").toString()); - if (!dataAttributes.isEmpty()) { - for (int i = 0; i < dataAttributes.size(); i++) { - JSONObject obj = dataAttributes.getJSONObject(i); - String attrId = obj.getString("key"); - String attrValue = obj.getString("value"); - _tr.put("shape_" + attrId, attrValue.replace("\n", OutputWordUtil.WRAPSTRING)); - if ("bpm_duty_r,bpm_approval_a,bpm_counselor_c,bpm_notify_i,duty_r,approval_a,counselor_c,notify_i".contains(attrId)) { - if (raciRelationType) {// 涉及部门、岗位/角色关联的是bpm组织部门、岗位、角色 - dataMap.put("organizationType1", "涉及部门\\人员"); - dataMap.put("organizationType2", "涉及岗位\\角色"); - if ("bpm_duty_r".equals(attrId)) { - raciRelationAwsOrg(map, "bpm_duty_r", dutyROrgList, dutyRRoleList); - } else if ("bpm_approval_a".equals(attrId)) { - raciRelationAwsOrg(map, "bpm_approval_a", approvalAOrgAList, approvalARoleAList); - } else if ("bpm_counselor_c".equals(attrId)) { - raciRelationAwsOrg(map, "bpm_counselor_c", counselorCOrgList, counselorCRoleList); - } else if ("bpm_notify_i".equals(attrId)) { - raciRelationAwsOrg(map, "bpm_notify_i", notifyIOrgList, notifyIRoleList); - } - } else { - if ("duty_r".equals(attrId)) { - raciRelationPalOrg(map, "duty_r", dutyROrgList, dutyRRoleList); - } else if ("approval_a".equals(attrId)) { - raciRelationPalOrg(map, "approval_a", approvalAOrgAList, approvalARoleAList); - } else if ("counselor_c".equals(attrId)) { - raciRelationPalOrg(map, "counselor_c", counselorCOrgList, counselorCRoleList); - } else if ("notify_i".equals(attrId)) { - raciRelationPalOrg(map, "notify_i", notifyIOrgList, notifyIRoleList); - } - } - } - - if ("danger".equals(attrId)) { - JSONArray dangerTable = new JSONArray(); - dangerIndex = setTableValueOfRiskAndKPI(attrId, repositoryId, shape.get("id").toString(),dangerTable, dangerIndex, _tr.getString(OutputWordUtil.SHAPE_NAME), relationFileMap); - dangerSet.clear(); - _tr.put(OutputWordUtil.TABLE_DANGER, dangerTable); - if (dangerTable.size() > 0) { - containDangerAttribute = true; - } - - } else if ("kpi".equals(attrId)) { - JSONArray kpiTable = new JSONArray(); - kpiIndex = setTableValueOfRiskAndKPI(attrId, repositoryId, shape.get("id").toString(), kpiTable, kpiIndex, _tr.getString(OutputWordUtil.SHAPE_NAME), relationFileMap); - kpiSet.clear(); - _tr.put(OutputWordUtil.TABLE_KPI, kpiTable); - if (kpiTable.size() > 0) { - containKPIAttribute = true; - } - } - } - _tr.put("shape_duty_r_org", StringUtils.join(dutyROrgList, ",").replace("\n", OutputWordUtil.WRAPSTRING)); - _tr.put("shape_approval_a_org", StringUtils.join(approvalAOrgAList, ",").replace("\n", OutputWordUtil.WRAPSTRING)); - _tr.put("shape_counselor_c_org", StringUtils.join(counselorCOrgList, ",").replace("\n", OutputWordUtil.WRAPSTRING)); - _tr.put("shape_notify_i_org", StringUtils.join(notifyIOrgList, ",").replace("\n", OutputWordUtil.WRAPSTRING)); - _tr.put("shape_duty_r_role", StringUtils.join(dutyRRoleList, ",").replace("\n", OutputWordUtil.WRAPSTRING)); - _tr.put("shape_approval_a_role", StringUtils.join(approvalARoleAList, ",").replace("\n", OutputWordUtil.WRAPSTRING)); - _tr.put("shape_counselor_c_role", StringUtils.join(counselorCRoleList, ",").replace("\n", OutputWordUtil.WRAPSTRING)); - _tr.put("shape_notify_i_role", StringUtils.join(notifyIRoleList, ",").replace("\n", OutputWordUtil.WRAPSTRING)); - } - repositoryShapeTable.add(_tr); - index++; - if (containDangerAttribute) { - shapeDangerTable.add(_tr); - } - if (containKPIAttribute) { - shapeKPITable.add(_tr); - } - } - - } - - dataMap.put(OutputWordUtil.TABLE_REPOSITORY_SHAPE, repositoryShapeTable); - dataMap.put(OutputWordUtil.TABLE_DANGER, shapeDangerTable); - dataMap.put(OutputWordUtil.TABLE_KPI, shapeKPITable); - - return dataMap; - } - - /** - * 设置风险控制表格 - * @param attrId - * @param fileId - * @param shapeId - * @param table - * @param index - * @param relationFileMap - * @return - */ - public int setTableValueOfRiskAndKPI(String attrId, String fileId, String shapeId, JSONArray table, int index, String processShapeName, Map> relationFileMap) { - JSONArray result = new JSONArray(); - DesignerShapeRelationDao dao = new DesignerShapeRelationDao(); - List list = dao.query(fileId, shapeId, attrId, null, null); - for (DesignerShapeRelationModel model : list) { - String relationFileId = model.getRelationFileId(); - if (!relationFileMap.containsKey(relationFileId) && PALRepositoryCache.getCache().get(relationFileId) != null) { - Map shapes = new HashMap<>(); - List> fileElements = CoeDesignerUtil.getShapeMessageJson4(relationFileId); - for (Map shape : fileElements) { - String tempShapeId = shape.get("id").toString(); - shapes.put(tempShapeId, shape); - } - relationFileMap.put(relationFileId, shapes); - } - } - - Set relationShapeIdSet = new HashSet<>(); // 去重 - String filterShapeName = ""; - if ("danger".equals(attrId)) {// 风险 - filterShapeName = "risk"; - } else if ("kpi".equals(attrId)) {// 控制 - filterShapeName = "kpi"; - } - for (DesignerShapeRelationModel model : list) { - String relationFileId = model.getRelationFileId(); - String relationShapeId = model.getRelationShapeId(); - if (relationFileMap.containsKey(relationFileId)) { - Map elements = relationFileMap.get(relationFileId); - if (elements != null && elements.containsKey(relationShapeId)) { - Map shape = (Map) elements.get(relationShapeId); - if (!relationShapeIdSet.contains(shape.get("id").toString()) && filterShapeName.equals(shape.get("type"))) { - relationShapeIdSet.add(shape.get("id").toString()); - result.add(shape); - } - } - } - } - - for (int i = 0; i < result.size(); i++) { - Map shape = result.getJSONObject(i); - JSONObject _tr = new JSONObject(); - OutputWordUtil.setShapeDefaultValue2(shape.get("uuid").toString(), _tr); //设置默认值 - String name = specialCharTransfer(shape.get("text").toString()); - _tr.put("related_" + OutputWordUtil.SHAPE_NAME, processShapeName); - _tr.put(OutputWordUtil.SHAPE_NAME, name.replace("\n", OutputWordUtil.WRAPSTRING)); - _tr.put(OutputWordUtil.SERIAL_NUMBER, index); - JSONArray dataAttributes = (JSONArray) shape.get("attributes"); - for (int j = 0; j < dataAttributes.size(); j++) { - _tr.put("shape_" + dataAttributes.getJSONObject(j).getString("key"), specialCharTransfer(dataAttributes.getJSONObject(j).getString("value")).replace("\n", " ")); - } - table.add(_tr); - index++; - } - return index; - - } - - /** - * 部门、岗位、角色、人员数据 - * @param map - * @param orgList - * @param roleList - */ - private void raciRelationAwsOrg(Map> map, String attrId, List orgList, List roleList) { - if (map.containsKey(attrId)) { - for (DesignerShapeRelationModel model : map.get(attrId)) { - JSONObject orgObj = JSONObject.parseObject(model.getRelationShapeText()); - String orgType = orgObj.getString("type"); - String orgName = orgObj.getString("name"); - if ("department".equals(orgType) || "user".equals(orgType)) {// 部门人员 - orgList.add(orgName); - } else if ("position".equals(orgType) || "role".equals(orgType)) {// 岗位角色 - roleList.add(orgName); - } - } - } - } - - /** - * 部门、岗位、角色、人员数据 - * @param map - * @param orgList - * @param roleList - */ - private void raciRelationPalOrg(Map> map, String attrId, List orgList, List roleList) { - if (map.containsKey(attrId)) { - for (DesignerShapeRelationModel model : map.get(attrId)) { - String relationFileId = model.getRelationFileId(); - String relationShapeId = model.getRelationShapeId(); - List> relationFileElements = CoeDesignerUtil.getShapeMessageJson4(relationFileId); // 关联流程文件内容 - if (relationFileElements != null) { - for (Map element : relationFileElements) { - String id = (String) element.get("id"); - if (id.equals(relationShapeId)) { - String type = element.get("type").toString(); - if ("organization".equals(type)) { - orgList.add(element.get("text").toString().replace("\n", OutputWordUtil.WRAPSTRING)); - } else if ("position".equals(type) || "role".equals(type)) { - roleList.add(element.get("text").toString().replace("\n", OutputWordUtil.WRAPSTRING)); - } - } - } - } - } - } - } - -} diff --git a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report2/Report2WizardOption.java b/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report2/Report2WizardOption.java deleted file mode 100644 index abdd7fe1..00000000 --- a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report2/Report2WizardOption.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.awspaas.apps.coe.pal.output.zd.report2; - -import com.actionsoft.bpms.commons.mvc.view.ActionWeb; -import com.actionsoft.bpms.server.UserContext; -import com.actionsoft.sdk.local.api.internal.PlatformAPIImpl; - -/** - * 向导收集该报告的特定选项 - * - */ -public class Report2WizardOption extends ActionWeb { - - public Report2WizardOption(UserContext userContext) { - super(userContext); - } - - public Report2WizardOption() { - } - - /** - * 实现约定的getOption方法 - * - * @param teamId 小组Id - * @param wsId 资产库Id - * @param lang 语言 - * @param wizardJsonData 向导收集的Json参数(targetFiles、relationFiles...) - * @return 含有回调js的html片段 - */ - public String getOption(String teamId, String wsId, String lang, String wizardJsonData) { - return "hi! ZD"; - } -} diff --git a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report3/Report3Gener.java b/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report3/Report3Gener.java deleted file mode 100644 index ece26910..00000000 --- a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report3/Report3Gener.java +++ /dev/null @@ -1,250 +0,0 @@ -package com.awspaas.apps.coe.pal.output.zd.report3; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.actionsoft.apps.coe.pal.pal.method.cache.PALMethodCache; -import com.actionsoft.apps.coe.pal.pal.method.model.PALMethodAttributeModel; -import com.actionsoft.apps.coe.pal.pal.method.model.PALMethodModel; -import com.actionsoft.apps.coe.pal.pal.output.extend.GenerLogExd; -import com.actionsoft.apps.coe.pal.pal.output.extend.OutputAppManager; -import com.actionsoft.apps.coe.pal.pal.output.extend.OutputAppProfile; -import com.actionsoft.apps.coe.pal.pal.output.model.OutputTaskModel; -import com.actionsoft.apps.coe.pal.pal.output.util.OutputExcelUtil; -import com.actionsoft.apps.coe.pal.pal.output.util.OutputWordUtil; -import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache; -import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryPropertyCache; -import com.actionsoft.apps.coe.pal.pal.repository.designer.util.CoeDesignerUtil; -import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel; -import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryPropertyModel; -import com.actionsoft.apps.coe.pal.system.property.CoePropertyUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; - - -import com.actionsoft.bpms.commons.mvc.view.ResponseObject; -import com.actionsoft.bpms.server.fs.DCContext; -import com.actionsoft.sdk.local.api.internal.PlatformAPIImpl; -import com.awspaas.apps.coe.pal.output.zd.util.PrReportComment; - -/** - * 生成流程手册-单步骤表的入口 - * - * @author zhangming - */ -public class Report3Gener { - // 防止生成过程中,停用或卸载该app - public static boolean isRunning = false; - public static final Object _lock = new Object(); - GenerLogExd log = new GenerLogExd(); - public Report3Gener() { - } - - /** - * 生成文件 - * - * @param model OutputTaskModel对象 - * @param wizardJsonData 向导收集的Json参数(targetFiles、relationFiles、options...) - * @param dcContext 要生成报告的DC目录对象,已准备好 - * @return 将文件生成到output目录下,返回状态 - * - * @see PlatformAPIImpl#getDefaultLanguage() - * @see PlatformAPIImpl#getlanguages() - */ - public ResponseObject execute(OutputTaskModel model, String wizardJsonData, DCContext dcContext) { - try { - synchronized (_lock) { - isRunning = true; - String teamId = model.getTeamId(); - String wsId = model.getWsId(); - log.info("execute ready..."); - log.info("-------------------"); - log.info("TeamId=" + teamId); - log.info("wsId=" + wsId); - JSONObject jsonObj = JSONObject.parseObject(wizardJsonData); - log.info("dcPath=" + dcContext.getPath()); - // ----预处理、校验---- - OutputAppProfile appModel = OutputAppManager.getProfile(model.getProfileId()); - String tempPath = appModel.getAppContext().getPath(); - //String tempName = "单步骤单表-流程手册.xml"; - String tempName = "制度-手册.xml"; - log.info("begin..."); - log.info("-------------------"); - // ----文件处理----- - genarateWord(tempPath, tempName, dcContext.getPath(), jsonObj); - log.info("end"); - } - } finally { - isRunning = false; - } - return ResponseObject.newOkResponse().put("logs", log.logs()); - } - - private void genarateWord(String tempPath, String tempName, String docPath, JSONObject wizardJsonData) { - String[] repositoryIds = wizardJsonData.getString("targetFileId").split(","); - - String reportName = wizardJsonData.getString("reportNameIsItName"); //页面上设计的文件命名规则 - Map indexMap = new HashMap(); - for (String repositoryId : repositoryIds) { - if (repositoryId == null || "".equals(repositoryId)) { - continue; - } - PALRepositoryModel model = PALRepositoryCache.getCache().get(repositoryId); - if (model != null) { - //获取文件扩展属性 - String json = CoePropertyUtil.getPropertyValue(model.getId() + "_attr"); - JSONObject extendAttr = new JSONObject(); - if (json != null && !"".equals(json) && !"null".equals(json)) { - JSONArray jsonArray = JSONArray.parseArray(json); - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject object = jsonArray.getJSONObject(i); - extendAttr.put(object.getString("id"), object.get("value")); - } - } - //文件的扩展属性 - List repositoryPropertyList = PALRepositoryPropertyCache.getPropertyByPlId(model.getId()); - if (repositoryPropertyList != null && repositoryPropertyList.size() > 0) { - for (PALRepositoryPropertyModel repositoryPropertyModel : repositoryPropertyList) { - extendAttr.put(repositoryPropertyModel.getPropertyId(), repositoryPropertyModel.getPropertyValue()); - } - } - List reportNameLabels = OutputExcelUtil.string2label(reportName); - String reportNameValue = reportName; - if (reportNameLabels.size() > 0) { - reportNameValue = OutputExcelUtil.label2value(model, extendAttr, null, reportName); - - } - reportNameValue = reportNameValue.replaceAll(OutputExcelUtil.FILENAMEREGX, ""); - if (reportNameValue.length() > 255) { - reportNameValue = reportNameValue.substring(0, 255); - } - String docName = ""; - if (indexMap.containsKey(reportNameValue)) { - int index = indexMap.get(reportNameValue); - index++; - log.info("得到word名称为:" + reportNameValue + "(" + index + ")"); - docName = docPath + reportNameValue + "(" + index + ")" + ".doc"; - indexMap.put(reportNameValue, index); - } else { - log.info("得到word名称为:" + reportNameValue); - docName = docPath + reportNameValue + ".doc"; - indexMap.put(reportNameValue, 1); - } - JSONObject dataMap = getData(repositoryId, wizardJsonData); - if (dataMap != null) { - OutputWordUtil.createDoc(dataMap, tempPath, tempName, docName); - } - } - } - } - - private JSONObject getData(String repositoryId, JSONObject wizardJsonData) { - JSONObject dataMap = new JSONObject(); - - PrReportComment prReportComment = new PrReportComment(); - PALRepositoryModel repositoryModel = PALRepositoryCache.getCache().get(repositoryId); - if (repositoryModel == null) { - return null; - } - prReportComment.getCommentContent(dataMap, repositoryModel); // 获取一些公共的数据(手册首页的手册岗位名称、部门、时间等) - - JSONArray repositoryShapeTable = new JSONArray(); // 流程步骤table - - List> repositoryFileElements = CoeDesignerUtil.getShapeMessageJson(repositoryId); // 流程文件内容 - if (wizardJsonData.getBoolean("orderNuberFirst")) { - OutputWordUtil.orderByNumber(repositoryFileElements); - } - if (repositoryFileElements != null) { - int index = 1; - for (Map shape : repositoryFileElements) { - boolean containDangerAttribute = false; - boolean containKPIAttribute = false; - // 如果图形元素不是流程步骤,不导出该元素 - if (PrReportComment.PROCESS_STEP.indexOf((String) shape.get("type")) == -1) { - continue; - } - JSONObject _tr = new JSONObject(); - OutputWordUtil.setShapeDefaultValue(repositoryId, _tr); - _tr.put(OutputWordUtil.SERIAL_NUMBER, index); // 序号 - _tr.put(OutputWordUtil.REPOSITORY_NAME, repositoryModel.getName().replace("\n", "")); // 流程名称 - _tr.put(OutputWordUtil.SHAPE_NAME, shape.get("text").toString().replace("\n", OutputWordUtil.WRAPSTRING)); // 步骤名称 - - JSONObject dataAttributes = (JSONObject) shape.get("attributes"); - if (dataAttributes != null) { - _tr.put(OutputWordUtil.SHAPE_DESC, dataAttributes.get("shapeDesc")); // 工作详细描述 - JSONArray dataAttributesJsonArray = dataAttributes.getJSONArray("attributesJsonArray"); - - Map shapeModelMap = OutputWordUtil.getShapeRelationMap((String) shape.get("id")); - for (int i = 0; i < dataAttributesJsonArray.size(); i++) { - JSONObject dataAttribute = dataAttributesJsonArray.getJSONObject(i); - if (dataAttribute.containsKey("value")) { - // 获取关联属性的属性值 - OutputWordUtil.setShapeValue(_tr, dataAttribute, shapeModelMap); - // 判断是否包含风险属性或KPI属性 - String attributeValue = dataAttribute.getString("value"); - String attributeKey = dataAttribute.getString("key"); - if (!"".equals(attributeValue)) { - if ("danger".equals(attributeKey)) { - containDangerAttribute = true; - JSONArray danger = new JSONArray(); - JSONObject danger_tr = new JSONObject(); - JSONArray dangerTable = new JSONArray(); - OutputWordUtil.setTableValue(dangerTable, attributeValue); - danger_tr.put(OutputWordUtil.TABLE_DANGER, dangerTable); - danger.add(danger_tr); - _tr.put(OutputWordUtil.TABLE_DANGER, danger); - } else if ("kpi".equals(attributeKey)) { - containKPIAttribute = true; - JSONArray kpi = new JSONArray(); - JSONObject kpi_tr = new JSONObject(); - JSONArray kpiTable = new JSONArray(); - OutputWordUtil.setTableValue(kpiTable, attributeValue); - kpi_tr.put(OutputWordUtil.TABLE_KPI, kpiTable); - kpi.add(kpi_tr); - _tr.put(OutputWordUtil.TABLE_KPI, kpi); - } else if ("organization".equals(dataAttribute.getString("groupPath"))) { - OutputWordUtil.setTrValue(_tr, attributeValue, "shape_" + attributeKey, shapeModelMap); - } - } - } - } - } - - if (!containDangerAttribute) { - _tr.put(OutputWordUtil.TABLE_DANGER, new JSONArray()); - } - if (!containKPIAttribute) { - _tr.put(OutputWordUtil.TABLE_KPI, new JSONArray()); - } - - repositoryShapeTable.add(_tr); - index++; - } - } - - dataMap.put(OutputWordUtil.TABLE_REPOSITORY_SHAPE, repositoryShapeTable); - - return dataMap; - } - - - private JSONArray getEmptyTable(String methodId) { - JSONArray table = new JSONArray(); - JSONObject _tr = new JSONObject(); - PALMethodModel palMethodModel = PALMethodCache.getPALMethodModelById(methodId); - _tr.put(OutputWordUtil.SHAPE_NAME, ""); - _tr.put(OutputWordUtil.SHAPE_NUMBER, ""); - List attributes = palMethodModel.getAttributes(); - if (attributes != null) { - for (PALMethodAttributeModel attribute : attributes) { - String scope = attribute.getScope(); - if (!"%".equals(scope)) { - _tr.put("shape_" + attribute.getKey(), ""); - } - } - } - table.add(_tr); - return table; - } -} diff --git a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report3/Report3WizardOption.java b/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report3/Report3WizardOption.java deleted file mode 100644 index 9b716e51..00000000 --- a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report3/Report3WizardOption.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.awspaas.apps.coe.pal.output.zd.report3; - -import com.actionsoft.bpms.commons.mvc.view.ActionWeb; -import com.actionsoft.bpms.server.UserContext; -import com.actionsoft.sdk.local.api.internal.PlatformAPIImpl; - -/** - * 向导收集该报告的特定选项 - * - */ -public class Report3WizardOption extends ActionWeb { - - public Report3WizardOption(UserContext userContext) { - super(userContext); - } - - public Report3WizardOption() { - } - - /** - * 实现约定的getOption方法 - * - * @param teamId 小组Id - * @param wsId 资产库Id - * @param lang 语言 - * @param wizardJsonData 向导收集的Json参数(targetFiles、relationFiles...) - * @return 含有回调js的html片段 - */ - public String getOption(String teamId, String wsId, String lang, String wizardJsonData) { - return "hi! ZD"; - } -} diff --git a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report4/Report4Gener.java b/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report4/Report4Gener.java deleted file mode 100644 index ddb020c7..00000000 --- a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report4/Report4Gener.java +++ /dev/null @@ -1,364 +0,0 @@ -package com.awspaas.apps.coe.pal.output.zd.report4; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.actionsoft.apps.coe.pal.constant.CoEConstant; -import com.actionsoft.apps.coe.pal.pal.output.extend.GenerLogExd; -import com.actionsoft.apps.coe.pal.pal.output.model.OutputTaskModel; -import com.actionsoft.apps.coe.pal.pal.output.util.OutputExcelUtil; -import com.actionsoft.apps.coe.pal.pal.output.util.OutputWordUtil; -import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache; -import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryPropertyCache; -import com.actionsoft.apps.coe.pal.pal.repository.dao.PALRepository; -import com.actionsoft.apps.coe.pal.pal.repository.designer.relation.dao.DesignerShapeRelationDao; -import com.actionsoft.apps.coe.pal.pal.repository.designer.relation.model.DesignerShapeRelationModel; -import com.actionsoft.apps.coe.pal.pal.repository.designer.util.CoeDesignerUtil; -import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel; -import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryPropertyModel; -import com.actionsoft.apps.coe.pal.pal.repository.upfile.constant.CoeFileConstant; -import com.actionsoft.apps.coe.pal.pal.repository.upfile.dao.UpFileDao; -import com.actionsoft.apps.coe.pal.pal.repository.upfile.model.UpfileModel; -import com.actionsoft.apps.coe.pal.system.property.CoePropertyUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.actionsoft.apps.AppsConst; -import com.actionsoft.apps.resource.plugin.profile.DCPluginProfile; -import com.actionsoft.bpms.commons.mvc.view.ResponseObject; -import com.actionsoft.bpms.server.UserContext; -import com.actionsoft.bpms.server.fs.DCContext; -import com.actionsoft.bpms.server.fs.dc.DCProfileManager; -import com.actionsoft.bpms.util.UtilString; -import com.actionsoft.sdk.local.SDK; -import com.actionsoft.sdk.local.api.AppAPI; -import com.actionsoft.sdk.local.api.internal.PlatformAPIImpl; - -public class Report4Gener { - // 防止生成过程中,停用或卸载该app - public static boolean isRunning = false; - public static final Object _lock = new Object(); - GenerLogExd log = new GenerLogExd(); - public Report4Gener() { - } - - /** - * 生成文件 - * - * @param model OutputTaskModel对象 - * @param wizardJsonData 向导收集的Json参数(targetFiles、relationFiles、options...) - * @param dcContext 要生成报告的DC目录对象,已准备好 - * @return 将文件生成到output目录下,返回状态 - * - * @see PlatformAPIImpl#getDefaultLanguage() - * @see PlatformAPIImpl#getlanguages() - */ - public ResponseObject execute(OutputTaskModel model, String wizardJsonData, DCContext dcContext) { - try { - synchronized (_lock) { - isRunning = true; - String teamId = model.getTeamId(); - String wsId = model.getWsId(); - log.info("execute ready..."); - log.info("-------------------"); - log.info("TeamId=" + teamId); - log.info("wsId=" + wsId); - JSONObject jsonObj = JSONObject.parseObject(wizardJsonData); - log.info("dcPath=" + dcContext.getPath()); - // ----预处理、校验---- - String tempId = "6a2435a5-9da1-45e5-8060-84a683041844"; - log.info("begin..."); - log.info("-------------------"); - // ----文件处理----- - genarateWord(tempId, dcContext, jsonObj); - log.info("end"); - } - } finally { - isRunning = false; - } - return ResponseObject.newOkResponse().put("logs", log.logs()); - } - - private void genarateWord(String tempId, DCContext dcContext, JSONObject wizardJsonData) { - String[] repositoryIds = wizardJsonData.getString("targetFileId").split(","); - - String reportName = wizardJsonData.getString("reportNameIsItName"); //页面上设计的文件命名规则 - Map indexMap = new HashMap(); - for (String repositoryId : repositoryIds) { - if (repositoryId == null || "".equals(repositoryId)) { - continue; - } - PALRepositoryModel model = PALRepositoryCache.getCache().get(repositoryId); - if (model == null) { - continue; - } - - //图形关联信息 - DesignerShapeRelationDao dao = new DesignerShapeRelationDao(); - List relationModels = dao.query(model.getId(), null, null, null, null); - Map relationValue = new HashMap(); - if (relationModels != null && relationModels.size() > 0) { - for (DesignerShapeRelationModel relationModel : relationModels) { - relationValue.put(relationModel.getRelationShapeId(), relationModel.getRelationShapeText()); - } - } - //获取文件属性 - JSONArray dataParams = new JSONArray(); //标签数据 - JSONObject labelData1 = new JSONObject(); - labelData1.put("type", "string"); - JSONObject stringData = new JSONObject(); - int level = model.getLevel(); - if (level > 2) { - level = level - 2; - stringData.put("PLNAMEL" + level, model.getName()); - stringData.put("PLNO" + level, model.getNo()); - String plrp = model.getOwnerUser(); - if (!UtilString.isEmpty(plrp)) { - plrp = relationValue.containsKey(plrp) ? relationValue.get(plrp) : ""; - } - stringData.put("PLRP" + level, plrp); - PALRepositoryModel parentModel = PALRepositoryCache.getCache().get(model.getParentId()); - while (level > 1 && parentModel != null) { - level --; - stringData.put("PLNAMEL" + level, parentModel.getName()); - stringData.put("PLNOL" + level, parentModel.getNo()); - String parentPlrp = parentModel.getOwnerUser(); - if (!UtilString.isEmpty(plrp)) { - parentPlrp = relationValue.containsKey(parentPlrp) ? relationValue.get(parentPlrp) : ""; - } - stringData.put("PLRPL" + level, parentPlrp); - parentModel = PALRepositoryCache.getCache().get(parentModel.getParentId()); - } - } - for (int i = 0; i <= 4; i++) { - if (!stringData.containsKey("PLNAMEL" + i)) { - stringData.put("PLNAMEL" + i, ""); - } - if (!stringData.containsKey("PLNO" + i)) { - stringData.put("PLNOL" + i, ""); - } - if (!stringData.containsKey("PLRP" + i)) { - stringData.put("PLRPL" + i, ""); - } - } - - stringData.put("VERSION", model.getVersion()); - stringData.put("PLDESC", model.getDesc()); - //模型和节点的关联属性 - - String plrd = model.getOwnerDept(); - if (!UtilString.isEmpty(plrd)) { - plrd = relationValue.containsKey(plrd) ? relationValue.get(plrd) : ""; - } - stringData.put("PLRD", plrd); - String plrp = model.getOwnerUser(); - if (!UtilString.isEmpty(plrp)) { - plrp = relationValue.containsKey(plrp) ? relationValue.get(plrp) : ""; - } - stringData.put("PLRP", plrp); - stringData.put("PLINPUT", model.getInput()); - stringData.put("PLOUTPUT", model.getOutput()); - //文件扩展属性 - String json = CoePropertyUtil.getPropertyValue(model.getId() + "_attr"); - JSONObject extendAttr = new JSONObject(); - if (json != null && !"".equals(json) && !"null".equals(json)) { - JSONArray jsonArray = JSONArray.parseArray(json); - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject object = jsonArray.getJSONObject(i); - extendAttr.put(object.getString("id"), object.get("value")); - String attributeValue = object.containsKey("value") ? object.get("value").toString() : ""; - if (attributeValue.startsWith("{")) { - attributeValue = JSONObject.parseObject(attributeValue).getString("relationShapeText"); - } - stringData.put(object.getString("id").toUpperCase(), attributeValue); - } - } - //文件的扩展属性 - List repositoryPropertyList = PALRepositoryPropertyCache.getPropertyByPlId(model.getId()); - if (repositoryPropertyList != null && repositoryPropertyList.size() > 0) { - for (PALRepositoryPropertyModel repositoryPropertyModel : repositoryPropertyList) { - extendAttr.put(repositoryPropertyModel.getPropertyId(), repositoryPropertyModel.getPropertyValue()); - String attributeValue = repositoryPropertyModel.getPropertyValue(); - if (attributeValue.startsWith("{")) { - attributeValue = JSONObject.parseObject(attributeValue).getString("relationShapeText"); - } - stringData.put(repositoryPropertyModel.getPropertyId().toUpperCase(), attributeValue); - } - } - List reportNameLabels = OutputExcelUtil.string2label(reportName); - String reportNameValue = reportName; - if (reportNameLabels.size() > 0) { - reportNameValue = OutputExcelUtil.label2value(model, extendAttr, null, reportName); - - } - reportNameValue = reportNameValue.replaceAll(OutputExcelUtil.FILENAMEREGX, ""); - if (reportNameValue.length() > 255) { - reportNameValue = reportNameValue.substring(0, 255); - } - String fileName = ""; //生成的文件名 - if (indexMap.containsKey(reportNameValue)) { - int index = indexMap.get(reportNameValue); - index++; - log.info("得到word名称为:" + reportNameValue + "(" + index + ")"); - fileName = reportNameValue + "(" + index + ")"; - indexMap.put(reportNameValue, index); - } else { - log.info("得到word名称为:" + reportNameValue); - fileName = reportNameValue; - indexMap.put(reportNameValue, 1); - } - - labelData1.put("data", stringData); - dataParams.add(labelData1); - - //获取流程模型中的节点以及节点属性(只取有编号的) - List> repositoryFileElements = CoeDesignerUtil.getShapeMessageJson(repositoryId); //流程文件内容 - if (repositoryFileElements != null) { - JSONObject labelData2 = new JSONObject(); - labelData2.put("type", "table"); - JSONArray tableData = new JSONArray(); - - //获取节点的number属性 - for (Map shape : repositoryFileElements) { - if (!shape.containsKey("number")) { - JSONObject dataAttributes = (JSONObject)shape.get("attributes"); - if (dataAttributes != null && dataAttributes.containsKey("attributesJsonArray")) { - JSONArray privateAttributes = dataAttributes.getJSONArray("attributesJsonArray"); - for (int index = 0; index < privateAttributes.size(); index++) { - JSONObject privateAttribute = privateAttributes.getJSONObject(index); - if (privateAttribute.containsKey("id") && privateAttribute.getString("id").equals("number")) { - shape.put("number", privateAttribute.getString("value")); - } - } - } - } - } - OutputWordUtil.orderByNumber(repositoryFileElements); - - for (Map shape : repositoryFileElements) { - String number = shape.containsKey("number") ? shape.get("number").toString() : ""; - if (UtilString.isEmpty(number)) { - continue; - } - - JSONObject object = new JSONObject(); - object.put("T-NUMBER", number); - object.put("T-NAME", shape.get("text").toString()); - - JSONObject dataAttributes = (JSONObject)shape.get("attributes"); - if (dataAttributes != null && dataAttributes.containsKey("attributesJsonArray")) { - object.put("T-DESC", dataAttributes.getString("shapeDesc")); - JSONArray privateAttributes = dataAttributes.getJSONArray("attributesJsonArray"); - for (int index = 0; index < privateAttributes.size(); index++) { - JSONObject privateAttribute = privateAttributes.getJSONObject(index); - if (!privateAttribute.containsKey("value")) { - continue; - } - String value = privateAttribute.getString("value"); - if (value.startsWith("[")) { - value = value.replace("[", "").replace("]", ""); - String[] values = value.split(","); - StringBuilder stmp = new StringBuilder(); - for (String tmp : values) { - if (relationValue.containsKey(tmp)) { - stmp.append(relationValue.get(tmp)).append(","); - } else { - stmp.append(tmp).append(","); - } - } - value = stmp.toString(); - if (value.endsWith(",")) { - value = value.substring(0, value.length() - 1); - } - } - object.put("T-" + privateAttribute.getString("id").toUpperCase(), value); - } - } - tableData.add(object); - } - labelData2.put("data", tableData); - dataParams.add(labelData2); - } - - //流程图 - JSONObject labelData3 = new JSONObject(); - labelData3.put("type", "image"); - JSONObject image = new JSONObject(); - image.put("PL_DIAGRAM", model.getFilePath() + model.getId() + ".png"); - labelData3.put("data", image); - dataParams.add(labelData3); - - //版本table - List versionList = new PALRepository().getAllRepositoryByVersionId(model.getVersionId()); - JSONObject labelData4 = new JSONObject(); - labelData4.put("type", "table"); - JSONArray tableData4 = new JSONArray(); - for (PALRepositoryModel versionModel : versionList) { - JSONObject labelData4Object = new JSONObject(); - String attrjson = CoePropertyUtil.getPropertyValue(versionModel.getId() + "_attr"); - labelData4Object.put("T-VERSION", versionModel.getVersion()); - if (!UtilString.isEmpty(attrjson)) { - JSONArray jsonArray = JSONArray.parseArray(attrjson); - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject object = jsonArray.getJSONObject(i); - extendAttr.put(object.getString("id"), object.get("value")); - String attributeValue = object.containsKey("value") ? object.get("value").toString() : ""; - if (attributeValue.startsWith("{")) { - attributeValue = JSONObject.parseObject(attributeValue).getString("relationShapeText"); - } - labelData4Object.put("T-" + object.getString("id").toUpperCase(), attributeValue); - } - } - tableData4.add(labelData4Object); - } - labelData4.put("data", tableData4); - dataParams.add(labelData4); - - String aslp = "aslp://com.actionsoft.apps.addons.docgenerator/documentGenerate"; - Map params = new HashMap(); - params.put("sid", dcContext.getSession().getSessionId()); - params.put("gtype", "word"); - params.put("repositoryName", dcContext.getRepositoryName()); - params.put("groupValue", dcContext.getGroupValue()); - params.put("fileValue", dcContext.getFileValue()); - params.put("fileName", fileName); - params.put("tempId", tempId); - params.put("labelData", dataParams); - - //流程附件信息 - StringBuilder upfileString = new StringBuilder(); - List upfiles = new UpFileDao().searchByRepositoryId(model.getId(), "f"); - if (upfiles != null && upfiles.size() > 0) { - for (UpfileModel upfile : upfiles) { - DCContext dcContextFile = getDCContext( UserContext.fromSessionId(dcContext.getSession().getSessionId()), upfile); - if (dcContextFile != null) { - upfileString.append(dcContextFile.getPath() + upfile.getFileName()).append(","); - } - } - } - if (upfileString.length() > 0) { - String upfilesData = upfileString.toString(); - if (upfilesData.endsWith(",")) { - upfilesData = upfilesData.substring(0, upfilesData.length() - 1); - } - params.put("upfiles", upfilesData); - } - - AppAPI appAPI = SDK.getAppAPI(); - ResponseObject ro = SDK.getAppAPI().callASLP(appAPI.getAppContext("com.awspaas.user.apps.coe.pal.output.zd"), aslp, params); - } - } - - private DCContext getDCContext(UserContext context, UpfileModel model) { - DCContext dcContext = null; - DCPluginProfile dcProfile = DCProfileManager.getDCProfile(CoEConstant.APP_ID, CoeFileConstant.COE_UPFILE); - if (dcProfile != null) { - if ("f".equals(model.getType())) {// 文件 - dcContext = new DCContext(context, dcProfile, CoEConstant.APP_ID,"file", model.getPl_uuid(), model.getFileName()); - } else {// 图形 - dcContext = new DCContext(context, dcProfile, CoEConstant.APP_ID, model.getPl_uuid(), model.getShape_uuid(), model.getFileName()); - } - } - return dcContext; - } -} diff --git a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report4/Report4WizardOption.java b/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report4/Report4WizardOption.java deleted file mode 100644 index 56786f89..00000000 --- a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report4/Report4WizardOption.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.awspaas.apps.coe.pal.output.zd.report4; - -import com.actionsoft.bpms.commons.mvc.view.ActionWeb; -import com.actionsoft.bpms.server.UserContext; - -public class Report4WizardOption extends ActionWeb { - public Report4WizardOption(UserContext userContext) { - super(userContext); - } - - public Report4WizardOption() { - } - - /** - * 实现约定的getOption方法 - * - * @param teamId 小组Id - * @param wsId 资产库Id - * @param lang 语言 - * @param wizardJsonData 向导收集的Json参数(targetFiles、relationFiles...) - * @return 含有回调js的html片段 - */ - public String getOption(String teamId, String wsId, String lang, String wizardJsonData) { - return "hi! ZD"; - } -} diff --git a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report5/Report5Gener.java b/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report5/Report5Gener.java deleted file mode 100644 index 09890f4a..00000000 --- a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report5/Report5Gener.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.awspaas.apps.coe.pal.output.zd.report5; - -import com.actionsoft.apps.coe.pal.pal.output.extend.GenerLogExd; -import com.actionsoft.apps.coe.pal.pal.output.model.OutputTaskModel; -import com.actionsoft.bpms.commons.mvc.view.ResponseObject; -import com.actionsoft.bpms.server.fs.DCContext; -import com.actionsoft.sdk.local.api.internal.PlatformAPIImpl; - -public class Report5Gener { - // 防止生成过程中,停用或卸载该app - public static boolean isRunning = false; - public static final Object _lock = new Object(); - GenerLogExd log = new GenerLogExd(); - public Report5Gener() { - } - - /** - * 生成文件 - * - * @param model OutputTaskModel对象 - * @param wizardJsonData 向导收集的Json参数(targetFiles、relationFiles、options...) - * @param dcContext 要生成报告的DC目录对象,已准备好 - * @return 将文件生成到output目录下,返回状态 - * - * @see PlatformAPIImpl#getDefaultLanguage() - * @see PlatformAPIImpl#getlanguages() - */ - public ResponseObject execute(OutputTaskModel model, String wizardJsonData, DCContext dcContext) { - - return ResponseObject.newOkResponse().put("logs", log.logs()); - } - -} diff --git a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report5/Report5WizardOption.java b/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report5/Report5WizardOption.java deleted file mode 100644 index 14b90bb9..00000000 --- a/com.awspaas.user.apps.coe.pal.output.zd/src/com/awspaas/apps/coe/pal/output/zd/report5/Report5WizardOption.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.awspaas.apps.coe.pal.output.zd.report5; - -import com.actionsoft.bpms.commons.mvc.view.ActionWeb; -import com.actionsoft.bpms.server.UserContext; - -public class Report5WizardOption extends ActionWeb { - public Report5WizardOption(UserContext userContext) { - super(userContext); - } - - public Report5WizardOption() { - } - - /** - * 实现约定的getOption方法 - * - * @param teamId 小组Id - * @param wsId 资产库Id - * @param lang 语言 - * @param wizardJsonData 向导收集的Json参数(targetFiles、relationFiles...) - * @return 含有回调js的html片段 - */ - public String getOption(String teamId, String wsId, String lang, String wizardJsonData) { - return "hi! ZD"; - } -} - diff --git a/com.awspaas.user.apps.coe.pal.output.zd/制度-手册4.doc b/com.awspaas.user.apps.coe.pal.output.zd/制度-手册4.doc new file mode 100644 index 0000000000000000000000000000000000000000..9e0763f3effe8d291caa2e5a5003edc28b8fc236 GIT binary patch literal 179712 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⋙T1Z=wfp8}QIBQ8*TR9k8Ip|$= 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 literal 0 HcmV?d00001 diff --git a/com.awspaas.user.apps.coe.pal.output.zd/制度-手册4.xml b/com.awspaas.user.apps.coe.pal.output.zd/制度-手册4.xml new file mode 100644 index 00000000..5c2b4b99 --- /dev/null +++ b/com.awspaas.user.apps.coe.pal.output.zd/制度-手册4.xml @@ -0,0 +1,6988 @@ + + + + + + Administrator + Microsoft Office User + 2 + 1 + 2022-09-15T11:00:00Z + 2022-09-15T11:00:00Z + 14 + 1183 + 6744 + 56 + 15 + 7912 + 16 + + + 2052-3.6.2.5883 + 1895E579887D400B9B8988E063B2161A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${listDef} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 内蒙古伊利实业集团股份有限公司 + + + + + + + + + + + + + + + + + + + + + + + + + + 流程制度类文件 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 文件编码: + + + + + + + + + + + + + ${pl_file_number} + + + + + + + + + + + ─────────────────────────────────────────────────── + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${repository_name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 内蒙古伊利实业集团股份有限公司 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 +y7fdOgAAAABJRU5ErkJggk== + + + + + + + + + + + + + + + + + ─────────────────────────────────────────────────── + + + + + + + + + + ─────────────────────────────────────────────────── + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 以上信息为伊利公司所有,未经允许不得外传 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PAGE + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TOC \o "1-1" \h \z \u + + + + + + + + + + + 1. + + + + + + + + + + + + + + + + + + + + 目的 + + + + + + + + + + + + + + + CNDJ6nn5us4RjIIAqgBLqQsCAAAACAAAAA4AAABfAFQAbwBjADEAMQA0ADEANQA2ADYANgA1AAAA + + + + + + + + + PAGEREF _Toc114156665 \h + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2. + + + + + + + + + + + + + + + + + + + + 术语 + + + + + + + + + + + + + + + CNDJ6nn5us4RjIIAqgBLqQsCAAAACAAAAA4AAABfAFQAbwBjADEAMQA0ADEANQA2ADYANgA2AAAA + + + + + + + + + PAGEREF _Toc114156666 \h + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3. + + + + + + + + + + + + + + + + + + + + 组织/角色与职责 + + + + + + + + + + + + + + + CNDJ6nn5us4RjIIAqgBLqQsCAAAACAAAAA4AAABfAFQAbwBjADEAMQA0ADEANQA2ADYANgA3AAAA + + + + + + + + + PAGEREF _Toc114156667 \h + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4. + + + + + + + + + + + + + + + + + + + + 内容 + + + + + + + + + + + + + + + CNDJ6nn5us4RjIIAqgBLqQsCAAAACAAAAA4AAABfAFQAbwBjADEAMQA0ADEANQA2ADYANgA4AAAA + + + + + + + + + PAGEREF _Toc114156668 \h + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5. + + + + + + + + + + + + + + + + + + + + + 相关文件 + + + + + + + + + + + + + + + CNDJ6nn5us4RjIIAqgBLqQsCAAAACAAAAA4AAABfAFQAbwBjADEAMQA0ADEANQA2ADYANgA5AAAA + + + + + + + + + PAGEREF _Toc114156669 \h + + + + + + + + + + + + + + + + + + + + 14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6. + + + + + + + + + + + + + + + + + + + + + 支持文件 + + + + + + + + + + + + + + + CNDJ6nn5us4RjIIAqgBLqQsCAAAACAAAAA4AAABfAFQAbwBjADEAMQA0ADEANQA2ADYANwAwAAAA + + + + + + + + + PAGEREF _Toc114156670 \h + + + + + + + + + + + + + + + + + + + + 14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7. + + + + + + + + + + + + + + + + + + + + + 附则 + + + + + + + + + + + + + + + CNDJ6nn5us4RjIIAqgBLqQsCAAAACAAAAA4AAABfAFQAbwBjADEAMQA0ADEANQA2ADYANwAxAAAA + + + + + + + + + PAGEREF _Toc114156671 \h + + + + + + + + + + + + + + + + + + + + 14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8. + + + + + + + + + + + + + + + + + + + + + 附件 + + + + + + + + + + + + + + + CNDJ6nn5us4RjIIAqgBLqQsCAAAACAAAAA4AAABfAFQAbwBjADEAMQA0ADEANQA2ADYANwAyAAAA + + + + + + + + + PAGEREF _Toc114156672 \h + + + + + + + + + + + + + + + + + + + + 14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 文控信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 文件名称 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${repository_name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 文件编码 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pl_file_number} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 流程架构 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + L1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pl_Process_Architecture_L1} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 版 本 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pl_versions} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + L2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pl_Process_Architecture_L2} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 生效日期 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pl_effective_date} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + L3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pl_Process_Architecture_L3} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 适用范围 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pl_application} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + L4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${repository_name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 修订记录 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 版本 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 拟制/修订单位 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 拟制/修订人 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 拟制/修订日期 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 审核人 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 复核人 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 审批人 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 修订内容及理由 + + + + + <#list version_history_table as table1> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table1.versions} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table1.Issuing_department} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table1.Drafted_and_revised_by} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table1.Drafted_and_revised_date} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table1.auditor} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table1.reviewer} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table1.approver} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table1.Contents_and_reasons_for_revision} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 目的 + + + + + <#if (Purpose_count ==0 )> + + + + + + + + + + + + + + + + <#else> + + + + + + + + + + + + + + + + + + ${pl_Purpose} + + + + + + + + + + + + + + + + + + + 术语 + + + + + <#if (term_table_count ==0 )> + + + + + + + + + + + + + + + + + <#else> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 名称 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 定义 + + + + + <#list term_table as table4> + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table4.name} + + + + + + + + + + + + + + + + + + + + + + + + + + ${table4.desc} + + + + + + + + + + + + + + + + + + + + + + + + + + 组织/ + + + 角色与职责 + + + + + <#if (organization_table_count ==0 )> + + + + + + + + + + + + + + + + + + <#else> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 组织/角色 + + + + + + + + + + 名称 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 职责 + + + + + <#list organization_table as table5> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table5.name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table5.desc} + + + + + + + + + + + + + + + + + + + + + + + 内容 + + + + + <#if (control_content_count ==0 )> + + + + + + + + + + + + + + + + + <#else> + ${control_content} + + + + + + + + + + + + + + + + + + + + + 相关文件 + + + + <#if (relevant_table_count ==0 )> + + + + + + + + + + + + + <#else> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 序号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 文件 + + + + + <#list relevant_table as table6> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table6.desc} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table6.name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 支持文件 + + + + <#if (supports_table_count ==0 )> + + + + + + + + + + + + + + + + <#else> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 序号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 文件 + + + + + <#list supports_table as table7> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table7.desc} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${table7.name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 附则 + + + + <#if (T_supplementary_articles_count == 0 )> + + + + + + + + + + + + + + + + + <#else> + + + + + + + + + + + + + + + + ${pl_T_supplementary_articles} + + + + + + + + + + + + + + + + + + + + + + + + + 附件 + + + + <#if (file_table_count == 0 )> + + + + + + + + + + + + + + + + + <#else> + <#list file_table as table4> + + + + + + + + + + + + + + + + + ${table4.file_name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 内蒙古伊利实业集团股份有限公司 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ────────────────────────────────────────────────── + + + + + + + + + + ─────────────────────────────────────────────────── + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 以上信息为伊利公司所有,未经允许不得外传 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PAGE + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file