Пример #1
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="model"></param>
 /// <param name="list"></param>
 /// <returns></returns>
 public static bool AuditMainAdd(AuditMain model)
 {
     using (SqlConnection con = new SqlConnection(ConfigSetting.DataConnection))
     {
         con.Open();
         var transaction = con.BeginTransaction();
         try
         {
             string sql = string.Format("insert into {0}([UserId],[Money],[ConfigId],[CompanyId],[CreateDate],[IsDeleted],[Status],[OperateId],[Remark],[MainId],[Images],[NextOperateId],[NowCount],[TotalCount])  values(@UserId,@Money,@ConfigId,@CompanyId,getdate(),0,@Status,@OperateId,@Remark,@MainId,@Images,@NextOperateId,@NowCount,@TotalCount)", TableName);
             con.Execute(sql, model, transaction);
             sql = string.Format("insert into {0}([UserId],[Step],[AuditMainId],[CompanyId],[Remark],[OperateBy],[Status],[CreateDate],[ModifyDate])  values(@UserId,@Step,@AuditMainId,@CompanyId,@Remark,@OperateBy,@Status,getdate(),getdate())", DetailTableName);
             con.Execute(sql, model.DetailList, transaction);
             transaction.Commit();
             return(true);
         }
         catch (Exception ex)
         {
             transaction.Rollback();
             SystemLogDBOperate.AddSystemLog(new SystemLog()
             {
                 Ip          = Util.CommonMethod.GetClientIP,
                 LogLevel    = LogLevel.Error.ToString(),
                 MainContent = ex.Message,
                 MainKey     = "AuditMainAdd",
                 MainRequest = Util.CommonMethod.ToJson(model),
                 UserId      = model.UserId,
             });
             return(false);
         }
     }
     return(false);
 }
Пример #2
0
        public static AuditMain GetAuditMainById(int id, out string message)
        {
            message = "";
            AuditMain main = new AuditMain();

            try
            {
                main = AuditMainDBOperate.GetAuditMainById(id);
                if (main == null)
                {
                    message = "MainNull"; return(null);
                }
                var list        = AuditMainDBOperate.GetAuditDetailList(main.MainId);
                var memeberList = CompanyUserDBOperate.GetUserByIds(list.Select(a => a.OperateBy).ToArray());
                list.ForEach(a => {
                    var model = memeberList.FirstOrDefault(b => b.Id == a.OperateBy);
                    if (model == null)
                    {
                        return;
                    }
                    a.OperateName    = model.Name;
                    a.OperateHeadUrl = model.WeChatHeadUrl;
                });
                main.DetailList = list;
            }
            catch (Exception ex)
            {
                LogBussiness.AddLog("GetAuditMainById", id + "", ex.Message, Util.LogLevel.Error);
            }
            return(main);
        }
Пример #3
0
        internal IEnumerable <AuditMain> GetaAuditMain(int SourceInfoId = 0, DateTime?LastAudited = null)
        {
            SqlConnection    conn   = null;
            SqlDataReader    dr     = null;
            List <AuditMain> audits = new List <AuditMain>();

            try
            {
                conn = new SqlConnection(cnxString);
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = conn;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "dbo.QA_Audit_sel_main";

                cmd.Parameters.AddWithValue("@SourceInfoid", DbType.String).Value   = SourceInfoId;
                cmd.Parameters.AddWithValue("@Last_Audited", DbType.DateTime).Value = LastAudited;

                using (dr = cmd.ExecuteReader())
                {
                    while (dr.HasRows && dr.Read())
                    {
                        AuditMain audit = new AuditMain();
                        audit.SourceInfoId   = dr.GetInt32(0);
                        audit.SourceType     = dr.GetString(1);
                        audit.SourceName     = dr.GetString(2);
                        audit.PriorityID     = dr.GetInt32(3);
                        audit.SourcePoints   = dr.GetInt32(4);
                        audit.LastAudited    = dr.IsDBNull(5) ? DateTime.MinValue : dr.GetDateTime(5);
                        audit.SourceIsActive = dr.GetBoolean(6);
                        audit.SourcePass     = dr.IsDBNull(7) ?  false : dr.GetBoolean(7);
                        audit.SourceUrl      = dr.IsDBNull(8) ? string.Empty : dr.GetString(8);
                        audit.InProgress     = dr.GetInt32(9);
                        //audit.PassedRecords = dr.GetInt32(11);//dr.GetInt32(10) failed records;
                        audit.PriorityName = dr.GetString(10);

                        audits.Add(audit);
                    }
                    dr.Close();
                }
            }
            catch (Exception e)
            { }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }

                if (conn != null)
                {
                    conn.Close();
                }
            }

            return(audits);
        }
Пример #4
0
        /// <summary>
        /// 添加审核
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static bool AddAudit(AuditMain model, out string msg)
        {
            msg = "";
            try
            {
                var auditStepList = AuditStepDBOperate.GetAuditStepByDepartId(model.DepartId);//获取当前人部门的审核步骤
                if (auditStepList.Count() == 0)
                {
                    msg = "StepNull"; return(false);
                }
                var auditDetail = auditStepList.ConvertAll(a => new AuditDetail()
                {
                    AuditMainId = model.MainId,
                    OperateBy   = a.UserId,
                    Status      = (int)AuditStatus.NotCheck,
                    Step        = a.Step,
                    UserId      = model.UserId,
                    CompanyId   = model.CompanyId
                }).ToList();//插入详情

                auditDetail[0].Status = (int)AuditStatus.NextCheck;
                model.Status          = (int)AuditStatus.Pass;
                model.NowCount        = 0;
                model.TotalCount      = auditDetail.Count();
                model.NextOperateId   = auditDetail[0].OperateBy;

                #region 默认插入发起审核记录
                auditDetail.Insert(0, new AuditDetail()
                {
                    AuditMainId = model.MainId,
                    Step        = 0,
                    ModifyDate  = DateTime.Now,
                    CreateDate  = DateTime.Now,
                    CompanyId   = model.CompanyId,
                    Status      = (int)AuditStatus.Pass,
                    UserId      = model.UserId,
                    OperateBy   = model.UserId,
                    Remark      = "发起审核"
                });
                #endregion
                model.DetailList = auditDetail;

                var flag = AuditMainDBOperate.AuditMainAdd(model);
                return(flag);
            }
            catch (Exception ex)
            {
                LogBussiness.AddLog("AddAudit", CommonMethod.ToJson(model), ex.Message, Util.LogLevel.Error);
            }
            return(false);
        }
Пример #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                Int32.TryParse(Request.QueryString.Get("Sourceinfoid"), out Sourceinfoid);
                //Sourceinfoid = 2224;
                if (Sourceinfoid == 0)
                {
                    Response.Redirect("Default.aspx", true);
                }
                else
                {
                    lnk_see_all.NavigateUrl = lnk_see_all.NavigateUrl + "?SourceInfoid=" + Sourceinfoid.ToString();
                    IEnumerable <AuditArchive> history = serv.GetAllArchive(Sourceinfoid).Take(3);
                    gv_lastest.DataSource = history;
                    gv_lastest.DataBind();

                    AuditArchive activeArchive = serv.GetActiveArchive(Sourceinfoid, 0);
                    if (activeArchive != null)
                    {
                        startTimeActive.Value = activeArchive.StartTime.ToString("dd-MM-yyyy HH:mm:ss");
                        endTimeActive.Value   = activeArchive.EndTime.ToString("dd-MM-yyyy HH:mm:ss");
                    }
                    if (activeArchive != null && activeArchive.EndTime > DateTime.Now)
                    {
                        CreateGridAndHeaderInfo(true);
                    }
                    else
                    {
                        if (activeArchive != null)
                        {
                            activeArchive.IsActive = false;
                            serv.UpdateArchive(activeArchive);
                            Response.Redirect(Request.RawUrl);
                        }

                        btn_confirm_start_audit.Visible = true;
                        AuditMain audit = serv.GetAuditBySourceInfoId(Sourceinfoid, true);
                        lb_sourceinfoid.Text = Sourceinfoid.ToString();
                        lb_sourcename.Text   = audit.SourceName;
                        lb_sourcetype.Text   = audit.SourceType;
                        lb_lastaudited.Text  = audit.LastAudited.ToString();;
                        lb_passfail.Text     = audit.SourcePass == true ? "Passed" : "Failed";
                        lb_url.Text          = audit.SourceUrl;
                    }
                }
            }
        }
Пример #6
0
        protected void grid1_UpdateCommand(object sender, Obout.Grid.GridRecordEventArgs e)
        {
            try
            {
                //int isActive = e.Record["SourceIsActive"].ToString() == "true" ? 1 : 0;
                //int passFail = e.Record["SourcePass"].ToString() == "true" ? 1 : 0;

                AuditMain audit = new AuditMain();

                audit.SourceInfoId   = Int32.Parse(e.Record["SourceInfoId"].ToString());
                audit.PriorityName   = e.Record["PriorityName"].ToString();
                audit.SourcePoints   = Int32.Parse(e.Record["SourcePoints"].ToString());
                audit.SourceIsActive = e.Record["SourceIsActive"].ToString() == "true" ? true : false;
                audit.SourcePass     = e.Record["SourcePass"].ToString() == "true" ? true : false;

                serv.UpdateAuditMain(audit);
            }
            catch (Exception err)
            { }
        }
Пример #7
0
        protected void CreateGridAndHeaderInfo(bool headerInfo = false)
        {
            Int32.TryParse(Request.QueryString.Get("Sourceinfoid"), out Sourceinfoid);
            //Sourceinfoid = 2224;
            AuditMain audit = serv.GetAuditBySourceInfoId(Sourceinfoid, true);

            //todo: if all qstns are passed, show finishing answering button.
            if (headerInfo)
            {
                lb_sourceinfoid.Text = Sourceinfoid.ToString();
                lb_sourcename.Text   = audit.SourceName;
                lb_sourcetype.Text   = audit.SourceType;
                lb_lastaudited.Text  = audit.LastAudited.ToString();;
                lb_passfail.Text     = audit.SourcePass == true ? "Passed" : "Failed";
                lb_url.Text          = audit.SourceUrl;
            }
            grid1.Visible    = true;
            grid1.DataSource = audit.TestData;
            grid1.DataBind();
        }
Пример #8
0
        /// <summary>
        /// 发起审核
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public JsonResult AddAuditMain(AuditMain model)
        {
            ResultInfo info    = new ResultInfo();
            string     message = "";

            if (model.Id == 0)
            {
                model.DepartId  = CookieOperate.MemberCookie.DepartId;
                model.CompanyId = CookieOperate.MemberCookie.CompanyId;
                model.UserId    = CookieOperate.MemberCookie.Id;
                model.Status    = 1;
                model.OperateId = CookieOperate.MemberCookie.Id;
                model.MainId    = Guid.NewGuid().ToString().Replace("-", "");
                info.IsSuccess  = AuditBussiness.AddAudit(model, out message);
                info.Code       = message;
            }
            else
            {
            }
            return(Json(info));
        }
Пример #9
0
        internal bool UpdateAuditMain(AuditMain audit)
        {
            bool          flag = false;
            SqlConnection conn = null;

            try
            {
                conn = new SqlConnection(cnxString);
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = conn;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "dbo.QA_Audit_upd_main";

                cmd.Parameters.AddWithValue("@Sourceinfoid", DbType.Int32).Value   = audit.SourceInfoId;
                cmd.Parameters.AddWithValue("@PriorityName", DbType.String).Value  = audit.PriorityName;
                cmd.Parameters.AddWithValue("@Points", DbType.Int32).Value         = audit.SourcePoints;
                cmd.Parameters.AddWithValue("@SourceIsActive", DbType.Int32).Value = Convert.ToInt32(audit.SourceIsActive);

                int result = cmd.ExecuteNonQuery();
                flag = true;
            }
            catch (Exception e)
            {
                flag = false;
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                if (conn != null)
                {
                    conn.Close();
                }
            }

            return(flag);
        }
Пример #10
0
        public IActionResult CancelAudit(AuditViewModel audit)
        {
            try
            {
                object response = "";
                if (isAuditor)
                {
                    if (audit != null)
                    {
                        if (audit.AuditorQuitReasonId != null && int.TryParse(audit.AuditorQuitReasonId, out int tempreasonid))
                        {
                            if (tempreasonid > 0)
                            {
                                var cancelreason = _auditToolContext.ListOfValue.Where(x => x.Id == Int32.Parse(audit.AuditorQuitReasonId)).FirstOrDefault();

                                AuditMain main = new AuditMain
                                {
                                    TicketId          = audit.TicketId,
                                    Agent34Id         = audit.Agent34Id,
                                    AgentName         = audit.AgentName,
                                    AuditorName       = audit.AuditorName,
                                    AuditType         = audit.EnvironmentType,
                                    ServiceGroupId    = audit.ServiceCatId,
                                    SubcategoryId     = audit.SubCatId,
                                    SubmitDt          = DateTime.Now,
                                    AuditorQuit       = "Quit",
                                    AuditorQuitReason = cancelreason.Code,
                                    TicketDate        = audit.TicketDate,
                                    CreatedDate       = DateTime.Now,
                                    CreatedBy         = _authService.LoggedInUserInfo().Result.LoggedInFullName,
                                    ModifiedDate      = DateTime.Now,
                                    ModifiedBy        = _authService.LoggedInUserInfo().Result.LoggedInFullName
                                };
                                _auditToolContext.AuditMain.Add(main);
                                _auditToolContext.SaveChanges();
                            }
                            else
                            {
                                response = "1";
                            }
                        }
                        else
                        {
                            response = "1";
                        }
                    }
                    else
                    {
                        response = "1";
                    }
                    return(Json(response));
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"Exception in CancelAudit method");
                _log.WriteErrorLog(new LogItem {
                    ErrorType = "Error", ErrorSource = "AuditController_CancelAudit", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
                });
            }
            return(RedirectToAction("Index", "Home"));
        }
Пример #11
0
        public IActionResult SaveAudit(AuditViewModel audit)
        {
            try
            {
                if (isAuditor)
                {
                    if (audit != null)
                    {
                        AuditMain main = new AuditMain
                        {
                            TicketId       = audit.TicketId,
                            Agent34Id      = audit.Agent34Id,
                            AgentName      = audit.AgentName,
                            AuditNotes     = audit.AuditNote,
                            AuditorName    = audit.AuditorName,
                            AuditType      = audit.EnvironmentType,
                            ServiceGroupId = audit.ServiceCatId,
                            SubcategoryId  = audit.SubCatId,
                            SubmitDt       = DateTime.Now,
                            TicketDate     = audit.TicketDate,
                            IsEscalated    = audit.isEscalated,
                            CreatedDate    = DateTime.Now,
                            CreatedBy      = _authService.LoggedInUserInfo().Result.LoggedInFullName,
                            ModifiedDate   = DateTime.Now,
                            ModifiedBy     = _authService.LoggedInUserInfo().Result.LoggedInFullName
                        };
                        _auditToolContext.AuditMain.Add(main);
                        _auditToolContext.SaveChanges();

                        foreach (var item in audit.Question)
                        {
                            AuditMainResponse obj = new AuditMainResponse
                            {
                                QuestionId                = item.QuestionId,
                                AuditMainId               = main.Id,
                                QuestionRank              = item.QuestionSequence,
                                TicketId                  = main.TicketId,
                                IsCompliant               = item.Action.IsCompliance,
                                IsCorrectionRequired      = item.CorrectionRequire,
                                IsHighNonComplianceImpact = item.Action.Impact.IsHighImpact,
                                IsLowNonComplianceImpact  = item.Action.Impact.IsLowImpact,
                                IsNa                  = item.Action.IsNotApplicable,
                                IsNonCompliant        = item.Action.IsNonCompliance,
                                NonComplianceComments = item.Comments,
                                CreatedDate           = DateTime.Now,
                                CreatedBy             = _authService.LoggedInUserInfo().Result.LoggedInFullName,
                                ModifiedDate          = DateTime.Now,
                                ModifiedBy            = _authService.LoggedInUserInfo().Result.LoggedInFullName
                            };

                            _auditToolContext.AuditMainResponse.Add(obj);
                            _auditToolContext.SaveChanges();
                        }

                        FormatAndSendEmail(main.Id);
                    }

                    ViewBag.Success = "Success";

                    var listOfValues = _auditToolContext.ListOfValue.Where(x => x.IsActive == true &&
                                                                           x.CodeType.Trim().ToLower() == "audit cancel reason").ToList();

                    var cancelReason = new List <SelectListItem>
                    {
                        new SelectListItem()
                        {
                            Text = "--Select--", Value = "0", Selected = true
                        }
                    };
                    foreach (var item in listOfValues)
                    {
                        cancelReason.Add(new SelectListItem()
                        {
                            Text = item.Code, Value = item.Id.ToString()
                        });
                    }

                    audit.CancellationReason = cancelReason;

                    return(View("Index", audit));
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"Exception in SaveAudit method");
                _log.WriteErrorLog(new LogItem {
                    ErrorType = "Error", ErrorSource = "AuditController_SaveAudit", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
                });
            }
            return(RedirectToAction("Index", "Home"));
        }
Пример #12
0
 public bool UpdateAuditMain(AuditMain audit)
 {
     return(dbClient.UpdateAuditMain(audit));
 }