/// <summary>
        /// 获取问题类型
        /// </summary>
        /// <param name="checkItemList"></param>
        /// <param name="roleType"></param>
        /// <returns></returns>
        private object GetListQue(List <Epm_CheckItem> checkItemList, string roleType)
        {
            if (checkItemList.Any())
            {
                List <Epm_CheckItem> list = new List <Epm_CheckItem>();
                string strCom             = "";
                var    distinctcheckItem  = checkItemList.Where(t => t.RoleType == roleType && t.Level == 3 && t.QuestionType != null).Select(a => new
                {
                    a.QuestionType,
                }).Distinct().ToList();

                if (distinctcheckItem.Any())
                {
                    foreach (var item in distinctcheckItem)
                    {
                        try
                        {
                            if (item.QuestionType.IndexOf(",") == -1)
                            {
                                if (string.IsNullOrEmpty(strCom) || !strCom.Contains(item.QuestionType))
                                {
                                    Epm_CheckItem check = new Epm_CheckItem();
                                    check.QuestionType = item.QuestionType;
                                    list.Add(check);
                                    strCom = strCom + item.QuestionType;
                                }
                            }
                            else
                            {
                                var str = item.QuestionType.Split(',');
                                foreach (var temp in str)
                                {
                                    if (string.IsNullOrEmpty(strCom) || !strCom.Contains(temp))
                                    {
                                        Epm_CheckItem check = new Epm_CheckItem();
                                        check.QuestionType = temp;
                                        list.Add(check);
                                        strCom = strCom + temp;
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        { }
                    }
                    var data = list.Select(e => new
                    {
                        questionType = string.IsNullOrEmpty(e.QuestionType) ? (new string[1] {
                            "10"
                        }) : e.QuestionType.Split(','),
                    });
                    return(data);
                }
            }
            return((new List <object>()
            {
            }).ToArray());
        }
        /// <summary>
        /// 获取整改人
        /// </summary>
        /// <param name="checkItemList"></param>
        /// <param name="roleType"></param>
        /// <returns></returns>
        private object GetListPer(List <Epm_CheckItem> checkItemList, string roleType)
        {
            if (checkItemList.Any())
            {
                List <Epm_CheckItem> list = new List <Epm_CheckItem>();
                string strCom             = "";
                var    distinctcheckItem  = checkItemList.Where(t => t.RoleType == roleType && t.Level == 3).Select(a => new
                {
                    a.RectificationManName,
                }).Distinct().ToList();

                if (distinctcheckItem.Any())
                {
                    foreach (var item in distinctcheckItem)
                    {
                        if (item.RectificationManName.IndexOf(",") == -1)
                        {
                            if (string.IsNullOrEmpty(strCom) || !strCom.Contains(item.RectificationManName))
                            {
                                Epm_CheckItem check = new Epm_CheckItem();
                                check.RectificationManName = item.RectificationManName;
                                list.Add(check);
                                strCom = strCom + item.RectificationManName;
                            }
                        }
                        else
                        {
                            var str = item.RectificationManName.Split(',');
                            foreach (var temp in str)
                            {
                                if (string.IsNullOrEmpty(strCom) || !strCom.Contains(temp))
                                {
                                    Epm_CheckItem check = new Epm_CheckItem();
                                    check.RectificationManName = temp;
                                    list.Add(check);
                                    strCom = strCom + temp;
                                }
                            }
                        }
                    }
                }
                var data = list.Select(e => new
                {
                    id   = e.RectificationManName,
                    name = string.IsNullOrEmpty(e.RectificationManName) ? "" : ((RectificationPeople)Enum.Parse(typeof(RectificationPeople), e.RectificationManName)).GetText()
                });

                return(data);
            }
            return((new List <object>()
            {
            }).ToArray());
        }
        public ActionResult Edit(Epm_CheckItem model)
        {
            ResultView <int> view = new ResultView <int>();
            //表单校验
            //if (string.IsNullOrEmpty(model.Name))
            //{
            //    view.Flag = false;
            //    view.Message = "检查名称不能为空";
            //    return Json(view);
            //}
            Result <int> result = new Result <int>();

            using (BusinessClientProxy proxy = new BusinessClientProxy(ProxyEx(Request)))
            {
                result = proxy.UpdateCheckItem(model);
            }
            return(Json(result.ToResultView()));
        }
        /// <summary>
        /// 新增检查单
        /// </summary>
        /// <param name="type">1:暂存</param>
        /// <returns></returns>
        public Result <bool> AddRectificationNew(long projectId, DateTime time, List <checkItemesPer> dataList, int type = 0)
        {
            Result <bool> result = new Result <bool>();

            if (dataList == null && dataList.Count == 0)
            {
                throw new Exception("请填写检查相关内容!");
            }

            ///获取项目信息
            var project = DataOperateBusiness <Epm_Project> .Get().GetModel(projectId);

            ///获取服务商信息
            var companys = DataOperateBusiness <Epm_ProjectCompany> .Get().GetList(t => t.ProjectId == projectId).ToList();

            #region 或者岗位角色roleType
            ///复查单位
            long   currentUserId = CurrentUserID.ToLongReq();
            string roleType      = "";
            bool   isAgency      = IsAgencyUser(currentUserId);
            if (!isAgency)
            {
                bool isBranch = IsBranchCompanyUser(currentUserId);
                if (!isBranch)
                {
                    bool isSupervisor = IsSupervisor(projectId, currentUserId);
                    if (isSupervisor)
                    {
                        roleType = RoleTypeEnum.JL.GetText();
                    }
                    else
                    {
                        roleType = RoleTypeEnum.ZJL.GetText();
                    }
                }
                else
                {
                    roleType = RoleTypeEnum.FGS.GetText();
                }
            }
            else
            {
                roleType = RoleTypeEnum.SGS.GetText();
            }
            #endregion

            #region 检查单


            ///获取检查配置数据
            var checkItem = DataOperateBusiness <Epm_CheckItem> .Get().GetList(t => t.IsDelete == false).ToList();

            ///复查数据
            List <Epm_InspectItem> fhfcList = GetInspectItemByProjectId(projectId).Data;

            ///检查单对象
            List <Epm_InspectItem>  inspectItemList  = new List <Epm_InspectItem>();
            List <Epm_CheckItem>    EpmCheckItemList = new List <Epm_CheckItem>();
            Epm_CheckItem           epmCheckItem     = null;
            Epm_InspectItem         inspectItem      = null;
            List <Epm_InspectScore> scoreList        = new List <Epm_InspectScore>();
            Epm_InspectScore        score            = null;
            ///整改单对象
            Dictionary <string, List <Epm_RectificationItem> > dic = new Dictionary <string, List <Epm_RectificationItem> >();
            List <Epm_RectificationItem> rectifItemList            = null;
            Epm_RectificationItem        rectifItem2 = null;
            Epm_RectificationItem        rectifItem3 = null;
            Dictionary <string, List <Epm_RectificationRecord> > recordList = new Dictionary <string, List <Epm_RectificationRecord> >();
            List <Epm_RectificationRecord> rectifRecordList = null;
            Epm_RectificationRecord        record           = null;
            ///非常规作业
            List <EPM_UnconventionalWork> unWorkList = new List <EPM_UnconventionalWork>();
            EPM_UnconventionalWork        work       = null;

            ///一级名称
            string name1 = string.Empty;

            foreach (var item1 in dataList)
            {
                ///保存检查单
                Epm_Inspect inspect = new Epm_Inspect();
                inspect.ProjectId       = project.Id;
                inspect.ProjectName     = project.Name;
                inspect.InspectName     = "防渗改造项目施工检查表";
                inspect.InspectAddress  = project.Area + project.Address;
                inspect.InspectDate     = time;
                inspect.InspectUserId   = currentUserId;
                inspect.InspectUserName = CurrentUserName;
                inspect.IsDraft         = type == 1 ? true : false;
                SetCreateUser(inspect);
                SetCurrentUser(inspect);
                foreach (var fenbu in item1.checkItems)
                {
                    ///分步(一级)
                    var fb = checkItem.Where(t => t.Id == fenbu.id.ToLongReq()).FirstOrDefault();
                    inspectItem                 = new Epm_InspectItem();
                    inspectItem.InspectId       = inspect.Id;
                    inspectItem.CheckId         = fb.Id;
                    inspectItem.CheckName       = fb.Name;
                    inspectItem.CheckParentId   = fb.ParentId;
                    inspectItem.CheckParentName = fb.ParentName;
                    inspectItem.Level           = fb.Level;
                    inspectItem.Choice          = true;
                    SetCreateUser(inspectItem);
                    SetCurrentUser(inspectItem);
                    inspectItemList.Add(inspectItem);

                    name1 = fb.Name;
                    var fenxianglist = fenbu.children;
                    if (fenxianglist.Count > 0)
                    {
                        foreach (var fenxiang in fenxianglist)
                        {
                            rectifItemList   = new List <Epm_RectificationItem>();
                            rectifRecordList = new List <Epm_RectificationRecord>();

                            ///分项
                            var fx = checkItem.Where(t => t.Id == fenxiang.id.ToLongReq()).FirstOrDefault();
                            if (fx != null)
                            {
                                #region 检查单二级
                                inspectItem                 = new Epm_InspectItem();
                                inspectItem.InspectId       = inspect.Id;
                                inspectItem.CheckId         = fx.Id;
                                inspectItem.CheckName       = fx.Name;
                                inspectItem.CheckParentId   = fx.ParentId;
                                inspectItem.CheckParentName = fx.ParentName;
                                inspectItem.Level           = fx.Level;
                                inspectItem.Choice          = true;
                                SetCreateUser(inspectItem);
                                SetCurrentUser(inspectItem);
                                inspectItemList.Add(inspectItem);
                                #endregion

                                #region 整改单,整改项2级数据准备
                                ///整改单,整改项2级数据准备
                                if (!inspect.IsDraft.Value && fenxiang.children.Count > 0)
                                {
                                    rectifItem2                 = new Epm_RectificationItem();
                                    rectifItem2.CheckId         = fx.Id;
                                    rectifItem2.CheckName       = fx.Name;
                                    rectifItem2.CheckParentId   = fx.ParentId;
                                    rectifItem2.CheckParentName = fx.ParentName;
                                    rectifItem2.Level           = fx.Level;
                                    SetCreateUser(rectifItem2);
                                    SetCurrentUser(rectifItem2);

                                    record = new Epm_RectificationRecord();
                                    record.RectficationItemId    = rectifItem2.Id;
                                    record.RectficationDescption = string.Empty;
                                    record.State = (int)RectificationState.WaitRectification;
                                    SetCreateUser(record);
                                    SetCurrentUser(record);
                                }
                                #endregion
                            }

                            //三级
                            var itemlist = fenxiang.children;
                            if (itemlist.Count > 0)
                            {
                                foreach (var item in itemlist)
                                {
                                    long ids   = 0;
                                    var  check = new Epm_CheckItem();
                                    //具体要求
                                    if (item.id == "")
                                    {
                                        epmCheckItem                      = new Epm_CheckItem();
                                        epmCheckItem.ParentId             = fx.Id;
                                        epmCheckItem.ParentName           = fx.ParentName;
                                        epmCheckItem.Level                = 3;
                                        epmCheckItem.Remark               = itemlist[0].name;
                                        epmCheckItem.CrtCompanyId         = long.Parse("902414008118808576");
                                        epmCheckItem.CrtCompanyName       = "管理员企业";
                                        epmCheckItem.IsDelete             = false;
                                        epmCheckItem.RectificationManName = dataList[0].companies[0].personnelList[0].name;
                                        epmCheckItem.ScoreRange           = itemlist[0].addScore;
                                        epmCheckItem.ScoreCompany         = dataList[0].companies[0].id;
                                        epmCheckItem.ScorePerson          = dataList[0].companies[0].personnelList[0].id;
                                        SetCreateUser(epmCheckItem);
                                        SetCurrentUser(epmCheckItem);
                                        EpmCheckItemList.Add(epmCheckItem);
                                        DataOperateBusiness <Epm_CheckItem> .Get().AddRange(EpmCheckItemList);

                                        check = epmCheckItem;
                                    }
                                    else
                                    {
                                        check = checkItem.Where(t => t.Id == item.id.ToLongReq()).FirstOrDefault();
                                    }
                                    if (check != null)
                                    {
                                        inspectItem                       = new Epm_InspectItem();
                                        inspectItem.InspectId             = inspect.Id;
                                        inspectItem.CheckId               = check.Id;
                                        inspectItem.CheckName             = check.Remark;
                                        inspectItem.CheckParentId         = check.ParentId;
                                        inspectItem.CheckParentName       = check.ParentName;
                                        inspectItem.Level                 = check.Level;
                                        inspectItem.Choice                = true;
                                        inspectItem.RectifRecordPersonKey = check.RectificationManName == null ? "" : check.RectificationManName;
                                        inspectItem.RectifRecordPerson    = check.RectificationManName == null ? "" : check.RectificationManName;
                                        inspectItem.ScoreMax              = check.ScoreRange.Split(',')[0] == null ? 0 : int.Parse(check.ScoreRange.Split(',')[0]);
                                        //inspectItem.Score = check.ScoreRange == null ? 0 : decimal.Parse(check.ScoreRange);
                                        inspectItem.Score = decimal.Parse(item.addScore);
                                        //inspectItem.State = item1.checkItems[0].selected.ToLower() == "false" ? 0 : (int)RectificationState.WaitRectification;
                                        inspectItem.State = check.State = false ? 0 : (int)RectificationState.WaitRectification;
                                        SetCreateUser(inspectItem);
                                        SetCurrentUser(inspectItem);
                                        inspectItemList.Add(inspectItem);

                                        #region 得失分单位、人员
                                        //得失分单位、人员
                                        var companylist      = string.IsNullOrEmpty(check.ScoreCompany) ? null : check.ScoreCompany.Split(',').ToList();
                                        var userlist         = string.IsNullOrEmpty(check.ScorePerson) ? null : check.ScorePerson.Split(',').ToList();
                                        var scoreCompanyUser = GetGainLoss(companylist, userlist, project, companys);
                                        if (scoreCompanyUser != null)
                                        {
                                            foreach (var cu in scoreCompanyUser)
                                            {
                                                var company = cu.Key.Split(',');
                                                if (string.IsNullOrEmpty(cu.Value))
                                                {
                                                    score                     = new Epm_InspectScore();
                                                    score.InspectId           = inspect.Id;
                                                    score.InspectItemId       = inspectItem.Id;
                                                    score.GainLossCompanyId   = string.IsNullOrEmpty(company[0]) ? 0 : company[0].ToLongReq();
                                                    score.GainLossCompanyName = string.IsNullOrEmpty(company[1]) ? "" : company[1];
                                                    SetCreateUser(score);
                                                    SetCurrentUser(score);
                                                    scoreList.Add(score);
                                                }
                                                else
                                                {
                                                    var list = cu.Value.Split(';').ToList();
                                                    foreach (var cv in list)
                                                    {
                                                        if (!string.IsNullOrEmpty(cv))
                                                        {
                                                            score                     = new Epm_InspectScore();
                                                            score.InspectId           = inspect.Id;
                                                            score.InspectItemId       = inspectItem.Id;
                                                            score.GainLossCompanyId   = string.IsNullOrEmpty(company[0]) ? 0 : company[0].ToLongReq();
                                                            score.GainLossCompanyName = string.IsNullOrEmpty(company[1]) ? "" : company[1];
                                                            var user = cv.Split(',');
                                                            score.GainLossUserId   = string.IsNullOrEmpty(user[0]) ? 0 : user[0].ToLongReq();
                                                            score.GainLossUserName = string.IsNullOrEmpty(user[1]) ? "" : user[1];
                                                            SetCreateUser(score);
                                                            SetCurrentUser(score);
                                                            scoreList.Add(score);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                        #endregion
                                        #region 整改单,整改项3级数据准备
                                        if (!inspect.IsDraft.Value)
                                        {
                                            rectifItem3                 = new Epm_RectificationItem();
                                            rectifItem3.CheckId         = check.Id;
                                            rectifItem3.CheckName       = check.Remark;
                                            rectifItem3.CheckParentId   = check.ParentId;
                                            rectifItem3.CheckParentName = check.ParentName;
                                            rectifItem3.Level           = check.Level;
                                            SetCreateUser(rectifItem3);
                                            SetCurrentUser(rectifItem3);
                                            if (item1.companies[0].personnelList.Any())
                                            {
                                                rectifItemList   = new List <Epm_RectificationItem>();
                                                rectifRecordList = new List <Epm_RectificationRecord>();
                                                var materialLists = new List <checkItemesPer>();
                                                if (!dic.Keys.Contains(item1.companies[0].personnelList[0].id))
                                                {
                                                    rectifItemList.Add(rectifItem2);
                                                    rectifItemList.Add(rectifItem3);
                                                    dic[item1.companies[0].personnelList[0].id] = rectifItemList;

                                                    rectifRecordList.Add(record);
                                                    recordList[item1.companies[0].personnelList[0].id] = rectifRecordList;
                                                }
                                                else
                                                {
                                                    Epm_RectificationItem item2 = dic[item1.companies[0].personnelList[0].id].Where(t => t.Id == rectifItem2.Id).FirstOrDefault();
                                                    if (item2 != null)
                                                    {
                                                        dic[item1.companies[0].personnelList[0].id].Add(rectifItem3);
                                                    }
                                                    else
                                                    {
                                                        rectifItemList.Add(rectifItem2);
                                                        rectifItemList.Add(rectifItem3);
                                                        dic[item1.companies[0].personnelList[0].id].AddRange(rectifItemList);

                                                        rectifRecordList.Add(record);
                                                        recordList[item1.companies[0].personnelList[0].id].AddRange(rectifRecordList);
                                                    }
                                                }
                                            }
                                        }
                                        #endregion
                                    }
                                }
                            }
                        }
                    }
                }


                //删除草稿数据
                //var delInspect = DataOperateBusiness<Epm_Inspect>.Get().GetList(t => t.ProjectId == projectId && t.InspectUserId == currentUserId && t.IsDraft.Value).FirstOrDefault();
                //if (delInspect != null)
                //{
                //    var delItems = DataOperateBusiness<Epm_InspectItem>.Get().GetList(t => t.InspectId == delInspect.Id);
                //    var delScores = DataOperateBusiness<Epm_InspectScore>.Get().GetList(t => t.InspectId == delInspect.Id);
                //    var unWorks = DataOperateBusiness<EPM_UnconventionalWork>.Get().GetList(t => t.InspectId == delInspect.Id);

                //    DataOperateBusiness<Epm_Inspect>.Get().Delete(delInspect);
                //    DataOperateBusiness<Epm_InspectItem>.Get().DeleteRange(delItems);
                //    DataOperateBusiness<Epm_InspectScore>.Get().DeleteRange(delScores);
                //    DataOperateBusiness<EPM_UnconventionalWork>.Get().DeleteRange(unWorks);
                //}
                ///保存检查单
                DataOperateBusiness <Epm_Inspect> .Get().Add(inspect);

                DataOperateBusiness <Epm_InspectItem> .Get().AddRange(inspectItemList);

                DataOperateBusiness <Epm_InspectScore> .Get().AddRange(scoreList);

                DataOperateBusiness <EPM_UnconventionalWork> .Get().AddRange(unWorkList);

                #region 生成待办
                Epm_Approver appInspect = new Epm_Approver();
                appInspect.Title            = CurrentUserName + "已完成本次现场检查";
                appInspect.Content          = CurrentUserName + "已完成本次现场检查";
                appInspect.SendUserId       = CurrentUser.Id;
                appInspect.SendUserName     = CurrentUserName;
                appInspect.SendTime         = DateTime.Now;
                appInspect.LinkURL          = string.Empty;
                appInspect.BusinessTypeNo   = BusinessType.SecurityCheck.ToString();
                appInspect.Action           = SystemRight.Add.ToString();
                appInspect.BusinessTypeName = BusinessType.SecurityCheck.GetText();
                appInspect.BusinessState    = (int)(RectificationState.WorkFinish);
                appInspect.BusinessId       = inspect.Id;
                appInspect.ApproverId       = inspect.InspectUserId;
                appInspect.ApproverName     = inspect.InspectUserName;
                appInspect.ProjectId        = project.Id;
                appInspect.ProjectName      = project.Name;
                AddApproverBatch(new List <Epm_Approver>()
                {
                    appInspect
                });
                WriteLog(BusinessType.Rectification.GetText(), SystemRight.Add.GetText(), "阶段检查生成检查待办: " + inspect.Id);
                #endregion

                #region 消息
                var waitSend = GetWaitSendMessageList(inspect.ProjectId.Value);
                foreach (var send in waitSend)
                {
                    Epm_Massage modelMsg = new Epm_Massage();
                    modelMsg.ReadTime     = null;
                    modelMsg.RecId        = send.Key;
                    modelMsg.RecName      = send.Value;
                    modelMsg.RecTime      = DateTime.Now;
                    modelMsg.SendId       = currentUserId;
                    modelMsg.SendName     = CurrentUserName;
                    modelMsg.SendTime     = DateTime.Now;
                    modelMsg.Title        = CurrentUserName + "已完成本次现场检查";
                    modelMsg.Content      = CurrentUserName + "已完成本次现场检查";
                    modelMsg.Type         = 2;
                    modelMsg.IsRead       = false;
                    modelMsg.BussinessId  = inspect.Id;
                    modelMsg.BussinesType = BusinessType.SecurityCheck.ToString();
                    modelMsg.ProjectId    = inspect.ProjectId;
                    modelMsg.ProjectName  = inspect.ProjectName;
                    modelMsg = base.SetCurrentUser(modelMsg);
                    modelMsg = base.SetCreateUser(modelMsg);
                    DataOperateBusiness <Epm_Massage> .Get().Add(modelMsg);
                }
                #endregion
                #endregion

                #region 整改单
                foreach (var key in dic.Keys)
                {
                    var rectifUser = GetRectif(key, project, companys);
                    if (!string.IsNullOrEmpty(rectifUser))
                    {
                        var rectif = new Epm_Rectification();
                        rectif.ProjectId        = project.Id;
                        rectif.ProjectName      = project.Name;
                        rectif.InsppectId       = inspect.Id;
                        rectif.RectificateTitle = "防渗改造项目施工检查表";
                        rectif.InspectAddress   = project.Area + project.Address;
                        rectif.InspectDate      = time;
                        rectif.InspectUserId    = currentUserId;
                        rectif.InspectUserName  = CurrentUserName;

                        if (rectifUser == null)
                        {
                            rectif.RectifRecordUserId   = long.Parse("缺失");
                            rectif.RectifRecordUserName = "******";
                        }
                        else
                        {
                            rectif.RectifRecordUserId   = string.IsNullOrEmpty(rectifUser.Split(',')[0]) ? 0 : rectifUser.Split(',')[0].ToLongReq();
                            rectif.RectifRecordUserName = rectifUser.Split(',')[1];
                        }

                        rectif.State = (int)RectificationState.WaitRectification;
                        SetCreateUser(rectif);
                        SetCurrentUser(rectif);
                        DataOperateBusiness <Epm_Rectification> .Get().Add(rectif);

                        var rectificateItem = dic[key];
                        foreach (var item in rectificateItem)
                        {
                            item.RectificationId = rectif.Id;
                            item.State           = (int)RectificationState.WaitRectification;
                        }
                        DataOperateBusiness <Epm_RectificationItem> .Get().AddRange(rectificateItem);

                        var recordModel = recordList[key];
                        foreach (var item in recordModel)
                        {
                            item.RectficationId = rectif.Id;
                        }
                        DataOperateBusiness <Epm_RectificationRecord> .Get().AddRange(recordModel);

                        var imagesList = item1.files;

                        if (imagesList != null && imagesList.Count > 0)
                        {
                            foreach (var item in imagesList)
                            {
                                long       id        = item.id.ToLongReq();
                                Base_Files baseFiles = DataOperateBasic <Base_Files> .Get().GetModel(id);

                                if (item.type == "0")
                                {
                                    baseFiles.IsDelete = false;
                                }
                                else
                                {
                                    baseFiles.IsDelete = true;
                                }
                                List <Base_Files> guidList = DataOperateBasic <Base_Files> .Get().GetList(t => t.GuidId == baseFiles.GuidId).ToList();

                                foreach (var temp in guidList)
                                {
                                    temp.TableName = "Epm_RectificationRecord";
                                    temp.TableId   = rectif.Id;
                                    temp.IsDelete  = baseFiles.IsDelete;
                                }
                                DataOperateBasic <Base_Files> .Get().UpdateRange(guidList);
                            }
                        }
                        #region 生成待办
                        Epm_Approver app = new Epm_Approver();
                        app.Title            = CurrentUserName + "进行现场检查发现问题,请处理";
                        app.Content          = CurrentUserName + "进行现场检查发现问题,请处理";
                        app.SendUserId       = CurrentUser.Id;
                        app.SendUserName     = CurrentUserName;
                        app.SendTime         = DateTime.Now;
                        app.LinkURL          = string.Empty;
                        app.BusinessTypeNo   = BusinessType.Rectification.ToString();
                        app.Action           = SystemRight.Add.ToString();
                        app.BusinessTypeName = BusinessType.Rectification.GetText();
                        app.BusinessState    = (int)(RectificationState.WaitRectification);
                        app.BusinessId       = rectif.Id;
                        app.ApproverId       = rectif.RectifRecordUserId;
                        app.ApproverName     = rectif.RectifRecordUserName;
                        app.ProjectId        = project.Id;
                        app.ProjectName      = project.Name;
                        AddApproverBatch(new List <Epm_Approver>()
                        {
                            app
                        });
                        WriteLog(BusinessType.Rectification.GetText(), SystemRight.Add.GetText(), "阶段检查生成整改待办: " + rectif.Id);
                        #endregion
                    }
                }
            }
            #endregion


            result.Data = true;
            result.Flag = EResultFlag.Success;
            return(result);
        }
 ///<summary>
 ///修改:
 ///</summary>
 ///<param name="model">要修改的model</param>
 ///<returns>受影响的行数</returns>
 public Result <int> UpdateCheckItem(Epm_CheckItem model)
 {
     return(base.Channel.UpdateCheckItem(model));
 }
 ///<summary>
 ///添加:
 ///</summary>
 ///<param name="model">要添加的model</param>
 ///<returns>受影响的行数</returns>
 public Result <int> AddCheckItem(Epm_CheckItem model)
 {
     return(base.Channel.AddCheckItem(model));
 }