Exemplo n.º 1
0
    /*以下是获取数据的相关方法*/


    /// <summary>
    /// 获取提交时单据所有项
    /// </summary>
    /// <param name="docId">new_cost_sharing的单据ID</param>
    /// <returns></returns>
    private static JObject GetSubmitDoc(string docId)
    {
        JObject res    = new JObject();
        string  ErrMsg = "";
        DataSet ds     = CostSharingDeleteSrv.GetList(docId, ref ErrMsg);

        if (ds == null)
        {
            res.Add("ErrCode", 2);
            res.Add("ErrMsg", ErrMsg);
        }
        else if (ds.Tables[0].Rows.Count == 0)
        {
            res.Add("ErrCode", 3);
            res.Add("ErrMsg", "不存在该单据");
        }
        else
        {
            res.Add("ErrCode", 0);
            res.Add("ErrMsg", "操作成功");
            res.Add("data", DataTableToJArray(ds.Tables[0], ds.Tables[1]));
            res.Add("approver", new JArray());
            res.Add("IsRecord", "false");
        }
        return(res);
    }
Exemplo n.º 2
0
    /// <summary>
    /// 获取审批记录
    /// </summary>
    /// <param name="docCode">单据Code,cost_sharing_record中Code</param>
    /// <param name="userId">人员ID</param>
    /// <returns></returns>
    private static JObject GetRecord(string docCode, string userId)
    {
        JObject res    = new JObject();
        string  ErrMsg = "";
        DataSet ds     = CostSharingDeleteSrv.GetRecord(docCode, userId, ref ErrMsg);

        if (ds == null)
        {
            res.Add("ErrCode", 2);
            res.Add("ErrMsg", ErrMsg);
        }
        else if (ds.Tables[0].Rows.Count == 0)
        {
            res.Add("ErrCode", 3);
            res.Add("ErrMsg", "不存在该单据");
        }
        else if (!ds.Tables[0].Rows[0]["ApproverUserId"].ToString().Contains(userId))
        {
            res.Add("ErrCode", 4);
            res.Add("ErrMsg", "无审批权限或该单据已被审批");
        }
        else
        {
            res.Add("ErrCode", 0);
            res.Add("ErrMsg", "操作成功");
            res.Add("data", DataTableToJArray(ds.Tables[0]));
            res.Add("approver", GetApproverList(ds.Tables[1]));
            res.Add("IsRecord", "true");
        }
        return(res);
    }
Exemplo n.º 3
0
    /*以下是提交或审批的相关方法*/

    private static JObject SubmitDoc(string userId, string docId, JArray jarray, int n)
    {
        JObject res = new JObject();

        if (n > 0)
        {
            string  docCode = "0";
            string  ErrMsg  = "";
            DataSet ds      = CostSharingDeleteSrv.GetMaxDocCode(ref ErrMsg);
            if (ds == null)
            {
                res.Add("ErrCode", 2);
                res.Add("ErrMsg", ErrMsg);
            }
            else
            {
                List <string> sqlList = new List <string>();

                docCode = CreateDocCode(ds.Tables[0].Rows[0][0].ToString());

                JObject DocJObject = new JObject();
                DocJObject.Add("Code", docCode);               //单据号
                DocJObject.Add("Level", "1");                  //下一审批级别
                DocJObject.Add("SubmitterUserId", userId);     //提交人userId
                DocJObject.Add("InsertOrUpdate", "3");         //3表示丢失
                DocJObject.Add("State", "审批中");
                DocJObject.Add("NewCostSharingId", docId);     //new_cost_sharing的Id
                DocJObject.Add("CreateTime", DateTime.Now);
                DocJObject.Add("ApproverUserId", "100000142"); //公司总经理--吕正和

                sqlList.Add(SqlHelper.GetInsertString(DocJObject, "cost_sharing_record"));
                sqlList.Add(GetDetailInsertSQL(jarray, "0", userId, docCode));

                SqlExceRes msg = new SqlExceRes(SqlHelper.Exce(sqlList.ToArray()));
                if (msg.Result == 0)
                {
                    //发信息给提交者还有下级审批人
                    res.Add("ErrCode", 0);
                    res.Add("ErrMsg", "操作成功");
                }
                else//错误,等待0.2秒重新提交
                {
                    Thread.Sleep(200);
                    res = SubmitDoc(userId, docId, jarray, n - 1);
                }
            }
        }
        else
        {
            res.Add("ErrCode", 3);
            res.Add("ErrMsg", "网络超时,请重新提交!");
        }
        return(res);
    }