///<summary>
        ///修改:
        ///</summary>
        /// <param name="model">要修改的model</param>
        /// <returns>受影响的行数</returns>
        public Result <int> UpdateCompletionAcceptance(Epm_CompletionAcceptance model, List <Base_Files> fileListFile)
        {
            Result <int> result = new Result <int>();

            try
            {
                var oldModel = DataOperateBusiness <Epm_CompletionAcceptance> .Get().GetModel(model.Id);

                model = FiterUpdate(oldModel, model);

                var rows = DataOperateBusiness <Epm_CompletionAcceptance> .Get().Update(model);

                if (fileListFile != null)
                {
                    //删除之前的附件
                    DeleteFilesByTable(model.GetType().Name, new List <long>()
                    {
                        model.Id
                    });
                    //新增附件
                    AddFilesByTable(model, fileListFile);
                }

                result.Data = rows;
                result.Flag = EResultFlag.Success;
                WriteLog(BusinessType.Completed.GetText(), SystemRight.Modify.GetText(), "修改: " + model.Id);
            }
            catch (Exception ex)
            {
                result.Data      = -1;
                result.Flag      = EResultFlag.Failure;
                result.Exception = new ExceptionEx(ex, "UpdateCompletionAcceptance");
            }
            return(result);
        }
        /// <summary>
        /// 修改试运行状态
        /// </summary>
        /// <param name="id"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public Result <int> UpdateTzProjectPolitState(List <long> ids, string state)
        {
            Result <int> result = new Result <int>();

            try
            {
                foreach (var item in ids)
                {
                    var model = DataOperateBusiness <Epm_TzProjectPolit> .Get().GetModel(item);

                    if (model != null)
                    {
                        //SetCurrentUser(model);
                        model.State = (int)state.ToEnumReq <PreProjectApprovalState>();
                        var rows = DataOperateBusiness <Epm_TzProjectPolit> .Get().Update(model);

                        //如果状态是已经提交,生成数据
                        if (model.State == (int)PreProjectApprovalState.ApprovalSuccess)
                        {
                            #region 生成竣工验收申请数据
                            //生成竣工验收申请数据
                            Epm_CompletionAcceptance temp = new Epm_CompletionAcceptance();
                            temp.ProjectId      = model.ProjectId;
                            temp.ProjectName    = model.ProjectName;
                            temp.State          = (int)PreProjectState.WaitSubmitted;
                            temp.RecCompanyId   = CurrentUser.CompanyId;
                            temp.RecCompanyName = CurrentUser.CompanyName;
                            temp.RecUserName    = CurrentUser.UserName;
                            temp.RecUserId      = CurrentUser.Id;

                            AddCompletionAcceptance(temp, null);

                            #endregion
                        }

                        result.Data = rows;
                        result.Flag = EResultFlag.Success;
                    }
                    else
                    {
                        throw new Exception("该施工图纸会审不存在");
                    }
                }
            }
            catch (Exception ex)
            {
                result.Data      = -1;
                result.Flag      = EResultFlag.Failure;
                result.Exception = new ExceptionEx(ex, "UpdateTzConDrawingState");
            }
            return(result);
        }
        public ActionResult Edit(Epm_CompletionAcceptance model)
        {
            ResultView <int>         view     = new ResultView <int>();
            CompletionAcceptanceView complete = new CompletionAcceptanceView();

            complete.CompletionAcceptance = model;
            //表单校验
            if (string.IsNullOrEmpty(model.ProjectName))
            {
                view.Flag    = false;
                view.Message = "项目名称不能为空";
                return(Json(view));
            }
            if (string.IsNullOrEmpty(model.Title))
            {
                view.Flag    = false;
                view.Message = "验收标题不能为空";
                return(Json(view));
            }
            if (string.IsNullOrEmpty(model.Content))
            {
                view.Flag    = false;
                view.Message = "验收内容不能为空";
                return(Json(view));
            }
            //List<Epm_CompletionRectifyCompany> completionRectifyCompanys = new List<Epm_CompletionRectifyCompany>();
            string dataVisaCompany = Request.Form["Unit"];

            if (!string.IsNullOrEmpty(dataVisaCompany))
            {
                complete.CompletionRectifyCompanys = JsonConvert.DeserializeObject <List <Epm_CompletionRectifyCompany> >(dataVisaCompany);
            }

            //List<Base_Files> baseFiles = new List<Base_Files>();
            string fileDataJson = Request.Form["fileDataJsonFile"];                                //获取上传图片json字符串

            complete.BaseFiles = JsonConvert.DeserializeObject <List <Base_Files> >(fileDataJson); //将文件信息json字符

            Result <int> result = new Result <int>();

            using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(Request)))
            {
                result = proxy.UpdateCompletionAcceptanceNew(complete);

                var      project = proxy.GetProject(model.ProjectId.Value).Data;
                DateTime time    = DateTime.Now;
                //foreach (var item in complete.BaseFiles)
                //{
                //    if (string.IsNullOrEmpty(item.ImageType))
                //    {
                //        if (item.TableColumn == "YSD" || item.TableColumn == "JGT")
                //        {
                //            Bp_SendDate send = new Bp_SendDate();
                //            send.IsSend = false;
                //            if (item.TableColumn == "YSD")
                //            {
                //                send.Key = "2003020004";
                //            }
                //            if (item.TableColumn == "JGT")
                //            {
                //                send.Key = "2003020002";
                //            }

                //            send.Value = "{\"FDFS_NAME\":\"" + item.Url + "\",\"FDFS_GROUP\":\"" + item.Group + "\",\"NAME\":\"" + item.Name + "\",\"WJLX\":\"" + ListExtensionMethod.GetFileType(item.Name) + "\",\"SIZE\":\"" + ListExtensionMethod.GetByteLength(item.Size) + "\",\"USER\":\"" + CurrentUser.UserCode + "\"}";
                //            send.Type = "12";
                //            send.Project = "BIM";
                //            send.KeyValue = project.ObjeId;
                //            send.UserName = CurrentUser.UserCode;
                //            send.CreateTime = time;
                //            send.OperateTime = time;
                //            send.OperateUserId = CurrentUser.UserId;
                //            send.OperateUserName = CurrentUser.UserName;
                //            send.CreateUserId = CurrentUser.UserId;
                //            send.CreateUserName = CurrentUser.UserName;
                //            proxy.AddSendDate(send);
                //        }
                //    }
                //}
            }
            return(Json(result.ToResultView()));
        }
        ///<summary>
        ///添加:
        ///</summary>
        /// <param name="model">要添加的model</param>
        /// <returns>受影响的行数</returns>
        public Result <int> AddCompletionAcceptance(Epm_CompletionAcceptance model, List <Base_Files> fileListFile)
        {
            Result <int> result = new Result <int>();

            try
            {
                model = base.SetCurrentUser(model);
                model.CrtCompanyId   = CurrentCompanyID.ToLongReq();
                model.CrtCompanyName = CurrentCompanyName;

                var rows = DataOperateBusiness <Epm_CompletionAcceptance> .Get().Add(model);

                if (fileListFile != null)
                {
                    AddFilesByTable(model, fileListFile);
                }

                result.Data = rows;
                result.Flag = EResultFlag.Success;

                #region  竣工验收协同接口
                var XtWorkFlow = System.Configuration.ConfigurationManager.AppSettings.Get("XtWorkFlow");
                if (model.State == (int)PreProjectState.WaitApproval && XtWorkFlow == "1")
                {
                    XtCompletionAcceptanceView view = new XtCompletionAcceptanceView();
                    var project = DataOperateBusiness <Epm_Project> .Get().GetModel(model.ProjectId.Value);

                    var baseUser = DataOperateBasic <Base_User> .Get().GetModel(model.CreateUserId);

                    if (baseUser == null)
                    {
                        throw new Exception("未找到申请人相关信息!");
                    }
                    else
                    {
                        view.hr_sqr = baseUser.ObjeId;
                    }

                    view.Name               = model.ProjectName;
                    view.SubjectName        = project.SubjectName;
                    view.StartDate          = string.Format("{0:yyyy-MM-dd}", project.StartDate);
                    view.Remark             = project.Remark;
                    view.CompanyName        = project.CompanyName;
                    view.ProjectTypeName    = project.ProjectTypeName;
                    view.ProjectSubjectName = project.ProjectSubjectName;
                    view.ProjectNatureName  = project.ProjectNatureName;
                    view.PMName             = project.PMName;
                    view.EndDate            = string.Format("{0:yyyy-MM-dd}", project.EndDate);
                    view.Description        = project.Description;
                    view.CrtCompanyName     = project.CrtCompanyName;
                    view.ContactUserName    = project.ContactUserName;
                    view.Address            = project.Address;

                    ////上传附件
                    //if (model.TzAttachs != null && model.TzAttachs.Any())
                    //{
                    //    string baseFaleUrl = System.Configuration.ConfigurationManager.AppSettings.Get("XtDownloadUrl");
                    //    foreach (var item in model.TzAttachs)
                    //    {
                    //        string fileUrl = string.Format("{0}?fileId={1}&type={2}", baseFaleUrl, item.Id, item.TypeNo);
                    //        view.Temp_TzAttachs = fileUrl + '|' + view.Temp_TzAttachs;
                    //    }
                    //    if (view.Temp_TzAttachs != null)
                    //    {
                    //        view.Temp_TzAttachs = view.Temp_TzAttachs.Substring(0, view.Temp_TzAttachs.Length - 1);
                    //    }
                    //}

                    //model.WorkFlowId = XtWorkFlowService.CreateTzProjectProposalWorkFlow(view);
                }
                #endregion

                WriteLog(BusinessType.Completed.GetText(), SystemRight.Add.GetText(), "新增: " + model.Id);
            }
            catch (Exception ex)
            {
                result.Data      = -1;
                result.Flag      = EResultFlag.Failure;
                result.Exception = new ExceptionEx(ex, "AddCompletionAcceptance");
            }
            return(result);
        }