2.9-测序文件

测序文件

目前为 2023-07-05 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/470210/1215935/29-%E6%B5%8B%E5%BA%8F%E6%96%87%E4%BB%B6.js

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)
		// console.log(订单号_arr)
		// console.log(孔号_arr)
		console.log(状态_arr)
		临时_引物_arr=引物_arr.slice()
		//遍历数组,把状态是报告成功的,搜索所有该引物,和对应的状态全部删除
		引物记录_arr=[]
		for (var i=0;i<临时_引物_arr.length;i++){
			if (状态_arr[i]=='报告成功'){
				引物记录_arr.push(临时_引物_arr[i])
			}
		}
		console.log(引物记录_arr)
		for (var i=0;i<引物记录_arr.length;i++){
			for (var j=0;j<临时_引物_arr.length;j++){
				if (引物记录_arr[i]==临时_引物_arr[j]){
					临时_引物_arr[j]=''
				}
			}
		}
		//去掉是空字符串的数组
		临时_引物_arr=arr_quchu_kongbai(临时_引物_arr)
		res=数组_统计次数(临时_引物_arr)
		items=res[0]
		
		values=res[1]
		result=[]
		for (var i=0;i<items.length;i++){
			temp=items[i]+'-'+values[i]+'个'
			result.push(temp)
		}
		console.log(result)
		// 引物_状态_arr=[]
		// for (var i=0;i<客户名_arr.length;i++){
		// 	引物_状态_arr.push(引物_arr[i]+'&*&'+状态_arr[i])
		// }
	}
	
	
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址