/*以下是获取数据的相关方法*/ /// <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); }
/// <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); }
/*以下是提交或审批的相关方法*/ 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); }