﻿

function getDateAfterDay(currentDay, day) {
	var d = new Date(currentDay.replace(/-/g, '/'));
	d.setTime(d.getTime() + day * 24 * 60 * 60 * 1000); // 单位是毫秒

	var year = parseInt(d.getFullYear());

	var month =parseInt(d.getMonth() + 1);

	var day = parseInt(d.getDate());

	if (month < 10)

		month = "0" + month;

	if (day < 10)

		day = "0" + day;
	return "" + year + "-" + month + "-" + day;

}



function getDayOfWeek(dayValue) {

	var day = new Date(Date.parse(dayValue.replace(/-/g, '/'))); // 将日期值格式化

	var today = new Array("星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");

	return today[day.getDay()] // day.getDay();根据Date返一个星期中的某一天，其中0为星期日

}



/**

 * hosId:医生ID depId:部门ID startDate ：开始日期 格式 yyyy-MM-dd endDate ：结束日期 格式

 * yyyy-MM-dd

 */

function showPaiBan(url,hosId, depId, startDate, endDate, deptname) {

	return showPaiBanByDoc(url,hosId, depId, startDate, endDate, deptname, "")

}



/**

 * hosId:医生ID depId:部门ID startDate ：开始日期 格式 yyyy-MM-dd endDate ：结束日期 格式

 * yyyy-MM-dd

 */

function showPaiBanByDoc(url,hosId, depId, startDate, endDate, deptname, docId) {



	var d = {

		hospId : hosId,

		departId : depId,

		startDate : startDate,

		endDate : endDate

	};

	$("#Order > tbody > tr").remove();

	$.ajax( {

				url : '/VSMSMajor/web/schedule/schedule_getSchedule.action',

				type : "post",

				data : d,

				dataType : "json",

				jsonp : 'callback',

				scriptCharset:'gbk',

				cache:false,

				success : function(data) {
					var obj = data.days;
					var systemTime=new Date((data.datatime).replace("-", "/"));
					var systemEndTime=new Date(systemTime.getTime() + 5 * 24 * 60 * 60 * 1000+14*60*60 * 1000);  
					var wrgtime=new Date(systemTime.getTime() + 2 * 24 * 60 * 60 * 1000);
					crtDt = d.startDate.replace("-", "/");
					var xyTime=new Date(new Date(crtDt).getTime() + 15*60*60*1000+30*60*1000);
					var xy2Time=new Date(new Date(crtDt).getTime() + 5*60*60*1000);
					var zyyjyTime=new Date(new Date(crtDt).getTime() + 16*60*60*1000+30*60*1000);
					var fybjTime1=new Date(new Date(crtDt).getTime() + 11*60*60*1000+30*60*1000);
					var fybjTime=new Date(new Date(crtDt).getTime() + 16*60*60*1000+30*60*1000);
					var dayslong=7;
					if(hosId==20||hosId==11){
						dayslong=8;
					}
					
					for ( var i = 0; i <dayslong; i++) {

						// r标识，如果递归找到日期则返回，找到数据的id号

						var r = "";
						

						for ( var h in obj) {

							if (getDateAfterDay(crtDt, i) == obj[h].date) {

								r = h;

							}

						}
						var crtShowDay= new Date(getDateAfterDay(crtDt, i).replace("-", "/"));
						var showFlay =true;
						if(systemTime.getTime()>crtShowDay.getTime()){
								showFlay = false;
						}
/*
						var dFlag=true;

						if ( i > 3) {

							dFlag=false;

						}
						
						if(hosId==14){//中医附二 挂7天
							dFlag=true;
						}
						if(hosId==19){//中医药研究院附属医院
							if(i==0)dFlag=false;
							else if(i==1&&systemTime.getTime()>zyyjyTime.getTime())dFlag=false;
							else if(i==4&&systemTime.getTime()>zyyjyTime.getTime())dFlag=true;
						}
						if(hosId==20){//湘雅医院
						  dFlag=true;
						  var dd= new Date(getDateAfterDay(crtDt, i).replace("-", "/"))
						  if(i==0)dFlag=false;
						  else if(i==1&&systemTime.getTime()>xyTime.getTime())dFlag=false;
						  else if(dd.getDay()==1){
						       var day=new Date(crtDt).getDay();
						       if(day==5&&systemTime.getTime()>xyTime.getTime()){
						       		dFlag=false;
						       }else if(day==6||day==0){
						       		dFlag=false;
						       }				  	
						  }
						}
						if(hosId==11){//湘雅二医院
						   dFlag=true;
						   if(i==0&&systemTime.getTime()>xy2Time.getTime())dFlag=false;
						
						}				
						var wrgFalag=true;
						if(i<3&&new Date().getTime()>new Date(startDate.replace("-", "/")).getTime()&&new Date().getTime()<new Date(endDate.replace("-", "/")).getTime()){

							wrgFalag=false;

						}
					//if(hosId==18||hosId==12||hosId==14||hosId==17||hosId==16){//中医附一 国庆（10-01————10-07）放假 屏蔽网上挂号
						   //if(getDateAfterDay(crtDt, i)=="2010-10-01"||getDateAfterDay(crtDt, i)=="2010-10-02"||getDateAfterDay(crtDt, i)=="2010-10-03"||getDateAfterDay(crtDt, i)=="2010-10-04"||getDateAfterDay(crtDt, i)=="2010-10-05"||getDateAfterDay(crtDt, i)=="2010-10-06"||getDateAfterDay(crtDt, i)=="2010-10-07"){
							//dFlag=false;}
						//}
						//if(hosId==12){// 省妇幼 中秋放假 屏蔽网上挂号
						  // if(getDateAfterDay(crtDt, i)=="2010-09-22"){
							//dFlag=false;}
						//}

						//if(getDateAfterDay(crtDt, i)=="2011-01-31"||getDateAfterDay(crtDt, i)=="2011-02-01"||getDateAfterDay(crtDt, i)=="2011-02-02"||getDateAfterDay(crtDt, i)=="2011-02-03"||getDateAfterDay(crtDt, i)=="2011-02-04"||getDateAfterDay(crtDt, i)=="2011-02-05"||getDateAfterDay(crtDt, i)=="2011-02-06"||getDateAfterDay(crtDt, i)=="2011-02-07"||getDateAfterDay(crtDt, i)=="2011-02-08"){			
								//dFlag=false;
							//}
										
						if(hosId==18||hosId==20||hosId==14){
							if(getDateAfterDay(crtDt, i)=="2011-02-09"||getDateAfterDay(crtDt, i)=="2011-02-10"){
								dFlag=false;
							}
						}*/
						var dayName=getDateAfterDay(crtDt, i);
						var WeekName=getDayOfWeek(dayName);
						var th = "<th>" +dayName+ "<br/>"+WeekName+ "</th>";
						// 上下午标志
						if (r != "") {



							var flag = obj[r].flag;

							var dt=obj[r].date;

							var levels = obj[r].levels;



							var result_am = "", result_pm = ""; // 返回td对应的内宄1?7

							var aFlag = false; // 上午是否允许挂号标志

							var pFlag = false; // 下午是否允许挂号标志
							//alert(flag);
							switch (flag) {

							case "0":

								aFlag = true;

								pFlag = true;

								break;

							case "1":
								pFlag = true;
								break;

							case "2":

							break;

							}

					if(hosId==20||hosId==11){
							if(getDateAfterDay(crtDt, i)=="2012-01-20"||getDateAfterDay(crtDt, i)=="2012-01-21"||getDateAfterDay(crtDt, i)=="2012-01-22"||getDateAfterDay(crtDt, i)=="2012-01-23"||getDateAfterDay(crtDt, i)=="2012-01-24"||getDateAfterDay(crtDt, i)=="2012-01-25"||getDateAfterDay(crtDt, i)=="2012-01-26"||getDateAfterDay(crtDt, i)=="2012-01-27"||getDateAfterDay(crtDt, i)=="2012-01-28"||getDateAfterDay(crtDt, i)=="2012-01-29"){
								aFlag = false;
								pFlag = false;
							}
						}
					if(hosId==18){

							if(getDateAfterDay(crtDt, i)=="2012-01-20"||getDateAfterDay(crtDt, i)=="2012-01-21"||getDateAfterDay(crtDt, i)=="2012-01-22"||getDateAfterDay(crtDt, i)=="2012-01-23"||getDateAfterDay(crtDt, i)=="2012-01-24"||getDateAfterDay(crtDt, i)=="2012-01-25"||getDateAfterDay(crtDt, i)=="2012-01-26"||getDateAfterDay(crtDt, i)=="2012-01-27"||getDateAfterDay(crtDt, i)=="2012-01-28"||getDateAfterDay(crtDt, i)=="2012-01-29"||getDateAfterDay(crtDt, i)=="2012-01-30"){
								aFlag = false;
								pFlag = false;
							}
						}
					if(hosId==22||hosId==10||hosId==13||hosId==14||hosId==19){

							if(getDateAfterDay(crtDt, i)=="2012-01-22"||getDateAfterDay(crtDt, i)=="2012-01-23"||getDateAfterDay(crtDt, i)=="2012-01-24"||getDateAfterDay(crtDt, i)=="2012-01-25"||getDateAfterDay(crtDt, i)=="2012-01-26"||getDateAfterDay(crtDt, i)=="2012-01-27"||getDateAfterDay(crtDt, i)=="2012-01-28"||getDateAfterDay(crtDt, i)=="2012-01-29"){
								aFlag = false;
								pFlag = false;
							}
						}
				    if(hosId==12){
							if(getDateAfterDay(crtDt, i)=="2012-01-21"||getDateAfterDay(crtDt, i)=="2012-01-22"||getDateAfterDay(crtDt, i)=="2012-01-23"||getDateAfterDay(crtDt, i)=="2012-01-24"||getDateAfterDay(crtDt, i)=="2012-01-25"||getDateAfterDay(crtDt, i)=="2012-01-26"||getDateAfterDay(crtDt, i)=="2012-01-27"||getDateAfterDay(crtDt, i)=="2012-01-28"||getDateAfterDay(crtDt, i)=="2012-01-29"||getDateAfterDay(crtDt, i)=="2012-01-30"){
								aFlag = false;
								pFlag = false;
							}
						}
					if(hosId==21){
							if(getDateAfterDay(crtDt, i)=="2012-01-19"||getDateAfterDay(crtDt, i)=="2012-01-20"||getDateAfterDay(crtDt, i)=="2012-01-21"||getDateAfterDay(crtDt, i)=="2012-01-22"||getDateAfterDay(crtDt, i)=="2012-01-23"||getDateAfterDay(crtDt, i)=="2012-01-24"||getDateAfterDay(crtDt, i)=="2012-01-25"||getDateAfterDay(crtDt, i)=="2012-01-26"||getDateAfterDay(crtDt, i)=="2012-01-27"||getDateAfterDay(crtDt, i)=="2012-01-28"||getDateAfterDay(crtDt, i)=="2012-01-29"){
								aFlag = false;
								pFlag = false;
							}
						}	
							for ( var j in levels) {

								// 上午数据

		                        

								var AmTitleCssClass="";

								var PmTitleCssClass="";



								var alFlag = true; //上午该级别是否允许挂号标志

								if (levels[j].orderNumAm != "-1"

										&& eval(levels[j].useNumAm) >= eval(levels[j].orderNumAm)) {

									

									alFlag = false;
			
      				    //AmTitleCssClass="red";
								  
									

								}
								
							
								
						 /* if( !aFlag || !dFlag ) //控制上午标题颜色
              {
                   AmTitleCssClass="";
              }*/
			        var levelUseNumAm=levels[j].useNumAm;
					var levelNumAm=levels[j].orderNumAm;
					if(!aFlag&&showFlay)levelUseNumAm=0
              		var wrgFlag2=true;
					
								if(hosId==17&&depId==12&&levels[j].levelId==201){
									if(wrgtime.getTime()>new Date((getDateAfterDay(crtDt, i)).replace("-", "/")).getTime()&&levelUseNumAm<levelNumAm){					
										wrgFlag2=false;
							
									}
										levelNumAm=40;
									if(levelUseNumAm>=30 && wrgFlag2){
										levelUseNumAm=40;
									}
								}
								
								if(eval(levelUseNumAm)>eval(levelNumAm)){
									levelUseNumAm=levels[j].orderNumAm;
								}
								var title_am ="" ;
								if(hosId==18&&levels[j].levelId==246){//取消中医附一专家级别号源显示
									title_am = levels[j].levelName + "&nbsp;&nbsp;";
								}else{
									title_am = levels[j].levelName +"("+ "<span class='"+AmTitleCssClass+"'>"+levelUseNumAm+ "</span>/"+ levelNumAm + ")"+ "&nbsp;&nbsp;";
								}


								



								// 下午数据



								var plFlag = true; // 下午该级别是否允许挂号标志

								if (levels[j].orderNumPm != "-1"

										&& eval(levels[j].useNumPm) >= eval(levels[j].orderNumPm)) {

									plFlag = false;								
							            
									  //PmTitleCssClass="red";
								  
								}
								
					   /* if( !pFlag || !dFlag) //控制下午标题颜色
					    {
						   PmTitleCssClass="";
					    }*/
					    
							var levelUseNumPm=levels[j].useNumPm;
							var levelNumPm=levels[j].orderNumPm;
							if(!pFlag&&showFlay)levelUseNumPm=0							
						
								if(hosId==17&&depId==12&&levels[j].levelId==201){
										levelNumPm=40;
									if(levelUseNumPm>=30){
										levelUseNumPm=40;
									}
								}
								
								if(eval(levelUseNumPm)>eval(levelNumPm)){
									levelUseNumPm=levels[j].orderNumPm;
								}
								var title_pm="";
								if(hosId==18&&levels[j].levelId==246){//取消中医附一专家级别号源显示
									title_pm = levels[j].levelName + "&nbsp;&nbsp;";
								}else{
									title_pm = levels[j].levelName + "("

											+ "<span class='"+PmTitleCssClass+"'>"+(levelUseNumPm) + "</span>/"

											+ levelNumPm + ")"

											+ "&nbsp;&nbsp;";
								}
								

								var docs = levels[j].docs; // 医生号源
								var levelId=levels[j].levelId;


								var docStr_Am = "", docStr_Pm = ""; // 医生信息字符串



								for ( var k in docs) {

               						



									if ( docId == "" || docId == docs[k].docId) {											

												

                                        var docAmCSS="blue";

                                        var docPmCSS="blue";

										// 上午数据

										var adFlag = true;// 上午该医生是否允许挂号标志
										var orderNumAm=docs[k].orderNumAm;
										var orderNumPm=docs[k].orderNumPm;
										var temp =docs[k].orderNumAm;
										var temp1=docs[k].orderNumPm;
										var useNumAm=docs[k].useNumAm;
										var useNumPm=docs[k].useNumPm;
										if(docs[k].docId==104665&&wrgFlag2){//针对王若光的处理																
										   	 orderNumAm=20;									
										   	 orderNumPm=20;											
																		
										}
										if(docs[k].docId==105019){           //针对张涤的处理	
										   	 orderNumAm=0;										
										   	 orderNumPm=0;										
										}
										if(docs[k].docId==10145){ 
											if(levelId==23) {    //针对刘楚英的处理									 
										   	 	orderNumAm=4;	
										   		 orderNumPm=4;
										   	 }else{
										   	  	orderNumAm=6;	
										   	  	orderNumPm=6;
										   	 }																			
										}
										if(docs[k].docId==2009){		//针对林义雯的处理	
										   	 orderNumAm=5;										 
										   	 orderNumPm=5;										
										}
										if(docs[k].docId==10107){		//针对李云的处理										
										   	 orderNumAm=8;				
										   	 orderNumPm=8;										
										}
										if(docs[k].docId==103815){		//针对赫荣国的处理	
										   	 orderNumAm=5;
										   	 orderNumPm=5;	
										}
										if(docs[k].docId==104888){		//针对尤昭玲的处理	
										   	 orderNumAm=0;
										   	 orderNumPm=0;	
										}
										if(docs[k].docId==105092){		//针对熊继柏的处理	
										   	 orderNumAm=0;
										   	 orderNumPm=0;	
										}
										if(docs[k].docId==105086){		//针对郭振球的处理	
										   	 orderNumAm=5;
										   	 orderNumPm=5;	
										}
										if(docs[k].docId==104351){ 
											if(levelId==30||levelId==34) {    //针对袁长津的处理									 
										   	 	orderNumAm=10;	
										   		 orderNumPm=10;
										   	 }else{
										   	  	orderNumAm=20;	
										   	  	orderNumPm=20;
										   	 }																			
										}
										if(docs[k].docId==104352){		//针对刘新祥的处理	
										   	 orderNumAm=5;										 
										   	 orderNumPm=5;										
										}
										if(docs[k].docId==104362){		//针对匡继林的处理	
										   	 orderNumAm=15;										 
										   	 orderNumPm=15;										
										}	 
										  if(orderNumPm<0){
										  orderNumPm=0;
										  }
										  if(orderNumAm<0){
										  orderNumAm=0;
										  }
										 if(eval(orderNumAm)>0&&eval(useNumAm)>eval(orderNumAm)){
											useNumAm=orderNumAm;
										  }
										  if(eval(orderNumPm)>0&&eval(useNumPm)>eval(orderNumPm)){
											   useNumPm=orderNumPm;
											   }									
										if (docs[k].orderNumAm != '-1'

												&& eval(docs[k].useNumAm) >= eval(orderNumAm)) {
                                           
											adFlag = false;
											
											 //总使用号源是否已满

										     docAmCSS="red";
							
										  
			

										}
									 
									  //alert(docs[k].am+docs[k].docName);
									
									
									 //判断上午为0的情况
									 
										if( !aFlag )
										{
											 docAmCSS='';
										}
	


										var pdFlag = true;// 下午该医生是否允许挂号标志

                     
										if (docs[k].orderNumPm != '-1'

												&& eval(docs[k].useNumPm) >= eval(orderNumPm)) {

											  pdFlag = false;
     										 docPmCSS="red";

										}
									
									
									  
									 //判断下午为0的情况
										if(  !pFlag )
										{
											
											docPmCSS='';
										}
										

								    //@test
								    		if(docs[k].docId==104665){
												aFlag=true;pFlag=true;
										 	  if(systemEndTime.getTime()<new Date((getDateAfterDay(crtDt, i)).replace("-", "/")).getTime()){
										      	aFlag=false;pFlag=false;
												}
												if(systemTime.getTime()>new Date((getDateAfterDay(crtDt, i)).replace("-", "/")).getTime()){
												aFlag=false;pFlag=false;
												}										      
										      }//针对 王若光 的特殊处理
                                        if(!aFlag && systemTime.getTime()<new Date((getDateAfterDay(crtDt, i)).replace("-", "/")).getTime()){useNumAm=0;}			
										if(!pFlag && systemTime.getTime()<new Date((getDateAfterDay(crtDt, i)).replace("-", "/")).getTime()){useNumPm=0;}

								      if(docs[k].docId==105019||docs[k].docId==104888||docs[k].docId==105092){								    
										a_strFt = "<span class='"+docAmCSS+"'>电话预约</span>";
										p_strFt = "<span class='"+docPmCSS+"'>电话预约</span>" ;
										}else if(docs[k].docId==104665&&(useNumAm>=orderNumAm||useNumPm>=orderNumPm)&&wrgFlag2){//针对 王若光 的特殊处理
											a_strFt = "[<span class='"+docAmCSS+"'>"+ useNumAm+"</span>/" + orderNumAm+"]<span>[网上已满 电话预约]</span>";
											p_strFt = "[<span class='"+docPmCSS+"'>"+ useNumPm	+ "</span>/" + orderNumPm+"]<span>网上已满 电话预约]</span>";
										}else{						
											a_strFt = (eval(docs[k].orderNumAm) > -1 ?"<span class='"+docAmCSS+"'>"+ useNumAm+"</span>/" + orderNumAm:useNumAm);
											p_strFt = (eval(docs[k].orderNumPm) > -1 ?"<span class='"+docPmCSS+"'>"+ useNumPm+"</span>/" + orderNumPm:useNumPm);
										}

									// alert(p_strFt);



										//if(new Date().getTime()<new Date(startDate.replace("-", "/")).getTime()){dFlag=false;}

								
										if ( docs[k].am == "1" ) {									
											if (adFlag && alFlag && aFlag) {

												if (docId == "") {
													docStr_Am += gcnewLink(docs[k].docName,

															docs[k].charges,"0", "1",

															levels[j].levelId,

															docs[k].docId,levels[j].

															levelName,depId, 

															dt,docs[k].docName, '')
															+ "("

															+ a_strFt

															+ ")&nbsp;";
															
															

												} else {

													

													docStr_Am += gcnewLinkByDoc(docs[k].docName,

															docs[k].charges,"0", "1",

															levels[j].levelId,

															docs[k].docId,levels[j].

															levelName,depId, 

															dt,docs[k].docName, '')

															+ "("

															+ a_strFt

															+ ")"

															+ "&nbsp;";
															
														
  
												}

											} else {
                        if(!adFlag)
                        { 
                             AmFullCSS='red';
												}else{
													   AmFullCSS='dark';
												}
											  docStr_Am +="<span class='"+AmFullCSS+"'>"+docs[k].docName + "("

														+ a_strFt + ")&nbsp;"+"</span>";

											}

										}

										if ( docs[k].pm == "1" ) {

											if (pdFlag && plFlag && pFlag) {

												if (docId == "") {
													docStr_Pm += gcnewLink(docs[k].docName,docs[k].charges,"0", "2",

															levels[j].levelId,

															docs[k].docId,

															levels[j].levelName,

															depId,dt,

															docs[k].docName, '')


															+ "("

															+ p_strFt

															+ ")&nbsp;";

												} else {

													

													docStr_Pm += gcnewLinkByDoc(docs[k].docName,docs[k].charges,"0", "2",

															levels[j].levelId,

															docs[k].docId,

															levels[j].levelName,

															depId, dt,

															docs[k].docName, '')

															+ "("

															+ p_strFt

															+ ")"

															+ "&nbsp;";

												}

												

											} else {

                        if(!pdFlag)
                        { 
                             PmFullCSS='red';
												}else{
													   PmFullCSS='dark';
												}
                         
												docStr_Pm +="<span class='"+PmFullCSS+"'>"+ docs[k].docName + "("

														+ p_strFt + ")&nbsp;"+"</span>";

												

											}

										}

										// 下午数据

									}

								}

								if (docStr_Am != "") {

									result_am += "<b>" + title_am + "</b>"

											+ docStr_Am + "<br/>";

								}

								if (docStr_Pm != "") {

									result_pm += "<b>" + title_pm + "</b>"

											+ docStr_Pm + "<br/>";

								}

							}


							var td1 = "<td>" + result_am + "</td>";

							var td2 = "<td>" + result_pm + "</td>";

							


							$("#Order > tbody").append(

									"<tr>" + th + td1 + td2 + "</tr>");



						} else {



							$("#Order > tbody").append(

									"<tr>" + th + "<td></td><td></td></tr>");



						}



					}
	
				}

			});
}


// 返回链接
function gcnewLinkByDoc(str, charge,added, appm, grade, docId, gradeName, deptId,

		registerdate, docName, accignId) {

	var linkUrl = "<a href=\"#\"  onclick=\"javascript:registerFormSub('" + charge + "','"+added+"','"

			+ appm + "','" + grade + "','" + docId + "','" + gradeName + "','"

			+ deptId + "','" + registerdate + "','" + docName + "','"+ accignId + "');\">" + str + "</a>";

	return linkUrl;

}



/**

 * 提交表单 charge 挂号金额 appm 上午下午 grade 医生级别id docId 医生ID gradeName 医生级别名称 deptId

 * 科室ID registerdate 挂号日期 docName 医生名称 accignId 排版ID dept_Name 科室名称

 */

function registerFormSub(charge,added, appm, grade, docId, gradeName, deptId,

		registerdate, docName, accignId) {

	$("#registerdate").val(registerdate);

	$("#appm").val(appm);

	$("#grade").val(grade);

	$("#docId").val(docId);

	$("#gradeName").val(gradeName);

	$("#docName").val(docName);

	$("#charge").val(charge);
	$("#added").val(added);
	$("#accignId").val(accignId);

	document.forms[1].submit();

}

