コード例 #1
0
    private string getDocument()
    {
        string   code = Request.Form["docCode"];
        UserInfo user = (UserInfo)Session["user"];

        // 查询这一级的审批人是否是该用户
        DataSet checkApproverDt = ReimbursementManage.checkApprover(code, user.userId.ToString());

        string msg = "";

        if (checkApproverDt == null || checkApproverDt.Tables[0] == null ||
            checkApproverDt.Tables[0].Columns.Count == 0 || checkApproverDt.Tables[0].Rows.Count == 0)
        {
            msg = "当前用户无审批权限";
            return(JsonHelper.SerializeObject(msg));
        }

        DataSet ds  = ReimbursementManage.GetDocumnetsInfosByCode(code, user.userName);
        string  res = "单据未找到或无权限查看该单据!";

        if (ds != null && ds.Tables[0].Rows.Count > 0)
        {
            var dt = ds.Tables[0];
            foreach (DataRow dr in dt.Rows)
            {
                dr["remark"] = SqlHelper.DesDecrypt(dr["remark"].ToString());
            }
            res = JsonHelper.SerializeObject(dt);
        }

        return(res.Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", ""));
    }
コード例 #2
0
    private string approvalReimburse()
    {
        string docCode          = Request.Form["docCode"];
        string ApprovalResult   = Request.Form["ApprovalResult"];
        string ApprovalOpinions = Request.Form["ApprovalOpinions"];

        UserInfo userInfo = (UserInfo)Session["user"];

        string    sql  = "select * from yl_reimburse where id = " + docCode;
        DataTable dt   = SqlHelper.Find(sql).Tables[0];
        string    code = dt.Rows[0]["code"].ToString();

        // 查询这一级的审批人是否是该用户
        DataSet checkApproverDt = ReimbursementManage.checkApprover(code, userInfo.userId.ToString());

        string msg = "";

        if (checkApproverDt == null || checkApproverDt.Tables[0] == null ||
            checkApproverDt.Tables[0].Columns.Count == 0 || checkApproverDt.Tables[0].Rows.Count == 0)
        {
            msg = "当前用户无审批权限";
            return(JsonHelper.SerializeObject(msg));
        }

        //// 若提交时间超过当月25号 则不允许审批
        // DateTime submitTime = Convert.ToDateTime(dt.Rows[0]["apply_time"]);
        // DateTime theTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-25" + " 00:00:00");

        // if (submitTime > theTime)
        // {
        //     msg = "该单据超过25号提交,暂无法审批!";
        //     return JsonHelper.SerializeObject(msg);
        // }

        //if (ApprovalResult == "同意" && dt.Rows[0]["IsOverBudget"].ToString() != "1")
        //{
        //    JObject j = ReimbursementManage.IsOverBudget(dt.Rows[0]["fee_department"].ToString(), dt.Rows[0]["fee_detail"].ToString(), Convert.ToDouble(dt.Rows[0]["fee_amount"].ToString()), DateTime.Now);

        //    if (msg.Contains("预算余额不足"))
        //    {
        //        return JsonHelper.SerializeObject(msg);
        //    }
        //}
        if (ApprovalResult == "同意" && dt.Rows[0]["isOverBudget"].ToString() != "1")
        {
            JObject res = ReimbursementManage.IsOverBudget(dt.Rows[0]["fee_department"].ToString(), dt.Rows[0]["fee_detail"].ToString(), Convert.ToDouble(dt.Rows[0]["fee_amount"].ToString())
                                                           , Convert.ToDateTime(dt.Rows[0]["apply_time"].ToString()));

            if (res == null || Convert.ToDouble(res["budget"]) < Convert.ToDouble(res["hasApprove"]) + Convert.ToDouble(dt.Rows[0]["fee_amount"].ToString()))
            {
                return(JsonHelper.SerializeObject("预算余额不足"));
            }
        }

        msg = ApprovalFlowManage.ApproveDocument("yl_reimburse", docCode, userInfo, ApprovalResult, ApprovalOpinions,
                                                 "http://yelioa.top/mMySubmittedReimburse.aspx?docCode=" + code, "http://yelioa.top/mMobileReimbursement.aspx?docCode=" + code, "http://yelioa.top/mMySubmittedReimburse.aspx?docCode=" + code, "UM0i5TXSIqQIOWk-DmUlfTqBqvZAfbZdGGDKiFZ-nRk", "yl_reimburse", "1000006");

        if ("审批流程结束".Equals(msg) || "审批拒绝!".Equals(msg))
        {
            // 清除approval_process表中内容
            MobileReimburseManage.clearApprovalProcess(docCode);
            // 更新审批时间
            MobileReimburseManage.updateApprovalTimeAndResultAndOpinion(docCode, ApprovalResult, ApprovalOpinions);

            // 删除关联差旅申请
            sql += string.Format("delete from wf_form_差旅申请 where reimburseCode = '{0}';", code);

            // 删除关联借款单 并把借款单的金额还原
            dt = SqlHelper.Find(string.Format("select * from yl_reimburse_loan where ReimburseCode = '{0}'", code)).Tables[0];

            sql += string.Format("delete from yl_reimburse_loan where ReimburseCode = '{0}';", code);

            foreach (DataRow dr in dt.Rows)
            {
                decimal amount   = Decimal.Parse(dr["amount"].ToString());
                string  tempCode = dr["docCode"].ToString();

                sql += string.Format("update wf_form_借款单 set remainAmount = remainAmount + {0} where docCode = '{1}';", amount, tempCode);
            }
            SqlHelper.Exce(sql);
        }
        return(JsonHelper.SerializeObject(msg));
    }