예제 #1
0
    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");
    }
예제 #2
0
    /// <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);
    }
예제 #3
0
    /// <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("出纳");
            }
        }
    }
예제 #4
0
    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);
    }
예제 #5
0
    /// <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();
    }
예제 #6
0
    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;
    }