Пример #1
0
        public ActionResult SaveWorkFile(long id)
        {
            //上传附件
            string            fileDataJsonFile = Request.Form["fileDataJsonFile"];                                     //获取上传文件json字符串
            List <Base_Files> files            = JsonConvert.DeserializeObject <List <Base_Files> >(fileDataJsonFile); //将文件信息json字符

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

            using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(Request)))
            {
                Epm_DangerousWork work = proxy.GetDangerousWorkModel(id).Data;

                Epm_WorkUploadRealScene model = new Epm_WorkUploadRealScene();
                model.WorkId     = work.Id;
                model.WorkName   = work.TaskName;
                model.ProjectId  = work.ProjectId;
                model.UploadTime = DateTime.Now;
                model.State      = (int)ApprovalState.WaitAppr;
                model.Remark     = "";

                proxy.AddWorkRealScenen(model, files);
            }
            return(Json(result.ToResultView()));
        }
        /// <summary>
        /// 上传危险作业实景
        /// </summary>
        /// <param name="model">作业实景</param>
        /// <param name="files">相关附件</param>
        /// <returns></returns>
        public Result <bool> AddWorkRealScenen(Epm_WorkUploadRealScene model, List <Base_Files> files)
        {
            Result <bool> result = new Result <bool>();

            try
            {
                if (model == null)
                {
                    throw new Exception("请上传危险作业实景!");
                }

                SetCurrentUser(model);
                SetCreateUser(model);

                DataOperateBusiness <Epm_WorkUploadRealScene> .Get().Add(model);

                if (files.Any())
                {
                    AddFilesByTable(model, files);
                }
                // TODO: 生成待办
                if (model.State == (int)ApprovalState.WaitAppr)
                {
                    //处理待办
                    var temp = DataOperateBusiness <Epm_Approver> .Get().GetList(t => t.BusinessId == model.WorkId && t.IsApprover == false).FirstOrDefault();

                    if (temp != null)
                    {
                        ComplateApprover(temp.Id);
                    }

                    var work = DataOperateBusiness <Epm_DangerousWork> .Get().GetModel(model.WorkId.Value);

                    work.State = (int)ApprovalState.WorkPartAppr;

                    DataOperateBusiness <Epm_DangerousWork> .Get().Update(work);

                    #region 生成待办
                    var project = DataOperateBusiness <Epm_Project> .Get().GetModel(model.ProjectId.Value);

                    List <Epm_Approver> list = new List <Epm_Approver>();
                    Epm_Approver        app  = new Epm_Approver();
                    app.Title            = CurrentUserName + "上传了危险作业实景,待审核";
                    app.Content          = CurrentUserName + "上传了危险作业实景,待审核";
                    app.SendUserId       = work.CreateUserId;
                    app.SendUserName     = work.CreateUserName;
                    app.SendTime         = work.CreateTime;
                    app.LinkURL          = string.Empty;
                    app.BusinessTypeNo   = BusinessType.Dangerous.ToString();
                    app.Action           = SystemRight.Add.ToString();
                    app.BusinessTypeName = BusinessType.Dangerous.GetText();
                    app.BusinessState    = (int)(ApprovalState.WorkPartAppr);
                    app.BusinessId       = model.WorkId;
                    app.ApproverId       = project.ContactUserId;
                    app.ApproverName     = project.ContactUserName;
                    app.ProjectId        = model.ProjectId;
                    app.ProjectName      = project.Name;
                    app.IsApprover       = true;
                    list.Add(app);
                    AddApproverBatch(list);
                    WriteLog(BusinessType.Dangerous.GetText(), SystemRight.Add.GetText(), "提交危险作业生成待办: " + model.Id);
                    #endregion
                }
                result.Data = true;
                result.Flag = EResultFlag.Success;
            }
            catch (Exception ex)
            {
                result.Exception    = new ExceptionEx(ex, "AddWorkRealScenen");
                result.Flag         = EResultFlag.Failure;
                result.Data         = false;
                result.AllRowsCount = -1;
            }
            return(result);
        }