show.aspx.cs
资源名称:web.rar [点击查看]
上传用户:xrffrp
上传日期:2022-03-25
资源大小:22155k
文件大小:26k
源码类别:
OA系统
开发平台:
ASP/ASPX
- using System;
- using System.Data;
- using System.Data.SqlClient;
- using System.Configuration;
- using System.Collections;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using System.IO;
- using Microsoft.Office.Interop.Excel;
- using Microsoft.Office.Interop;
- using System.Reflection;
- using System.Runtime.InteropServices;
- using ExcelApplication = Microsoft.Office.Interop.Excel.Application;
- using Label = System.Web.UI.WebControls.Label;
- public partial class web_pos_c_show : System.Web.UI.Page
- {
- int id = 0;
- ArrayList array1 = new ArrayList();
- ArrayList array2 = new ArrayList();
- ArrayList array3 = new ArrayList();
- ArrayList array_1 = new ArrayList();
- string str_path ="~/";
- string str_name = "";
- protected void Page_Load(object sender, EventArgs e)
- {
- Table1.Visible = true;
- SqlConnection conn = dbConnection.getConnection();
- conn.Open();
- SqlCommand comm1 = new SqlCommand("select id from OA_DEPARTMENT where name='中山隆成啟航商貿有限公司'", conn);
- id = Convert.ToInt32(comm1.ExecuteScalar());
- SqlCommand sqlcom2 = new SqlCommand("select id from OA_DEPARTMENT where last_id='" + id + "'", conn);
- SqlDataReader comm2 = sqlcom2.ExecuteReader();
- while (comm2.Read())
- {
- array1.Add(Convert.ToInt32(comm2["id"]));
- }
- comm2.Close();
- foreach (int i in array1)
- {
- ArrayList array5 = new ArrayList();
- array5.Add(i);
- SqlCommand sqlcom3 = new SqlCommand("select id from OA_DEPARTMENT where last_id='" + i + "'and id!='144'and id!='145'and id!='146'and id!='147'and id!='194'and id!='197'", conn);
- SqlDataReader comm3 = sqlcom3.ExecuteReader();
- if (comm3.HasRows)
- {
- while (comm3.Read())
- {
- array5.Add(Convert.ToInt32(comm3["id"]));
- SqlConnection conn1 = dbConnection.getConnection();
- conn1.Open();
- SqlCommand sqlcom4 = new SqlCommand("select id from OA_DEPARTMENT where last_id='" + Convert.ToInt32(comm3["id"]) + "'", conn1);
- SqlDataReader comm4 = sqlcom4.ExecuteReader();
- if (comm4.HasRows)
- {
- while (comm4.Read())
- {
- array5.Add(Convert.ToInt32(comm4["id"]));
- }
- }
- comm4.Close();
- conn1.Close();
- }
- }
- comm3.Close();
- array2.Add(array5);
- }
- conn.Close();
- }
- protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
- {
- if (Calendar1.Visible == true)
- {
- Calendar1.Visible = false;
- Calendar1.Focus();
- }
- else
- {
- Calendar1.Visible = true;
- Calendar1.Focus();
- }
- }
- protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
- {
- if (Calendar2.Visible == true)
- {
- Calendar2.Visible = false;
- Calendar2.Focus();
- }
- else
- {
- Calendar2.Visible = true;
- Calendar2.Focus();
- }
- }
- protected void Calendar1_SelectionChanged(object sender, EventArgs e)
- {
- Calendar1.Visible = false;
- string year = Calendar1.SelectedDate.Year.ToString();
- string month = Calendar1.SelectedDate.Month.ToString();
- if (month.Length == 1)
- {
- month = "0" + month;
- }
- string day = Calendar1.SelectedDate.Day.ToString();
- if (day.Length == 1)
- {
- day = "0" + day;
- }
- TextBox1.Text = year + "-" + month + "-" + day;
- TextBox1.Focus();
- }
- protected void Calendar2_SelectionChanged(object sender, EventArgs e)
- {
- Calendar2.Visible = false;
- string year = Calendar2.SelectedDate.Year.ToString();
- string month = Calendar2.SelectedDate.Month.ToString();
- if (month.Length == 1)
- {
- month = "0" + month;
- }
- string day = Calendar2.SelectedDate.Day.ToString();
- if (day.Length == 1)
- {
- day = "0" + day;
- }
- TextBox2.Text = year + "-" + month + "-" + day;
- TextBox2.Focus();
- }
- public void getnum()
- {
- int k=0;
- string nul="nbsp";
- string department="";
- double sum=0;
- string time1="";
- string time2="";
- string time3 = "";
- string time4 = "";
- ArrayList array_2 = new ArrayList();
- SqlConnection conn1 = dbConnection.getConnection();
- conn1.Open();
- foreach (ArrayList i in array2)
- {
- ArrayList array6 = new ArrayList();
- foreach (int j in i)
- {
- SqlCommand sqlcom1 = new SqlCommand("select emp_no from OA_EMPLOYEE where department_id='" + j + "'", conn1);
- SqlDataReader comm1 = sqlcom1.ExecuteReader();
- if (comm1.HasRows)
- {
- while (comm1.Read())
- {
- array6.Add(Convert.ToString(comm1["emp_no"]));
- }
- }
- comm1.Close();
- }
- array3.Add(array6);
- }
- foreach (ArrayList i in array3)
- {
- if (k < array1.Count)
- {
- SqlCommand sqlcom2 = new SqlCommand("select name from OA_DEPARTMENT where id='" + array1[k] + "'", conn1);
- array_2.Add(Convert.ToString(sqlcom2.ExecuteScalar()));
- foreach (string j in i)
- {
- array_2.Add("員工編號");
- array_2.Add(j);
- array_2.Add("員工姓名");
- SqlConnection conn2 = dbConnection.getConnection();
- conn2.Open();
- SqlCommand sqlcom3 = new SqlCommand("select emp_name from OA_EMPLOYEE where emp_no='" + j + "'", conn2);
- array_2.Add(Convert.ToString(sqlcom3.ExecuteScalar()));
- array_2.Add("所屬部門");
- SqlCommand sqlcom4 = new SqlCommand("select f.name as name from OA_DEPARTMENT as f , OA_EMPLOYEE as g where f.id=g.department_id and g.emp_no='" + j + "'", conn2);
- department = Convert.ToString(sqlcom4.ExecuteScalar());
- array_2.Add(department);
- array_1.Add(array_2);
- array_2 = new ArrayList();
- array_2.Add("日期");
- array_2.Add("星期");
- array_2.Add("班別");
- array_2.Add("排班時間");
- array_2.Add("排班門店");
- array_2.Add("簽到退時間");
- array_2.Add("簽到時數");
- array_1.Add(array_2);
- array_2 = new ArrayList();
- SqlCommand sqlcom5 = new SqlCommand("select distinct data from OA_KAOQIN_JL where data between'" + TextBox1.Text + "'and'" + TextBox2.Text + "'order by data", conn2);
- SqlDataReader comm5 = sqlcom5.ExecuteReader();
- while (comm5.Read())
- {
- array_2.Add(Convert.ToString(comm5["data"]));
- array_2.Add(getweekday(Convert.ToDateTime(comm5["data"])));
- SqlConnection conn3 = dbConnection.getConnection();
- conn3.Open();
- SqlCommand sqlcom6 = new SqlCommand("select banbie from OA_KAOQIN_PBB where data='" + Convert.ToString(comm5["data"]) + "'and emp_no='" + j + "'", conn3);
- SqlDataReader comm6 = sqlcom6.ExecuteReader();
- if (comm6.HasRows)
- {
- while (comm6.Read())
- {
- array_2.Add(Convert.ToString(comm6["banbie"]));
- SqlConnection conn4 = dbConnection.getConnection();
- conn4.Open();
- SqlCommand sqlcom7 = new SqlCommand("select bengin_time,end_time from oa_pos_type where department='" + department + "'and type='" + Convert.ToString(comm6["banbie"]) + "'", conn4);
- SqlDataReader comm7 = sqlcom7.ExecuteReader();
- if (comm7.HasRows)
- {
- while (comm7.Read())
- {
- array_2.Add(Convert.ToString(comm7["bengin_time"]));
- array_2.Add(Convert.ToString(comm7["end_time"]));
- }
- }
- else
- {
- array_2.Add(nul);
- array_2.Add(nul);
- }
- comm7.Close();
- conn4.Close();
- }
- array_2.Add(department);
- }
- else
- {
- array_2.Add(nul);
- array_2.Add(nul);
- array_2.Add(nul);
- array_2.Add(nul);
- }
- comm6.Close();
- conn3.Close();
- SqlConnection conn5 = dbConnection.getConnection();
- conn5.Open();
- SqlCommand sqlcom8 = new SqlCommand("select f.zao as zao,f.wan as wan,f.wuxia as wuxia,f.wushang as wushang from OA_KAOQIN_JL as f,OA_EMPLOYEE as g where f.card_id=g.work_card_no1 and g.emp_no='" + j + "'and data='" + Convert.ToString(comm5["data"]) + "'", conn5);
- SqlDataReader comm8 = sqlcom8.ExecuteReader();
- if (comm8.HasRows)
- {
- while (comm8.Read())
- {
- time1 = Convert.ToString(comm8["zao"]);
- time2 = Convert.ToString(comm8["wan"]);
- time3 = Convert.ToString(comm8["wuxia"]);
- time4 = Convert.ToString(comm8["wushang"]);
- if (time1.Equals(""))
- {
- array_2.Add(nul);
- }
- else
- {
- array_2.Add(time1);
- }
- if (time3.Equals(""))
- {
- array_2.Add(nul);
- }
- else
- {
- array_2.Add(time3);
- }
- if (time4.Equals(""))
- {
- array_2.Add(nul);
- }
- else
- {
- array_2.Add(time4);
- }
- if (time2.Equals(""))
- {
- array_2.Add(nul);
- }
- else
- {
- array_2.Add(nul);
- }
- if (time1.Length == 5)
- {
- time1 = "0" + time1;
- }
- if (time2.Length == 5)
- {
- time2 = "0" + time2;
- }
- if (!(time1.Equals("")) && (!time2.Equals("")))
- {
- sum = (double)(Convert.ToInt32(time2.Substring(0, 2)) - Convert.ToInt32(time1.Substring(0, 2)) - 1.5 + (double)(Convert.ToInt32(time2.Substring(2, 2)) - Convert.ToInt32(time1.Substring(2, 2))) / 60);
- sum = Round(sum, 2);
- array_2.Add(Convert.ToString(sum));
- }
- else
- {
- array_2.Add(nul);
- }
- array_1.Add(array_2);
- }
- }
- else
- {
- array_2.Add(nul);
- array_2.Add(nul);
- array_2.Add(nul);
- array_2.Add(nul);
- array_2.Add(nul);
- }
- comm8.Close();
- conn5.Close();
- }
- comm5.Close();
- conn2.Close();
- }
- k++;
- }
- }
- conn1.Close();
- }
- public double Round(double v, int x)
- {
- bool flat = false;
- if (v < 0)
- {
- flat = true;
- v = -v;
- }
- int ivalue = 1;
- for (int i = 1; i <= x; i++)
- {
- ivalue = 10 * ivalue;
- }
- double num = Math.Round(v*ivalue+0.5,0);
- v = num / ivalue;
- if (flat)
- {
- v = -v;
- }
- return v;
- }
- public string getweekday(DateTime data)
- {
- string str = null;
- switch (data.DayOfWeek.ToString())
- {
- case "Monday":
- str = "星期一";
- break;
- case "Tuesday":
- str = "星期二";
- break;
- case "Wednesday":
- str = "星期三";
- break;
- case "Thursday":
- str = "星期四";
- break;
- case "Friday":
- str = "星期五";
- break;
- case "Saturday":
- str = "星期六";
- break;
- case "Sunday":
- str = "星期日";
- break;
- }
- return str;
- }
- protected void Button1_Click(object sender, EventArgs e)
- {
- array_1 = new ArrayList();
- getnum();
- getexcel();
- download(str_path, str_name);
- delete(str_path,str_name);
- }
- public void getexcel()
- {
- int p = 0;
- int q = 0;
- int k = 2;
- ExcelApplication exc = new ExcelApplication();
- exc.ScreenUpdating = false;
- exc.Visible = false;
- exc.UserControl = false;
- Workbooks workbooks = exc.Workbooks;
- _Workbook workbook = workbooks.Add(true);
- Sheets shs =workbook.Sheets;
- _Worksheet sh = (_Worksheet)shs.get_Item(1);
- Range rang = sh.get_Range(sh.Cells[1, 1], sh.Cells[1, 11]);
- rang.Merge(true);
- rang.Value2 = "中山隆成启航商贸有限公司";
- rang.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- foreach(ArrayList i in array_1 )
- {
- q = 0;
- if (p < 65000)
- {
- foreach (string j in i)
- {
- if (!j.Equals("日期"))
- {
- if (j == " ")
- {
- Range rang1 = sh.get_Range(sh.Cells[p+2,q+1],sh.Cells[p+2,q+1]);
- rang1.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang1.Borders.Weight = XlBorderWeight.xlMedium;
- rang1.Value2 = "";
- }
- else
- {
- Range rang1 = sh.get_Range(sh.Cells[p + 2, q + 1], sh.Cells[p + 2, q + 1]);
- rang1.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang1.Borders.Weight = XlBorderWeight.xlMedium;
- rang1.Value2 = j;
- }
- q++;
- }
- else
- {
- Range rang3=sh.get_Range(sh.Cells[p+2,q+1],sh.Cells[p+2,q+1]);
- //rang3.Font.Name = "黑体";
- rang3.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang3.Borders.LineStyle = XlLineStyle.xlContinuous;
- rang3.Borders.Weight = XlBorderWeight.xlMedium;
- rang3.Value2="日期";
- Range rang4 = sh.get_Range(sh.Cells[p + 2, q + 2], sh.Cells[p + 2, q + 2]);
- //rang4.Font.Name = "黑体";
- rang4.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang4.Borders.Weight = XlBorderWeight.xlMedium;
- rang4.Value2 = "星期";
- Range rang5 = sh.get_Range(sh.Cells[p + 2, q + 3], sh.Cells[p + 2, q + 3]);
- //rang5.Font.Name = "黑体";
- rang5.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang5.Borders.Weight = XlBorderWeight.xlMedium;
- rang5.Value2 = "班别";
- Range rang1 = sh.get_Range(sh.Cells[p+2,q+4],sh.Cells[p+2,q+5]);
- rang1.Merge(true);
- //rang1.Font.Name = "黑体";
- rang1.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang1.Borders.Weight = XlBorderWeight.xlMedium;
- rang1.Value2 = "排班时间";
- Range rang7 = sh.get_Range(sh.Cells[p + 2, q + 6], sh.Cells[p + 2, q + 6]);
- //rang7.Font.Name = "黑体";
- rang7.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang7.Borders.Weight = XlBorderWeight.xlMedium;
- rang7.Value2 = "排班门店";
- Range rang2 = sh.get_Range(sh.Cells[p+2,q+7],sh.Cells[p+2,q+10]);
- rang2.Merge(true);
- rang2.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang2.Borders.Weight = XlBorderWeight.xlMedium;
- //rang2.Font.Name = "黑体";
- rang2.Value2 = "签到退时间";
- Range rang6 = sh.get_Range(sh.Cells[p + 2, q + 11], sh.Cells[p + 2, q + 11]);
- //rang6.Font.Name = "黑体";
- rang6.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang6.Borders.Weight = XlBorderWeight.xlMedium;
- rang6.Value2 = "签到时数";
- break;
- }
- }
- }
- else
- {
- p = 0;
- foreach (string j in i)
- {
- if (!j.Equals("日期"))
- {
- sh = (_Worksheet)shs.get_Item(k);
- k = k + 1;
- if (j == " ")
- {
- Range rang1 = sh.get_Range(sh.Cells[p + 2, q + 1], sh.Cells[p + 2, q + 1]);
- rang1.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang1.Borders.Weight = XlBorderWeight.xlMedium;
- rang1.Value2 = "";
- }
- else
- {
- Range rang1 = sh.get_Range(sh.Cells[p + 2, q + 1], sh.Cells[p + 2, q + 1]);
- rang1.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang1.Borders.Weight = XlBorderWeight.xlMedium;
- rang1.Value2 = j;
- }
- q++;
- }
- else
- {
- Range rang3 = sh.get_Range(sh.Cells[p + 2, q + 1], sh.Cells[p + 2, q + 1]);
- rang3.Font.Name = "黑体";
- rang3.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang3.Borders.Weight = XlBorderWeight.xlMedium;
- rang3.Value2 = "日期";
- Range rang4 = sh.get_Range(sh.Cells[p + 2, q + 2], sh.Cells[p + 2, q + 2]);
- rang4.Font.Name = "黑体";
- rang4.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang4.Borders.Weight = XlBorderWeight.xlMedium;
- rang4.Value2 = "星期";
- Range rang5 = sh.get_Range(sh.Cells[p + 2, q + 3], sh.Cells[p + 2, q + 3]);
- rang5.Font.Name = "黑体";
- rang5.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang5.Borders.Weight = XlBorderWeight.xlMedium;
- rang5.Value2 = "班别";
- Range rang1 = sh.get_Range(sh.Cells[p + 2, q + 4], sh.Cells[p + 2, q + 5]);
- rang1.Merge(true);
- rang1.Font.Name = "黑体";
- rang1.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang1.Borders.Weight = XlBorderWeight.xlMedium;
- rang1.Value2 = "排班时间";
- Range rang7 = sh.get_Range(sh.Cells[p + 2, q + 6], sh.Cells[p + 2, q + 6]);
- rang7.Font.Name = "黑体";
- rang7.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang7.Borders.Weight = XlBorderWeight.xlMedium;
- rang7.Value2 = "排班门店";
- Range rang2 = sh.get_Range(sh.Cells[p + 2, q + 7], sh.Cells[p + 2, q + 10]);
- rang2.Merge(true);
- rang2.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang2.Borders.Weight = XlBorderWeight.xlMedium;
- rang2.Font.Name = "黑体";
- rang2.Value2 = "签到退时间";
- Range rang6 = sh.get_Range(sh.Cells[p + 2, q + 11], sh.Cells[p + 2, q + 11]);
- rang6.Font.Name = "黑体";
- rang6.HorizontalAlignment = XlHAlign.xlHAlignCenter;
- rang6.Borders.Weight = XlBorderWeight.xlMedium;
- rang6.Value2 = "签到时数";
- break;
- }
- }
- }
- p++;
- }
- exc.UserControl = true;
- exc.ScreenUpdating = true;
- str_name = "考勤记录.xls";
- string strFilePhysicalPath = Server.MapPath(str_path)+ str_name;
- sh.SaveAs(strFilePhysicalPath, Type.Missing, Type.Missing, Type.Missing,
- Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
- ReleaseCom(sh);
- ReleaseCom(shs);
- ReleaseCom(workbook);
- ReleaseCom(workbooks);
- exc.Quit();
- ReleaseCom(exc);
- }
- private void ReleaseCom(object pComObj)
- {
- try
- {
- if (pComObj != null)
- {
- System.Runtime.InteropServices.Marshal.ReleaseComObject(pComObj);
- }
- }
- catch
- {
- }
- finally
- {
- pComObj = null;
- }
- }
- public void delete(string strFilePath,string strFileName)
- {
- string strFilePhysicalPath = Server.MapPath(strFilePath + "/") + strFileName;
- if (File.Exists(strFilePhysicalPath))
- {
- File.Delete(strFilePhysicalPath);
- }
- }
- public void download(string strFilePath, string strFileName)
- {
- string FullFileName = Server.MapPath(strFilePath + "/") + strFileName;
- FileInfo DownloadFile = new FileInfo(FullFileName);
- Response.Clear();
- Response.ClearHeaders();
- Response.Buffer = false;
- Response.ContentType = "application/octet-stream";
- Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));
- Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
- Response.WriteFile(DownloadFile.FullName);
- Response.Flush();
- Response.End();
- }
- protected void TextBox1_TextChanged(object sender, EventArgs e)
- {
- }
- protected void TextBox2_TextChanged(object sender, EventArgs e)
- {
- }
- }