Merge remote-tracking branch 'origin/apps_dev' into apps_dev
This commit is contained in:
commit
a5be307594
Binary file not shown.
@ -2606,6 +2606,20 @@ public class CoEPALController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 流程手册预览
|
||||
*
|
||||
* @param me
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
// @Mapping("COE_PAL_OUTPUTREPORT_OUTPUT_PROCESS_PREVIEW")
|
||||
@Mapping("com.actionsoft.apps.coe.pal_outputreport_output_process_ppt_preview")
|
||||
public String COEPALOUTPUTREPORTOutputProcessPPTPreview(UserContext me, String taskId) {
|
||||
return PALRepositoryQueryAPIManager.getInstance().outputReportPPTPreview(me, taskId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 流程阅览 流程手册下载
|
||||
*
|
||||
@ -3698,4 +3712,50 @@ public class CoEPALController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断表单模型是否存在excel文件
|
||||
*
|
||||
* @param me
|
||||
* @param uuids
|
||||
* @param teamId
|
||||
* @param wsId
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal.publisher_output_pr_estimateFile")
|
||||
public String createOutputPrReportsByEstimateFile(UserContext me, String fileId) {
|
||||
DesignerRelationShapeWeb web = new DesignerRelationShapeWeb(me);
|
||||
return web.createOutputPrReportsByEstimateFile(fileId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断制度模型是否存在ppt文件
|
||||
*
|
||||
* @param me
|
||||
* @param uuids
|
||||
* @param teamId
|
||||
* @param wsId
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal.publisher_output_pr_estimatePPTFile")
|
||||
public String createOutputPrReportsByEstimatePPTFile(UserContext me, String fileId) {
|
||||
DesignerRelationShapeWeb web = new DesignerRelationShapeWeb(me);
|
||||
return web.createOutputPrReportsByEstimatePPTFile(me, fileId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断附件
|
||||
*
|
||||
* @param me
|
||||
* @param uuids
|
||||
* @param teamId
|
||||
* @param wsId
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal.publisher_output_pr_downloadExcelFile")
|
||||
public String createOutputPrReportsByDownloadExcelFile(UserContext me, String taskIds) {
|
||||
DesignerRelationShapeWeb web = new DesignerRelationShapeWeb(me);
|
||||
return web.createOutputPrReportsByDownloadExcelFile(taskIds);
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -3525,6 +3525,68 @@ public class PALRepositoryQueryAPIManager {
|
||||
}
|
||||
|
||||
|
||||
public String outputReportPPTPreview(UserContext _uc, String taskId) {
|
||||
OutputTaskModel model = new OutputTask().getTaskReportById(taskId);
|
||||
ResponseObject result = ResponseObject.newOkResponse();
|
||||
if (model != null) {
|
||||
try {
|
||||
UtilFile file = OutputAPIManager.getInstance().getFilePath(model.getWsId(), taskId, model.getProfileId());
|
||||
if (file.exists()) {
|
||||
File[] fileList = file.listFiles();
|
||||
if (fileList.length > 0) {
|
||||
File docFile = null;
|
||||
for (File file2 : fileList) {
|
||||
if (file2.isFile() && "pptx".equals((file2.getName().substring(file2.getName().lastIndexOf(".") + 1)))) {
|
||||
docFile = file2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (docFile == null) {
|
||||
return ResponseObject.newErrResponse("没有找到文件").toString();
|
||||
}
|
||||
if (SDK.getAppAPI().isActive("com.actionsoft.apps.addons.onlinedoc")) {
|
||||
OutputAppProfile appFile = OutputAppManager.getProfile(model.getProfileId());
|
||||
String sourceAppId = appFile.getAppContext().getId();
|
||||
String filename = docFile.getName();
|
||||
DCContext sourceDc = new DCContext(_uc, DCProfileManager.getDCProfile(sourceAppId, "output"), sourceAppId, model.getWsId(), taskId, filename);
|
||||
Map<String, Object> aslpParams = new HashMap<String, Object>();
|
||||
|
||||
aslpParams.put("sid", _uc.getSessionId());
|
||||
aslpParams.put("fileNameOriginal", filename);
|
||||
aslpParams.put("sourceDc", sourceDc);
|
||||
aslpParams.put("isShowDefaultToolbar", true);
|
||||
aslpParams.put("isShowBackbtn", false);
|
||||
aslpParams.put("isEncrypt", true);
|
||||
aslpParams.put("isCopy", true);
|
||||
aslpParams.put("isPrint", true);
|
||||
aslpParams.put("isDownload", true);
|
||||
AppAPI appAPI = SDK.getAppAPI();
|
||||
ResponseObject responseObject = appAPI.callASLP(appAPI.getAppContext(sourceAppId), "aslp://com.actionsoft.apps.addons.onlinedoc/filePreview", aslpParams);
|
||||
if (responseObject != null) {
|
||||
if (responseObject.isOk()) {
|
||||
String url = responseObject.get("url").toString();
|
||||
result.put("url", url);
|
||||
result.put("filename", filename);
|
||||
} else {
|
||||
result = ResponseObject.newErrResponse("文档转换服务不可用,请联系管理员");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
result = ResponseObject.newErrResponse("文档转换服务不可用,请联系管理员");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
result = ResponseObject.newErrResponse("没有可预览文件");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return ResponseObject.newErrResponse().toString();
|
||||
}
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 流程手册下载
|
||||
*
|
||||
|
||||
@ -10,6 +10,11 @@ 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.PALMethodJsonModel;
|
||||
import com.actionsoft.apps.coe.pal.pal.method.util.PALMethodUtil;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.OutputAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.dao.OutputTask;
|
||||
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.repository.PALRepositoryQueryAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryPropertyCache;
|
||||
@ -31,6 +36,9 @@ import com.actionsoft.apps.coe.pal.pal.repository.designer.util.ShapeUtil;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.model.CoeProcessLevelAutoBean;
|
||||
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.pal.repository.util.CoeProcessLevelUtil;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.web.CoeProcessLevelWeb;
|
||||
import com.actionsoft.apps.coe.pal.pal.ws.web.VersionUtil;
|
||||
@ -38,6 +46,7 @@ import com.actionsoft.apps.coe.pal.util.BpmOrgUtil;
|
||||
import com.actionsoft.apps.coe.pal.util.HighSecurityUtil;
|
||||
import com.actionsoft.apps.coe.pal.util.StringHandleUtil;
|
||||
import com.actionsoft.apps.coe.pal.util.UtilMapSort;
|
||||
import com.actionsoft.apps.resource.plugin.profile.DCPluginProfile;
|
||||
import com.actionsoft.bpms.bo.engine.BO;
|
||||
import com.actionsoft.bpms.commons.cache.Cache;
|
||||
import com.actionsoft.bpms.commons.database.RowMap;
|
||||
@ -57,11 +66,13 @@ import com.actionsoft.bpms.org.model.UserModel;
|
||||
import com.actionsoft.bpms.org.web.CompanyWeb;
|
||||
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.*;
|
||||
import com.actionsoft.exception.AWSException;
|
||||
import com.actionsoft.exception.AWSObjectNotFindException;
|
||||
import com.actionsoft.i18n.I18nRes;
|
||||
import com.actionsoft.sdk.local.SDK;
|
||||
import com.actionsoft.sdk.local.api.AppAPI;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@ -4098,19 +4109,45 @@ public class DesignerRelationShapeWeb extends ActionWeb {
|
||||
for (FormFile formFile : formFiles) {
|
||||
DCContext fileDCContext = SDK.getBOAPI().getFileDCContext(formFile);
|
||||
fileDCContext.setSession(_uc);
|
||||
String downloadURL = fileDCContext.getDownloadURL();
|
||||
JSONObject jo = new JSONObject();
|
||||
String fileName = fileDCContext.getFileName();
|
||||
//视频支持mp4类型
|
||||
if (fileName.contains("mp4")) {
|
||||
jo.put("video", downloadURL);
|
||||
} else if (fileName.contains("png") || fileName.contains("gif") || fileName.contains("jpg")) {
|
||||
jo.put("picture", downloadURL);
|
||||
String downloadURL = "";
|
||||
Map<String, Object> aslpParams = new HashMap<String, Object>();
|
||||
|
||||
String sourceAppId = "com.actionsoft.apps.coe.pal";
|
||||
aslpParams.put("sid", _uc.getSessionId());
|
||||
aslpParams.put("fileNameOriginal", fileDCContext.getFileName());
|
||||
aslpParams.put("sourceDc", fileDCContext);
|
||||
aslpParams.put("isShowDefaultToolbar", true);
|
||||
aslpParams.put("isShowBackbtn", false);
|
||||
aslpParams.put("isEncrypt", true);
|
||||
aslpParams.put("isCopy", true);
|
||||
aslpParams.put("isPrint", true);
|
||||
aslpParams.put("isDownload", true);
|
||||
AppAPI appAPI = SDK.getAppAPI();
|
||||
ResponseObject responseObject = appAPI.callASLP(appAPI.getAppContext(sourceAppId), "aslp://com.actionsoft.apps.addons.onlinedoc/filePreview", aslpParams);
|
||||
|
||||
|
||||
if (responseObject != null) {
|
||||
if (responseObject.isOk()) {
|
||||
String url = responseObject.get("url").toString();
|
||||
downloadURL = SDK.getPortalAPI().getPortalUrl() + "/r" + url.substring(1, url.length());
|
||||
}
|
||||
|
||||
JSONObject jo = new JSONObject();
|
||||
String fileName = fileDCContext.getFileName();
|
||||
//视频支持mp4类型
|
||||
if (fileName.contains("mp4")) {
|
||||
jo.put("video", fileDCContext.getDownloadURL());
|
||||
jo.put("video_url", downloadURL);
|
||||
} else if (fileName.contains("png") || fileName.contains("gif") || fileName.contains("jpg")) {
|
||||
jo.put("picture", fileDCContext.getDownloadURL());
|
||||
jo.put("picture_url", downloadURL);
|
||||
}
|
||||
jo.put("picTitle", fileName.split("\\.")[0]);
|
||||
filePathArray.add(jo);
|
||||
}
|
||||
jo.put("picTitle", fileName.split("\\.")[0]);
|
||||
filePathArray.add(jo);
|
||||
macroLibraries.put("filePaths", filePathArray);
|
||||
|
||||
}
|
||||
macroLibraries.put("filePaths", filePathArray);
|
||||
return HtmlPageTemplate.merge(CoEConstant.APP_ID, "carousel.map.html", macroLibraries);
|
||||
}
|
||||
|
||||
@ -4209,4 +4246,129 @@ public class DesignerRelationShapeWeb extends ActionWeb {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断是否为第一个节点为excel
|
||||
*
|
||||
* @param wsId
|
||||
* @param teamId
|
||||
* @param uuids
|
||||
* @return
|
||||
*/
|
||||
public String createOutputPrReportsByEstimateFile(String fileId) {
|
||||
//判断表单图是否为单一模型并且只上传excel一种附件,导出手册直接导出excel手册
|
||||
PALRepositoryModel repositoryModel = PALRepositoryQueryAPIManager.getInstance().queryPalRepositoryModelByPalId(fileId);
|
||||
ResponseObject ro = ResponseObject.newOkResponse();
|
||||
UpFileDao upFileDao = new UpFileDao();
|
||||
//查询模型文件属性上传附件信息
|
||||
List<UpfileModel> search = upFileDao.searchByRepositoryId(repositoryModel.getId(), "s");
|
||||
|
||||
if (search.size() > 0) {
|
||||
if (search.size() == 1) {
|
||||
DCContext dcContextModel = null;
|
||||
//获取
|
||||
String getExcelFileName = search.get(0).getFileName();
|
||||
//获取文件的后缀名
|
||||
int lastIndexOf = getExcelFileName.lastIndexOf(".");
|
||||
String suffix = getExcelFileName.substring(lastIndexOf);
|
||||
if (suffix.equals(".xls") || suffix.equals(".xlsx")) {
|
||||
ro.put("result", "existExcel");
|
||||
} else {
|
||||
ro.put("result", "noexistExcel");
|
||||
}
|
||||
} else {
|
||||
ro.put("result", "noexistExcel");
|
||||
}
|
||||
}
|
||||
|
||||
return ro.toString();
|
||||
}
|
||||
|
||||
|
||||
public String createOutputPrReportsByEstimatePPTFile(UserContext me, String fileId) {
|
||||
ResponseObject ro = ResponseObject.newOkResponse();
|
||||
List<Map<String, Object>> repositoryFileElements = CoeDesignerUtil.getShapeMessageJson4(fileId); //流程文件内容
|
||||
PALRepositoryModel repositoryModel = PALRepositoryQueryAPIManager.getInstance().queryPalRepositoryModelByPalId(fileId);
|
||||
String controlShapeId = "";
|
||||
if (repositoryFileElements != null) {
|
||||
int index = 1;// 流程步骤序号
|
||||
int dangerIndex = 1;// 风险序号
|
||||
int regulateIndex = 1;// 控制序号
|
||||
for (Map<String, Object> shape : repositoryFileElements) {
|
||||
String type = shape.get("type").toString();
|
||||
if ("regulation".equals(type)) {
|
||||
controlShapeId = shape.get("id").toString();
|
||||
} else if ("I/O_L4".equals(type)) {
|
||||
controlShapeId = shape.get("id").toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 流程附件列表
|
||||
UpFileDao upFileDao = new UpFileDao();
|
||||
List<UpfileModel> search = upFileDao.search(repositoryModel.getId(), controlShapeId, null);
|
||||
DCContext dcContextpdf = null;
|
||||
//如果为PPT,则生成PPT手册
|
||||
if (search != null && search.size() > 0) {
|
||||
long b1 = System.currentTimeMillis();
|
||||
// 复制附件
|
||||
for (UpfileModel upfileModel : search) {
|
||||
DCPluginProfile dcProfile = DCProfileManager.getDCProfile(CoEConstant.APP_ID, CoeFileConstant.COE_UPFILE);
|
||||
|
||||
if (dcProfile != null) {
|
||||
dcContextpdf = new DCContext(me, dcProfile, CoEConstant.APP_ID, upfileModel.getPl_uuid(), upfileModel.getShape_uuid(), upfileModel.getFileName());
|
||||
String path = dcContextpdf.getPath();
|
||||
String fileName = dcContextpdf.getFileName();
|
||||
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
|
||||
if (suffix.equals("pptx")) {
|
||||
ro.put("result", "existPPT");
|
||||
} else {
|
||||
ro.put("result", "noexistPPT");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ro.toString();
|
||||
}
|
||||
|
||||
|
||||
public String createOutputPrReportsByDownloadExcelFile(String taskIds) {
|
||||
OutputTaskModel model = new OutputTask().getTaskReportById(taskIds);
|
||||
ResponseObject result = ResponseObject.newOkResponse();
|
||||
if (model != null) {
|
||||
try {
|
||||
UtilFile file = OutputAPIManager.getInstance().getFilePath(model.getWsId(), taskIds, model.getProfileId());
|
||||
if (file.exists()) {
|
||||
File[] fileList = file.listFiles();
|
||||
if (fileList.length > 0) {
|
||||
System.out.println("fileList==========" + fileList);
|
||||
File docFile = null;
|
||||
for (File file2 : fileList) {
|
||||
System.out.println("file2==============" + file2);
|
||||
if (file2.isFile() && "xlsx".equals((file2.getName().substring(file2.getName().lastIndexOf(".") + 1)))) {
|
||||
docFile = file2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (docFile == null) {
|
||||
return ResponseObject.newErrResponse("没有找到文件").toString();
|
||||
}
|
||||
OutputAppProfile appFile = OutputAppManager.getProfile(model.getProfileId());
|
||||
String sourceAppId = appFile.getAppContext().getId();
|
||||
String filename = docFile.getName();
|
||||
DCContext sourceDc = new DCContext(_uc, DCProfileManager.getDCProfile(sourceAppId, "output"), sourceAppId, model.getWsId(), taskIds, filename);
|
||||
String downUrl = SDK.getConfAPI().getPortalUrl() + "/r/"
|
||||
+ sourceDc.getDownloadURL().replace("./", "");
|
||||
result.put("url", downUrl);
|
||||
}
|
||||
} else {
|
||||
result = ResponseObject.newErrResponse("没有可预览文件");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return ResponseObject.newErrResponse().toString();
|
||||
}
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -79,8 +79,9 @@ public class InstitutionalTextWeb extends ActionWeb {
|
||||
public String systemManualTextExport() {
|
||||
List<String> listIds = OutputAppManager.getProfileName("");
|
||||
|
||||
|
||||
//查询制度流程文件
|
||||
List<RowMap> policyMap = DBSql.getMaps("SELECT * FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLMETHODID='control.policy' ");
|
||||
List<RowMap> policyMap = DBSql.getMaps("SELECT * FROM APP_ACT_COE_PAL_REPOSITORY WHERE PLMETHODID='control.policy' ");
|
||||
|
||||
String downUrl = "";
|
||||
|
||||
@ -101,7 +102,6 @@ public class InstitutionalTextWeb extends ActionWeb {
|
||||
exportText(policyMap.get(i).getString("ID"), policyMap.get(i).getString("WSID"), policyMap.get(i).getString("PLNAME"), policyMap.get(i).getString("PLVER"), zipName, times, targetDir, targetFileDir);
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
UtilFile.zipCompress(targetDir, new File(targetDir + zipName));
|
||||
|
||||
@ -133,6 +133,7 @@ public class InstitutionalTextWeb extends ActionWeb {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 制度正文单条导出
|
||||
*
|
||||
@ -183,6 +184,7 @@ public class InstitutionalTextWeb extends ActionWeb {
|
||||
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public void exportText(String targetFileId, String wsId, String plname, String versionNumer, String zipName, long times, String targetDir, File targetFileDir) {
|
||||
ProcessInstance boProcessInstance = SDK.getProcessAPI()
|
||||
.createBOProcessInstance("obj_c0fd5262f1c64df9ab5e725aae3eff2e", "admin", "正文导出");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user