<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="HOSPTIAL.aspx.vb" Inherits="HOSPTIAL" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>排班表維護</title>
</head>
<body >
<form id="Form1" method="post" runat="server">
<TABLE width="98%" align="center" border="0">
<TBODY>
<TR>
<TD ><h1> 排班表維護</h1></TD>
</TR>
<TR>
<TD >
<table width="100%" align="center" border="1">
<tr>
<td align="left"> 月份
:
<span class="input-append date" id="datetimepicker1" data-date="">
<input type="text" id="calendar_Month" runat="server" class="span2 form-control" size="16" readonly>
<span class="add-on"> <img src="images/calendar.jpg"/> </span>
</span>
班別 :
<asp:DropDownList id="f_dept_cd" runat="server" AutoPostBack="True"></asp:DropDownList>
</td>
<td align="right">
<asp:Button id="Button1" runat="server" Text="查詢" ></asp:Button>
<asp:button id="PrintList" runat="server" Text="儲存"></asp:button>
<asp:button id="Button2" runat="server" Text="複製上月份"></asp:button>
<asp:button id="PrintmailList" runat="server" Text="取消" Visible="false"></asp:button> </td>
</tr>
<TR>
<TD align="middle" colspan="2" >
<asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder></TD>
</TR>
<TR>
<TD align="right" colspan="2"> </TD>
</TR>
<asp:TextBox id="f_income_code" runat="server" Visible="False"></asp:TextBox>
<asp:literal id="msg" runat="server"></asp:literal>
</TABLE>
</TD>
</TR>
</TABLE>
</FORM>
</body>
<script type="text/javascript">
$(document).ready(function(){
DateTimePickerInit('#datetimepicker1',1,1,"yyyy/mm")
});
</script>
</html>
----------------------------------------------------------------------------------------------------------------------------
Partial Public Class HOSPTIAL
Inherits PageBase
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此加入要初始化頁面的使用者程式碼
Dim sql As String
Dim li As ListItem
Dim reader As IDataReader
Dim l_Task_Item_ID = Request("Task_Item_ID")
msg.Text = ""
If Not Page.IsPostBack() Then
calendar_Month.Value = GetSysDate()
Me.f_dept_cd.Items.Add(New ListItem("", ""))
'sql = "select Code_No, Code_Nm from Code1 where Code_Grp = 'E'"
sql = "select Code_No, Code_Nm from Code1 where Code_Grp = 'CS' "
reader = DB.QueryGetDataReader(sql)
While reader.Read()
Me.f_dept_cd.Items.Add(New ListItem(Trim(reader.Item("Code_Nm")), Trim(reader.Item("Code_No"))))
End While
reader.Close()
Call Build_Body(MonthType.Current)
End If
Call Build_Body(MonthType.Current)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call Build_Body(MonthType.Current)
End Sub
Sub ShowCalendar(ByVal l_year As String, ByVal l_month As String, ByVal mt As MonthType)
Dim StartDate As String = FormatDateTime((CInt(l_year)) & "/" & CInt(l_month) & "/1", DateFormat.ShortDate)
Dim MonthFirstWorkDay As String
Dim MonthFirstWorkWeekDay As String
Dim WeekFirstWorkDay As String
Dim WeekFirstWorkWeekDay As String
Dim DateIndex As String
Dim count As Integer
Dim HaveDates As Boolean = True
MonthFirstWorkDay = StartDate
MonthFirstWorkWeekDay = Weekday(MonthFirstWorkDay)
WeekFirstWorkDay = MonthFirstWorkDay
WeekFirstWorkWeekDay = MonthFirstWorkWeekDay
Dim tmpTable As Table
Dim tmpRow As TableRow
tmpTable = New Table()
tmpTable.Attributes.Item("border") = 1
tmpTable.Attributes.Item("width") = "100%"
tmpTable.Attributes.Item("BorderColor") = "#000000"
'=====================================================
'建立標頭
'=====================================================
Dim tmpTEXT As TableCell
Dim InputWeekDay As Literal
tmpTEXT = New TableCell()
InputWeekDay = New Literal()
InputWeekDay.Text = " "
tmpTEXT.Attributes.Item("width") = "50px"
tmpTEXT.Controls.Add(InputWeekDay)
tmpRow = New TableRow()
tmpRow.Controls.Add(tmpTEXT)
For count = 1 To 7
tmpTEXT = New TableCell()
InputWeekDay = New Literal()
InputWeekDay.Text = WeekdayName(count)
tmpTEXT.Attributes.Item("width") = "70px"
'tmpTEXT.Attributes.Item("bgcolor") = "#cccccc"
tmpTEXT.Controls.Add(InputWeekDay)
tmpRow.Controls.Add(tmpTEXT)
Next
tmpTable.Rows.Add(tmpRow)
While HaveDates
Dim tmpCell01 As TableCell = New TableCell()
Dim tmpCell02 As TableCell = New TableCell()
Dim title1 As Literal = New Literal()
Dim title2 As Literal = New Literal()
title1.Text = "日期"
title2.Text = "人員"
tmpCell01.Attributes.Item("width") = "30px"
'tmpCell01.Attributes.Item("bgcolor") = "#ccffcc"
tmpCell02.Attributes.Item("width") = "30px"
tmpCell01.Controls.Add(title1)
tmpCell02.Controls.Add(title2)
'=====================================================
'建立日期
'=====================================================
tmpRow = New TableRow()
tmpRow.Controls.Add(tmpCell01)
tmpTable.Rows.Add(tmpRow)
For count = 1 To (WeekFirstWorkWeekDay - 1)
tmpRow.Controls.Add(Create_Date_Cell("", count))
tmpTable.Rows.Add(tmpRow)
Next
DateIndex = WeekFirstWorkDay
For count = (WeekFirstWorkWeekDay) To 7
If Month(DateIndex) = Month(StartDate) Then
tmpRow.Controls.Add(Create_Date_Cell(DateIndex, count)) '
Else
tmpRow.Controls.Add(Create_Date_Cell("", count))
End If
DateIndex = DateAdd("d", 1, DateIndex)
tmpTable.Rows.Add(tmpRow)
Next
'=======================================
'建立人員
'=======================================
tmpRow = New TableRow()
tmpRow.Controls.Add(tmpCell02)
tmpTable.Rows.Add(tmpRow)
For count = 1 To (WeekFirstWorkWeekDay - 1)
tmpRow.Controls.Add(Create_Users_Cell("", mt))
tmpTable.Rows.Add(tmpRow)
Next
DateIndex = WeekFirstWorkDay
For count = (WeekFirstWorkWeekDay) To 7
If Month(DateIndex) = Month(StartDate) Then
tmpRow.Controls.Add(Create_Users_Cell(DateIndex, mt))
Else
tmpRow.Controls.Add(Create_Users_Cell("", mt))
End If
DateIndex = DateAdd("d", 1, DateIndex)
tmpTable.Rows.Add(tmpRow)
Next
'計算下周起始日
If Month(DateIndex) <> Month(StartDate) Then
HaveDates = False
Else
WeekFirstWorkDay = DateAdd("d", 7 - WeekFirstWorkWeekDay + 1, WeekFirstWorkDay)
If Month(WeekFirstWorkDay) <> Month(StartDate) Then
HaveDates = False
End If
WeekFirstWorkWeekDay = 1
End If
End While
PlaceHolder1.Controls.Add(tmpTable)
End Sub
Private Function Create_Date_Cell(ByVal DateData As String, ByVal WeekDayData As String) As TableCell
Dim tmpCell As TableCell
Dim ShowDateData As Literal
tmpCell = New TableCell()
tmpCell.Attributes.Item("width") = "70px"
'tmpCell.Attributes.Item("bgColor") = "#ccffcc"
ShowDateData = New Literal()
If DateData <> "" Then
Dim dateArray = Split(DateData, "/")
Dim l_year As String = ModifyString(CInt(dateArray(0)), 4, "0")
Dim l_month As String = ModifyString(dateArray(1), 2, "0")
Dim l_day As String = ModifyString(dateArray(2), 2, "0")
ShowDateData.Text = l_year & "/" & l_month & "/" & l_day
Else
ShowDateData.Text = " "
End If
tmpCell.Controls.Add(ShowDateData)
If DateData <> "" Then
tmpCell.Controls.Add(ShowDateData)
End If
Return tmpCell
End Function
Private Function Create_Users_Cell(ByVal DateData As String, ByVal mt As MonthType) As TableCell
Dim sql As String
Dim li As ListItem
Dim dr_list As DropDownList
Dim dr_list2 As DropDownList
'add machine no
Dim machine1 As DropDownList
Dim machine2 As DropDownList
Dim tmpCell As TableCell
Dim l_holiday As Literal
tmpCell = New TableCell()
dr_list = New DropDownList()
dr_list2 = New DropDownList()
machine1 = New DropDownList
machine2 = New DropDownList
l_holiday = New Literal()
dr_list.Items.Insert(0, "")
dr_list.AppendDataBoundItems = True
dr_list2.Items.Insert(0, "")
dr_list2.AppendDataBoundItems = True
If DateData <> "" Then
Dim dateArray = Split(DateData, "/")
Dim l_year As String = ModifyString(CInt(dateArray(0)), 4, "0")
Dim l_month As String = ModifyString(dateArray(1), 2, "0")
Dim l_day As String = ModifyString(dateArray(2), 2, "0")
dr_list.ID = "l_" & l_year & l_month & l_day & TimePeriod.AM.ToString
dr_list2.ID = "l_" & l_year & l_month & l_day & TimePeriod.PM.ToString
machine1.ID = "MC_l_" & l_year & l_month & l_day & TimePeriod.AM.ToString
machine2.ID = "MC_l_" & l_year & l_month & l_day & TimePeriod.PM.ToString
Dim subsql As String = ""
Dim i As Integer
Dim mcs As ArrayList = New ArrayList
Dim instrument_order As String = ""
Dim mcCount As String = "0"
mcs.Add("99")
mcs.Add("100")
mcs.Add("102")
mcs.Add("106")
Dim result = From mx In mcs Where f_dept_cd.SelectedValue.Trim.StartsWith(mx.ToString.Trim) Select mx.ToString.Trim
If result.Count > 0 Then
Select Case result.FirstOrDefault.ToString.Trim
Case "99"
instrument_order = "MRI"
Case "100"
instrument_order = "ES"
Case "102"
instrument_order = "ECHO"
Case "106"
instrument_order = "CT"
End Select
mcCount = QueryGetValue(" select count(instrument_order) as mCount from BS_instrument where instrument_order = '" & instrument_order & "' group by instrument_order ")
If Convert.ToInt32(mcCount) > 0 Then
For m As Integer = 0 To Convert.ToInt32(mcCount) - 1 Step 1
machine1.Items.Add(New ListItem("第" & Convert.ToString(m + 1) & "台", Convert.ToString(m + 1)))
machine2.Items.Add(New ListItem("第" & Convert.ToString(m + 1) & "台", Convert.ToString(m + 1)))
Next
End If
End If
'====================
'產生醫生選單
'====================
sql = " select Emp_No, ltrim(rtrim(Emp_No)) + ' ' + ltrim(rtrim(NameC)) as NameC from Emp where VS_Flag = '1' "
sql &= " AND EMP_NO NOT IN(SELECT EMP_NO FROM APS018 WHERE DT = '" & l_year & l_month & l_day & "' AND [Off] = '0' ) "
Dim dtDr = From x In QueryGetDataTable(sql).AsEnumerable Select New With {.Emp_No = x.Field(Of String)("Emp_No").Trim, .NameC = x.Field(Of String)("NameC").Trim}
dr_list.DataSource = dtDr
dr_list.DataTextField = "NameC"
dr_list.DataValueField = "Emp_No"
dr_list.DataBind()
dr_list2.DataSource = dtDr
dr_list2.DataTextField = "NameC"
dr_list2.DataValueField = "Emp_No"
dr_list2.DataBind()
Dim dr_id As String = String.Empty
If mt = MonthType.Current Then
dr_id = GetDrId(MonthType.Current, TimePeriod.AM, l_year, l_month, l_day)
Else
dr_id = GetDrId(MonthType.Last, TimePeriod.AM, l_year, l_month, l_day)
End If
If dr_id <> "" Then dr_id = dr_id.Trim
For Each li In dr_list.Items
If li.Value = dr_id Then
li.Selected = True
Exit For
Else
li.Selected = False
End If
Next
If mt = MonthType.Current Then
dr_id = GetDrId(MonthType.Current, TimePeriod.PM, l_year, l_month, l_day)
Else
dr_id = GetDrId(MonthType.Last, TimePeriod.PM, l_year, l_month, l_day)
End If
If dr_id <> "" Then dr_id = dr_id.Trim
For Each li In dr_list2.Items
If li.Value = dr_id Then
li.Selected = True
Exit For
Else
li.Selected = False
End If
Next
'--------------------------------------------
Dim mcNo As String = String.Empty
If mt = MonthType.Current Then
mcNo = GetMcNo(MonthType.Current, TimePeriod.AM, l_year, l_month, l_day)
Else
mcNo = GetMcNo(MonthType.Last, TimePeriod.AM, l_year, l_month, l_day)
End If
If mcNo <> "" Then mcNo = mcNo.Trim
For Each li In machine1.Items
If li.Value = mcNo Then
li.Selected = True
Exit For
Else
li.Selected = False
End If
Next
If mt = MonthType.Current Then
mcNo = GetMcNo(MonthType.Current, TimePeriod.PM, l_year, l_month, l_day)
Else
mcNo = GetMcNo(MonthType.Last, TimePeriod.PM, l_year, l_month, l_day)
End If
If mcNo <> "" Then mcNo = mcNo.Trim
For Each li In machine2.Items
If li.Value = mcNo Then
li.Selected = True
Exit For
Else
li.Selected = False
End If
Next
If result.Count >= 0 Then
machine1.Visible = False
machine2.Visible = False
End If
If QueryGetValue("Calendar", "DType", "Dt='" & l_year & l_month & l_day & "' ") = "1" Then
tmpCell.Controls.Add(New Literal() With {.Text = TimePeriod.AM.ToString & " "})
tmpCell.Controls.Add(dr_list)
tmpCell.Controls.Add(New Literal() With {.Text = " "})
tmpCell.Controls.Add(machine1)
tmpCell.Controls.Add(New Literal() With {.Text = "<br/>"})
tmpCell.Controls.Add(New Literal() With {.Text = TimePeriod.PM.ToString & " "})
tmpCell.Controls.Add(dr_list2)
tmpCell.Controls.Add(New Literal() With {.Text = " "})
tmpCell.Controls.Add(machine2)
Else
l_holiday.Text = "假日"
tmpCell.Controls.Add(l_holiday)
End If
Else
l_holiday.Text = " "
tmpCell.Controls.Add(l_holiday)
End If
Return tmpCell
End Function
Private Sub PrintList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintList.Click
Dim i As Integer
Dim counts As Integer = 0
Dim SqlList(0) As String
Dim l_year As String = ModifyString(calendar_Month.Value.Replace("/", "").Substring(0, 4), 4, "0")
Dim l_month As String = ModifyString(calendar_Month.Value.Replace("/", "").Substring(4, 2), 2, "0")
SqlList(UBound(SqlList)) = " DELETE FROM Clinic_Schedule WHERE Clinic_Dept_Cd = '" & Me.f_dept_cd.SelectedValue.Trim & "' and Clinic_Dt LIKE '" & l_year.Trim & l_month.Trim & "%' "
ReDim Preserve SqlList(UBound(SqlList) + 1)
Dim tmpTable As Table
Dim tmpRow As TableRow
Dim tmpCell As TableCell
Dim tmpControl As Object
Dim strClinicDt As String = ""
Dim strEmpNo As String = ""
Dim strEmpName As String = ""
Dim strEmpNoPM As String = ""
Dim strEmpNamePM As String = ""
Dim mcAmNo As String = ""
Dim mcPmNo As String = ""
For Each tmpTable In PlaceHolder1.Controls
For Each tmpRow In tmpTable.Controls
For Each tmpCell In tmpRow.Controls
For Each tmpControl In tmpCell.Controls
If TypeOf (tmpControl) Is System.Web.UI.WebControls.DropDownList Then
If (CType(tmpControl, DropDownList)).ClientID.IndexOf(TimePeriod.AM.ToString) >= 0 And (CType(tmpControl, DropDownList)).ClientID.IndexOf("MC_") < 0 Then
strClinicDt = Replace(Replace(tmpControl.id, "l_", ""), TimePeriod.AM.ToString, "").Trim
Try
If tmpControl.selecteditem IsNot Nothing Then
If Not String.IsNullOrEmpty(tmpControl.selecteditem.value) Then
strEmpNo = tmpControl.selecteditem.value.ToString
strEmpName = tmpControl.selecteditem.text.ToString.Split(New Char() {" "})(1)
End If
End If
Catch ex As Exception
Throw ex
End Try
End If
If TypeOf (tmpControl) Is System.Web.UI.WebControls.DropDownList Then
If (CType(tmpControl, DropDownList)).ClientID.IndexOf(TimePeriod.PM.ToString) >= 0 And (CType(tmpControl, DropDownList)).ClientID.IndexOf("MC_") < 0 Then
strClinicDt = Replace(Replace(tmpControl.id, "l_", ""), TimePeriod.PM.ToString, "").Trim
If tmpControl.selecteditem IsNot Nothing Then
If Not String.IsNullOrEmpty(tmpControl.selecteditem.value) Then
strEmpNoPM = tmpControl.selecteditem.value.ToString
strEmpNamePM = tmpControl.selecteditem.text.ToString.Split(New Char() {" "})(1)
End If
End If
End If
End If
If (CType(tmpControl, DropDownList)).ClientID.IndexOf(TimePeriod.AM.ToString) >= 0 And (CType(tmpControl, DropDownList)).ClientID.IndexOf("MC_") >= 0 Then
strClinicDt = Replace(Replace(Replace(tmpControl.id, "l_", ""), TimePeriod.AM.ToString, "").Trim, "MC_", "")
Try
If tmpControl.selecteditem IsNot Nothing Then
If Not String.IsNullOrEmpty(tmpControl.selecteditem.value) Then
mcAmNo = tmpControl.selecteditem.value.ToString.Trim
End If
End If
Catch ex As Exception
Throw ex
End Try
End If
If TypeOf (tmpControl) Is System.Web.UI.WebControls.DropDownList Then
If (CType(tmpControl, DropDownList)).ClientID.IndexOf(TimePeriod.PM.ToString) >= 0 And (CType(tmpControl, DropDownList)).ClientID.IndexOf("MC_") >= 0 Then
strClinicDt = Replace(Replace(Replace(tmpControl.id, "l_", ""), TimePeriod.PM.ToString, "").Trim, "MC_", "")
If tmpControl.selecteditem IsNot Nothing Then
If Not String.IsNullOrEmpty(tmpControl.selecteditem.value) Then
mcPmNo = tmpControl.selecteditem.value.ToString.Trim
End If
End If
End If
End If
End If
Next
If Not String.IsNullOrEmpty(strEmpNo) And Not String.IsNullOrEmpty(strEmpName) _
And Not String.IsNullOrEmpty(strEmpNoPM) And Not String.IsNullOrEmpty(strEmpNamePM) Then
SqlList(UBound(SqlList)) = " insert into Clinic_Schedule(Clinic_Type,Clinic_Dt,AM_Emp_No,AM_Emp_Nm,PM_Emp_No,PM_Emp_Nm,Clinic_Dept_Cd,Cr_Login_ID,Cr_Tm) "
SqlList(UBound(SqlList)) = SqlList(UBound(SqlList)) & " values('1','" & strClinicDt & "','" & strEmpNo & "','" & strEmpName & "','" & strEmpNoPM & "','" & strEmpNamePM & "','" & Me.f_dept_cd.SelectedValue & "','" & Session("Login_ID") & "',GETDATE()) "
ReDim Preserve SqlList(UBound(SqlList) + 1)
ElseIf Not String.IsNullOrEmpty(strEmpNo) And Not String.IsNullOrEmpty(strEmpName) Then
SqlList(UBound(SqlList)) = " insert into Clinic_Schedule(Clinic_Type,Clinic_Dt,AM_Emp_No,AM_Emp_Nm,PM_Emp_No,PM_Emp_Nm,Clinic_Dept_Cd,Cr_Login_ID,Cr_Tm) "
SqlList(UBound(SqlList)) = SqlList(UBound(SqlList)) & " values('1','" & strClinicDt & "','" & strEmpNo & "','" & strEmpName & "','" & strEmpNoPM & "','" & strEmpNamePM & "','" & Me.f_dept_cd.SelectedValue & "','" & Session("Login_ID") & "',GETDATE()) "
ReDim Preserve SqlList(UBound(SqlList) + 1)
ElseIf Not String.IsNullOrEmpty(strEmpNoPM) And Not String.IsNullOrEmpty(strEmpNamePM) Then
SqlList(UBound(SqlList)) = " insert into Clinic_Schedule(Clinic_Type,Clinic_Dt,AM_Emp_No,AM_Emp_Nm,PM_Emp_No,PM_Emp_Nm,Clinic_Dept_Cd,Cr_Login_ID,Cr_Tm) "
SqlList(UBound(SqlList)) = SqlList(UBound(SqlList)) & " values('1','" & strClinicDt & "','" & strEmpNo & "','" & strEmpName & "','" & strEmpNoPM & "','" & strEmpNamePM & "','" & Me.f_dept_cd.SelectedValue & "','" & Session("Login_ID") & "',GETDATE()) "
ReDim Preserve SqlList(UBound(SqlList) + 1)
End If
strEmpNo = ""
strEmpName = ""
strEmpNoPM = ""
strEmpNamePM = ""
If Not String.IsNullOrEmpty(mcAmNo) And Not String.IsNullOrEmpty(mcPmNo) Then
SqlList(UBound(SqlList)) = " update Clinic_Schedule set AM_Machine_No = '" & mcAmNo & "', PM_Machine_No = '" & mcPmNo & "' , Ed_Login_ID = '" & Session("Login_ID").ToString & "' , Ed_Tm = getdate() where Clinic_Dept_Cd = '" & Me.f_dept_cd.SelectedValue & "' and Clinic_Dt = '" & strClinicDt & "' "
ReDim Preserve SqlList(UBound(SqlList) + 1)
End If
mcAmNo = ""
mcPmNo = ""
Next
Next
Next
counts = UBound(SqlList)
If counts > 0 Then
Try
For i = 1 To counts
If Not SqlList(i - 1) Is Nothing Then
DB.Execute(SqlList(i - 1))
End If
Next
PlaceHolder1.Controls.Clear()
Dim l_dept As String = f_dept_cd.SelectedItem.Value
If l_year <> "" And l_month <> "" And l_dept <> "" Then
Call ShowCalendar(calendar_Month.Value.Replace("/", "").Substring(0, 4), calendar_Month.Value.Replace("/", "").Substring(4, 2), MonthType.Current)
End If
msg.Text = "<script Language=javascript>"
msg.Text = msg.Text & "alert('存檔成功'); "
msg.Text = msg.Text & "<" & "/" & "script>"
Catch err As Exception
'=========================
'顯示錯誤訊息
'=========================
PlaceHolder1.Controls.Clear()
Dim l_dept As String = f_dept_cd.SelectedItem.Value
If l_year <> "" And l_month <> "" And l_dept <> "" Then
Call ShowCalendar(calendar_Month.Value.Replace("/", "").Substring(0, 4), calendar_Month.Value.Replace("/", "").Substring(4, 2), MonthType.Current)
End If
msg.Text = "<script Language=javascript>"
msg.Text = msg.Text & "alert('存檔失敗'); "
msg.Text = msg.Text & "<" & "/" & "script>"
Exit Sub
Finally
End Try
End If
End Sub
Private Sub f_dept_cd_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles f_dept_cd.SelectedIndexChanged
Call Build_Body(MonthType.Current)
End Sub
Sub Build_Body(ByVal mt As MonthType)
PlaceHolder1.Controls.Clear()
Dim l_year As String = calendar_Month.Value.Replace("/", "").Substring(0, 4)
Dim l_month As String = calendar_Month.Value.Replace("/", "").Substring(4, 2)
Dim l_dept As String = f_dept_cd.SelectedItem.Value
If l_year <> "" And l_month <> "" And l_dept <> "" Then
Call ShowCalendar(l_year, l_month, mt)
Else
End If
End Sub
Public Enum MonthType
Current
Last
End Enum
Public Enum TimePeriod
AM
PM
End Enum
Private Sub PrintmailList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintmailList.Click
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
Call Build_Body(MonthType.Last)
End Sub
Function GetDrId(ByVal mt As MonthType, ByVal tp As TimePeriod, ByVal year As String, ByVal month As String, ByVal day As String) As String
Dim whichColumn As String = tp.ToString & "_Emp_No"
If mt = MonthType.Last Then
month = CStr((CInt(month) - 1)).PadLeft(2, "0")
End If
Return QueryGetValue(" select " & whichColumn & " from Clinic_Schedule where Clinic_Dept_Cd = '" & Me.f_dept_cd.SelectedValue & "' and Clinic_Dt = '" & year & month & day & "' ")
End Function
Function GetMcNo(ByVal mt As MonthType, ByVal tp As TimePeriod, ByVal year As String, ByVal month As String, ByVal day As String) As String
Dim whichColumn As String = tp.ToString & "_Machine_No"
If mt = MonthType.Last Then
month = CStr((CInt(month) - 1)).PadLeft(2, "0")
End If
Return QueryGetValue(" select " & whichColumn & " from Clinic_Schedule where Clinic_Dept_Cd = '" & Me.f_dept_cd.SelectedValue & "' and Clinic_Dt = '" & year & month & day & "' ")
End Function
End Class
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>排班表維護</title>
</head>
<body >
<form id="Form1" method="post" runat="server">
<TABLE width="98%" align="center" border="0">
<TBODY>
<TR>
<TD ><h1> 排班表維護</h1></TD>
</TR>
<TR>
<TD >
<table width="100%" align="center" border="1">
<tr>
<td align="left"> 月份
:
<span class="input-append date" id="datetimepicker1" data-date="">
<input type="text" id="calendar_Month" runat="server" class="span2 form-control" size="16" readonly>
<span class="add-on"> <img src="images/calendar.jpg"/> </span>
</span>
班別 :
<asp:DropDownList id="f_dept_cd" runat="server" AutoPostBack="True"></asp:DropDownList>
</td>
<td align="right">
<asp:Button id="Button1" runat="server" Text="查詢" ></asp:Button>
<asp:button id="PrintList" runat="server" Text="儲存"></asp:button>
<asp:button id="Button2" runat="server" Text="複製上月份"></asp:button>
<asp:button id="PrintmailList" runat="server" Text="取消" Visible="false"></asp:button> </td>
</tr>
<TR>
<TD align="middle" colspan="2" >
<asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder></TD>
</TR>
<TR>
<TD align="right" colspan="2"> </TD>
</TR>
<asp:TextBox id="f_income_code" runat="server" Visible="False"></asp:TextBox>
<asp:literal id="msg" runat="server"></asp:literal>
</TABLE>
</TD>
</TR>
</TABLE>
</FORM>
</body>
<script type="text/javascript">
$(document).ready(function(){
DateTimePickerInit('#datetimepicker1',1,1,"yyyy/mm")
});
</script>
</html>
----------------------------------------------------------------------------------------------------------------------------
Partial Public Class HOSPTIAL
Inherits PageBase
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此加入要初始化頁面的使用者程式碼
Dim sql As String
Dim li As ListItem
Dim reader As IDataReader
Dim l_Task_Item_ID = Request("Task_Item_ID")
msg.Text = ""
If Not Page.IsPostBack() Then
calendar_Month.Value = GetSysDate()
Me.f_dept_cd.Items.Add(New ListItem("", ""))
'sql = "select Code_No, Code_Nm from Code1 where Code_Grp = 'E'"
sql = "select Code_No, Code_Nm from Code1 where Code_Grp = 'CS' "
reader = DB.QueryGetDataReader(sql)
While reader.Read()
Me.f_dept_cd.Items.Add(New ListItem(Trim(reader.Item("Code_Nm")), Trim(reader.Item("Code_No"))))
End While
reader.Close()
Call Build_Body(MonthType.Current)
End If
Call Build_Body(MonthType.Current)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call Build_Body(MonthType.Current)
End Sub
Sub ShowCalendar(ByVal l_year As String, ByVal l_month As String, ByVal mt As MonthType)
Dim StartDate As String = FormatDateTime((CInt(l_year)) & "/" & CInt(l_month) & "/1", DateFormat.ShortDate)
Dim MonthFirstWorkDay As String
Dim MonthFirstWorkWeekDay As String
Dim WeekFirstWorkDay As String
Dim WeekFirstWorkWeekDay As String
Dim DateIndex As String
Dim count As Integer
Dim HaveDates As Boolean = True
MonthFirstWorkDay = StartDate
MonthFirstWorkWeekDay = Weekday(MonthFirstWorkDay)
WeekFirstWorkDay = MonthFirstWorkDay
WeekFirstWorkWeekDay = MonthFirstWorkWeekDay
Dim tmpTable As Table
Dim tmpRow As TableRow
tmpTable = New Table()
tmpTable.Attributes.Item("border") = 1
tmpTable.Attributes.Item("width") = "100%"
tmpTable.Attributes.Item("BorderColor") = "#000000"
'=====================================================
'建立標頭
'=====================================================
Dim tmpTEXT As TableCell
Dim InputWeekDay As Literal
tmpTEXT = New TableCell()
InputWeekDay = New Literal()
InputWeekDay.Text = " "
tmpTEXT.Attributes.Item("width") = "50px"
tmpTEXT.Controls.Add(InputWeekDay)
tmpRow = New TableRow()
tmpRow.Controls.Add(tmpTEXT)
For count = 1 To 7
tmpTEXT = New TableCell()
InputWeekDay = New Literal()
InputWeekDay.Text = WeekdayName(count)
tmpTEXT.Attributes.Item("width") = "70px"
'tmpTEXT.Attributes.Item("bgcolor") = "#cccccc"
tmpTEXT.Controls.Add(InputWeekDay)
tmpRow.Controls.Add(tmpTEXT)
Next
tmpTable.Rows.Add(tmpRow)
While HaveDates
Dim tmpCell01 As TableCell = New TableCell()
Dim tmpCell02 As TableCell = New TableCell()
Dim title1 As Literal = New Literal()
Dim title2 As Literal = New Literal()
title1.Text = "日期"
title2.Text = "人員"
tmpCell01.Attributes.Item("width") = "30px"
'tmpCell01.Attributes.Item("bgcolor") = "#ccffcc"
tmpCell02.Attributes.Item("width") = "30px"
tmpCell01.Controls.Add(title1)
tmpCell02.Controls.Add(title2)
'=====================================================
'建立日期
'=====================================================
tmpRow = New TableRow()
tmpRow.Controls.Add(tmpCell01)
tmpTable.Rows.Add(tmpRow)
For count = 1 To (WeekFirstWorkWeekDay - 1)
tmpRow.Controls.Add(Create_Date_Cell("", count))
tmpTable.Rows.Add(tmpRow)
Next
DateIndex = WeekFirstWorkDay
For count = (WeekFirstWorkWeekDay) To 7
If Month(DateIndex) = Month(StartDate) Then
tmpRow.Controls.Add(Create_Date_Cell(DateIndex, count)) '
Else
tmpRow.Controls.Add(Create_Date_Cell("", count))
End If
DateIndex = DateAdd("d", 1, DateIndex)
tmpTable.Rows.Add(tmpRow)
Next
'=======================================
'建立人員
'=======================================
tmpRow = New TableRow()
tmpRow.Controls.Add(tmpCell02)
tmpTable.Rows.Add(tmpRow)
For count = 1 To (WeekFirstWorkWeekDay - 1)
tmpRow.Controls.Add(Create_Users_Cell("", mt))
tmpTable.Rows.Add(tmpRow)
Next
DateIndex = WeekFirstWorkDay
For count = (WeekFirstWorkWeekDay) To 7
If Month(DateIndex) = Month(StartDate) Then
tmpRow.Controls.Add(Create_Users_Cell(DateIndex, mt))
Else
tmpRow.Controls.Add(Create_Users_Cell("", mt))
End If
DateIndex = DateAdd("d", 1, DateIndex)
tmpTable.Rows.Add(tmpRow)
Next
'計算下周起始日
If Month(DateIndex) <> Month(StartDate) Then
HaveDates = False
Else
WeekFirstWorkDay = DateAdd("d", 7 - WeekFirstWorkWeekDay + 1, WeekFirstWorkDay)
If Month(WeekFirstWorkDay) <> Month(StartDate) Then
HaveDates = False
End If
WeekFirstWorkWeekDay = 1
End If
End While
PlaceHolder1.Controls.Add(tmpTable)
End Sub
Private Function Create_Date_Cell(ByVal DateData As String, ByVal WeekDayData As String) As TableCell
Dim tmpCell As TableCell
Dim ShowDateData As Literal
tmpCell = New TableCell()
tmpCell.Attributes.Item("width") = "70px"
'tmpCell.Attributes.Item("bgColor") = "#ccffcc"
ShowDateData = New Literal()
If DateData <> "" Then
Dim dateArray = Split(DateData, "/")
Dim l_year As String = ModifyString(CInt(dateArray(0)), 4, "0")
Dim l_month As String = ModifyString(dateArray(1), 2, "0")
Dim l_day As String = ModifyString(dateArray(2), 2, "0")
ShowDateData.Text = l_year & "/" & l_month & "/" & l_day
Else
ShowDateData.Text = " "
End If
tmpCell.Controls.Add(ShowDateData)
If DateData <> "" Then
tmpCell.Controls.Add(ShowDateData)
End If
Return tmpCell
End Function
Private Function Create_Users_Cell(ByVal DateData As String, ByVal mt As MonthType) As TableCell
Dim sql As String
Dim li As ListItem
Dim dr_list As DropDownList
Dim dr_list2 As DropDownList
'add machine no
Dim machine1 As DropDownList
Dim machine2 As DropDownList
Dim tmpCell As TableCell
Dim l_holiday As Literal
tmpCell = New TableCell()
dr_list = New DropDownList()
dr_list2 = New DropDownList()
machine1 = New DropDownList
machine2 = New DropDownList
l_holiday = New Literal()
dr_list.Items.Insert(0, "")
dr_list.AppendDataBoundItems = True
dr_list2.Items.Insert(0, "")
dr_list2.AppendDataBoundItems = True
If DateData <> "" Then
Dim dateArray = Split(DateData, "/")
Dim l_year As String = ModifyString(CInt(dateArray(0)), 4, "0")
Dim l_month As String = ModifyString(dateArray(1), 2, "0")
Dim l_day As String = ModifyString(dateArray(2), 2, "0")
dr_list.ID = "l_" & l_year & l_month & l_day & TimePeriod.AM.ToString
dr_list2.ID = "l_" & l_year & l_month & l_day & TimePeriod.PM.ToString
machine1.ID = "MC_l_" & l_year & l_month & l_day & TimePeriod.AM.ToString
machine2.ID = "MC_l_" & l_year & l_month & l_day & TimePeriod.PM.ToString
Dim subsql As String = ""
Dim i As Integer
Dim mcs As ArrayList = New ArrayList
Dim instrument_order As String = ""
Dim mcCount As String = "0"
mcs.Add("99")
mcs.Add("100")
mcs.Add("102")
mcs.Add("106")
Dim result = From mx In mcs Where f_dept_cd.SelectedValue.Trim.StartsWith(mx.ToString.Trim) Select mx.ToString.Trim
If result.Count > 0 Then
Select Case result.FirstOrDefault.ToString.Trim
Case "99"
instrument_order = "MRI"
Case "100"
instrument_order = "ES"
Case "102"
instrument_order = "ECHO"
Case "106"
instrument_order = "CT"
End Select
mcCount = QueryGetValue(" select count(instrument_order) as mCount from BS_instrument where instrument_order = '" & instrument_order & "' group by instrument_order ")
If Convert.ToInt32(mcCount) > 0 Then
For m As Integer = 0 To Convert.ToInt32(mcCount) - 1 Step 1
machine1.Items.Add(New ListItem("第" & Convert.ToString(m + 1) & "台", Convert.ToString(m + 1)))
machine2.Items.Add(New ListItem("第" & Convert.ToString(m + 1) & "台", Convert.ToString(m + 1)))
Next
End If
End If
'====================
'產生醫生選單
'====================
sql = " select Emp_No, ltrim(rtrim(Emp_No)) + ' ' + ltrim(rtrim(NameC)) as NameC from Emp where VS_Flag = '1' "
sql &= " AND EMP_NO NOT IN(SELECT EMP_NO FROM APS018 WHERE DT = '" & l_year & l_month & l_day & "' AND [Off] = '0' ) "
Dim dtDr = From x In QueryGetDataTable(sql).AsEnumerable Select New With {.Emp_No = x.Field(Of String)("Emp_No").Trim, .NameC = x.Field(Of String)("NameC").Trim}
dr_list.DataSource = dtDr
dr_list.DataTextField = "NameC"
dr_list.DataValueField = "Emp_No"
dr_list.DataBind()
dr_list2.DataSource = dtDr
dr_list2.DataTextField = "NameC"
dr_list2.DataValueField = "Emp_No"
dr_list2.DataBind()
Dim dr_id As String = String.Empty
If mt = MonthType.Current Then
dr_id = GetDrId(MonthType.Current, TimePeriod.AM, l_year, l_month, l_day)
Else
dr_id = GetDrId(MonthType.Last, TimePeriod.AM, l_year, l_month, l_day)
End If
If dr_id <> "" Then dr_id = dr_id.Trim
For Each li In dr_list.Items
If li.Value = dr_id Then
li.Selected = True
Exit For
Else
li.Selected = False
End If
Next
If mt = MonthType.Current Then
dr_id = GetDrId(MonthType.Current, TimePeriod.PM, l_year, l_month, l_day)
Else
dr_id = GetDrId(MonthType.Last, TimePeriod.PM, l_year, l_month, l_day)
End If
If dr_id <> "" Then dr_id = dr_id.Trim
For Each li In dr_list2.Items
If li.Value = dr_id Then
li.Selected = True
Exit For
Else
li.Selected = False
End If
Next
'--------------------------------------------
Dim mcNo As String = String.Empty
If mt = MonthType.Current Then
mcNo = GetMcNo(MonthType.Current, TimePeriod.AM, l_year, l_month, l_day)
Else
mcNo = GetMcNo(MonthType.Last, TimePeriod.AM, l_year, l_month, l_day)
End If
If mcNo <> "" Then mcNo = mcNo.Trim
For Each li In machine1.Items
If li.Value = mcNo Then
li.Selected = True
Exit For
Else
li.Selected = False
End If
Next
If mt = MonthType.Current Then
mcNo = GetMcNo(MonthType.Current, TimePeriod.PM, l_year, l_month, l_day)
Else
mcNo = GetMcNo(MonthType.Last, TimePeriod.PM, l_year, l_month, l_day)
End If
If mcNo <> "" Then mcNo = mcNo.Trim
For Each li In machine2.Items
If li.Value = mcNo Then
li.Selected = True
Exit For
Else
li.Selected = False
End If
Next
If result.Count >= 0 Then
machine1.Visible = False
machine2.Visible = False
End If
If QueryGetValue("Calendar", "DType", "Dt='" & l_year & l_month & l_day & "' ") = "1" Then
tmpCell.Controls.Add(New Literal() With {.Text = TimePeriod.AM.ToString & " "})
tmpCell.Controls.Add(dr_list)
tmpCell.Controls.Add(New Literal() With {.Text = " "})
tmpCell.Controls.Add(machine1)
tmpCell.Controls.Add(New Literal() With {.Text = "<br/>"})
tmpCell.Controls.Add(New Literal() With {.Text = TimePeriod.PM.ToString & " "})
tmpCell.Controls.Add(dr_list2)
tmpCell.Controls.Add(New Literal() With {.Text = " "})
tmpCell.Controls.Add(machine2)
Else
l_holiday.Text = "假日"
tmpCell.Controls.Add(l_holiday)
End If
Else
l_holiday.Text = " "
tmpCell.Controls.Add(l_holiday)
End If
Return tmpCell
End Function
Private Sub PrintList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintList.Click
Dim i As Integer
Dim counts As Integer = 0
Dim SqlList(0) As String
Dim l_year As String = ModifyString(calendar_Month.Value.Replace("/", "").Substring(0, 4), 4, "0")
Dim l_month As String = ModifyString(calendar_Month.Value.Replace("/", "").Substring(4, 2), 2, "0")
SqlList(UBound(SqlList)) = " DELETE FROM Clinic_Schedule WHERE Clinic_Dept_Cd = '" & Me.f_dept_cd.SelectedValue.Trim & "' and Clinic_Dt LIKE '" & l_year.Trim & l_month.Trim & "%' "
ReDim Preserve SqlList(UBound(SqlList) + 1)
Dim tmpTable As Table
Dim tmpRow As TableRow
Dim tmpCell As TableCell
Dim tmpControl As Object
Dim strClinicDt As String = ""
Dim strEmpNo As String = ""
Dim strEmpName As String = ""
Dim strEmpNoPM As String = ""
Dim strEmpNamePM As String = ""
Dim mcAmNo As String = ""
Dim mcPmNo As String = ""
For Each tmpTable In PlaceHolder1.Controls
For Each tmpRow In tmpTable.Controls
For Each tmpCell In tmpRow.Controls
For Each tmpControl In tmpCell.Controls
If TypeOf (tmpControl) Is System.Web.UI.WebControls.DropDownList Then
If (CType(tmpControl, DropDownList)).ClientID.IndexOf(TimePeriod.AM.ToString) >= 0 And (CType(tmpControl, DropDownList)).ClientID.IndexOf("MC_") < 0 Then
strClinicDt = Replace(Replace(tmpControl.id, "l_", ""), TimePeriod.AM.ToString, "").Trim
Try
If tmpControl.selecteditem IsNot Nothing Then
If Not String.IsNullOrEmpty(tmpControl.selecteditem.value) Then
strEmpNo = tmpControl.selecteditem.value.ToString
strEmpName = tmpControl.selecteditem.text.ToString.Split(New Char() {" "})(1)
End If
End If
Catch ex As Exception
Throw ex
End Try
End If
If TypeOf (tmpControl) Is System.Web.UI.WebControls.DropDownList Then
If (CType(tmpControl, DropDownList)).ClientID.IndexOf(TimePeriod.PM.ToString) >= 0 And (CType(tmpControl, DropDownList)).ClientID.IndexOf("MC_") < 0 Then
strClinicDt = Replace(Replace(tmpControl.id, "l_", ""), TimePeriod.PM.ToString, "").Trim
If tmpControl.selecteditem IsNot Nothing Then
If Not String.IsNullOrEmpty(tmpControl.selecteditem.value) Then
strEmpNoPM = tmpControl.selecteditem.value.ToString
strEmpNamePM = tmpControl.selecteditem.text.ToString.Split(New Char() {" "})(1)
End If
End If
End If
End If
If (CType(tmpControl, DropDownList)).ClientID.IndexOf(TimePeriod.AM.ToString) >= 0 And (CType(tmpControl, DropDownList)).ClientID.IndexOf("MC_") >= 0 Then
strClinicDt = Replace(Replace(Replace(tmpControl.id, "l_", ""), TimePeriod.AM.ToString, "").Trim, "MC_", "")
Try
If tmpControl.selecteditem IsNot Nothing Then
If Not String.IsNullOrEmpty(tmpControl.selecteditem.value) Then
mcAmNo = tmpControl.selecteditem.value.ToString.Trim
End If
End If
Catch ex As Exception
Throw ex
End Try
End If
If TypeOf (tmpControl) Is System.Web.UI.WebControls.DropDownList Then
If (CType(tmpControl, DropDownList)).ClientID.IndexOf(TimePeriod.PM.ToString) >= 0 And (CType(tmpControl, DropDownList)).ClientID.IndexOf("MC_") >= 0 Then
strClinicDt = Replace(Replace(Replace(tmpControl.id, "l_", ""), TimePeriod.PM.ToString, "").Trim, "MC_", "")
If tmpControl.selecteditem IsNot Nothing Then
If Not String.IsNullOrEmpty(tmpControl.selecteditem.value) Then
mcPmNo = tmpControl.selecteditem.value.ToString.Trim
End If
End If
End If
End If
End If
Next
If Not String.IsNullOrEmpty(strEmpNo) And Not String.IsNullOrEmpty(strEmpName) _
And Not String.IsNullOrEmpty(strEmpNoPM) And Not String.IsNullOrEmpty(strEmpNamePM) Then
SqlList(UBound(SqlList)) = " insert into Clinic_Schedule(Clinic_Type,Clinic_Dt,AM_Emp_No,AM_Emp_Nm,PM_Emp_No,PM_Emp_Nm,Clinic_Dept_Cd,Cr_Login_ID,Cr_Tm) "
SqlList(UBound(SqlList)) = SqlList(UBound(SqlList)) & " values('1','" & strClinicDt & "','" & strEmpNo & "','" & strEmpName & "','" & strEmpNoPM & "','" & strEmpNamePM & "','" & Me.f_dept_cd.SelectedValue & "','" & Session("Login_ID") & "',GETDATE()) "
ReDim Preserve SqlList(UBound(SqlList) + 1)
ElseIf Not String.IsNullOrEmpty(strEmpNo) And Not String.IsNullOrEmpty(strEmpName) Then
SqlList(UBound(SqlList)) = " insert into Clinic_Schedule(Clinic_Type,Clinic_Dt,AM_Emp_No,AM_Emp_Nm,PM_Emp_No,PM_Emp_Nm,Clinic_Dept_Cd,Cr_Login_ID,Cr_Tm) "
SqlList(UBound(SqlList)) = SqlList(UBound(SqlList)) & " values('1','" & strClinicDt & "','" & strEmpNo & "','" & strEmpName & "','" & strEmpNoPM & "','" & strEmpNamePM & "','" & Me.f_dept_cd.SelectedValue & "','" & Session("Login_ID") & "',GETDATE()) "
ReDim Preserve SqlList(UBound(SqlList) + 1)
ElseIf Not String.IsNullOrEmpty(strEmpNoPM) And Not String.IsNullOrEmpty(strEmpNamePM) Then
SqlList(UBound(SqlList)) = " insert into Clinic_Schedule(Clinic_Type,Clinic_Dt,AM_Emp_No,AM_Emp_Nm,PM_Emp_No,PM_Emp_Nm,Clinic_Dept_Cd,Cr_Login_ID,Cr_Tm) "
SqlList(UBound(SqlList)) = SqlList(UBound(SqlList)) & " values('1','" & strClinicDt & "','" & strEmpNo & "','" & strEmpName & "','" & strEmpNoPM & "','" & strEmpNamePM & "','" & Me.f_dept_cd.SelectedValue & "','" & Session("Login_ID") & "',GETDATE()) "
ReDim Preserve SqlList(UBound(SqlList) + 1)
End If
strEmpNo = ""
strEmpName = ""
strEmpNoPM = ""
strEmpNamePM = ""
If Not String.IsNullOrEmpty(mcAmNo) And Not String.IsNullOrEmpty(mcPmNo) Then
SqlList(UBound(SqlList)) = " update Clinic_Schedule set AM_Machine_No = '" & mcAmNo & "', PM_Machine_No = '" & mcPmNo & "' , Ed_Login_ID = '" & Session("Login_ID").ToString & "' , Ed_Tm = getdate() where Clinic_Dept_Cd = '" & Me.f_dept_cd.SelectedValue & "' and Clinic_Dt = '" & strClinicDt & "' "
ReDim Preserve SqlList(UBound(SqlList) + 1)
End If
mcAmNo = ""
mcPmNo = ""
Next
Next
Next
counts = UBound(SqlList)
If counts > 0 Then
Try
For i = 1 To counts
If Not SqlList(i - 1) Is Nothing Then
DB.Execute(SqlList(i - 1))
End If
Next
PlaceHolder1.Controls.Clear()
Dim l_dept As String = f_dept_cd.SelectedItem.Value
If l_year <> "" And l_month <> "" And l_dept <> "" Then
Call ShowCalendar(calendar_Month.Value.Replace("/", "").Substring(0, 4), calendar_Month.Value.Replace("/", "").Substring(4, 2), MonthType.Current)
End If
msg.Text = "<script Language=javascript>"
msg.Text = msg.Text & "alert('存檔成功'); "
msg.Text = msg.Text & "<" & "/" & "script>"
Catch err As Exception
'=========================
'顯示錯誤訊息
'=========================
PlaceHolder1.Controls.Clear()
Dim l_dept As String = f_dept_cd.SelectedItem.Value
If l_year <> "" And l_month <> "" And l_dept <> "" Then
Call ShowCalendar(calendar_Month.Value.Replace("/", "").Substring(0, 4), calendar_Month.Value.Replace("/", "").Substring(4, 2), MonthType.Current)
End If
msg.Text = "<script Language=javascript>"
msg.Text = msg.Text & "alert('存檔失敗'); "
msg.Text = msg.Text & "<" & "/" & "script>"
Exit Sub
Finally
End Try
End If
End Sub
Private Sub f_dept_cd_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles f_dept_cd.SelectedIndexChanged
Call Build_Body(MonthType.Current)
End Sub
Sub Build_Body(ByVal mt As MonthType)
PlaceHolder1.Controls.Clear()
Dim l_year As String = calendar_Month.Value.Replace("/", "").Substring(0, 4)
Dim l_month As String = calendar_Month.Value.Replace("/", "").Substring(4, 2)
Dim l_dept As String = f_dept_cd.SelectedItem.Value
If l_year <> "" And l_month <> "" And l_dept <> "" Then
Call ShowCalendar(l_year, l_month, mt)
Else
End If
End Sub
Public Enum MonthType
Current
Last
End Enum
Public Enum TimePeriod
AM
PM
End Enum
Private Sub PrintmailList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintmailList.Click
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
Call Build_Body(MonthType.Last)
End Sub
Function GetDrId(ByVal mt As MonthType, ByVal tp As TimePeriod, ByVal year As String, ByVal month As String, ByVal day As String) As String
Dim whichColumn As String = tp.ToString & "_Emp_No"
If mt = MonthType.Last Then
month = CStr((CInt(month) - 1)).PadLeft(2, "0")
End If
Return QueryGetValue(" select " & whichColumn & " from Clinic_Schedule where Clinic_Dept_Cd = '" & Me.f_dept_cd.SelectedValue & "' and Clinic_Dt = '" & year & month & day & "' ")
End Function
Function GetMcNo(ByVal mt As MonthType, ByVal tp As TimePeriod, ByVal year As String, ByVal month As String, ByVal day As String) As String
Dim whichColumn As String = tp.ToString & "_Machine_No"
If mt = MonthType.Last Then
month = CStr((CInt(month) - 1)).PadLeft(2, "0")
End If
Return QueryGetValue(" select " & whichColumn & " from Clinic_Schedule where Clinic_Dept_Cd = '" & Me.f_dept_cd.SelectedValue & "' and Clinic_Dt = '" & year & month & day & "' ")
End Function
End Class