public List <ReportEvaluateModel> GetDailyReport_NotUseQMS()
 {
     using (var db = new QMSSystemEntities())
     {
         var now    = DateTime.Now;
         var report = new List <ReportEvaluateModel>();
         report.AddRange(db.Q_User.Select(x => new ReportEvaluateModel()
         {
             ServiceId = x.Id, ServiceName = x.Name
         }).ToList());
         var ycDanhGia = db.Q_EvaluateDetail.
                         Where(x => !x.IsDeleted && !x.Q_Evaluate.IsDeleted).
                         OrderBy(x => x.Index).
                         Select(x => new ModelSelectItem()
         {
             Code = (x.EvaluateId + "_" + x.Id), Name = x.Name, Id = 0, Data = 0
         }).
                         ToList();
         if (report.Count > 0)
         {
             var danhgia = db.Q_UserEvaluate.Where(x => x.CreatedDate.Day == now.Day && x.CreatedDate.Month == now.Month && x.CreatedDate.Year == now.Year).ToList();
             foreach (var r in report)
             {
                 foreach (var yc in ycDanhGia)
                 {
                     var a = new ModelSelectItem();
                     Parse.CopyObject(yc, ref a);
                     a.Id = danhgia.Where(x => x.Score == yc.Code && x.UserId == r.ServiceId).Count();
                     r.Details.Add(a);
                 }
             }
         }
         return(report);
     }
 }
        public ModelSelectItem GetLKPhase(int phaseId, int cspId)
        {
            var rs = new ModelSelectItem()
            {
                Id = 0, Value = 0
            };

            using (var db = new PMSEntities())
            {
                var phaseLog = db.P_Phase_Assign_Log.FirstOrDefault(x => x.AssignId == cspId && x.PhaseId == phaseId);
                if (phaseLog != null)
                {
                    rs.Id    = phaseLog.Quantity;
                    rs.Value = phaseLog.Chuyen_SanPham.LuyKeTH;
                    rs.Name  = phaseLog.Chuyen_SanPham.Chuyen.TenChuyen;
                }
                else
                {
                    var csp = db.Chuyen_SanPham.FirstOrDefault(x => x.STT == cspId);
                    if (csp != null)
                    {
                        rs.Value = csp.LuyKeTH;
                        rs.Name  = csp.Chuyen.TenChuyen;
                    }
                }
            }
            return(rs);
        }
        private void loadGrid()
        {
            ModelSelectItem kg   = (ModelSelectItem)cbKhungFilter.SelectedItem;
            ServiceDayModel ghe  = (ServiceDayModel)cbServiceFilter.SelectedItem;
            var             objs = BLLTimeSchedule.Instance.Gets(connect, dtpDateFilter.Value.Day, dtpDateFilter.Value.Month, dtpDateFilter.Value.Year, (kg != null ? kg.Id : 0), (ghe != null ? ghe.Id : 0));

            gridSchedule.DataSource = objs;
        }
        public List <ReportEvaluateModel> GetReport(int userId, DateTime from, DateTime to)
        {
            using (var db = new QMSSystemEntities())
            {
                List <ReportEvaluateModel> report = new List <ReportEvaluateModel>();
                ReportEvaluateModel        obj;
                var ycDanhGia = db.Q_EvaluateDetail.
                                Where(x => !x.IsDeleted && !x.Q_Evaluate.IsDeleted).
                                OrderBy(x => x.Index).
                                Select(x => new ModelSelectItem()
                {
                    Code = x.EvaluateId + "_" + x.Id, Name = x.Name, Id = 0, Data = 0
                }).
                                ToList();
                if (userId != 0)
                {
                    obj      = new ReportEvaluateModel();
                    obj.Name = db.Q_User.FirstOrDefault(x => x.Id == userId).Name;
                    var danhgia = db.Q_UserEvaluate.Where(x => (x.Q_DailyRequire_Detail.EndProcessTime.Value.Day >= from.Day && x.Q_DailyRequire_Detail.EndProcessTime.Value.Month == from.Month && x.Q_DailyRequire_Detail.EndProcessTime.Value.Year == from.Year) && (x.Q_DailyRequire_Detail.EndProcessTime.Value.Day <= to.Day && x.Q_DailyRequire_Detail.EndProcessTime.Value.Month == to.Month && x.Q_DailyRequire_Detail.EndProcessTime.Value.Year == to.Year) && x.UserId == userId).ToList();
                    if (danhgia.Count > 0)
                    {
                        obj.Details.AddRange(ycDanhGia);
                        foreach (var yc in obj.Details)
                        {
                            yc.Id = danhgia.Where(x => x.Score == yc.Code).Count();
                        }
                    }
                    report.Add(obj);
                }
                else
                {
                    var danhgia = db.Q_UserEvaluate.Where(x => (x.Q_DailyRequire_Detail.EndProcessTime.Value.Day >= from.Day && x.Q_DailyRequire_Detail.EndProcessTime.Value.Month == from.Month && x.Q_DailyRequire_Detail.EndProcessTime.Value.Year == from.Year) && (x.Q_DailyRequire_Detail.EndProcessTime.Value.Day <= to.Day && x.Q_DailyRequire_Detail.EndProcessTime.Value.Month == to.Month && x.Q_DailyRequire_Detail.EndProcessTime.Value.Year == to.Year)).ToList();
                    report.AddRange(db.Q_User.Select(x => new ReportEvaluateModel()
                    {
                        UserId = x.Id, Name = x.Name
                    }));

                    if (danhgia.Count > 0)
                    {
                        foreach (var item in report)
                        {
                            var objs = danhgia.Where(x => x.UserId == item.UserId).ToList();
                            if (objs.Count > 0)
                            {
                                foreach (var yc in item.Details)
                                {
                                    var a = new ModelSelectItem();
                                    Parse.CopyObject(yc, ref a);
                                    a.Id = danhgia.Where(x => x.Score == yc.Code).Count();
                                    item.Details.Add(a);
                                }
                            }
                        }
                    }
                }
                return(report);
            }
        }
 public List <ModelSelectItem> GetAllDVs(string connectString, int khId)
 {
     using (var db = new HMSEntities(connectString))
     {
         try
         {
             var list = new List <ModelSelectItem>();
             var xes  = (from x in db.H_Receiption
                         where !x.IsDeleted && !x.H_KhachHang.IsDeleted && x.KHId == khId
                         orderby x.CreatedDate descending
                         select new
             {
                 Id = x.Id,
                 Code = x.Code,
                 Name = x.H_Model.Note,
                 Data1 = x.MachineNumber,
                 Data2 = x.ChassisNumber,
                 Data3 = x.LicenseNumber,
                 Data = x.ModelId,
                 Record = x.WorkTypeId,
                 Data4 = x.CreatedDate,
                 Data5 = x.ClosedDate,
                 TongPT = x.Total_PTung,
                 TongDV = x.Total_Cong,
                 Tong = x.Total
             }).ToList();
             if (xes.Count > 0)
             {
                 for (int i = 0; i < xes.Count; i++)
                 {
                     var obj = new ModelSelectItem();
                     Parse.CopyObject(xes[i], ref obj);
                     obj.Data4 = xes[i].Data4.ToString("dd/MM/yyyy HH:mm");
                     obj.Data5 = "";
                     if (xes[i].Data5.HasValue)
                     {
                         obj.Data5 = xes[i].Data5.Value.ToString("dd/MM/yyyy HH:mm");
                     }
                     obj._double  = xes[i].Tong;
                     obj._double1 = xes[i].TongPT;
                     obj._double2 = xes[i].TongDV;
                     list.Add(obj);
                 }
             }
             return(list);
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
        private void cbGhe_SelectedIndexChanged(object sender, EventArgs e)
        {
            ModelSelectItem modelSelect = (ModelSelectItem)cbGhe.SelectedItem;

            if (modelSelect != null)
            {
                userId       = modelSelect.Record;
                equipCode    = modelSelect.Id;
                _userName    = modelSelect.Name;
                _counterName = modelSelect.Code;
                counterId    = (int)modelSelect.Data1;

                // lbCounterName.Text = _counterName;
                statusStaffName.Text = _userName;
                // statusLoginTime.Text = loginObj.Date.Value.ToString("dd/MM/yyyy HH:mm");
            }
        }
 public List <ModelSelectItem> GetAllbikes(string connectString, int khId)
 {
     using (var db = new HMSEntities(connectString))
     {
         try
         {
             var list = new List <ModelSelectItem>();
             var xes  = (from x in db.H_SellReceipt
                         where !x.IsDeleted && !x.H_KhachHang.IsDeleted && x.KHId == khId
                         orderby x.CreatedDate descending
                         select new
             {
                 Id = x.Id,
                 Code = x.SoPhieu,
                 Name = x.H_Model.Note,
                 Data1 = x.MachineNumber,
                 Data2 = x.ChassisNumber,
                 Data3 = x.LicenseNumber,
                 Data = x.ModelId,
                 Record = x.WorkTypeId,
                 Data4 = x.CreatedDate,
                 Gia = x.Price,
                 CKhau = x.Discount,
                 Tong = x.Total
             }).ToList();
             if (xes.Count > 0)
             {
                 for (int i = 0; i < xes.Count; i++)
                 {
                     var obj = new ModelSelectItem();
                     Parse.CopyObject(xes[i], ref obj);
                     obj.Data4    = xes[i].Data4.ToString("dd/MM/yyyy");
                     obj._double  = xes[i].Tong;
                     obj._double1 = xes[i].Gia;
                     obj._double2 = xes[i].CKhau;
                     list.Add(obj);
                 }
             }
             return(list);
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
        public ModelSelectItem GetPhaseInfo(int assignId, int phaseId, DateTime date)
        {
            var rs = new ModelSelectItem()
            {
                Data = 0, Value = 0
            };

            using (var db = new PMSEntities())
            {
                try
                {
                    var inDay = (db.P_PhaseDaily.Where(x =>
                                                       x.CreatedDate.Day == date.Day &&
                                                       x.CreatedDate.Month == date.Month &&
                                                       x.CreatedDate.Year == date.Year &&
                                                       x.AssignId == assignId &&
                                                       x.PhaseId == phaseId)
                                 .OrderByDescending(x => x.CreatedDate).Select(x => new AddPhaseQuantitiesModel()
                    {
                        LineName = x.Chuyen_SanPham.Chuyen.TenChuyen,
                        Date = x.CreatedDate,
                        Quantity = x.Quantity,
                        CommandTypeId = x.CommandTypeId,
                        strCommandType = (x.CommandTypeId == (int)eCommandRecive.ProductIncrease ? "Tăng" : "Giảm")
                    })).ToList();

                    if (inDay != null && inDay.Count() > 0)
                    {
                        rs.Data  = inDay.Where(x => x.CommandTypeId == (int)eCommandRecive.ProductIncrease).Sum(x => x.Quantity);
                        rs.Data -= inDay.Where(x => x.CommandTypeId == (int)eCommandRecive.ProductReduce).Sum(x => x.Quantity);
                    }

                    var phaseLog = db.P_Phase_Assign_Log.FirstOrDefault(x => x.AssignId == assignId && x.PhaseId == phaseId);

                    if (phaseLog != null)
                    {
                        rs.Value = phaseLog.Quantity;
                    }
                }
                catch (Exception)
                {
                }
            }
            return(rs);
        }
 public List <ReportEvaluateModel> GetDailyReport()
 {
     using (var db = new QMSSystemEntities())
     {
         var now = DateTime.Now;
         List <ReportEvaluateModel> report = new List <ReportEvaluateModel>();
         report.AddRange(db.Q_Major.Select(x => new ReportEvaluateModel()
         {
             ServiceId = x.Id, ServiceName = x.Name
         }));
         if (report.Count > 0)
         {
             var                    danhgia = db.Q_UserEvaluate.Where(x => (x.Q_DailyRequire_Detail.EndProcessTime.Value.Day >= now.Day && x.Q_DailyRequire_Detail.EndProcessTime.Value.Month == now.Month && x.Q_DailyRequire_Detail.EndProcessTime.Value.Year == now.Year) && (x.Q_DailyRequire_Detail.EndProcessTime.Value.Day <= now.Day && x.Q_DailyRequire_Detail.EndProcessTime.Value.Month == now.Month && x.Q_DailyRequire_Detail.EndProcessTime.Value.Year == now.Year)).ToList();
             var                    nvDG    = db.Q_UserMajor.ToList();
             List <int>             userIds;
             List <ModelSelectItem> ycDanhGia = db.Q_EvaluateDetail.
                                                Where(x => !x.IsDeleted && !x.Q_Evaluate.IsDeleted).
                                                OrderBy(x => x.Index).
                                                Select(x => new ModelSelectItem()
             {
                 Code = (x.EvaluateId + "_" + x.Id), Name = x.Name, Id = 0, Data = 0
             }).
                                                ToList();
             foreach (var r in report)
             {
                 userIds = nvDG.Where(x => x.MajorId == r.ServiceId && x.Index == 1).Select(x => x.UserId).Distinct().ToList();
                 r.Details.AddRange(ycDanhGia);
                 if (userIds.Count > 0)
                 {
                     foreach (var yc in r.Details)
                     {
                         var a = new ModelSelectItem();
                         Parse.CopyObject(yc, ref a);
                         a.Id = danhgia.Where(x => x.Score == yc.Code && userIds.Contains(x.UserId)).Count();
                         r.Details.Add(a);
                     }
                 }
             }
         }
         return(report);
     }
 }
 public ActionResult Index()
 {
     try
     {
         ModelSelectItem item = new ModelSelectItem();
         string          info = BaseCore.Instance.GetStringConnectInfo(Server.MapPath("~/Config_XML") + "\\DATA.XML");
         if (!string.IsNullOrEmpty(info))
         {
             var infos = info.Split(',');
             item.Data1 = infos[0]; //txtServerName.Text
             item.Data2 = infos[1]; //cbDatabases.Text
             item.Data3 = infos[2]; //txtLogin.Text
             item.Data4 = infos[3]; //txtPass.Text
             item.Data5 = bool.Parse(infos[4]);
         }
         ViewBag.info = item;
         ViewBag.dbs  = getDatabases(item.Data1, item.Data3, item.Data4, item.Data5);
     }
     catch (Exception)
     { }
     return(View());
 }
Exemple #11
0
        public List <ModelSelectItem> GetLookUp(SqlConnection sqlConnection, bool countWaiting)
        {
            var       model     = new List <ModelSelectItem>();
            string    query     = "select Id, Name,TimeProcess from Q_Works where IsDeleted = 0 ";
            var       da        = new SqlDataAdapter(query, sqlConnection);
            DataTable dataTable = new DataTable();

            da.Fill(dataTable);
            if (dataTable != null && dataTable.Rows.Count > 0)
            {
                ModelSelectItem modelSelectItem;
                foreach (DataRow row in dataTable.Rows)
                {
                    modelSelectItem = new ModelSelectItem()
                    {
                        Id   = Convert.ToInt32(row["Id"].ToString()),
                        Name = row["Name"].ToString(),
                        Data = 0
                    };
                    if (!string.IsNullOrEmpty(row["TimeProcess"].ToString()))
                    {
                        var date = DateTime.Parse(row["TimeProcess"].ToString());
                        modelSelectItem.Code = date.TimeOfDay.ToString();
                    }

                    query = "select COUNT(d.Id) as number from Q_DailyRequire_Detail d , Q_DailyRequire r where r.Id = d.DailyRequireId and UserId is NULL and r.WorkId=" + modelSelectItem.Id;
                    da    = new SqlDataAdapter(query, sqlConnection);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        modelSelectItem.Data = Convert.ToInt32(dt.Rows[0]["number"].ToString());
                    }
                    model.Add(modelSelectItem);
                }
            }
            return(model);
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            ModelSelectItem kg  = (ModelSelectItem)cbKhungGio.SelectedItem;
            ServiceDayModel ghe = (ServiceDayModel)cbService.SelectedItem;

            if (benhnhan == null)
            {
                MessageBox.Show("Bạn chưa chọn bệnh nhân.", "Lỗi nhập liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtcode.Focus();
            }
            else if (kg == null)
            {
                MessageBox.Show("Khung giờ hẹn không được để trống.", "Lỗi nhập liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbKhungGio.Focus();
            }
            else
            {
                Q_Schedule_Detail obj = new Q_Schedule_Detail();
                obj.Id           = _Id;
                obj.CustomerId   = _custId;
                obj.Note         = txtnote.Text;
                obj.ScheduleDate = dtpDateSchedule.Value;
                obj.KhungGioId   = kg.Id;
                obj.ServiceId    = ghe.Id;
                var rs = BLLTimeSchedule.Instance.CreateOrUpdate(connect, obj, benhnhan);
                if (rs.IsSuccess)
                {
                    refreshForm();
                    loadGrid();
                }
                else
                {
                    MessageBox.Show(rs.Errors[0].Message, "Lỗi nhập liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        public List <ReportEvaluateModel> GetReport_NotUseQMS(int userId, DateTime from, DateTime to)
        {
            using (var db = new QMSSystemEntities())
            {
                List <ReportEvaluateModel> report = new List <ReportEvaluateModel>();
                var ycDanhGia = db.Q_EvaluateDetail.
                                Where(x => !x.IsDeleted && !x.Q_Evaluate.IsDeleted).
                                OrderBy(x => x.Index).
                                Select(x => new ModelSelectItem()
                {
                    Code = x.EvaluateId + "_" + x.Id, Name = x.Name, Id = 0, Data = 0
                }).
                                ToList();
                ReportEvaluateModel obj;
                if (userId != 0)
                {
                    obj      = new ReportEvaluateModel();
                    obj.Name = db.Q_User.FirstOrDefault(x => x.Id == userId).Name;
                    obj.Details.AddRange(ycDanhGia);
                    var danhgia_HN = db.Q_UserEvaluate.Where(x => x.CreatedDate >= from && x.CreatedDate <= to && x.UserId == userId).ToList();
                    //  var danhgia_LS = db.Q_HisUserEvaluate.Where(x => (x.Q_HisDailyRequire_De.ProcessTime.Value.Day >= from.Day && x.Q_HisDailyRequire_De.ProcessTime.Value.Month == from.Month && x.Q_HisDailyRequire_De.ProcessTime.Value.Year == from.Year) && (x.Q_HisDailyRequire_De.ProcessTime.Value.Day <= to.Day && x.Q_HisDailyRequire_De.ProcessTime.Value.Month == to.Month && x.Q_HisDailyRequire_De.ProcessTime.Value.Year == to.Year) && x.UserId == userId).ToList();
                    var danhgia_LS = db.Q_HisUserEvaluate.Where(x =>
                                                                x.Q_HisDailyRequire_De.ProcessTime.HasValue &&
                                                                x.Q_HisDailyRequire_De.ProcessTime.Value >= from &&
                                                                x.Q_HisDailyRequire_De.ProcessTime.Value <= to && x.UserId == userId)
                                     .ToList();
                    foreach (var yc in ycDanhGia)
                    {
                        var child = new ModelSelectItem();
                        Parse.CopyObject(yc, ref child);
                        child.Id += danhgia_HN.Where(x => x.Score == yc.Code).Count();
                        child.Id += danhgia_LS.Where(x => x.Score == yc.Code).Count();
                        obj.Details.Add(child);
                    }
                    report.Add(obj);
                }
                else
                {
                    var danhgiaHomnay = db.Q_UserEvaluate.Where(x => x.CreatedDate >= from && x.CreatedDate <= to).ToList();
                    var danhgia_LS    = db.Q_HisUserEvaluate.Where(x => x.Q_HisDailyRequire_De.ProcessTime.HasValue &&
                                                                   x.Q_HisDailyRequire_De.ProcessTime.Value >= from &&
                                                                   x.Q_HisDailyRequire_De.ProcessTime <= to).ToList();

                    report.AddRange(db.Q_User.Select(x => new ReportEvaluateModel()
                    {
                        UserId = x.Id, Name = x.Name
                    }));
                    foreach (var item in report)
                    {
                        //  item.Details.AddRange(ycDanhGia);
                        var objs_HN = danhgiaHomnay.Where(x => x.UserId == item.UserId).ToList();
                        var objs_LS = danhgia_LS.Where(x => x.UserId == item.UserId).ToList();

                        foreach (var yc in ycDanhGia)
                        {
                            var child = new ModelSelectItem();
                            Parse.CopyObject(yc, ref child);
                            child.Id += objs_HN.Where(x => x.Score == yc.Code).Count();
                            child.Id += objs_LS.Where(x => x.Score == yc.Code).Count();
                            item.Details.Add(child);
                        }
                    }
                }
                return(report);
            }
        }
 public KhachHangModel GetByCode(string connectString, string code)
 {
     using (var db = new HMSEntities(connectString))
     {
         try
         {
             var khs = (from x in db.H_KhachHang
                        where !x.IsDeleted && x.Code.Trim().ToUpper() == code.Trim().ToUpper()
                        select new KhachHangModel()
             {
                 Id = x.Id,
                 Ma = x.Code,
                 Ten = x.Name,
                 NSinh = x.Birthday,
                 GTinh = x.Gender,
                 DThoai = x.Phone,
                 DChi = x.Address,
                 TPho = x.City,
                 Huyen = x.District,
                 Phuong = x.Wards,
                 Note = x.Note,
                 NNghiep = (x.H_NgheNghiep != null ? x.H_NgheNghiep.Code : ""),
                 JobId = x.JobId
             }).ToList();
             if (khs.Count > 0)
             {
                 var kh  = khs.FirstOrDefault();
                 var xes = (from x in db.H_SellReceipt
                            where !x.IsDeleted && !x.H_KhachHang.IsDeleted && x.KHId == kh.Id
                            orderby x.CreatedDate descending
                            select new
                 {
                     Id = x.Id,
                     Name = x.H_Model.Note,
                     Data1 = x.MachineNumber,
                     Data2 = x.ChassisNumber,
                     Data3 = x.LicenseNumber,
                     Data = x.ModelId,
                     Record = x.WorkTypeId,
                     Data4 = x.CreatedDate
                 }).ToList();
                 if (xes.Count > 0)
                 {
                     for (int i = 0; i < xes.Count; i++)
                     {
                         var obj = new ModelSelectItem();
                         Parse.CopyObject(xes[i], ref obj);
                         obj.Data4 = xes[i].Data4.ToString("dd/MM/yyyy");
                         kh.Xes.Add(obj);
                     }
                 }
                 return(kh);
             }
             return(null);
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
Exemple #15
0
        /// <summary>
        ///
        /// </summary>
        private void Save_N()
        {
            try
            {
                // Kiem tra tinh trang cap nhap trang thai IsFinishBTPThoatChuyen
                // Update nhung row cap nhap sai hoac khong cap nhap
                string strError = string.Empty;
                chuyen_sanphamDAO.UpdateIsFinishBTPChuyen();
                SanPham         sanPham          = (SanPham)lueSanPham.GetSelectedDataRow();
                Chuyen          chuyen           = ((Chuyen)cbbChuyen.SelectedItem);
                ModelSelectItem size             = ((ModelSelectItem)cbSize.SelectedItem);
                ModelSelectItem color            = ((ModelSelectItem)cbColor.SelectedItem);
                ModelSelect     modelSelectMorth = (ModelSelect)cbbMorth.SelectedItem;
                ModelSelect     modelSelectYear  = (ModelSelect)cbbYear.SelectedItem;
                if (chuyen == null)
                {
                    MessageBox.Show("Bạn chưa chọn chuyền sản xuất. Vui lòng thực hiện thao tác này...", "Lỗi nhập liệu");
                }
                else if (sanPham == null)
                {
                    MessageBox.Show("Bạn chưa chọn Mặt Hàng để phân cho chuyền. Vui lòng thực hiện thao tác này...\n", "Lỗi nhập liệu");
                }
                else if (string.IsNullOrEmpty(txtSTTThucHien.Text))
                {
                    MessageBox.Show("Bạn chưa nhập thứ tự thực hiện mặt hàng của chuyền.\n", "Lỗi nhập liệu");
                }
                else if (modelSelectMorth == null)
                {
                    MessageBox.Show("Bạn chưa chọn thông tin tháng thực hiện.\n", "Lỗi nhập liệu");
                }
                else if (modelSelectYear == null)
                {
                    MessageBox.Show("Bạn chưa chọn thông tin năm thực hiện.\n", "Lỗi nhập liệu");
                }
                //  else if (string.IsNullOrEmpty(txtNangXuatSanXuat.Text))
                // MessageBox.Show("Bạn chưa nhập thời gian chế tạo mặt hàng.\n", "Lỗi nhập liệu");
                //  else if (string.IsNullOrEmpty(txtNangXuatSanXuat.Text))
                //     MessageBox.Show("Vui lòng nhập năng suất sản xuất", "Lỗi nhập liệu");
                else if (txtSanLuongKeHoach.Value <= 0)
                {
                    MessageBox.Show("Sản lượng kế hoạch của mặt hàng phải lớn hơn 0, hoặc bạn nhập sai định dạng dữ liệu.\n", "Lỗi nhập liệu");
                }
                else
                {
                    var csp = new PMS.Data.Chuyen_SanPham();
                    csp.MaChuyen        = chuyen.MaChuyen;
                    csp.MaSanPham       = sanPham.MaSanPham;
                    csp.Thang           = modelSelectMorth.Value;
                    csp.Nam             = modelSelectYear.Value;
                    csp.STTThucHien     = int.Parse(txtSTTThucHien.Text);
                    csp.SanLuongKeHoach = (int)txtSanLuongKeHoach.Value;
                    csp.STT             = sttChuyenSanPham;
                    csp.HideForever     = cbStopForever.Checked;
                    csp.DateInput       = dtInput.Value;
                    csp.DateOutput      = dtOutput.Value;
                    if (size != null)
                    {
                        csp.SizeId = size.Id;
                    }
                    if (color != null)
                    {
                        csp.ColorId = color.Id;
                    }

                    #region ADD
                    var oldObj = BLLAssignmentForLine.Instance.CheckExists(sttChuyenSanPham, csp.MaChuyen, csp.MaSanPham);
                    if (oldObj != null)
                    {
                        #region
                        if (!oldObj.IsFinish)
                        {
                            #region  chưa ket thuc update binh thuong
                            if (MessageBox.Show("Thông tin phân công đã tồn tại, bạn có muốn thay đổi thông tin", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                            {
                                if (csp.SanLuongKeHoach <= oldObj.LuyKeTH)
                                {
                                    csp.IsFinish = true;
                                    csp.IsFinishBTPThoatChuyen = true;
                                }
                                csp.STT         = oldObj.STT;
                                csp.UpdatedDate = DateTime.Now;
                                csp.HideForever = cbStopForever.Checked;
                                var kq = BLLAssignmentForLine.Instance.Update(csp, false, frmMainNew.getBTPInLineByType);
                                if (kq.IsSuccess)
                                {
                                    LoadPhanCongRaDataGridView();
                                    ResetForm();
                                    // if (!frmMainNew.IsStopProcess)
                                    //     frmMainNew.RunAllProcess();

                                    if (csp.IsFinish)
                                    {
                                        #region kết thúc đơn hàng update lại thông tin keypad
                                        var rs = BLLDayInfo.CreateNewDayInfoAfterFinishAssignment(csp.MaChuyen);
                                        if (!rs.IsSuccess && rs.Messages[0] != null)
                                        {
                                            MessageBox.Show(rs.Messages[0].msg, rs.Messages[0].Title, MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        }
                                        else
                                        {
                                            BLLProductivity.ResetNormsDayAndBTPInLine(frmMainNew.getBTPInLineByType, frmMainNew.calculateNormsdayType, frmMainNew.TypeOfCaculateDayNorms, csp.MaChuyen, false, frmMainNew.todayStr);
                                        }

                                        Helper.HelperControl.ResetKeypad(csp.MaChuyen, false, frmMainNew);
                                        #endregion
                                    }
                                }
                                MessageBox.Show(kq.Messages[0].msg, kq.Messages[0].Title);
                            }
                            #endregion
                        }
                        else
                        {
                            if (MessageBox.Show("Bạn đã phân công mặt hàng " + sanPham.TenSanPham + " cho chuyền " + chuyen.TenChuyen + " vào thời gian " + oldObj.TimeAdd.ToShortDateString() + " với Sản lượng kế hoạch : " + oldObj.SanLuongKeHoach + "(sp) và đã sản xuất được :" + oldObj.LuyKeTH + "(sp).Kết thúc vào ngày " + dateNow + ". Bạn có muốn cập nhập thông tin cho phân công này không ?", "Cập nhập dữ liệu", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                #region da ket thuc update lai san luong ke hoach de san xuat tiep
                                if (csp.SanLuongKeHoach < oldObj.SanLuongKeHoach)
                                {
                                    MessageBox.Show("Sản lượng kế hoạch của Phân công mới không được nhỏ hơn Sản lượng kế hoạch của Phân công cũ.\nVui lòng nhập lại sản lượng kế hoạch.", "Lỗi nhập liệu");
                                }
                                else
                                {
                                    // update lai san luong ke hoach san xuat tiep
                                    csp.IsFinish = csp.SanLuongKeHoach > oldObj.SanLuongKeHoach ? false : true;
                                    csp.IsFinishBTPThoatChuyen = csp.IsFinish;
                                    csp.IsFinishNow            = csp.IsFinish;
                                    csp.STT         = oldObj.STT;
                                    csp.HideForever = cbStopForever.Checked;
                                    csp.UpdatedDate = DateTime.Now;
                                    var kq = BLLAssignmentForLine.Instance.Update(csp, true, frmMainNew.getBTPInLineByType);
                                    if (kq.IsSuccess)
                                    {
                                        LoadPhanCongRaDataGridView();
                                        ResetForm();
                                        //  if (!frmMainNew.IsStopProcess)
                                        //     frmMainNew.RunAllProcess();
                                    }
                                    MessageBox.Show(kq.Messages[0].msg, kq.Messages[0].Title);
                                }
                                #endregion
                            }
                            else
                            {
                                //tao phan cong moi
                                csp.TimeAdd     = DateTime.Now;
                                csp.HideForever = false;
                                InsertAssignment(csp);
                            }
                        }
                        #endregion
                    }
                    else
                    {
                        #region
                        csp.TimeAdd     = DateTime.Now;
                        csp.HideForever = false;
                        InsertAssignment(csp);
                        #endregion
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi Exception: " + ex.Message, "Lỗi Ngoại Lệ");
            }
        }