deal_list.aspx.cs
上传用户:xrffrp
上传日期:2022-03-25
资源大小:22155k
文件大小:9k
源码类别:

OA系统

开发平台:

ASP/ASPX

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Collections;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.WebControls;
  9. using System.Web.UI.WebControls.WebParts;
  10. using System.Web.UI.HtmlControls;
  11. using System.Data.SqlClient;
  12. using System.Net.Mail;
  13. using System.Net;
  14. using System.Net.Sockets;
  15. public partial class web_fair_deal_list : System.Web.UI.Page
  16. {
  17.     protected void Page_Load(object sender, EventArgs e)
  18.     {
  19.         if (!IsPostBack)
  20.         {
  21.             LoginDAO.CheckLogin(Session, Response, "../", 2);
  22.             this.SetTable();
  23.         }
  24.         if (Request.QueryString["f_id"] != null)
  25.         {
  26.             this.SetForm(Request.QueryString["f_id"]);
  27.             PnlFair.Visible = true;
  28.             PnlDeal.Visible = true;
  29.         }
  30.     }
  31.     //mail给待签核人
  32.     
  33.     protected void SetForm(string id)
  34.     {
  35.         string fair_id = "0";
  36.         SqlConnection conn = dbConnection.getConnection();
  37.         conn.Open();
  38.         SqlCommand cmd = new SqlCommand("select form_id from OA_FAIR_FORM_FLOW where id=" + id, conn);
  39.         fair_id = cmd.ExecuteScalar().ToString();
  40.         cmd = new SqlCommand("select e.emp_name, e.emp_no, f.apply_date, f.amount, f.remark, f.form_no, " +
  41.             "f.subject, f.form_id, f.form_table from OA_FAIR f inner join OA_EMPLOYEE e on f.emp_id=e.id " +
  42.             "where f.id=" + fair_id + " and total_result<>'已撤銷'", conn);
  43.         SqlDataReader dr = cmd.ExecuteReader();
  44.         string form_id = "0";
  45.         string form_table = "";
  46.         if (dr.Read())
  47.         {
  48.             TxtEmpName.Text = dr["emp_name"].ToString();
  49.             TxtEmpNo.Text = dr["emp_no"].ToString();
  50.             TxtApplyDate.Text = dr["apply_date"].ToString();
  51.             TxtAmount.Text = dr["amount"].ToString();
  52.             TxtRemark.Text = dr["remark"].ToString();
  53.             TxtFormNo.Text = dr["form_no"].ToString();
  54.             TxtSubject.Text = dr["subject"].ToString();
  55.             if (!dr["form_id"].Equals("0"))
  56.             {
  57.                 TblFair.Rows[7].Visible = true;
  58.                 form_id = dr["form_id"].ToString();
  59.                 form_table = dr["form_table"].ToString();
  60.             }
  61.         }
  62.         dr.Close();
  63.         if (!form_id.Equals("0"))
  64.         {
  65.             cmd = new SqlCommand("select form_id from " + form_table + " where id=" + form_id, conn);
  66.             HlFormNo.Text = cmd.ExecuteScalar().ToString();
  67.             HlFormNo.NavigateUrl = "form_show.aspx?id=" + form_id + "&table=" + form_table;
  68.             HlFormNo.Target = "_blank";
  69.         }
  70.         cmd = new SqlCommand("select attachment, attachment_save_name, content_length from OA_FAIR_ATTACHMENT where fair_id=" + fair_id, conn);
  71.         dr = cmd.ExecuteReader();
  72.         while (dr.Read())
  73.         {
  74.             TblFair.Rows[9].Visible = true;
  75.             HyperLink img = new HyperLink();
  76.             img.ToolTip = dr["attachment"].ToString();
  77.             img.ImageUrl = "../fair_picture/" + dr["attachment_save_name"].ToString();
  78.             img.Target = "_blank";
  79.             img.Width = Unit.Pixel(450);
  80.             img.NavigateUrl = img.ImageUrl;
  81.             PnlPicture.Controls.Add(img);
  82.         }
  83.         dr.Close();
  84.         conn.Close();
  85.     }
  86.     protected void SetTable()
  87.     {
  88.         SqlConnection conn = dbConnection.getConnection();
  89.         conn.Open();
  90.         string user_id = "0";
  91.         if (Session["user_id"] != null)
  92.         {
  93.             user_id = Session["user_id"].ToString();
  94.         }
  95.         SqlCommand cmd = new SqlCommand("SELECT f.id, f.step f_step, a.step a_step, e.department_id, "+
  96.             "e.emp_name, a.apply_date FROM dbo.OA_FAIR_FORM_FLOW AS f INNER JOIN dbo.OA_FAIR AS a ON "+
  97.             "f.form_id = a.id INNER JOIN dbo.OA_EMPLOYEE AS e ON a.emp_id = e.id WHERE (f.operator_id = " + 
  98.             user_id + ") AND (f.is_check = 'N') order by a.apply_date desc", conn);
  99.         SqlDataReader dr = cmd.ExecuteReader();
  100.         while (dr.Read())
  101.         {
  102.             int a_step = Convert.ToInt32(dr["a_step"].ToString()) + 1;
  103.             int f_step = Convert.ToInt32(dr["f_step"].ToString());
  104.             if (a_step == f_step)
  105.             {
  106.                 TblFlow.Visible = true;
  107.                 TableRow tr = new TableRow();
  108.                 TableCell td = new TableCell();
  109.                 td.BorderWidth = Unit.Pixel(1);
  110.                 td.Text = dr["emp_name"].ToString();
  111.                 tr.Cells.Add(td);
  112.                 td = new TableCell();
  113.                 td.BorderWidth = Unit.Pixel(1);
  114.                 DepartmentDAO departmentDAO = new DepartmentDAO();
  115.                 string department = departmentDAO.queryById(Convert.ToInt32(dr["department_id"].ToString())).Full_name;
  116.                 td.Text = department;
  117.                 tr.Cells.Add(td);
  118.                 td = new TableCell();
  119.                 td.BorderWidth = Unit.Pixel(1);
  120.                 td.Text = dr["apply_date"].ToString();
  121.                 tr.Cells.Add(td);
  122.                 td = new TableCell();
  123.                 td.BorderWidth = Unit.Pixel(1);
  124.                 HyperLink hl = new HyperLink();
  125.                 hl.Text = "查看";
  126.                 hl.NavigateUrl = "deal_list.aspx?f_id=" + dr["id"].ToString();
  127.                 td.Controls.Add(hl);
  128.                 tr.Cells.Add(td);
  129.                 TblFlow.Rows.Add(tr);
  130.             }
  131.         }
  132.         dr.Close();
  133.         
  134.         conn.Close();
  135.     }
  136.     protected void RbAgree_SelectedIndexChanged(object sender, EventArgs e)
  137.     {
  138.         if (TxtComment.Text.Equals("已同意") || TxtComment.Text.Equals("不同意"))
  139.         {
  140.             if (RbAgree.SelectedValue.Equals("Y"))
  141.             {
  142.                 TxtComment.Text = "已同意";
  143.             }
  144.             else
  145.             {
  146.                 TxtComment.Text = "不同意";
  147.             }
  148.         }
  149.     }
  150.     protected void BtnOk_Click(object sender, EventArgs e)
  151.     {
  152.         SqlConnection conn = dbConnection.getConnection();
  153.         conn.Open();
  154.         SqlTransaction tx = conn.BeginTransaction();
  155.         try
  156.         {
  157.             DateMgr mgr = new DateMgr();
  158.             SqlCommand cmd = new SqlCommand("update OA_FAIR_FORM_FLOW set is_check='Y', is_agree='" +
  159.                 RbAgree.SelectedValue + "', comment='" + TxtComment.Text.Replace("n", "<br>") + "', check_date='" + mgr.getDateTime() +
  160.                 "' where id=" + Request.QueryString["f_id"], conn);
  161.             cmd.Transaction = tx;
  162.             cmd.ExecuteNonQuery();
  163.             cmd = new SqlCommand("select form_id from OA_FAIR_FORM_FLOW where id=" + Request.QueryString["f_id"], conn);
  164.             cmd.Transaction = tx;
  165.             int form_id = Convert.ToInt32(cmd.ExecuteScalar());
  166.             cmd = new SqlCommand("select max(step) from OA_FAIR_FORM_FLOW where form_id=" + form_id, conn);
  167.             cmd.Transaction = tx;
  168.             int max_step = Convert.ToInt32(cmd.ExecuteScalar());
  169.             cmd = new SqlCommand("select step from OA_FAIR where id=" + form_id, conn);
  170.             cmd.Transaction = tx;
  171.             int step = Convert.ToInt32(cmd.ExecuteScalar());
  172.             string total_result = "跑流程中";
  173.             string time = "";
  174.             if (max_step == step + 1)
  175.             {
  176.                 if (RbAgree.SelectedValue.Equals("N"))
  177.                 {
  178.                     total_result = "不同意";
  179.                 }
  180.                 else
  181.                 {
  182.                     total_result = "同意";
  183.                 }
  184.                 time = mgr.getDateTime();
  185.             }
  186.             else
  187.             {
  188.                 if (RbAgree.SelectedValue.Equals("N"))
  189.                 {
  190.                     total_result = "不同意";
  191.                     time = mgr.getDateTime();
  192.                 }
  193.             }
  194.             cmd = new SqlCommand("update OA_FAIR set step=step+1, total_result='" +
  195.                 total_result + "', finish_date='" + time + "' where id=" + form_id, conn);
  196.             cmd.Transaction = tx;
  197.             cmd.ExecuteNonQuery();
  198.             tx.Commit();
  199.      //mail
  200.             ArrayList name1 = new ArrayList();
  201.             ArrayList mail1 = new ArrayList();
  202.             cmd = new SqlCommand("select top 1 a.email_work,a.emp_name from oa_employee as a inner join "+
  203.                "OA_FAIR_FORM_FLOW as b on b.operator_id=a.id left join OA_FAIR as c "+
  204.                  "on b.form_id=c.id where b.step=c.step+1 and c.id=" + form_id + " order by position desc", conn);
  205.             cmd.Transaction = tx;
  206.             SqlDataReader dr3 = cmd.ExecuteReader();
  207.             while (dr3.Read())
  208.             {
  209.                 name1.Add(dr3["emp_name"].ToString());
  210.                 mail1.Add(dr3["email_work"].ToString());
  211.                 //mail_q(mail1[0],name1[0]);
  212.                 mail.mail_q(mail1[0],name1[0],TxtEmpName.Text,"費用申請單");
  213.             } dr3.Close();
  214.        //     
  215.         }
  216.         catch (Exception ex)
  217.         {
  218.             Response.Write(ex.ToString());
  219.             //tx.Rollback();
  220.         }
  221.         conn.Close();
  222.         Response.Redirect("finish_list.aspx");
  223.     }
  224. }