示例#1
0
 public string GetPaymentMst([FromUri] BaseListModel paramters)
 {
     try
     {
         if (string.IsNullOrEmpty(paramters.fPhId))
         {
             throw new Exception("申请单主键不能为空!");
         }
         var result = this.PaymentMstService.GetPaymentMst(paramters.fPhId);
         if (result != null && result.PaymentXmDtl != null && result.PaymentXmDtl.Count > 0)
         {
             foreach (var paymentxm in result.PaymentXmDtl)
             {
                 Dictionary <string, object> dic = new Dictionary <string, object>();
                 var     res  = this.PaymentMstService.GetSummary(paymentxm.PaymentXm.XmMstPhid.ToString(), paymentxm.PaymentXm.MstPhid);
                 decimal used = 0;
                 if (res != null && res.Count > 0)
                 {
                     foreach (var xm in res)
                     {
                         used = used + (decimal)xm.Value;
                         if (xm.Key == "Use")
                         {
                             paymentxm.PaymentXm.Use = (decimal)xm.Value;
                         }
                         if (xm.Key == "Frozen")
                         {
                             paymentxm.PaymentXm.Frozen = (decimal)xm.Value;
                         }
                     }
                 }
                 var     total   = this.BudgetMstService.GetDxbzDtl(paymentxm.PaymentXm.XmMstPhid, long.Parse(paramters.orgid));
                 Type    type    = total.GetType();
                 decimal sum     = (decimal)type.GetProperty("FAmount").GetValue(total);
                 decimal surplus = sum - used;
                 paymentxm.PaymentXm.Sum     = sum;
                 paymentxm.PaymentXm.Surplus = surplus;
             }
         }
         return(DataConverterHelper.SerializeObject(result));
     }
     catch (Exception ex)
     {
         return(DCHelper.ErrorMessage(ex.Message));
     }
 }
示例#2
0
 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));
     }
 }
示例#3
0
 public string PostCancetPaymentList([FromBody] BaseListModel paramters)
 {
     try
     {
         if (paramters.fPhIdList == null || paramters.fPhIdList.Count() < 1)
         {
             return(DCHelper.ErrorMessage("传递的单据集合有误!"));
         }
         List <long> fCodes = new List <long>();
         for (int i = 0; i < paramters.fPhIdList.Count(); i++)
         {
             fCodes.Add(long.Parse(paramters.fPhIdList[i]));
         }
         var result = this.PaymentMstService.PostCancetPaymentList(fCodes);
         return(DataConverterHelper.SerializeObject(result));
     }
     catch (Exception ex)
     {
         return(DCHelper.ErrorMessage(ex.Message));
     }
 }
示例#4
0
 public string GetPaymentList([FromUri] PaymentModel paramters)
 {
     try
     {
         PaymentMstModel payment = new PaymentMstModel();
         payment.FOrgphid    = paramters.FOrgphid;
         payment.FYear       = paramters.FYear;
         payment.FDepphid    = paramters.FDepphid;
         payment.FName       = paramters.FName;
         payment.StartDate   = paramters.StartDate;
         payment.EndDate     = paramters.EndDate;
         payment.MinAmount   = paramters.MinAmount;
         payment.MaxAmount   = paramters.MaxAmount;
         payment.ApprovalBzs = paramters.ApprovalBzs;
         payment.PayBzs      = paramters.PayBzs;
         payment.UserId      = paramters.uid;
         if (payment.FOrgphid < 1)
         {
             throw new Exception("组织信息传递不正确!");
         }
         if (payment.FDepphid < 1)
         {
             throw new Exception("部门信息传递不正确!");
         }
         var result = this.PaymentMstService.GetPaymentList(payment);
         //取可选相同审批流是数据集合
         if (result != null && result.Count > 0)
         {
             if (paramters.ProcPhid != 0)
             {
                 List <string> orgList = result.ToList().Select(t => t.FBudcode).Distinct().ToList();
                 if (orgList != null && orgList.Count > 0)
                 {
                     var procList = this.GAppvalProcService.Find(t => orgList.Contains(t.OrgCode)).Data;
                     if (procList != null && procList.Count > 0)
                     {
                         //可以选取相同审批流的打上标记
                         foreach (var res in result)
                         {
                             if (res.FApproval == (byte)ApprovalType.not && procList.ToList().Find(t => t.OrgCode == res.FBudcode && t.PhId == paramters.ProcPhid) != null)
                             {
                                 res.BatchPracBz = 1;
                             }
                             else
                             {
                                 continue;
                             }
                         }
                         result = result.ToList().FindAll(t => t.BatchPracBz == 1);
                     }
                 }
             }
         }
         var count      = result.Count;
         var pageResult = result.Skip((paramters.PageIndex - 1) * paramters.PageSize).Take(paramters.PageSize).ToList();
         return(DCHelper.ModelListToJson(pageResult, count));
     }
     catch (Exception ex)
     {
         return(DCHelper.ErrorMessage(ex.Message));
     }
 }
示例#5
0
        public async Task <string> PostUploadFile()
        {
            try
            {
                if (!Request.Content.IsMimeMultipartContent())
                {
                    var data1 = new
                    {
                        Status = ResponseStatus.Error,
                        Msg    = "请求数据不是multipart/form-data类型",
                        Data   = ""
                    };
                    return(DataConverterHelper.SerializeObject(data1));
                }
                //web api 获取项目根目录下指定的文件下
                var    root         = System.Web.Hosting.HostingEnvironment.MapPath("~/UpLoadFiles/Payment/");
                string date         = DateTime.Now.ToString("yyyy-MM-dd");
                string resourcePath = Path.Combine(root, date);
                if (!Directory.Exists(resourcePath))
                {
                    Directory.CreateDirectory(resourcePath);
                }
                var multipartMemoryStreamProvider = await Request.Content.ReadAsMultipartAsync();

                var contentsList = multipartMemoryStreamProvider.Contents;

                //获取表单数据
                Dictionary <string, string> dic = new Dictionary <string, string>();
                //List<FileParameter> paraList = new List<FileParameter>();

                List <string> files = new List <string>();
                //原始文件名
                List <string>            oldnames = new List <string>();
                List <QtAttachmentModel> list     = new List <QtAttachmentModel>();

                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(resourcePath, newFileName);

                            //保存文件
                            MemoryStream ms = new MemoryStream(bytes);
                            FileStream   fs = new FileStream(uploadPath, FileMode.Create);
                            ms.WriteTo(fs);
                            ms.Close();
                            fs.Close();

                            string b_urlpath = "/UpLoadFiles/Payment/" + date + "/" + newFileName;

                            QtAttachmentModel model = new QtAttachmentModel();
                            model.BName = b_name;
                            model.BType = extension;
                            model.BSize = decimal.Round((decimal)stream.Length / (1024), 2); //保留2位小数
                            //model.BFilebody = bytes;
                            model.BUrlpath = b_urlpath;
                            model.BTable   = "BK3_PAYMENT_XM";
                            model.BRemark  = "";

                            list.Add(model);


                            //返回文件相对路径
                            files.Add(b_urlpath);
                            oldnames.Add(b_name);
                        }
                    }
                    else
                    {
                        string val = await content.ReadAsStringAsync();

                        dic.Add(content.Headers.ContentDisposition.Name.ToString(), val);
                    }
                }
                var data = new
                {
                    Status     = ResponseStatus.Success,
                    Msg        = "附件上传成功。",
                    Data       = list,
                    Attachment = files,
                    Oldnames   = oldnames
                };
                return(DataConverterHelper.SerializeObject(data));
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
        }
示例#6
0
        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));
            }
        }
示例#7
0
 public string PostDelete([FromBody] BaseListModel paramters)
 {
     try
     {
         List <long> fCodes = new List <long>();
         if (paramters.fPhIdList.Count() < 1)
         {
             return(DCHelper.ErrorMessage("删除的申请单编码列表不能为空!"));
         }
         else
         {
             for (int i = 0; i < paramters.fPhIdList.Count(); i++)
             {
                 fCodes.Add(long.Parse(paramters.fPhIdList[i]));
             }
             Dictionary <string, object> dic = new Dictionary <string, object>();
             new CreateCriteria(dic)
             .Add(ORMRestrictions <List <long> > .In("PhId", fCodes));
             var result = this.PaymentMstService.Find(dic).Data;
             if (result.Count > 0)
             {
                 string str = "";
                 foreach (var payment in result)
                 {
                     if (payment.FApproval != 0 && payment.FApproval != 2)
                     {
                         str = str + payment.FCode + ",";
                     }
                 }
                 if (str.Length > 0)
                 {
                     return(DCHelper.ErrorMessage(str + "这些单据无法进行删除操作!"));
                 }
             }
             else
             {
                 return(DCHelper.ErrorMessage("删除的申请单不存在!"));
             }
         }
         var deleteResult = this.PaymentMstService.DeleteSignle(fCodes);
         if (deleteResult > 0)
         {
             var data = new
             {
                 Status = ResponseStatus.Success,
                 Msg    = "删除成功!",
             };
             return(DataConverterHelper.SerializeObject(data));
         }
         else
         {
             var data = new
             {
                 Status = ResponseStatus.Error,
                 Msg    = "删除失败!",
             };
             return(DataConverterHelper.SerializeObject(data));
         }
     }
     catch (Exception ex)
     {
         return(DCHelper.ErrorMessage(ex.Message));
     }
 }