去掉文件只读页面下载监控方法|去掉画布导出手册下载监控方法|增加报告生成器下载监听方法|处理报告生成器获取错误文件id导致手册生成失败问题
This commit is contained in:
		
							parent
							
								
									870bcac328
								
							
						
					
					
						commit
						6d41e99643
					
				
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -2607,30 +2607,6 @@ public class CoEPALController { | |||||||
|  			return PALRepositoryQueryAPIManager.getInstance().createOutputReportZd(wsId, me.getUID(), teamId, fileId); |  			return PALRepositoryQueryAPIManager.getInstance().createOutputReportZd(wsId, me.getUID(), teamId, fileId); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |  | ||||||
| 		String nowDate=sdf.format(new Date()); |  | ||||||
| 		// 调用App |  | ||||||
| 		String sourceAppId = "com.awspaas.user.apps.browsing_data"; |  | ||||||
| 		// aslp服务地址 |  | ||||||
| 		String aslp = "aslp://com.awspaas.user.apps.browsing_data/RecordDownloadAlsp"; |  | ||||||
| 		// 参数定义列表 |  | ||||||
| 		Map alspparams = new HashMap<String, Object>(); |  | ||||||
| 		alspparams.put("sid", me.getSessionId()); |  | ||||||
| 		alspparams.put("uid", me.getUID()); |  | ||||||
| 		alspparams.put("username", me.getUserName()); |  | ||||||
| 		alspparams.put("modelId", fileId); |  | ||||||
| 		alspparams.put("modelName", model.getName()); |  | ||||||
| 		alspparams.put("downloadTime", nowDate); |  | ||||||
| 		alspparams.put("fileName", model.getName()); |  | ||||||
| 		alspparams.put("downloadType", "doc"); |  | ||||||
| 		alspparams.put("recordSource", "PAL画布-导出手册"); |  | ||||||
| 		alspparams.put("downloadsource", "PAL画布"); |  | ||||||
| 		AppAPI appAPI = SDK.getAppAPI(); |  | ||||||
| 		//根据上传的文件进行更新相关的excel或者ppt |  | ||||||
| 		ResponseObject alsp_ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, alspparams); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 		return PALRepositoryQueryAPIManager.getInstance().createOutputReportPr(wsId, me.getUID(), teamId, fileId); | 		return PALRepositoryQueryAPIManager.getInstance().createOutputReportPr(wsId, me.getUID(), teamId, fileId); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -3153,8 +3153,9 @@ public class OutputWordUtil { | |||||||
|      * @param uuid |      * @param uuid | ||||||
|      */ |      */ | ||||||
|     public static void mergeMRWord(String filePath, String uuid,JSONObject dataMap) { |     public static void mergeMRWord(String filePath, String uuid,JSONObject dataMap) { | ||||||
|         Map<String, JSONObject> stringJSONObjectMap = PALRepositoryQueryAPIManager.queryRepositoryAttributeById(uuid); |          Map<String, JSONObject> stringJSONObjectMap = PALRepositoryQueryAPIManager.queryRepositoryAttributeById(uuid); | ||||||
|         JSONObject attrJson = stringJSONObjectMap.get("management_requirements_Location"); |         JSONObject attrJson = stringJSONObjectMap.get("management_requirements_Location"); | ||||||
|  | 
 | ||||||
|         String text = attrJson.getString("text"); |         String text = attrJson.getString("text"); | ||||||
|         if ("不显示管理要求".equals(text)) { |         if ("不显示管理要求".equals(text)) { | ||||||
|             return; |             return; | ||||||
|  | |||||||
| @ -289,153 +289,7 @@ | |||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
| 
 | 
 | ||||||
|         //判断如果当前页面有编辑权进行记录操作 |  | ||||||
|         if($('#checkoutTip').css('display') != 'block'){ |  | ||||||
| 
 | 
 | ||||||
|             // 页面停留时间统计 |  | ||||||
|             class PageStayTimeTracker { |  | ||||||
|                 constructor() { |  | ||||||
|                     this.startTime = null; |  | ||||||
|                     this.lastReportTime = null; |  | ||||||
|                     this.reportInterval = 10000; // 60秒报告一次 |  | ||||||
|                     this.isActive = false; |  | ||||||
|                     this.isPageVisible = true; // 默认页面是可见的 |  | ||||||
|                     this.visibilityBound = false; // 是否已绑定可见性事件 |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|                 // 延迟绑定可见性事件 |  | ||||||
|                 bindVisibilityEvents() { |  | ||||||
|                     if (this.visibilityBound) return; |  | ||||||
| 
 |  | ||||||
|                     document.addEventListener('visibilitychange', this.handleVisibilityChange.bind(this)); |  | ||||||
|                     this.visibilityBound = true; |  | ||||||
| 
 |  | ||||||
|                     // 初始检查页面可见状态 |  | ||||||
|                     this.isPageVisible = !document.hidden; |  | ||||||
|                     if (!this.isPageVisible) { |  | ||||||
|                         this.lastReportTime = new Date(); // 更新最后记录时间 |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|                 // 开始跟踪 |  | ||||||
|                 startTracking() { |  | ||||||
|                     if (this.isActive) return; |  | ||||||
| 
 |  | ||||||
|                     this.startTime = new Date(); |  | ||||||
|                     this.lastReportTime = this.startTime; |  | ||||||
|                     this.isActive = true; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|                     // 设置定时器 |  | ||||||
|                     this.intervalId = setInterval(() => { |  | ||||||
|                         if (this.isPageVisible) { |  | ||||||
|                             this.reportStayTime(); |  | ||||||
|                         } |  | ||||||
|                     }, this.reportInterval); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|                     // 页面卸载前发送剩余时间 |  | ||||||
|                     window.addEventListener('beforeunload', this.finalReport.bind(this)); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|                     // 延迟绑定可见性事件(在用户首次交互后) |  | ||||||
|                     const bindOnInteraction = () => { |  | ||||||
|                         this.bindVisibilityEvents(); |  | ||||||
|                         // 移除所有交互监听器 |  | ||||||
|                         ['click', 'scroll', 'keydown', 'mousemove', 'touchstart'].forEach(event => { |  | ||||||
|                             window.removeEventListener(event, bindOnInteraction); |  | ||||||
|                         }); |  | ||||||
|                     }; |  | ||||||
| 
 |  | ||||||
|                     // 添加多种交互监听 |  | ||||||
|                     ['click', 'scroll', 'keydown', 'mousemove', 'touchstart'].forEach(event => { |  | ||||||
|                         window.addEventListener(event, bindOnInteraction, { once: true }); |  | ||||||
|                     }); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 // 报告停留时间 |  | ||||||
|                 reportStayTime() { |  | ||||||
|                     const now = new Date(); |  | ||||||
|                     const elapsed = now - this.lastReportTime; |  | ||||||
|                     this.totalStayTime += elapsed; |  | ||||||
|                     this.lastReportTime = now; |  | ||||||
| 
 |  | ||||||
|                     this.sendStayTimeToServer(elapsed, true); |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 // 最终报告 |  | ||||||
|                 finalReport() { |  | ||||||
|                     if (!this.isActive) return; |  | ||||||
|                     if (this.isPageVisible) { |  | ||||||
|                         const now = new Date(); |  | ||||||
|                         const elapsed = now - this.lastReportTime; |  | ||||||
|                     } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|                     this.sendStayTimeToServer(elapsed, false); |  | ||||||
|                     this.cleanUp(); |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 // 处理页面可见性变化 |  | ||||||
|                 handleVisibilityChange() { |  | ||||||
|                     var now = new Date(); |  | ||||||
|                     if (document.hidden) { |  | ||||||
|                         if (this.isPageVisible) { |  | ||||||
|                             this.isPageVisible = false; |  | ||||||
|                             // 页面不可见,暂停计时 |  | ||||||
|                             const now = new Date(); |  | ||||||
|                             const elapsed = now - this.lastReportTime; |  | ||||||
|                             this.totalStayTime += elapsed; |  | ||||||
|                             this.sendStayTimeToServer(elapsed, false); |  | ||||||
|                             clearInterval(this.intervalId); |  | ||||||
|                         } |  | ||||||
| 
 |  | ||||||
|                     } else { |  | ||||||
|                         // 页面恢复可见 |  | ||||||
|                         if (!this.isPageVisible) { |  | ||||||
|                             this.lastReportTime = now; // 重置最后记录时间 |  | ||||||
|                         } |  | ||||||
|                         this.isPageVisible = true; |  | ||||||
| 
 |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 // 发送数据到服务器 |  | ||||||
|                 sendStayTimeToServer(elapsedMs,isActive) { |  | ||||||
|                     $.ajax({ |  | ||||||
|                         type : "POST", |  | ||||||
|                         url : "./w?sid=" + encodeURIComponent($('#sid').val()) + "&cmd=com.awspaas.user.apps.browsing_data.service.insertReadingLog", |  | ||||||
|                         data : "userId="+userId+"&userName="+userName+"&ruuid="+ruuid+"&fileName="+fileName+"&startTime="+new Date(this.startTime).getTime()+"¤tTime="+new Date().getTime()+"&browserId="+browserId+"&isActive="+isActive, |  | ||||||
|                         success : function(msg) { |  | ||||||
|                             if (msg.result == "error") { |  | ||||||
|                                 $.simpleAlert("新增失败", "error"); |  | ||||||
|                             } |  | ||||||
|                         } |  | ||||||
|                     }); |  | ||||||
| 
 |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 // 清理资源 |  | ||||||
|                 cleanUp() { |  | ||||||
|                     clearInterval(this.intervalId); |  | ||||||
|                     document.removeEventListener('visibilitychange', this.handleVisibilityChange); |  | ||||||
|                     window.removeEventListener('beforeunload', this.finalReport); |  | ||||||
|                     this.isActive = false; |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             // 使用示例 |  | ||||||
|             const tracker = new PageStayTimeTracker(); |  | ||||||
|             tracker.startTracking(); |  | ||||||
| 
 |  | ||||||
|         } |  | ||||||
| 
 | 
 | ||||||
|         // 导出流程手册 |         // 导出流程手册 | ||||||
|         function outputProcess() { |         function outputProcess() { | ||||||
|  | |||||||
| @ -454,7 +454,6 @@ function delFileAll(callback) { //删除全部文件 | |||||||
| //下载附件
 | //下载附件
 | ||||||
| function downloadFile(url,type) { | function downloadFile(url,type) { | ||||||
| 	window.location.href = url; | 	window.location.href = url; | ||||||
| 
 |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -267,7 +267,30 @@ var OutputReportWizard = { | |||||||
| 				} | 				} | ||||||
| 				tempArr.push(tempObj); | 				tempArr.push(tempObj); | ||||||
| 			} else { | 			} else { | ||||||
| 				targetFileId += "," + fileTreeArr[index].id; | 				if(fileTreeArr[index].isParent==false){ | ||||||
|  | 					var params = { | ||||||
|  | 						"modelId": fileTreeArr[index].id, | ||||||
|  | 						"modelName":fileTreeArr[index].name.replace(/(已发布)$/, ''), | ||||||
|  | 						"downloadType": "doc", | ||||||
|  | 						"fileName":fileTreeArr[index].name.replace(/(已发布)$/, ''), | ||||||
|  | 						"recordSource": "报告生成器-手册下载", | ||||||
|  | 						"downloadsource": "报告生成器下载" | ||||||
|  | 					} | ||||||
|  | 					jQuery.ajax({ | ||||||
|  | 						type: "POST", | ||||||
|  | 						url: "./jd?sid=" + encodeURIComponent(sid) + "&cmd=com.awspaas.user.apps.browsing_data.service.downloadRecord", | ||||||
|  | 						data: params, | ||||||
|  | 						success: function(msg) { | ||||||
|  | 							$.simpleAlert("close"); | ||||||
|  | 
 | ||||||
|  | 						}, | ||||||
|  | 						err: function(msg) { | ||||||
|  | 							$.simpleAlert("close"); | ||||||
|  | 						} | ||||||
|  | 					}); | ||||||
|  | 					targetFileId += "," + fileTreeArr[index].id; | ||||||
|  | 				} | ||||||
|  | 
 | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		if (tempArr.length > 0) { | 		if (tempArr.length > 0) { | ||||||
| @ -307,7 +330,6 @@ var OutputReportWizard = { | |||||||
| 			data : params, | 			data : params, | ||||||
| 			type : "post", | 			type : "post", | ||||||
| 			success : function(msg) { | 			success : function(msg) { | ||||||
| 				debugger; |  | ||||||
| 				$.simpleAlert('close'); | 				$.simpleAlert('close'); | ||||||
| 				if (msg.result == "ok") { | 				if (msg.result == "ok") { | ||||||
| 					OutputReportWizard.isModify = false; | 					OutputReportWizard.isModify = false; | ||||||
|  | |||||||
| @ -61,7 +61,7 @@ public class DownloadRecordService extends ActionWeb | |||||||
|         alspparams.put("recordSource", params.get("recordSource")); |         alspparams.put("recordSource", params.get("recordSource")); | ||||||
|         alspparams.put("downloadsource", params.get("downloadsource")); |         alspparams.put("downloadsource", params.get("downloadsource")); | ||||||
|         AppAPI appAPI = SDK.getAppAPI(); |         AppAPI appAPI = SDK.getAppAPI(); | ||||||
|         //根据上传的文件进行更新相关的excel或者ppt | 
 | ||||||
|         ResponseObject alsp_ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, alspparams); |         ResponseObject alsp_ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, alspparams); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user