2.9-测序文件

测序文件

当前为 2023-07-05 提交的版本,查看 最新版本

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/470210/1215898/29-%E6%B5%8B%E5%BA%8F%E6%96%87%E4%BB%B6.js

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

function 测序文件(){
	console.log('新的测序文件界面')
	var local_同一个版号中根据实验状态总结=localStorage.getItem('同一个版号中根据实验状态总结');
	var html=$('iframe[src="/seq/AutoFileUploadList.aspx"]')//测序样品页面
	html=html.contents().find('body').eq(0)
	var toolbar=html.find('.toolbar').eq(0)  // 找到了toolbar工具栏
	//var table=html.find('.ui-jqgrid-btable').eq(0)  // 找到了样品的table
	//添加toolbar工具栏按钮
	添加toolbar按钮(html)
	//添加toolbar工具栏按钮
	function 添加toolbar按钮(html){
		if (toolbar.find('.weiyiyici').length==0){
			//添加标记
			toolbar.addClass('weiyiyici')
			//添加修改样品名称按钮
			if (local_同一个版号中根据实验状态总结=='true'){
				toolbar.append('<span><input type="text" id="text_banhao"   placeholder="板号" size="5"/><button id="button_zongjie" onclick="return false">总结</font></button></span>')
				
				//点击添加样品前缀按钮执行如下函数
				toolbar.find('#button_zongjie').click(function(){
					根据实验状态总结()
				})
			}
		}
	}
	//根据实验状态总结
	function 根据实验状态总结(){
		板号=html.find('#text_banhao').eq(0).val()
		if(板号===""){console.log('空板号');return false}
		//报告生产界面查询BDT 数据
		$.ajaxSettings.async = false; //get请求默认是异步的,在这里改为同步
		标记=0
		$.get("/seq/xmldata/xmlSeqDBT.aspx?banhao="+板号,
			function (data,status) {
				if (data.indexOf('<Table>')==-1){
					alert('没搜到数据')
					标记=1
					return false
				}
				客户名_arr=文本_取中间文本_批量(data,'<seqo_cust_name>','<\\/seqo_cust_name>')
				生产编号_arr=文本_取中间文本_批量(data,'<seqs_prod_id>','<\\/seqs_prod_id>')
				样品名称_arr=文本_取中间文本_批量(data,'<seqs_sam_num>','<\\/seqs_sam_num>')
				引物_arr=文本_取中间文本_批量(data,'<seqs_primer>','<\\/seqs_primer>')
				状态_arr=文本_取中间文本_批量(data,'<seqs_process>','<\\/seqs_process>')
				产品信息_arr=文本_取中间文本_批量(data,'<prod_info>','<\\/prod_info>')
				报告异常_arr=文本_取中间文本_批量(data,'<seqs_report_error','\\/')
				订单号_arr=文本_取中间文本_批量(data,'<seqo_order_id>','<\\/seqo_order_id>')
			});
		if (标记==1){
			return false
		}
		if (客户名_arr.length==0){
			alert('没搜到数据')
			return false
		}
		
		//样品状态 不是 报告成功的,全部改成  非报告成功
		for (var i=0;i<状态_arr.length;i++){
			if (状态_arr[i].indexOf('报告成功')==-1){
				状态_arr[i]='非报告成功'
			}else{
				状态_arr[i]='报告成功'
			}
		}
		//根据产品信息数组获取孔号数组
		孔号_arr=[]
		for (var i=0;i<产品信息_arr.length;i++){
			分割_arr=产品信息_arr[i].split('.')
			孔号_arr.push(分割_arr[分割_arr.length-2])
		}
		//把报告异常_arr 的>  < 去掉
		for (var i=0;i<报告异常_arr.length;i++){
			if (报告异常_arr[i].indexOf('>')!==-1){
				//删除第一位
				报告异常_arr[i]=报告异常_arr[i].substr(1)
			}
			if (报告异常_arr[i].indexOf('<')!==-1){
				//删除最后一位
				报告异常_arr[i]=报告异常_arr[i].substring(0, 报告异常_arr[i].length - 1);
			}
		}
		//1.同一个引物的完成情况全部非“报告成功”
		引物_全部非报告成功()
	}
	//1.同一个引物的完成情况全部非“报告成功”
	function 引物_全部非报告成功(){
		// console.log(客户名_arr)
		// console.log(生产编号_arr)
		console.log(样品名称_arr)
		console.log(引物_arr)
		console.log(引物_arr[0])
		console.log(引物_arr[95])
		// console.log(报告异常_arr)
		// console.log(订单号_arr)
		// console.log(孔号_arr)
		console.log(状态_arr)
		临时_引物_arr=引物_arr
		//遍历数组,把状态是报告成功的,搜索所有该引物,和对应的状态全部删除
		引物记录_arr=[]
		for (var i=0;i<客户名_arr.length;i++){
			if (状态_arr[i]=='报告成功'){
				引物记录_arr.push(临时_引物_arr[i])
			}
		}
		for (var i=0;i<引物记录_arr.length;i++){
			for (var j=0;j<临时_引物_arr.length;j++){
				if (引物记录_arr[i]==临时_引物_arr[j]){
					临时_引物_arr[j]=''
				}
			}
		}
		console.log(临时_引物_arr)
		// 引物_状态_arr=[]
		// for (var i=0;i<客户名_arr.length;i++){
		// 	引物_状态_arr.push(引物_arr[i]+'&*&'+状态_arr[i])
		// }
	}
	
	
}