using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EmitMapper;
namespace BLL
{
    public static class APIRectifyNoticesService
    {
        #region 根据RectifyNoticesId获取风险巡检信息详细信息
        /// 
        /// 根据RectifyNoticesId获取风险巡检信息详细信息
        /// 
        /// 
        /// 
        public static Model.RectifyNoticesItem getRectifyNoticesById(string rectifyNoticesId)
        {
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                var getRectifyNotices = from x in db.Check_RectifyNotices
                                        where x.RectifyNoticesId == rectifyNoticesId
                                        select new Model.RectifyNoticesItem
                                        {
                                            RectifyNoticesId = x.RectifyNoticesId,
                                            ProjectId = x.ProjectId,
                                            ProjectName = db.Base_Project.First(z => z.ProjectId == x.ProjectId).ProjectName,
                                            RectifyNoticesCode = x.RectifyNoticesCode,
                                            UnitId = x.UnitId,
                                            UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
                                            WorkAreaId = x.WorkAreaId,
                                            WorkAreaName = UnitWorkService.GetUnitWorkName(x.WorkAreaId),
                                            CheckManNames = x.CheckManNames,
                                            CheckManIds = x.CheckManIds,
                                            CheckManIdNames = UserService.getUserNamesUserIds(x.CheckManIds),
                                            CheckManAllNames = getCheckAllManName(x.CheckManIds, x.CheckManNames),
                                            CheckedDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CheckedDate),
                                            CheckedDateD = x.CheckedDate,
                                            HiddenHazardType = x.HiddenHazardType,
                                            HiddenHazardTypeName = x.HiddenHazardType == "2" ? "较大" : (x.HiddenHazardType == "3" ? "重大" : "一般"),
                                            CompleteManId = x.CompleteManId,
                                            CompleteManName = db.Sys_User.First(u => u.UserId == x.CompleteManId).UserName,
                                            SignPersonId = x.SignPerson,
                                            SignPersonName = db.Sys_User.First(u => u.UserId == x.SignPerson).UserName,
                                            SignDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.SignDate),
                                            ProfessionalEngineerId = x.ProfessionalEngineerId,
                                            ProfessionalEngineerName = db.Sys_User.First(u => u.UserId == x.ProfessionalEngineerId).UserName,
                                            ProfessionalEngineerTime1 = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProfessionalEngineerTime1),
                                            ProfessionalEngineerTime2 = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProfessionalEngineerTime2),
                                            ConstructionManagerId = x.ConstructionManagerId,
                                            ConstructionManagerName = db.Sys_User.First(u => u.UserId == x.ConstructionManagerId).UserName,
                                            ConstructionManagerTime1 = string.Format("{0:yyyy-MM-dd HH:mm}", x.ConstructionManagerTime1),
                                            ConstructionManagerTime2 = string.Format("{0:yyyy-MM-dd HH:mm}", x.ConstructionManagerTime2),
                                            ProjectManagerId = x.ProjectManagerId,
                                            ProjectManagerName = db.Sys_User.First(u => u.UserId == x.ProjectManagerId).UserName,
                                            ProjectManagerTime1 = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProjectManagerTime1),
                                            ProjectManagerTime2 = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProjectManagerTime2),
                                            DutyPersonId = x.DutyPersonId,
                                            DutyPersonName = db.Sys_User.First(u => u.UserId == x.DutyPersonId).UserName,
                                            DutyPersonTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.DutyPersonTime),
                                            CompleteDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompleteDate),
                                            UnitHeadManId = x.UnitHeadManId,
                                            UnitHeadManName = db.Sys_User.First(u => u.UserId == x.UnitHeadManId).UserName,
                                            UnitHeadManDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.UnitHeadManDate),
                                            CheckPersonId = x.CheckPerson,
                                            CheckPersonName = db.Sys_User.First(u => u.UserId == x.CheckPerson).UserName,
                                            ReCheckDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.ReCheckDate),
                                            ReCheckOpinion = x.ReCheckOpinion,
                                            //WrongContent =x.WrongContent,                                       
                                            //CompleteStatus=x.CompleteStatus,                                       
                                            //RectificationName=x.DutyPerson,                                       
                                            IsRectify = x.IsRectify ?? false,
                                            States = x.States,
                                            AttachUrl = APIUpLoadFileService.getFileUrl(x.RectifyNoticesId, null),
                                            BeAttachUrl = APIUpLoadFileService.getFileUrl(x.RectifyNoticesId + "#0", null),
                                            AfAttachUrl = APIUpLoadFileService.getFileUrl(x.RectifyNoticesId + "#1", null),
                                            RectifyNoticesItemItem = getRectifyNoticesItemItem(x.RectifyNoticesId),
                                            RectifyNoticesFlowOperateItem = getRectifyNoticesFlowOperateItem(x.RectifyNoticesId),
                                        };
                return getRectifyNotices.FirstOrDefault();
            }
        }
        #endregion
        #region 根据隐患整改单ID 获取整改单明细信息
        /// 
        ///  根据隐患整改单ID 获取整改单明细信息
        /// 
        /// 
        public static List getRectifyNoticesItemItem(string rectifyNoticesId)
        {
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                var getInfo = from x in db.Check_RectifyNoticesItem
                              where x.RectifyNoticesId == rectifyNoticesId
                              orderby x.LimitTime descending
                              select new Model.RectifyNoticesItemItem
                              {
                                  RectifyNoticesItemId = x.RectifyNoticesItemId,
                                  RectifyNoticesId = x.RectifyNoticesId,
                                  WrongContent = x.WrongContent,
                                  Requirement = x.Requirement,
                                  LimitTime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", x.LimitTime),
                                  RectifyResults = x.RectifyResults,
                                  IsRectify = x.IsRectify,
                                  PhotoBeforeUrl = APIUpLoadFileService.getFileUrl(x.RectifyNoticesItemId + "#1", null),
                                  PhotoAfterUrl = APIUpLoadFileService.getFileUrl(x.RectifyNoticesItemId + "#2", null),
                                  HiddenType=x.HiddenType,
                                  HiddenHazardType=x.HiddenHazardType
                              };
                return getInfo.ToList();
            }
        }
        #endregion
        #region 根据隐患整改单ID 获取整改单审核信息
        /// 
        ///  根据隐患整改单ID 获取整改单明细信息
        /// 
        /// 
        public static List getRectifyNoticesFlowOperateItem(string rectifyNoticesId)
        {
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                var getInfo = from x in db.Check_RectifyNoticesFlowOperate
                              where x.RectifyNoticesId == rectifyNoticesId
                              orderby x.OperateTime descending
                              select new Model.RectifyNoticesFlowOperateItem
                              {
                                  FlowOperateId = x.FlowOperateId,
                                  RectifyNoticesId = x.RectifyNoticesId,
                                  OperateName = x.OperateName,
                                  OperateManId = x.OperateManId,
                                  OperateManName = db.Sys_User.First(z => z.UserId == x.OperateManId).UserName,
                                  OperateTime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", x.OperateTime),
                                  IsAgree = x.IsAgree,
                                  Opinion = x.Opinion,
                                  SignatureUrl = APIUpLoadFileService.getFileUrl(string.Empty, x.SignatureUrl),
                              };
                return getInfo.ToList();
            }
        }
        #endregion
        #region 根据隐患整改单ID 获取整改单审核信息
        /// 
        ///  根据隐患整改单ID 获取整改单明细信息
        /// 
        /// 
        public static string getCheckAllManName(string checkManIds,string checkManNames)
        {
            string name = UserService.getUserNamesUserIds(checkManIds);
            if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(checkManNames))
            {
                name += "," + checkManNames;
            }
         
            return name;
        }
        #endregion
        #region 根据projectId、states获取风险信息(状态 0待提交;1待签发;2待整改;3待审核;4待复查;5已完成)
        /// 
        /// 根据projectId、states获取风险信息(状态 0待提交;1待签发;2待整改;3待审核;4待复查;5已完成)
        /// 
        /// 
        /// 
        /// 
        public static List getRectifyNoticesByProjectIdStates(string projectId, string states, int pageIndex)
        {
            var getDataLists =Funs.DB.SP_RectifyNoticesListByProjectStates(projectId, states,pageIndex,Funs.PageSize);
             return getDataLists.ToList();
        }
        #endregion
           
        #region 保存RectifyNotices
        /// 
        /// 保存RectifyNotices
        /// 
        /// 
        /// 
        public static void SaveRectifyNotices(Model.RectifyNoticesItem rectifyNotices)
        {
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                bool insertRectifyNoticesItemItem = false;
                Model.Check_RectifyNotices newRectifyNotices = new Model.Check_RectifyNotices
                {
                    RectifyNoticesId = rectifyNotices.RectifyNoticesId,
                    ProjectId = rectifyNotices.ProjectId,
                    RectifyNoticesCode = rectifyNotices.RectifyNoticesCode,
                    UnitId = rectifyNotices.UnitId,
                    CheckManNames = rectifyNotices.CheckManNames,
                    CheckManIds = rectifyNotices.CheckManIds,
                    CheckedDate = Funs.GetNewDateTime(rectifyNotices.CheckedDate),
                    HiddenHazardType = rectifyNotices.HiddenHazardType,                
                    States = rectifyNotices.States,
                };
                if (!string.IsNullOrEmpty(rectifyNotices.WorkAreaId))
                {
                    newRectifyNotices.WorkAreaId = rectifyNotices.WorkAreaId;
                }
                if (!string.IsNullOrEmpty(rectifyNotices.CompleteManId))
                {
                    newRectifyNotices.CompleteManId = rectifyNotices.CompleteManId;
                }
                if (newRectifyNotices.States == Const.State_1)
                {
                    newRectifyNotices.SignPerson = rectifyNotices.SignPersonId;
                }
                //// 新增整改单
                var isUpdate = db.Check_RectifyNotices.FirstOrDefault(x => x.RectifyNoticesId == newRectifyNotices.RectifyNoticesId);
                if (isUpdate == null)
                {
                    newRectifyNotices.RectifyNoticesId = SQLHelper.GetNewID();
                    newRectifyNotices.RectifyNoticesCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.ProjectId, newRectifyNotices.UnitId);
                    db.Check_RectifyNotices.InsertOnSubmit(newRectifyNotices);
                    db.SubmitChanges();
                    CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.ProjectId, newRectifyNotices.UnitId, newRectifyNotices.RectifyNoticesId, newRectifyNotices.CheckedDate);
                    //// 整改单附件
                    if (!string.IsNullOrEmpty(rectifyNotices.BeAttachUrl))
                    {
                        APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.RectifyNoticesId + "#0", rectifyNotices.BeAttachUrl, "0");
                    }
                    //// 反馈单附件
                    if (!string.IsNullOrEmpty(rectifyNotices.AfAttachUrl))
                    {
                        APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.RectifyNoticesId + "#1", rectifyNotices.AfAttachUrl, "0");
                    }
                    //// 整个单据附件
                    if (!string.IsNullOrEmpty(rectifyNotices.AttachUrl))
                    {
                        APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.RectifyNoticesId, rectifyNotices.AttachUrl, "0");
                    }
                    insertRectifyNoticesItemItem = true;
                    //// 回写巡检记录表
                    if (!string.IsNullOrEmpty(rectifyNotices.HazardRegisterId))
                    {
                        List listIds = Funs.GetStrListByStr(rectifyNotices.HazardRegisterId, ',');
                        foreach (var item in listIds)
                        {
                            var getHazardRegister = db.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == item);
                            if (getHazardRegister != null)
                            {
                                getHazardRegister.States = "3";
                                getHazardRegister.HandleIdea += "已升级为隐患整改单:" + newRectifyNotices.RectifyNoticesCode;
                                getHazardRegister.ResultId = newRectifyNotices.RectifyNoticesId;
                                getHazardRegister.ResultType = "1";
                                db.SubmitChanges();
                            }
                        }
                    }
                    //// 回写专项检查明细表
                    if (!string.IsNullOrEmpty(rectifyNotices.CheckSpecialDetailId))
                    {
                        List listIds = Funs.GetStrListByStr(rectifyNotices.CheckSpecialDetailId, ',');
                        foreach (var item in listIds)
                        {
                            var getCheckSpecialDetail = db.Check_CheckSpecialDetail.FirstOrDefault(x => x.CheckSpecialDetailId == item);
                            if (getCheckSpecialDetail != null)
                            {
                                string dataType = string.Empty;
                                string dataId = string.Empty;
                                if (string.IsNullOrEmpty(getCheckSpecialDetail.DataType))
                                {
                                    dataType = "1";
                                    dataId = "1," + newRectifyNotices.RectifyNoticesId;
                                }
                                else
                                {
                                    dataType += ",1";
                                    dataId += "|1," + newRectifyNotices.RectifyNoticesId;
                                }
                                getCheckSpecialDetail.DataType = dataType;
                                getCheckSpecialDetail.DataId = dataId;
                                db.SubmitChanges();
                            }
                        }
                    }
                }
                else
                {
                    var oldStates = isUpdate.States;
                    newRectifyNotices.RectifyNoticesId = isUpdate.RectifyNoticesId;
                    isUpdate.States = rectifyNotices.States;
                    if (oldStates == "0" && (newRectifyNotices.States == "0" || newRectifyNotices.States == "1")) ////编制人 修改或提交
                    {
                        isUpdate.UnitId = rectifyNotices.UnitId;
                        isUpdate.WorkAreaId = rectifyNotices.WorkAreaId;
                        isUpdate.CheckManNames = rectifyNotices.CheckManNames;
                        isUpdate.CheckManIds = rectifyNotices.CheckManIds;
                        isUpdate.CheckedDate = Funs.GetNewDateTime(rectifyNotices.CheckedDate);
                        isUpdate.HiddenHazardType = rectifyNotices.HiddenHazardType;
                        if (newRectifyNotices.States == "1" && !string.IsNullOrEmpty(rectifyNotices.SignPersonId))
                        {
                            isUpdate.SignPerson = rectifyNotices.SignPersonId;
                        }
                        else
                        {
                            newRectifyNotices.States = isUpdate.States = "0";
                        }
                        db.SubmitChanges();
                        //// 删除明细表
                        var deleteItem = from x in db.Check_RectifyNoticesItem where x.RectifyNoticesId == isUpdate.RectifyNoticesId select x;
                        if (deleteItem.Count() > 0)
                        {
                            foreach (var cdeleteItem in deleteItem)
                            {
                                CommonService.DeleteAttachFileById(cdeleteItem.RectifyNoticesItemId);
                            }
                            db.Check_RectifyNoticesItem.DeleteAllOnSubmit(deleteItem);
                        }
                        insertRectifyNoticesItemItem = true;
                    }
                    else if (oldStates == "1" && newRectifyNotices.States == "2") ////总包单位项目安全经理 审核
                    {
                        /// 不同意 打回 同意抄送专业工程师、施工经理、项目经理 并下发分包接收人(也就是施工单位项目安全经理)
                        if (rectifyNotices.IsAgree == false)
                        {
                            newRectifyNotices.States = isUpdate.States = "0";
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(rectifyNotices.ProfessionalEngineerId))
                            {
                                isUpdate.ProfessionalEngineerId = rectifyNotices.ProfessionalEngineerId;
                            }
                            if (!string.IsNullOrEmpty(rectifyNotices.ConstructionManagerId))
                            {
                                isUpdate.ConstructionManagerId = rectifyNotices.ConstructionManagerId;
                            }
                            if (!string.IsNullOrEmpty(rectifyNotices.ProjectManagerId))
                            {
                                isUpdate.ProjectManagerId = rectifyNotices.ProjectManagerId;
                            }
                            if (!string.IsNullOrEmpty(rectifyNotices.DutyPersonId))
                            {
                                isUpdate.DutyPersonId = rectifyNotices.DutyPersonId;
                                isUpdate.SignDate = DateTime.Now;
                            }
                            else
                            {
                                newRectifyNotices.States = isUpdate.States = "1";
                            }
                        }
                        db.SubmitChanges();
                    }
                    else if (oldStates == "2" && newRectifyNotices.States == "3") /// 施工单位项目安全经理 整改 提交施工单位项目负责人
                    {
                        //// 整改明细反馈
                        if (rectifyNotices.RectifyNoticesItemItem != null && rectifyNotices.RectifyNoticesItemItem.Count() > 0)
                        {
                            foreach (var rItem in rectifyNotices.RectifyNoticesItemItem)
                            {
                                var getUpdateItem = db.Check_RectifyNoticesItem.FirstOrDefault(x => x.RectifyNoticesItemId == rItem.RectifyNoticesItemId);
                                if (getUpdateItem != null)
                                {
                                    getUpdateItem.RectifyResults = rItem.RectifyResults;
                                    if (getUpdateItem.IsRectify != true)
                                    {
                                        getUpdateItem.IsRectify = null;
                                    }
                                    db.SubmitChanges();
                                }
                                if (!string.IsNullOrEmpty(rItem.PhotoAfterUrl))
                                {
                                    APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, rItem.RectifyNoticesItemId + "#2", rItem.PhotoAfterUrl, "0");
                                }
                            }
                        }
                        if (!string.IsNullOrEmpty(rectifyNotices.UnitHeadManId))
                        {
                            isUpdate.UnitHeadManId = rectifyNotices.UnitHeadManId;
                            isUpdate.CompleteDate = DateTime.Now;
                        }
                        else
                        {
                            newRectifyNotices.States = isUpdate.States = "2";
                        }
                        db.SubmitChanges();
                    }
                    else if (oldStates == "3" && newRectifyNotices.States == "4")
                    {
                        /// 施工单位项目负责人不同意 打回施工单位项目安全经理,同意提交安全经理/安全工程师复查
                        if (rectifyNotices.IsAgree == false)
                        {
                            newRectifyNotices.States = isUpdate.States = "2";
                            isUpdate.CompleteDate = null;
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(rectifyNotices.CheckPersonId))
                            {
                                isUpdate.UnitHeadManDate = DateTime.Now;
                                isUpdate.CheckPerson = rectifyNotices.CheckPersonId;
                            }
                            else
                            {
                                newRectifyNotices.States = isUpdate.States = "3";
                            }
                        }
                        db.SubmitChanges();
                    }
                    else if (oldStates == "4" && newRectifyNotices.States == "5")
                    {
                        //// 整改明细反馈 复查 是否合格
                        if (rectifyNotices.RectifyNoticesItemItem != null && rectifyNotices.RectifyNoticesItemItem.Count() > 0)
                        {
                            foreach (var rItem in rectifyNotices.RectifyNoticesItemItem)
                            {
                                var getUpdateItem = db.Check_RectifyNoticesItem.FirstOrDefault(x => x.RectifyNoticesItemId == rItem.RectifyNoticesItemId);
                                if (getUpdateItem != null)
                                {
                                    getUpdateItem.IsRectify = rItem.IsRectify;
                                    db.SubmitChanges();
                                    //// 存在不合格  意见自动不同意
                                    if (!getUpdateItem.IsRectify.HasValue || getUpdateItem.IsRectify == false)
                                    {
                                        rectifyNotices.IsAgree = false;
                                    }
                                }
                            }
                        }
                        ////安全经理/安全工程师 同意关闭,不同意打回施工单位项目安全经理
                        isUpdate.ReCheckOpinion = rectifyNotices.ReCheckOpinion;
                        if (rectifyNotices.IsAgree == false)
                        {
                            newRectifyNotices.States = isUpdate.States = "2";
                            isUpdate.UnitHeadManDate = null;
                            isUpdate.CompleteDate = null;
                            isUpdate.ProfessionalEngineerTime2 = null;
                            isUpdate.ConstructionManagerTime2 = null;
                            isUpdate.ProjectManagerTime2 = null;
                        }
                        else
                        {
                            isUpdate.ReCheckDate = DateTime.Now;
                            //// 回写专项检查明细表                            
                            var getcheck = db.Check_CheckSpecialDetail.Where(x => x.DataId.Contains(isUpdate.RectifyNoticesId));
                            if (getcheck.Count() > 0)
                            {
                                foreach (var item in getcheck)
                                {
                                    item.CompleteStatus = true;
                                    item.CompletedDate = DateTime.Now;
                                    db.SubmitChanges();
                                }
                                //// 根据明细ID判断是否全部整改完成 并更新专项检查状态
                                Check_CheckSpecialService.UpdateCheckSpecialStates(getcheck.FirstOrDefault().CheckSpecialId);
                            }
                        }
                        db.SubmitChanges();
                    }
                }
                if (insertRectifyNoticesItemItem)
                {
                    //// 新增明细
                    if (rectifyNotices.RectifyNoticesItemItem != null && rectifyNotices.RectifyNoticesItemItem.Count() > 0)
                    {
                        foreach (var rItem in rectifyNotices.RectifyNoticesItemItem)
                        {
                            Model.Check_RectifyNoticesItem newItem = new Model.Check_RectifyNoticesItem
                            {
                                RectifyNoticesItemId = SQLHelper.GetNewID(),
                                RectifyNoticesId = newRectifyNotices.RectifyNoticesId,
                                WrongContent = rItem.WrongContent,
                                Requirement = rItem.Requirement,
                                LimitTime = Funs.GetNewDateTime(rItem.LimitTime),
                                RectifyResults = null,
                                IsRectify = null,
                                HiddenType=rItem.HiddenType,
                                HiddenHazardType=rItem.HiddenHazardType
                            };
                            db.Check_RectifyNoticesItem.InsertOnSubmit(newItem);
                            db.SubmitChanges();
                            if (!string.IsNullOrEmpty(rItem.PhotoBeforeUrl))
                            {
                                APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, newItem.RectifyNoticesItemId + "#1", rItem.PhotoBeforeUrl, "0");
                            }
                        }
                    }
                }
                //// 增加审核记录
                if (rectifyNotices.RectifyNoticesFlowOperateItem != null && rectifyNotices.RectifyNoticesFlowOperateItem.Count() > 0)
                {
                    var getOperate = rectifyNotices.RectifyNoticesFlowOperateItem.FirstOrDefault();
                    if (getOperate != null && !string.IsNullOrEmpty(getOperate.OperateManId))
                    {
                        Model.Check_RectifyNoticesFlowOperate newOItem = new Model.Check_RectifyNoticesFlowOperate
                        {
                            FlowOperateId = SQLHelper.GetNewID(),
                            RectifyNoticesId = newRectifyNotices.RectifyNoticesId,
                            OperateName = getOperate.OperateName,
                            OperateManId = getOperate.OperateManId,
                            OperateTime = DateTime.Now,
                            IsAgree = getOperate.IsAgree,
                            Opinion = getOperate.Opinion,
                        };
                        db.Check_RectifyNoticesFlowOperate.InsertOnSubmit(newOItem);
                        db.SubmitChanges();
                    }
                }
                if (newRectifyNotices.States == Const.State_1)
                {
                    APICommonService.SendSubscribeMessage(newRectifyNotices.SignPerson, "整改单待签发", rectifyNotices.CheckManNames, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
                else if (newRectifyNotices.States == Const.State_2)
                {
                    APICommonService.SendSubscribeMessage(newRectifyNotices.DutyPersonId, "整改单待整改", rectifyNotices.SignPersonName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
                else if (newRectifyNotices.States == Const.State_3)
                {
                    APICommonService.SendSubscribeMessage(newRectifyNotices.UnitHeadManId, "整改单待审核", rectifyNotices.DutyPersonName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
                else if (newRectifyNotices.States == Const.State_4)
                {
                    APICommonService.SendSubscribeMessage(newRectifyNotices.CheckPerson, "整改单待复查", rectifyNotices.UnitHeadManName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
            }
        }
        #endregion
    }
}