protected void confirm_Click(object sender, EventArgs e) { SettleApply si = new SettleApply(); si.StaffName = staffName.Text; si.Department_str = department.Text; si.Position = position.Text; si.Reason = reason.Text; si.Money = Convert.ToDouble(money.Text); si.SettleDate = Convert.ToDateTime(settleDate.Value); si.Leagal = Convert.ToBoolean(legal.SelectedValue); si.InnerBudget = Convert.ToBoolean(innerBudget.SelectedValue); si.ProjectAccount = accountList.SelectedValue; si.ApproveProcess = ""; if (check_if.Checked) { si.CheckBill = checkBill.Value; } else { si.CheckBill = "无合作单位"; } Users usr = (Users)Session["Identify"]; SettleApply.SetSettleApplyByID(-1, si, usr.UserID); Response.Redirect("~/Account/ApplyListPage.aspx"); }
/// <summary> /// 根据记录编号获取相应的统一结算申请记录 /// </summary> /// <param name="id"></param> /// <returns></returns> public static SettleApply GetSettleApplyByID(int id) { SqlConnection conn = new SqlConnection(connString); SqlCommand cmd = new SqlCommand("SELECT * FROM [SettleApplies] WHERE [RecordID] = @RecordID", conn); cmd.Parameters.Add("@RecordID", SqlDbType.Int).Value = id; conn.Open(); SqlDataReader sdr = cmd.ExecuteReader(); SettleApply si = null; if (sdr.Read()) { si = new SettleApply(); si.staffName = (string)sdr["StaffName"]; si.department = (string)sdr["Department"]; si.position = (string)sdr["Position"]; si.money = Convert.ToDouble(sdr["Money"]); si.reason = (string)sdr["Reason"]; si.legal = (bool)sdr["Legal"]; si.innerBudget = (bool)sdr["InnerBudget"]; si.settleDate = Convert.ToDateTime(sdr["SettleDate"]); si.checkBill = (string)sdr["CheckBill"]; si.ApproveProcess = sdr["ApproveProcess"] == DBNull.Value ? "" : (string)sdr["ApproveProcess"]; si.projectAccount = sdr["ProjectAccount"] == DBNull.Value?"":(string)sdr["ProjectAccount"]; } sdr.Close(); conn.Close(); return(si); }
/// <summary> /// 若账号调整,需要再经过财务主管审核 /// </summary> /// <returns></returns> private string judgeAdjust(string position, string department) { int recordID = Convert.ToInt32(Request["RecordID"]); SettleApply si = SettleApply.GetSettleApplyByID(recordID); string originalAccount = SettleApply.GetSettleApplyByID(recordID).ProjectAccount; if (originalAccount == accountList.SelectedValue) { if (position == "会计" || si.ApproveProcess.Contains("财务主管")) { return("出纳"); } else { return(Department.GetDepartmentByName(department).BULeader); } } else { if (position == "会计") { return("财务主管"); } else { return("出纳"); } } }
private void updateApprove(string if_agree, string next, BasicInfo info, bool if_back) { Users usr = (Users)Session["Identify"]; int recordID = Convert.ToInt32(Request["RecordID"]); SettleApply si = SettleApply.GetSettleApplyByID(recordID); si.ApproveProcess += info.StaffName.Trim() + "-" + if_agree + ","; si.ProjectAccount = accountList.SelectedValue; SettleApply.SetSettleApplyByID(recordID, si, usr.UserID); string nextApprover = next; int applyID = Convert.ToInt32(Request["ApplyID"]); Apply.UpdateNextApprover(applyID, nextApprover, if_back); }
/// <summary> /// 插入或更新一条新的统一结算申请记录 /// </summary> /// <param name="id"></param> /// <param name="si"></param> public static void SetSettleApplyByID(int id, SettleApply si, int userID) { SqlConnection conn = new SqlConnection(connString); SqlCommand cmd; bool isExist = HasSettleApplyInfo(id); if (isExist) { cmd = new SqlCommand("UPDATE [SettleApplies] SET [StaffName] = @StaffName, [Department]=@Department, [Position]=@Position, [Reason]=@Reason, [SettleDate]=@SettleDate, [Money]=@Money, [Legal] = @Legal, [InnerBudget]=@InnerBudget, [CheckBill]=@CheckBill, [ApproveProcess]=@ApproveProcess, [ProjectAccount]=@ProjectAccount WHERE [RecordID] = @RecordID", conn); } else { cmd = new SqlCommand("INSERT INTO [SettleApplies] ([StaffName], [Department], [Position], [Reason], [SettleDate], [Money], [Legal], [InnerBudget], [CheckBill],[ProjectAccount]) VALUES ( @StaffName, @Department, @Position, @Reason, @SettleDate, @Money, @Legal, @InnerBudget, @CheckBill, @ProjectAccount) Select @@Identity as 'Identity'", conn); } cmd.Parameters.Add("@RecordID", SqlDbType.Int).Value = id; cmd.Parameters.Add("@StaffName", SqlDbType.VarChar).Value = si.staffName; cmd.Parameters.Add("@Department", SqlDbType.VarChar).Value = si.department; cmd.Parameters.Add("@Position", SqlDbType.VarChar).Value = si.position; cmd.Parameters.Add("@Money", SqlDbType.Float).Value = si.money; cmd.Parameters.Add("@Reason", SqlDbType.VarChar).Value = si.reason; cmd.Parameters.Add("@SettleDate", SqlDbType.DateTime).Value = si.settleDate; cmd.Parameters.Add("@Legal", SqlDbType.Bit).Value = si.legal; cmd.Parameters.Add("@InnerBudget", SqlDbType.Bit).Value = si.innerBudget; cmd.Parameters.Add("@CheckBill", SqlDbType.VarChar).Value = si.checkBill; cmd.Parameters.Add("@ApproveProcess", SqlDbType.VarChar).Value = si.approveProcess; cmd.Parameters.Add("@ProjectAccount", SqlDbType.VarChar).Value = si.projectAccount; conn.Open(); //同时在标准化申请表中插入一条记录 int recordId = Convert.ToInt32(cmd.ExecuteScalar()); if (!isExist) { SqlCommand cmd2 = new SqlCommand("INSERT INTO [AllApplies] ( [ApplyStaff], [ApplyDate], [ApplyType], [NextApprover], [RecordID], [Result]) VALUES (@ApplyStaff, @ApplyDate, @ApplyType, @NextApprover, @RecordID, @Result)", conn); cmd2.Parameters.Add("@ApplyStaff", SqlDbType.VarChar).Value = si.staffName; cmd2.Parameters.Add("@ApplyDate", SqlDbType.DateTime).Value = DateTime.Now; cmd2.Parameters.Add("@ApplyType", SqlDbType.VarChar).Value = "统一结算申请"; cmd2.Parameters.Add("@RecordID", SqlDbType.Int).Value = recordId; cmd2.Parameters.Add("@NextApprover", SqlDbType.VarChar).Value = getNextApprover(userID, si.department); cmd2.Parameters.Add("@Result", SqlDbType.Bit).Value = false; cmd2.ExecuteNonQuery(); } conn.Close(); }
protected void Page_Load(object sender, EventArgs e) { int recordID = Convert.ToInt32(Request["RecordID"]); int applyID = Convert.ToInt32(Request["ApplyID"]); bool rejected = Convert.ToBoolean(Request["rejected"]); Apply ap = Apply.GetApplyByID(applyID); SettleApply si = SettleApply.GetSettleApplyByID(recordID); if (!IsPostBack) { DataSet allPro = ProjectInfo.GetAllProjects(); accountList.DataSource = allPro.Tables[0].DefaultView; accountList.DataTextField = "ProjectAccount"; accountList.DataValueField = "ProjectAccount"; accountList.DataBind(); staffName.Text = si.StaffName; department.Text = si.Department_str; position.Text = si.Position; settleDate.Text = si.SettleDate.ToShortDateString(); accountList.SelectedValue = si.ProjectAccount; money.Text = si.Money.ToString(); reason.Text = si.Reason; legal.SelectedIndex = si.Leagal == true ? 0 : 1; innerBudget.SelectedIndex = si.InnerBudget == true ? 0 : 1; checkBill.Text = si.CheckBill; processShow.Text = si.ApproveProcess; } //用户权限相关显示功能 Users usr = (Users)Session["Identify"]; BasicInfo info = BasicInfo.GetBasicInfoByID(usr.UserID); if (!rejected && ap.NextApprover == si.StaffName) { agreeButton.Visible = false; disagreeButton.Visible = false; cashierButton.Visible = false; rejectButton.Visible = false; whyDisagree.Visible = false; accountList.Enabled = false; //可打印状态 depManager.Text = "已签字"; guanwei.Text = "已签字"; company.Text = "已签字"; } else if (info.StaffName.Trim() == si.StaffName.Trim() || info.Position.Trim() == "出纳") { agreeButton.Visible = false; disagreeButton.Visible = false; accountList.Enabled = false; if (info.Position.Trim() != "出纳") { cashierButton.Visible = false; rejectButton.Visible = false; whyDisagree.Visible = false; } } else if (info.Position.Trim() == "会计") { accountList.Enabled = true; cashierButton.Visible = false; rejectButton.Visible = false; } else { accountList.Enabled = false; cashierButton.Visible = false; rejectButton.Visible = false; } //测试阶段保持处理流程可见,运行阶段记得去掉 processShow.Visible = true; }