示例#1
0
 public JsonResult ExpertComplitedAll()
 {
     if (HttpContext.User.Identity.Name == "*****@*****.**")
     {
         foreach (Wiki.Reclamation data in db.Reclamation.Where(d => d.fixedExpert == false && d.id_DevisionCreate == 6))
         {
             Wiki.Reclamation reclamation = data;
             reclamation.fixedExpert     = true;
             db.Entry(reclamation).State = System.Data.Entity.EntityState.Modified;
         }
         db.SaveChanges();
         return(GetRemarksOTK());
     }
     else if (HttpContext.User.Identity.Name == "*****@*****.**")
     {
         foreach (Wiki.Reclamation data in db.Reclamation.Where(d => d.fixedExpert == false && d.id_DevisionCreate != 6))
         {
             Wiki.Reclamation reclamation = data;
             reclamation.fixedExpert     = true;
             db.Entry(reclamation).State = EntityState.Modified;
         }
         db.SaveChanges();
         return(GetRemarksPO());
     }
     else
     {
         return(GetRemarksPO());
     }
 }
示例#2
0
        public JsonResult AddRem(int id, int[] pZ_PlanZakaz, int typeRem, int devRem, string textRem,
                                 int pfRem, bool technicalAdviceRem)
        {
            string login = HttpContext.User.Identity.Name;

            using (PortalKATEKEntities db = new PortalKATEKEntities())
            {
                db.Configuration.ProxyCreationEnabled = false;
                db.Configuration.LazyLoadingEnabled   = false;
                Wiki.Reclamation reclamation = new Wiki.Reclamation
                {
                    id_Reclamation_Type            = typeRem,
                    id_DevisionReclamation         = devRem,
                    id_Reclamation_CountErrorFinal = 1,
                    id_Reclamation_CountErrorFirst = 1,
                    id_AspNetUsersCreate           = db.AspNetUsers.First(d => d.Email == login).Id,
                    id_DevisionCreate = db.AspNetUsers.First(d => d.Email == login).Devision.Value,
                    dateTimeCreate    = DateTime.Now,
                    text                 = textRem,
                    description          = "",
                    timeToSearch         = 0,
                    timeToEliminate      = 0,
                    close                = true,
                    gip                  = false,
                    closeDevision        = false,
                    PCAM                 = "",
                    editManufacturing    = false,
                    id_PF                = pfRem,
                    technicalAdvice      = technicalAdviceRem,
                    closeMKO             = false,
                    closeKO              = false,
                    fixedExpert          = false,
                    id_ReclamationTypeKB = 26
                };
                db.Reclamation.Add(reclamation);
                db.SaveChanges();
                ServiceRemarksReclamations serviceRemarksReclamations = new ServiceRemarksReclamations
                {
                    id_Reclamation    = reclamation.id,
                    id_ServiceRemarks = id
                };
                db.ServiceRemarksReclamations.Add(serviceRemarksReclamations);
                db.SaveChanges();
                foreach (var data in pZ_PlanZakaz)
                {
                    Reclamation_PZ reclamation_PZ = new Reclamation_PZ
                    {
                        id_PZ_PlanZakaz = data,
                        id_Reclamation  = reclamation.id
                    };
                    db.Reclamation_PZ.Add(reclamation_PZ);
                    db.SaveChanges();
                }
            }
            return(Json(id, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        //DeleteOrder
        public JsonResult DeleteOrder(Wiki.Reclamation reclamation)
        {
            string login = HttpContext.User.Identity.Name;

            Wiki.Reclamation order = db.Reclamation.Find(reclamation.id);
            _ = new EmailReclamation(order, login, 4);

            foreach (var data in db.Reclamation_PZ.Where(d => d.id_Reclamation == reclamation.id))
            {
                db.Reclamation_PZ.Remove(data);
            }
            db.Reclamation.Remove(order);
            db.SaveChanges();
            return(Json(1, JsonRequestBehavior.AllowGet));
        }
示例#4
0
        public JsonResult Add(Wiki.Reclamation reclamation, int[] pZ_PlanZakaz)
        {
            string login = HttpContext.User.Identity.Name;

            reclamation.dateTimeCreate = DateTime.Now;
            CreateReclamation correctReclamation = new CreateReclamation(reclamation, login);

            reclamation = correctReclamation.Reclamation;
            db.Reclamation.Add(reclamation);
            db.SaveChanges();
            CreateReclamation_PZ(pZ_PlanZakaz, reclamation.id);
            if (reclamation.technicalAdvice == true)
            {
                CreateTechnicalAdvice(reclamation.id, reclamation.id_AspNetUsersCreate);
            }
            int id_Devision = reclamation.id_DevisionCreate;

            if (id_Devision == 8 || id_Devision == 9 || id_Devision == 10 || id_Devision == 20 || id_Devision == 22)
            {
                if (reclamation.editManufacturing == true)
                {
                    login = db.AspNetUsers.First(d => d.Devision == reclamation.editManufacturingIdDevision && d.ResourceUID != null).Email;
                    try
                    {
                        TaskForPWA pwa = new TaskForPWA();
                        string     reclamationNumAndText = reclamation.id.ToString() + " " + reclamation.text;
                        var        projects = reclamation.Reclamation_PZ.ToList();
                        foreach (var data in projects)
                        {
                            var projectUid = db.PZ_PlanZakaz.Find(data.id_PZ_PlanZakaz).ProjectUID;
                            if (projectUid != null)
                            {
                                pwa.CreateTaskOTK_PO((Guid)projectUid, reclamationNumAndText, login);
                            }
                        }
                    }
                    catch
                    {
                    }
                }
            }
            EmailReclamation emailReclamation = new EmailReclamation(reclamation, login, 1);

            return(Json(1, JsonRequestBehavior.AllowGet));
        }
示例#5
0
 public EmailReclamation(Wiki.Reclamation reclamation, string login, int stepNumber)
 {
     try
     {
         this.login       = login;
         this.stepNumber  = stepNumber;
         this.reclamation = db.Reclamation.Find(reclamation.id);
         mail.From        = new MailAddress(login);
         GetMailList();
         GetSubject();
         GetBody();
         SendEmail();
     }
     catch (Exception ex)
     {
         logger.Error("EmailReclamation: ReclamationId: " + reclamation.id + " | Exeption text: " + ex);
     }
 }
示例#6
0
 public ReclamationCRUD()
 {
     Reclamation = new Wiki.Reclamation();
     History     = "";
 }
示例#7
0
        public void CreateExcelReport(Wiki.Reclamation reclamation)
        {
            PortalKATEKEntities dbc = new PortalKATEKEntities();

            dbc.Configuration.ProxyCreationEnabled = false;
            dbc.Configuration.LazyLoadingEnabled   = false;
            string                  login = HttpContext.User.Identity.Name;
            AspNetUsers             user  = db.AspNetUsers.First(d => d.Email == login);
            List <Wiki.Reclamation> list  = new List <Wiki.Reclamation>();

            if (reclamation.close == true)
            {
                list = dbc.Reclamation
                       .Include(d => d.Reclamation_PZ.Select(c => c.PZ_PlanZakaz))
                       .Include(d => d.AspNetUsers)
                       .Include(d => d.AspNetUsers1)
                       .Include(d => d.Devision)
                       .Include(d => d.Reclamation_CountError)
                       .Include(d => d.Reclamation_CountError1)
                       .Include(d => d.PF)
                       .ToList();
            }
            else if (reclamation.closeDevision == true)
            {
                list = dbc.Reclamation.Where(d => d.id_DevisionReclamation == user.Devision)
                       .Include(d => d.Reclamation_PZ.Select(c => c.PZ_PlanZakaz))
                       .Include(d => d.AspNetUsers)
                       .Include(d => d.AspNetUsers1)
                       .Include(d => d.Devision)
                       .Include(d => d.Reclamation_CountError)
                       .Include(d => d.Reclamation_CountError1)
                       .Include(d => d.PF)
                       .ToList();
            }
            else if (reclamation.closeMKO == true)
            {
                list = dbc.Reclamation.Where(d => d.id_AspNetUsersCreate == user.Id)
                       .Include(d => d.Reclamation_PZ.Select(c => c.PZ_PlanZakaz))
                       .Include(d => d.AspNetUsers)
                       .Include(d => d.AspNetUsers1)
                       .Include(d => d.Devision)
                       .Include(d => d.Reclamation_CountError)
                       .Include(d => d.Reclamation_CountError1)
                       .Include(d => d.PF)
                       .ToList();
            }
            else if (reclamation.gip == true)
            {
                list = dbc.Reclamation.Where(d => d.id_AspNetUsersError == user.Id)
                       .Include(d => d.Reclamation_PZ.Select(c => c.PZ_PlanZakaz))
                       .Include(d => d.AspNetUsers)
                       .Include(d => d.AspNetUsers1)
                       .Include(d => d.Devision)
                       .Include(d => d.Reclamation_CountError)
                       .Include(d => d.Reclamation_CountError1)
                       .Include(d => d.PF)
                       .ToList();
            }
            else
            {
            }
            if (list.Count != 0)
            {
                List <Wiki.Models.ExcelRow> excelRows = new List <Wiki.Models.ExcelRow>();
                Wiki.Models.ExcelRow        excelRow  = new Wiki.Models.ExcelRow("№", "План-Заказ/ы №№:", "Автор замечания", "Создана", "Ответственное СП", "Ответственный сотрудник", "Критерий ошибки",
                                                                                 "Критерий ошибки (утв.)", "Поиск (ч.)", "Устранение (ч.)", "Текст замечания", "Прим.", "Полуфабрикат", "РСАМ", "История переписки", "На техсовет", "ГИП",
                                                                                 "", "", "", "", "", "", "", "", "", 17);
                excelRows.Add(excelRow);
                foreach (var data in list)
                {
                    string ordersName = "";
                    foreach (var dataOrders in data.Reclamation_PZ)
                    {
                        ordersName += dataOrders.PZ_PlanZakaz.PlanZakaz.ToString() + "; ";
                    }
                    string history = "";
                    foreach (var dataAnswer in data.Reclamation_Answer)
                    {
                        history += dataAnswer.AspNetUsers.CiliricalName + " | " + dataAnswer.answer + "\n";
                    }
                    string userError = "";
                    try
                    {
                        userError = data.AspNetUsers1.CiliricalName;
                    }
                    catch
                    {
                        userError = "";
                    }
                    Wiki.Models.ExcelRow excelRow1 = new Wiki.Models.ExcelRow(data.id.ToString(), ordersName, data.AspNetUsers.CiliricalName, data.dateTimeCreate.ToString().Substring(0, 10),
                                                                              data.Devision.name, userError, data.Reclamation_CountError.name, data.Reclamation_CountError1.name,
                                                                              data.timeToSearch.ToString(), data.timeToEliminate.ToString(), data.text, data.description, data.PF.name, data.PCAM, history, data.technicalAdvice.ToString(),
                                                                              data.gip.ToString(), "", "", "", "", "", "", "", "", "", 17);
                    excelRows.Add(excelRow1);
                }
                Wiki.Models.ExcelColumn excelColumnIndex = new Wiki.Models.ExcelColumn();
                ExcelPackage            pck = new ExcelPackage();
                ExcelWorksheet          ws  = pck.Workbook.Worksheets.Add("Report");
                int row         = 1;
                int step        = 0;
                int countColumn = excelRows[0].CountData;
                foreach (var data in excelRows)
                {
                    for (int i = 0; i < countColumn; i++)
                    {
                        ws.Cells[string.Format("{0}{1}", excelColumnIndex.ColumnsArray[i], row)].Value = data.GetData(step);
                        ws.Cells[string.Format("{0}{1}", excelColumnIndex.ColumnsArray[i], row)].Style.Border.BorderAround(ExcelBorderStyle.Thin);
                        step++;
                    }
                    row++;
                    step = 0;
                }
                for (int i = 0; i < countColumn; i++)
                {
                    ws.Cells[string.Format("{0}{1}", excelColumnIndex.ColumnsArray[i], 1)].AutoFitColumns();
                    ws.Cells[string.Format("{0}{1}", excelColumnIndex.ColumnsArray[i], 1)].AutoFilter = true;
                }
                Response.Clear();
                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                Response.AddHeader("content-daisposition", "attachment: filename=" + "ExcelReport.xlsx");
                Response.BinaryWrite(pck.GetAsByteArray());
                Response.End();
            }
        }
示例#8
0
        public JsonResult Update(Wiki.Reclamation reclamation, int[] pZ_PlanZakaz, string answerText,
                                 bool?reload, int?reloadDevision, bool?trash)
        {
            string      login      = HttpContext.User.Identity.Name;
            AspNetUsers aspNetUser = db.AspNetUsers.First(d => d.Email == login);

            if (aspNetUser.Devision == 6)
            {
                if (reclamation.close == true)
                {
                    string textAnswer = "";
                    textAnswer = "Замечание закрыто ОТК";
                    Reclamation_Answer reclamation_Answer = new Reclamation_Answer
                    {
                        answer               = textAnswer,
                        dateTimeCreate       = DateTime.Now,
                        id_AspNetUsersCreate = aspNetUser.Id,
                        id_Reclamation       = reclamation.id,
                        trash = false
                    };
                    db.Reclamation_Answer.Add(reclamation_Answer);
                    db.SaveChanges();
                }
            }
            CreateReclamation correctPlanZakaz = new CreateReclamation(reclamation, login, reload, reloadDevision);

            reclamation = correctPlanZakaz.Reclamation;
            db.Entry(reclamation).State = EntityState.Modified;
            db.SaveChanges();
            if (aspNetUser.Devision.Value == 6 && answerText != "" && answerText != null)
            {
                Reclamation_Answer reclamation_Answer = new Reclamation_Answer
                {
                    answer               = answerText,
                    dateTimeCreate       = DateTime.Now,
                    id_AspNetUsersCreate = aspNetUser.Id,
                    id_Reclamation       = reclamation.id,
                    trash = trash.Value
                };
                db.Reclamation_Answer.Add(reclamation_Answer);
                db.SaveChanges();
                if (reclamation.close != true)
                {
                    reclamation.closeDevision   = false;
                    db.Entry(reclamation).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            else if (aspNetUser.Devision.Value == 28 && answerText != "" && answerText != null)
            {
                Reclamation_Answer reclamation_Answer = new Reclamation_Answer
                {
                    answer               = answerText,
                    dateTimeCreate       = DateTime.Now,
                    id_AspNetUsersCreate = aspNetUser.Id,
                    id_Reclamation       = reclamation.id,
                    trash = trash.Value
                };
                db.Reclamation_Answer.Add(reclamation_Answer);
                db.SaveChanges();
                if (reclamation.close != true)
                {
                    reclamation.closeDevision   = false;
                    db.Entry(reclamation).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            else if (aspNetUser.Devision.Value != 6 && aspNetUser.Devision.Value != 28 && answerText != "" && answerText != null)
            {
                Reclamation_Answer reclamation_Answer = new Reclamation_Answer
                {
                    answer               = answerText,
                    dateTimeCreate       = DateTime.Now,
                    id_AspNetUsersCreate = aspNetUser.Id,
                    id_Reclamation       = reclamation.id,
                    trash = trash.Value
                };
                db.Reclamation_Answer.Add(reclamation_Answer);
                db.SaveChanges();
                if (reload != true)
                {
                    if (answerText != "-")
                    {
                        EmailReclamation emailReclamation = new EmailReclamation(reclamation, login, 3);
                    }
                }
            }
            if (reclamation.technicalAdvice == true)
            {
                UpdateTechnicalAdvice(reclamation.id, aspNetUser.Id);
            }
            UpdateReclamation_PZ(pZ_PlanZakaz, reclamation.id);
            if (reload == true)
            {
                Reclamation_Answer reclamation_Answer = new Reclamation_Answer
                {
                    answer               = "Замечание перенаправлено на " + db.Devision.Find(reloadDevision).name,
                    dateTimeCreate       = DateTime.Now,
                    id_AspNetUsersCreate = aspNetUser.Id,
                    id_Reclamation       = reclamation.id,
                    trash = trash.Value
                };
                db.Reclamation_Answer.Add(reclamation_Answer);
                db.SaveChanges();
                EmailReclamation emailReclamation = new EmailReclamation(reclamation, login, 2);
            }



            ReclamationListViewer reclamationListViewer = new ReclamationListViewer();

            reclamationListViewer.GetOneReclamation(reclamation.id);
            return(Json(new { data = reclamationListViewer.ReclamationsListView }));
        }