public string PostAddAppvalRecord([FromBody] GAppvalRecordModel gAppval) { try { SavedResult <long> result = new SavedResult <long>(); if (gAppval == null) { return(DCHelper.ErrorMessage("审批数据为空!")); } if (gAppval.ProcPhid == 0) { return(DCHelper.ErrorMessage("审批流程id为空!")); } if (gAppval.PostPhid == 0) { return(DCHelper.ErrorMessage("审批岗位id为空!")); } if (string.IsNullOrEmpty(gAppval.FBilltype)) { return(DCHelper.ErrorMessage("单据类型为空!")); } if (gAppval.NextOperators == null || gAppval.NextOperators.Count <= 0) { return(DCHelper.ErrorMessage("单据的下一审批人不能为空!")); } result = this.GAppvalRecordService.AddAppvalRecord(gAppval); return(DataConverterHelper.SerializeObject(result)); } catch (Exception ex) { return(DCHelper.ErrorMessage(ex.Message)); } }
public string GetAppvalRecord([FromUri] GAppvalRecordModel recordModel) { if (recordModel == null || recordModel.RefbillPhid == 0) { return(DCHelper.ErrorMessage("申请单据ID为空!")); } if (string.IsNullOrEmpty(recordModel.FBilltype)) { return(DCHelper.ErrorMessage("单据类型为空!")); } if (recordModel.ProcPhid == 0) { return(DCHelper.ErrorMessage("审批流程id为空!")); } try { List <GAppvalRecordModel> recordModels = GAppvalRecordService.GetAppvalRecord(recordModel.RefbillPhid, recordModel.ProcPhid, recordModel.FBilltype); return(DataConverterHelper.SerializeObject(new { Status = "success", Data = recordModels })); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }
public string GetAppvalProcAndOperator([FromUri] GAppvalRecordModel recordModel) { if (recordModel == null || recordModel.ProcPhid == 0) { return(DCHelper.ErrorMessage("审批流程id为空!")); } if (recordModel.PostPhid == 0) { return(DCHelper.ErrorMessage("审批岗位id为空!")); } try { //根据审批流程id查找审批流程 GAppvalProcModel procModel = GAppvalProcService.FindSingle(recordModel.ProcPhid); //根据审批流程id,当前岗位的id,查找下一岗位的审批人 GAppvalPostModel postModel = GAppvalPostService.GetNextStepOperator(procModel.PhId, recordModel.PostPhid, recordModel.RefbillPhid, recordModel.FBilltype); return(DataConverterHelper.SerializeObject(new { Status = "success", Process = procModel, AppvalPost = postModel })); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }
/// <summary> /// 根据流程id获取整个流程的岗位人员 /// </summary> /// <param name="refbillPhid">单据主键</param> /// <param name="procPhid">流程id</param> /// <returns></returns> public List <GAppvalPostModel> GetBackApprovalPost2(long refbillPhid, long procPhid) { List <GAppvalPostModel> postModels = new List <GAppvalPostModel>(); postModels.Add(new GAppvalPostModel { PhId = 0, FName = "发起人" }); //当前审批流程的所有审批岗位 List <GAppvalPostModel> allPosts = GAppvalPostFacade.FindAppvalPostByProcID(procPhid).OrderBy(t => t.Seq).ToList(); postModels.AddRange(allPosts); foreach (GAppvalPostModel postModel in postModels) { if (postModel.PhId == 0) { if (refbillPhid == 0) { postModel.Operators = null; } else { try { List <GAppvalPost4OperModel> operModels = new List <GAppvalPost4OperModel>(); GAppvalRecordModel model = GAppvalRecordFacade.Find(t => t.RefbillPhid == refbillPhid && t.PostPhid == 0 && t.FBilltype == BillType.BeginProject).Data.ToList().OrderByDescending(t => t.FSendDate).ToList()[0]; User2Model user = UserFacade.Find(model.OperaPhid).Data; operModels.Add(new GAppvalPost4OperModel { PostPhid = 0, OperatorPhid = user.PhId, OperatorName = user.UserName }); postModel.Operators = operModels; } catch (Exception e) { throw new Exception("查询发起人失败!"); } } } else { try { postModel.Operators = GAppvalPost4OperFacade.GetOperatorsByPostID(postModel.PhId); } catch (Exception e) { throw new Exception("根据岗位id查找操作失败!"); } } } return(postModels); }
public string GetBackApprovalPost([FromUri] GAppvalRecordModel recordModel) { if (recordModel == null || recordModel.ProcPhid == 0) { return(DCHelper.ErrorMessage("审批流程id为空!")); } if (recordModel.PostPhid == 0) { return(DCHelper.ErrorMessage("审批岗位id为空!")); } try { List <GAppvalPostModel> postModels = GAppvalPostService.GetBackApprovalPost(recordModel); if (postModels != null && postModels.Count > 0) { foreach (var post in postModels) { post.IsSpanBack = 0; } } //如果是跨审批流回退,打上标记 if (recordModel.IsSpanBack == 1) { IList <GAppvalRecordModel> recordList = new List <GAppvalRecordModel>(); recordList = this.GAppvalRecordService.Find(t => t.RefbillPhid == recordModel.RefbillPhid && t.FBilltype == BillType.BeginProject).Data; if (recordList != null && recordList.Count > 0) { var procPhid = recordList.ToList().OrderByDescending(t => t.FSendDate).ToList()[0].ProcPhid; List <GAppvalPostModel> postModels2 = GAppvalPostService.GetBackApprovalPost2(recordModel.RefbillPhid, procPhid); if (postModels2 != null && postModels2.Count > 0) { foreach (var post in postModels2) { post.IsSpanBack = 1; post.BackProcPhid = procPhid; } } postModels2.AddRange(postModels); postModels = postModels2; } } return(DataConverterHelper.SerializeObject(new { Status = "success", Data = postModels })); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }
public string PostAddPayMent([FromBody] GAppvalRecordModel recordModel) { if (recordModel == null || recordModel.RefbillPhid == 0) { return(DCHelper.ErrorMessage("单据id为空!")); } try { GAppvalRecordService.PostAddPayMent(recordModel); return(DCHelper.SuccessMessage("生成支付单成功!")); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }
/// <summary> /// 根据审批岗位获取审批人(包括岗位id为0的发起人) /// </summary> /// <param name="recordModel"></param> /// <returns></returns> public List <GAppvalPost4OperModel> GetOperators(GAppvalRecordModel recordModel) { List <GAppvalPost4OperModel> operModels = new List <GAppvalPost4OperModel>(); if (recordModel == null) { return(operModels); } if (recordModel.PostPhid == 0) { if (recordModel.RefbillPhid == 0) { return(operModels); } else { try { GAppvalRecordModel model = GAppvalRecordFacade.Find(t => t.RefbillPhid == recordModel.RefbillPhid && t.PostPhid == 0).Data[0]; User2Model user = UserFacade.Find(model.OperaPhid).Data; operModels.Add(new GAppvalPost4OperModel { PostPhid = 0, OperatorPhid = user.PhId, OperatorName = user.UserName }); } catch (Exception e) { throw new Exception("查询发起人失败!"); } } } else { try { operModels = GAppvalPost4OperFacade.GetOperatorsByPostID(recordModel.PostPhid); } catch (Exception e) { throw new Exception("根据岗位id查找操作失败!"); } } return(operModels); }
public string GetApprovalPost([FromUri] GAppvalRecordModel recordModel) { if (recordModel == null || recordModel.ProcPhid == 0) { return(DCHelper.ErrorMessage("流程id为空!")); } try { List <GAppvalPostModel> postModels = GAppvalPostService.GetApprovalPost(recordModel.ProcPhid); return(DataConverterHelper.SerializeObject(new { Status = "success", Data = postModels })); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }
/// <summary> /// 修改主表审批状态 /// </summary> /// <param name="recordModel">传参对象</param> /// <param name="fApproval">审批状态</param> /// <returns></returns> public SavedResult <long> UpdateExpense(GAppvalRecordModel recordModel, string fApproval) { if (recordModel.RefbillPhid == 0) { return(null); } SavedResult <long> savedResult = new SavedResult <long>(); ExpenseMstModel expense = this.ExpenseMstRule.Find(recordModel.RefbillPhid); if (expense != null) { expense.FApprovestatus = fApproval; expense.FApprovedate = DateTime.Now; expense.FApprover = recordModel.OperaPhid; expense.FApprover_EXName = recordModel.OperaName; expense.PersistentState = PersistentState.Modified; savedResult = ExpenseMstRule.Save <Int64>(expense); } return(savedResult); }
public string GetAppvalRecordList([FromUri] GAppvalRecordModel recordModel) { if (recordModel == null || recordModel.RefbillPhid == 0) { return(DCHelper.ErrorMessage("申请单据ID为空!")); } if (string.IsNullOrEmpty(recordModel.FBilltype)) { return(DCHelper.ErrorMessage("单据类型为空!")); } try { List <GAppvalRecordModel> recordModels = GAppvalRecordService.GetAppvalRecordList(recordModel.RefbillPhid, recordModel.FBilltype); if (recordModels.Count > 0) { recordModels[0].SortNum = 0; for (int j = 1; j < recordModels.Count; j++) { recordModels[j].SortNum = j; if (recordModels[j].PostPhid == recordModels[j - 1].PostPhid && recordModels[j].PostPhid != 0) { recordModels[j].SortNum = recordModels[j - 1].SortNum; } } for (int i = 0; i < recordModels.Count; i++) { recordModels[i].SameNum = recordModels.FindAll(t => t.SortNum == i).Count; } } return(DataConverterHelper.SerializeObject(new { Status = "success", Data = recordModels })); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }
public string PostCancelAppvalRecord([FromBody] GAppvalRecordModel gAppval) { try { if (string.IsNullOrEmpty(gAppval.FBilltype)) { return(DCHelper.ErrorMessage("单据类型不能为空!")); } if (gAppval.RefbillPhidList == null || gAppval.RefbillPhidList.Count < 1) { return(DCHelper.ErrorMessage("单据不能为空!")); } SavedResult <long> savedResult = new SavedResult <long>(); savedResult = this.GAppvalRecordService.PostCancelAppvalRecord(gAppval); return(DataConverterHelper.SerializeObject(savedResult)); } catch (Exception ex) { return(DCHelper.ErrorMessage(ex.Message)); } }
public string GetOperators([FromUri] GAppvalRecordModel recordModel) { if (recordModel == null) { return(DCHelper.ErrorMessage("请求参数为空!")); } try { List <GAppvalPost4OperModel> operModels = GAppvalPostService.GetOperators(recordModel); return(DataConverterHelper.SerializeObject(new { Status = "success", Data = operModels })); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }
public string PostApprovalRecord([FromBody] GAppvalRecordModel recordModel) { if (recordModel == null) { return(DCHelper.ErrorMessage("审批数据为空!")); } if (recordModel.ProcPhid == 0) { return(DCHelper.ErrorMessage("审批流程id为空!")); } if (recordModel.PostPhid == 0) { return(DCHelper.ErrorMessage("审批岗位id为空!")); } if (string.IsNullOrEmpty(recordModel.FBilltype)) { return(DCHelper.ErrorMessage("单据类型为空!")); } if (recordModel.RefbillPhid == 0) { return(DCHelper.ErrorMessage("关联单据为空!")); } if (recordModel.PhId == 0) { return(DCHelper.ErrorMessage("审批记录的id为空!")); } try { GAppvalRecordService.PostApprovalRecord(recordModel); return(DCHelper.SuccessMessage("审批成功!")); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }
public async Task <string> PostAddAppvalRecords() { List <QtAttachmentModel> attachmentModels = new List <QtAttachmentModel>(); try { GAppvalRecordModel recordModel = new GAppvalRecordModel(); recordModel.PersistentState = PersistentState.Added; //判断form表单类型是否正确 if (!Request.Content.IsMimeMultipartContent()) { var data1 = new { Status = ResponseStatus.Error, Msg = "请求数据不是multipart/form-data类型", Data = "" }; return(DataConverterHelper.SerializeObject(data1)); } //I6WebAppInfo i6AppInfo = (I6WebAppInfo)HttpContext.Current.Session["NGWebAppInfo"] ?? null; //获取AppInfo值 头部信息记录 var base64EncodedBytes = Convert.FromBase64String(HttpContext.Current.Request.Headers.GetValues("AppInfo").First()); var jsonText = Encoding.UTF8.GetString(base64EncodedBytes); var AppInfo = JsonConvert.DeserializeObject <AppInfoBase>(jsonText); //如果路径不存在,创建路径 var root = System.Web.Hosting.HostingEnvironment.MapPath("~/UpLoadFiles/ApprovalRecord/"); string date = DateTime.Now.ToString("yyyy-MM-dd"); string filePath = Path.Combine(root, date); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } var multipartMemoryStreamProvider = await Request.Content.ReadAsMultipartAsync(); var contentsList = multipartMemoryStreamProvider.Contents; foreach (var content in contentsList) { //通过判断fileName是否为空,是否为文件 if (!string.IsNullOrEmpty(content.Headers.ContentDisposition.FileName)) { //处理文件名字符串 string fileName = content.Headers.ContentDisposition.FileName.Replace("\"", string.Empty); using (Stream stream = await content.ReadAsStreamAsync()) { //文件如果大于100MB 提示不允许 if (stream.Length > 104857600) { return(DCHelper.ErrorMessage("上传的文件不能大于100MB!")); } byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); stream.Seek(0, SeekOrigin.Begin); //获取对应文件后缀名 string extension = Path.GetExtension(fileName); //获取文件名 string b_name = Path.GetFileName(fileName); //修改文件名 string newFileName = Guid.NewGuid().ToString("N") + extension; string uploadPath = Path.Combine(filePath, newFileName); //保存文件 MemoryStream ms = new MemoryStream(bytes); FileStream fs = new FileStream(uploadPath, FileMode.Create); ms.WriteTo(fs); ms.Close(); fs.Close(); string b_urlpath = "/UpLoadFiles/ApprovalRecord/" + date + "/" + newFileName; QtAttachmentModel attachmentModel = new QtAttachmentModel(); attachmentModel.BName = b_name; attachmentModel.BSize = decimal.Round((decimal)stream.Length / 1024, 2); attachmentModel.BTable = "SP3_APPVAL_RECORD"; attachmentModel.BType = extension; attachmentModel.BUrlpath = b_urlpath; attachmentModel.PersistentState = PersistentState.Added; attachmentModels.Add(attachmentModel); } } else { //获取键值对值,并通过反射获取对象中的属性 string key = content.Headers.ContentDisposition.Name.Replace("\"", string.Empty); string value = await content.ReadAsStringAsync(); var item = typeof(GAppvalRecordModel).GetProperty(key); if (item != null && value != "") { //获取数据的类型 var propertyType = item.PropertyType; object v; if (key == "NextOperators" || key == "RefbillPhidList") { var value2 = JsonConvert.DeserializeObject <List <long> >(value); v = Convert.ChangeType(value2, propertyType); } else { //转换数据的类型 v = Convert.ChangeType(value, propertyType); } item.SetValue(recordModel, v); } } } if (AppInfo != null) { MultiDelegatingDbProvider.CurrentDbProviderName = AppInfo.DbName; } SavedResult <long> result = new SavedResult <long>(); if (recordModel == null) { return(DCHelper.ErrorMessage("审批数据为空!")); } if (recordModel.ProcPhid == 0) { return(DCHelper.ErrorMessage("审批流程id为空!")); } if (recordModel.PostPhid == 0) { return(DCHelper.ErrorMessage("审批岗位id为空!")); } if (string.IsNullOrEmpty(recordModel.FBilltype)) { return(DCHelper.ErrorMessage("单据类型为空!")); } if (recordModel.NextOperators == null || recordModel.NextOperators.Count <= 0) { return(DCHelper.ErrorMessage("单据的下一审批人不能为空!")); } recordModel.QtAttachments = attachmentModels; result = this.GAppvalRecordService.AddAppvalRecord(recordModel); return(DataConverterHelper.SerializeObject(result)); } catch (Exception e) { return(DCHelper.ErrorMessage(e.Message)); } }
/// <summary> /// 回退时,获取之前的所有岗位,包括发起人(岗位id为0) /// </summary> /// <param name="recordModel"></param> /// <returns></returns> public List <GAppvalPostModel> GetBackApprovalPost(GAppvalRecordModel recordModel) { List <GAppvalPostModel> postModels = new List <GAppvalPostModel>(); if (recordModel == null || recordModel.ProcPhid == 0 || recordModel.PostPhid == 0) { return(postModels); } postModels.Add(new GAppvalPostModel { PhId = 0, FName = "发起人" }); //当前审批流程的所有审批岗位 List <GAppvalPostModel> allPosts = GAppvalPostFacade.FindAppvalPostByProcID(recordModel.ProcPhid).OrderBy(t => t.Seq).ToList(); //当前岗位 GAppvalPostModel presentPost = allPosts.Find(t => t.PhId == recordModel.PostPhid); //当前岗位之前的岗位 List <GAppvalPostModel> beforePosts = allPosts.FindAll(t => t.Seq < presentPost.Seq); postModels.AddRange(beforePosts); foreach (GAppvalPostModel postModel in postModels) { if (postModel.PhId == 0) { if (recordModel.RefbillPhid == 0) { postModel.Operators = null; } else { try { List <GAppvalPost4OperModel> operModels = new List <GAppvalPost4OperModel>(); GAppvalRecordModel model = GAppvalRecordFacade.Find(t => t.RefbillPhid == recordModel.RefbillPhid && t.PostPhid == 0).Data[0]; User2Model user = UserFacade.Find(model.OperaPhid).Data; operModels.Add(new GAppvalPost4OperModel { PostPhid = 0, OperatorPhid = user.PhId, OperatorName = user.UserName }); postModel.Operators = operModels; } catch (Exception e) { throw new Exception("查询发起人失败!"); } } } else { try { postModel.Operators = GAppvalPost4OperFacade.GetOperatorsByPostID(postModel.PhId); } catch (Exception e) { throw new Exception("根据岗位id查找操作失败!"); } } } return(postModels); }