Пример #1
0
        public string PostUpdateProc([FromBody] ProcRequestModel requestModel)
        {
            if (requestModel == null || requestModel.ProcModels == null || requestModel.ProcModels.Count == 0)
            {
                return(DCHelper.ErrorMessage("审批流程对象为空!"));
            }
            if (requestModel.ApprovalTypeId == 0)
            {
                return(DCHelper.ErrorMessage("审批类型id为空!"));
            }
            if (string.IsNullOrEmpty(requestModel.BillType))
            {
                return(DCHelper.ErrorMessage("单据类型为空!"));
            }
            if (string.IsNullOrEmpty(requestModel.ProcCode))
            {
                return(DCHelper.ErrorMessage("审批流程编码为空!"));
            }
            if (requestModel.OrgIds == null || requestModel.OrgIds.Count == 0)
            {
                return(DCHelper.ErrorMessage("启用组织id为空!"));
            }

            try
            {
                //if (requestModel.Ucode != "Admin" && requestModel.ProcModels != null && requestModel.ProcModels.Count > 0)
                //{
                //    foreach(var proc in requestModel.ProcModels)
                //    {
                //        if(proc.IsSystem == (byte)1)
                //        {
                //            return DCHelper.ErrorMessage("普通用户没有权限修改内置流程!");
                //        }
                //    }
                //}
                SavedResult <Int64> savedResult = GAppvalProcService.PostUpdateProc(requestModel.ApprovalTypeId, requestModel.BillType, requestModel.ProcCode, requestModel.OrgIds, requestModel.ProcModels, requestModel.Ucode);
                if (savedResult != null && savedResult.SaveRows > 0)
                {
                    return(DCHelper.SuccessMessage("修改成功!"));
                }
                else
                {
                    return(DCHelper.ErrorMessage("修改失败!"));
                }
            }
            catch (Exception e) {
                return(DCHelper.ErrorMessage(e.Message));
            }
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        public string PostDeleteProcType([FromBody] ProcRequestModel requestModel)
        {
            if (requestModel == null || requestModel.ApprovalTypeIds == null || requestModel.ApprovalTypeIds.Count == 0)
            {
                return(DCHelper.ErrorMessage("审批类型id为空!"));
            }

            try
            {
                //判断审批流程是否被引用
                foreach (long id in requestModel.ApprovalTypeIds)
                {
                    bool symbol = GAppvalProcService.ProcIsUsed(id);
                    //bool symbol = GAppvalProcService.ProcIsUsed(requestModel.ApprovalTypeId);
                    if (symbol)
                    {
                        return(DCHelper.ErrorMessage("删除失败,已有审批流程被引用!"));
                    }
                    var procs = this.GAppvalProcService.Find(t => t.SPLXPhid == id).Data;
                    if (procs != null && procs.Count > 0)
                    {
                        throw new Exception("此类型下已存在审批流,不能删除此审批流类型!");
                    }
                }

                DeletedResult deletedResult = GAppvalProcService.PostDeleteProcTypes(requestModel.ApprovalTypeIds);
                if (deletedResult != null && deletedResult.DelRows > 0)
                {
                    return(DCHelper.SuccessMessage("删除成功!"));
                }
                else
                {
                    return(DCHelper.ErrorMessage("删除失败!"));
                }
            }
            catch (Exception e) {
                return(DCHelper.ErrorMessage(e.Message));
            }
        }
Пример #4
0
        public async Task <string> PostRefreshAllPaymentsState()
        {
            //获取支付中且FSeqno不为空的数据
            var dicWhere = new Dictionary <string, object>();

            new CreateCriteria(dicWhere).Add(ORMRestrictions <byte> .Eq("FState", (byte)EnumPaymentState.DuringPayment));
            new CreateCriteria(dicWhere).Add(ORMRestrictions <string> .Gt("FSeqno", " "));

            var result = GKPaymentMstService.Find(dicWhere, new string[] { "NgInsertDt asc" }); //LoadWithPage(parameters.pageindex, parameters.pagesize, dicWhere, new string[] { "NgInsertDt asc" });

            if (result.IsError == false && result.Data != null)
            {
                IList <GKPaymentMstModel> list = result.Data;

                string errMsg = string.Empty;
                foreach (var mst in list)
                {
                    GKPaymentMstService.RefreshPaymentState(mst.PhId, out errMsg);
                }
            }

            return(DCHelper.SuccessMessage("批量刷新支付状态提交成功,后台处理中!"));
        }
Пример #5
0
        public string PostAddProc([FromBody] InfoBaseModel <List <GAppvalProcModel> > infoBase)
        {
            if (infoBase == null || infoBase.infoData == null || infoBase.infoData.Count == 0)
            {
                return(DCHelper.ErrorMessage("审批流程对象为空!"));
            }

            try
            {
                SavedResult <Int64> savedResult = GAppvalProcService.PostAddProcs(infoBase.infoData);
                if (savedResult != null && savedResult.SaveRows > 0)
                {
                    return(DCHelper.SuccessMessage("新增审批流程成功!"));
                }
                else
                {
                    return(DCHelper.ErrorMessage("新增审批流程失败!"));
                }
            }
            catch (Exception e) {
                return(DCHelper.ErrorMessage(e.Message));
            }
        }
Пример #6
0
        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));
            }
        }
Пример #7
0
        public string PostUpdateProcType([FromBody] ProcRequestModel requestModel)
        {
            if (requestModel == null || requestModel.ApprovalTypeId == 0)
            {
                return(DCHelper.ErrorMessage("审批类型id为空!"));
            }
            if (string.IsNullOrEmpty(requestModel.ApprovalTypeName))
            {
                return(DCHelper.ErrorMessage("审批类型名称为空!"));
            }
            if (string.IsNullOrEmpty(requestModel.BillType))
            {
                return(DCHelper.ErrorMessage("单据类型为空!"));
            }

            try
            {
                QTSysSetModel sysSetModel = new QTSysSetModel();
                sysSetModel.PhId     = requestModel.ApprovalTypeId;
                sysSetModel.TypeName = requestModel.ApprovalTypeName;
                sysSetModel.Value    = requestModel.BillType;
                sysSetModel.TypeCode = int.Parse(sysSetModel.Value).ToString();//与001,002等相对应,与添加顺序无关
                SavedResult <Int64> savedResult = QTSysSetService.PostUpdateProcType(sysSetModel);
                if (savedResult != null && savedResult.SaveRows > 0)
                {
                    return(DCHelper.SuccessMessage("修改成功!"));
                }
                else
                {
                    return(DCHelper.ErrorMessage("修改失败!"));
                }
            }
            catch (Exception e) {
                return(DCHelper.ErrorMessage(e.Message));
            }
        }
Пример #8
0
        public async Task <string> PostApprovalRecordList()
        {
            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)
                        {
                            //获取数据的类型
                            var    propertyType = item.PropertyType;
                            object v;
                            if (key == "NextOperators")
                            {
                                var value2 = JsonConvert.DeserializeObject <List <long> >(value);
                                v = Convert.ChangeType(value2, propertyType);
                            }
                            else if (key == "RecordPhids")
                            {
                                var value3 = JsonConvert.DeserializeObject <List <long> >(value);
                                v = Convert.ChangeType(value3, propertyType);
                            }
                            else
                            {
                                //转换数据的类型
                                v = Convert.ChangeType(value, propertyType);
                            }

                            item.SetValue(recordModel, v);
                        }
                    }
                }

                if (AppInfo != null)
                {
                    MultiDelegatingDbProvider.CurrentDbProviderName = AppInfo.DbName;
                }

                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为空!"));
                }
                //批量审批
                if (recordModel.RecordPhids != null && recordModel.RecordPhids.Count > 0)
                {
                    var records = this.GAppvalRecordService.Find(t => recordModel.RecordPhids.Contains(t.PhId)).Data;
                    if (records != null && records.Count > 0)
                    {
                        //对批量审批的数据进行判别
                        foreach (var record in records)
                        {
                            if (!record.ProcPhid.Equals(recordModel.ProcPhid) || !record.PostPhid.Equals(recordModel.PostPhid))
                            {
                                return(DCHelper.ErrorMessage("只有审批流与审批岗位相同的审批记录可以批量审批!"));
                            }
                            if (record.FApproval != (byte)Approval.Wait)
                            {
                                return(DCHelper.ErrorMessage("只有待审批的记录审批!"));
                            }
                        }
                        //进行批量审批
                        foreach (var record in records)
                        {
                            GAppvalRecordModel pAppvalRecordModel = new GAppvalRecordModel();
                            pAppvalRecordModel             = recordModel;
                            pAppvalRecordModel.PhId        = record.PhId;
                            pAppvalRecordModel.RefbillPhid = record.RefbillPhid;
                            GAppvalRecordService.PostApprovalRecordList(pAppvalRecordModel, attachmentModels);
                        }
                    }
                }
                else
                {
                    GAppvalRecordService.PostApprovalRecordList(recordModel, attachmentModels);
                }
                return(DCHelper.SuccessMessage("审批成功!"));
            }
            catch (Exception e)
            {
                return(DCHelper.ErrorMessage(e.Message));
            }
        }