/// <summary> /// 新增申请单 /// </summary> /// <param name="paymentMstAndXm">申请单对象</param> /// <returns></returns> public SavedResult <long> AddSignle(PaymentMstAndXmModel paymentMstAndXm) { SavedResult <long> savedResultMst = new SavedResult <long>(); SavedResult <long> savedResult = new SavedResult <long>(); if (paymentMstAndXm.PaymentMst != null) { paymentMstAndXm.PaymentMst.FDate = DateTime.Now; paymentMstAndXm.PaymentMst.PersistentState = PersistentState.Added; paymentMstAndXm.PaymentMst.FCode = GetPaymentCode(); savedResultMst = this.PaymentMstRule.Save <long>(paymentMstAndXm.PaymentMst); if (savedResultMst.KeyCodes.Count > 0) { long mstPhid = savedResultMst.KeyCodes[0]; if (paymentMstAndXm.PaymentXmDtl != null && paymentMstAndXm.PaymentXmDtl.Count > 0) { int seq = 1; foreach (var paymentXmDtl in paymentMstAndXm.PaymentXmDtl) { //PaymentXmAndDtlModel paymentXmAndDtl = new PaymentXmAndDtlModel(); paymentXmDtl.PaymentXm.PersistentState = PersistentState.Added; paymentXmDtl.PaymentXm.MstPhid = mstPhid; paymentXmDtl.PaymentXm.FSeq = seq++; savedResult = this.PaymentXmRule.Save <long>(paymentXmDtl.PaymentXm); if (savedResult.KeyCodes.Count > 0) { long xmPhid = savedResult.KeyCodes[0]; //新增明细 if (paymentXmDtl.PaymentDtls != null && paymentXmDtl.PaymentDtls.Count > 0) { foreach (var paymentDtl in paymentXmDtl.PaymentDtls) { paymentDtl.PersistentState = PersistentState.Added; paymentDtl.MstPhid = mstPhid; paymentDtl.PayXmPhid = xmPhid; } } //新增项目附件 if (paymentXmDtl.QtAttachments != null && paymentXmDtl.QtAttachments.Count > 0) { foreach (var attachment in paymentXmDtl.QtAttachments) { attachment.RelPhid = xmPhid; attachment.BTable = "BK3_PAYMENT_XM"; attachment.PersistentState = PersistentState.Added; } } savedResult = this.QtAttachmentRule.Save <long>(paymentXmDtl.QtAttachments); savedResult = this.PaymentDtlRule.Save <long>(paymentXmDtl.PaymentDtls); } } } } } return(savedResultMst); }
/// <summary> /// 点击申请单显示详情 /// </summary> /// <param name="fCode"></param> /// <returns></returns> public PaymentMstAndXmModel GetPaymentMst(string fCode) { PaymentMstAndXmModel paymentMstAndXm = new PaymentMstAndXmModel(); Dictionary <string, object> dic = new Dictionary <string, object>(); new CreateCriteria(dic) .Add(ORMRestrictions <long> .Eq("PhId", long.Parse(fCode))); var result = this.PaymentMstRule.Find(dic); if (result.Count > 0) { paymentMstAndXm.PaymentMst = result[0]; dic.Clear(); new CreateCriteria(dic) .Add(ORMRestrictions <long> .Eq("MstPhid", result[0].PhId)); var result2 = this.PaymentXmRule.Find(dic, new string[] { "FSeq asc", "XmProjcode Asc" }); if (result2.Count > 0) { List <PaymentXmAndDtlModel> paymentXmAndDtls = new List <PaymentXmAndDtlModel>(); foreach (var paymentXm in result2) { PaymentXmAndDtlModel paymentXmAndDtl = new PaymentXmAndDtlModel(); paymentXmAndDtl.PaymentXm = paymentXm; //根据项目获取明细数据 dic.Clear(); new CreateCriteria(dic) .Add(ORMRestrictions <long> .Eq("PayXmPhid", paymentXm.PhId)); var result3 = this.PaymentDtlRule.Find(dic); if (result3.Count > 0) { paymentXmAndDtl.PaymentDtls = result3; //foreach (var paymentDtl in result3) //{ // paymentXmAndDtl.PaymentDtls.Add(paymentDtl); //} } //根据项目获取附件信息 dic.Clear(); new CreateCriteria(dic) .Add(ORMRestrictions <long> .Eq("RelPhid", paymentXm.PhId)) .Add(ORMRestrictions <string> .Eq("BTable", "BK3_PAYMENT_XM")); var result4 = this.QtAttachmentRule.Find(dic); if (result4.Count > 0) { paymentXmAndDtl.QtAttachments = result4; } paymentXmAndDtls.Add(paymentXmAndDtl); } paymentMstAndXm.PaymentXmDtl = paymentXmAndDtls; } } return(paymentMstAndXm); }
public string PostAdd([FromBody] BaseInfoModel <PaymentMstAndXmModel> paramters) { try { if (paramters.infoData != null) { PaymentMstAndXmModel paymentMstAndXm = paramters.infoData; var result = this.PaymentMstService.AddSignle(paymentMstAndXm); return(DataConverterHelper.SerializeObject(result)); } else { throw new Exception("参数传递有误!"); } } catch (Exception ex) { return(DCHelper.ErrorMessage(ex.Message)); } }
/// <summary> /// 修改申请单 /// </summary> /// <param name="paymentMstAndXm">新的申请单</param> /// <returns></returns> public SavedResult <long> UpdateSignle(PaymentMstAndXmModel paymentMstAndXm) { SavedResult <long> savedResultMst = new SavedResult <long>(); SavedResult <long> savedResult = new SavedResult <long>(); Dictionary <string, object> dic = new Dictionary <string, object>(); if (paymentMstAndXm.PaymentMst != null) { paymentMstAndXm.PaymentMst.PersistentState = PersistentState.Modified; if (string.IsNullOrEmpty(paymentMstAndXm.PaymentMst.FCode)) { paymentMstAndXm.PaymentMst.FCode = GetPaymentCode(); } savedResultMst = this.PaymentMstRule.Save <long>(paymentMstAndXm.PaymentMst); if (savedResultMst.KeyCodes.Count > 0) { long mstPhid = savedResultMst.KeyCodes[0]; //先删除该申请单下原有的项目与明细(包括附件) int deletedResult = 0; dic.Clear(); new CreateCriteria(dic) .Add(ORMRestrictions <long> .Eq("MstPhid", mstPhid)); var result2 = this.PaymentXmRule.Find(dic); if (result2 != null && result2.Count > 0) { //删除单据对应项目表数据 deletedResult = this.PaymentXmRule.Delete(dic); var xmIdList = result2.ToList().Select(t => t.PhId).ToList(); //删除明细表数据 dic.Clear(); new CreateCriteria(dic) .Add(ORMRestrictions <List <long> > .In("PayXmPhid", xmIdList)); var result3 = this.PaymentDtlRule.Find(dic); if (result3 != null && result3.Count > 0) { deletedResult = this.PaymentDtlRule.Delete(dic); } //删除附件数据 dic.Clear(); new CreateCriteria(dic) .Add(ORMRestrictions <List <long> > .In("RelPhid", xmIdList)) .Add(ORMRestrictions <string> .Eq("BTable", "BK3_PAYMENT_XM")); var result4 = this.QtAttachmentRule.Find(dic); if (result4 != null && result4.Count > 0) { deletedResult = this.QtAttachmentRule.Delete(dic); } } //接着新增修改后的项目与明细 if (paymentMstAndXm.PaymentXmDtl != null && paymentMstAndXm.PaymentXmDtl.Count > 0) { int seq = 1; foreach (var paymentXmDtl in paymentMstAndXm.PaymentXmDtl) { //新增单据对应项目 //PaymentXmAndDtlModel paymentXmAndDtl = new PaymentXmAndDtlModel(); paymentXmDtl.PaymentXm.PersistentState = PersistentState.Added; paymentXmDtl.PaymentXm.MstPhid = mstPhid; paymentXmDtl.PaymentXm.FSeq = seq++; savedResult = this.PaymentXmRule.Save <long>(paymentXmDtl.PaymentXm); if (savedResult.KeyCodes.Count > 0) { long xmPhid = savedResult.KeyCodes[0]; //新增明细 if (paymentXmDtl.PaymentDtls != null && paymentXmDtl.PaymentDtls.Count > 0) { foreach (var paymentDtl in paymentXmDtl.PaymentDtls) { paymentDtl.PersistentState = PersistentState.Added; paymentDtl.MstPhid = mstPhid; paymentDtl.PayXmPhid = xmPhid; } } //新增项目附件 if (paymentXmDtl.QtAttachments != null && paymentXmDtl.QtAttachments.Count > 0) { foreach (var attachment in paymentXmDtl.QtAttachments) { attachment.RelPhid = xmPhid; attachment.BTable = "BK3_PAYMENT_XM"; attachment.PersistentState = PersistentState.Added; } } savedResult = this.QtAttachmentRule.Save <long>(paymentXmDtl.QtAttachments); savedResult = this.PaymentDtlRule.Save <long>(paymentXmDtl.PaymentDtls); } } } } } return(savedResultMst); }
/// <summary> /// 修改申请单 /// </summary> /// <param name="paymentMstAndXm">新的申请单</param> /// <returns></returns> public SavedResult <long> UpdateSignle(PaymentMstAndXmModel paymentMstAndXm) { return(this.PaymentMstFacade.UpdateSignle(paymentMstAndXm)); }
public async Task <string> PostAddfj() { List <QtAttachmentModel> attachmentModels = new List <QtAttachmentModel>(); try { PaymentMstAndXmModel paymentMstAndXm = new PaymentMstAndXmModel(); //判断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/BKPayment/"); 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/BKPayment/" + date + "/" + newFileName; //如果上传文件为封面图片,将图片信息设置到新闻对象中 //if (".jpg".CompareTo(extension) == 0 || ".gif".CompareTo(extension) == 0 || ".png".CompareTo(extension) == 0 || ".jpeg".CompareTo(extension) == 0 || ".bmp".CompareTo(extension) == 0) //{ // newsModel.AttachmentName = b_name; // newsModel.AttachmentSize = decimal.Round((decimal)stream.Length / 1024, 2); // newsModel.Picpath = b_urlpath; //} //else { QtAttachmentModel attachmentModel = new QtAttachmentModel(); attachmentModel.BName = b_name; attachmentModel.BSize = decimal.Round((decimal)stream.Length / 1024, 2); attachmentModel.BTable = "BK3_PAYMENT_MST"; 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(PaymentMstAndXmModel).GetProperty(key); if (item != null) { //获取数据的类型 var propertyType = item.PropertyType; //转换数据的类型 object v = Convert.ChangeType(value, propertyType); item.SetValue(paymentMstAndXm, v); } } } if (AppInfo != null) { MultiDelegatingDbProvider.CurrentDbProviderName = AppInfo.DbName; } //SavedResult<Int64> savedResult = SysNewsService.SaveSysNews(newsModel, attachmentModels); //if (savedResult != null && savedResult.KeyCodes.Count > 0) //{ // return DCHelper.SuccessMessage("新增成功!"); // return DataConverterHelper.SerializeObject(savedResult); //} //else //{ // return DCHelper.ErrorMessage("新增失败!"); //} return(DCHelper.ErrorMessage("ceshiceshi!")); } catch (Exception ex) { return(DCHelper.ErrorMessage(ex.Message)); } }