/// <summary> /// new method date : 14/9/2016 - Hai /// </summary> /// <param name="sttChuyen_SanPham"></param> /// <param name="thoiGianCheTaoSanPham"></param> /// <param name="maChuyen"></param> private void SaveData(int sttChuyen_SanPham, double thoiGianCheTaoSanPham, int maChuyen) { try { // Kiem tra tinh trang cap nhap trang thai IsFinishBTPThoatChuyen // Update nhung row cap nhap sai hoac khong cap nhap chuyen_sanphamDAO.UpdateIsFinishBTPChuyen(); if (maChuyen != 0) { var thanhpham = new ThanhPhamModel(); thanhpham.Id = dailyWorkerInfoId; thanhpham.Ngay = selectedDate; thanhpham.STTChuyen_SanPham = sttChuyen_SanPham; thanhpham.CreatedDate = DateTime.Now; thanhpham.ShowLCD = chkbShowLCD.Checked; thanhpham.HieuSuat = double.Parse(numHieuSuat.Text); double nangSuatLaoDong = 0; double.TryParse(txtNangSuatLaoDong.Text, out nangSuatLaoDong); thanhpham.NangXuatLaoDong = nangSuatLaoDong; nangSuatLaoDong = 0; double.TryParse(txtLean.Text, out nangSuatLaoDong); thanhpham.LeanKH = nangSuatLaoDong; thanhpham.LaoDongChuyen = (int)txtLaoDongChuyen.Value; thanhpham.LDOff = (int)numOff.Value; thanhpham.LDNew = (int)numNew.Value; thanhpham.LDPregnant = (int)numPregnant.Value; thanhpham.LDVacation = (int)numVacation.Value; thanhpham.LineId = maChuyen; // Thông tin nang xuat var nangxuat = new NangXuat(); nangxuat.Ngay = selectedDate; nangxuat.STTCHuyen_SanPham = thanhpham.STTChuyen_SanPham; nangxuat.DinhMucNgay = (double)numDinhMucNgay.Value; // (float)Math.Round((thanhpham.NangXuatLaoDong * thanhpham.LaoDongChuyen), 1); nangxuat.NhipDoSanXuat = (float)Math.Round((((thoiGianCheTaoSanPham * 100) / double.Parse(numHieuSuat.Text)) / thanhpham.LaoDongChuyen), 1); nangxuat.TimeLastChange = DateTime.Now.TimeOfDay; nangxuat.IsStopOnDay = chkIsStopOnDay.Checked; if (nangxuat.IsStopOnDay) { nangxuat.TimeStopOnDay = DateTime.Now.TimeOfDay; } var chuyenSanPham = BLLAssignmentForLine.Instance.LayLuyKeTHandKeHoachTheoSTT(sttChuyen_SanPham); bool isEndDate = false; int soLuongConLai = chuyenSanPham.SanLuongKeHoach - chuyenSanPham.LuyKeTH; if (chuyenSanPham != null && soLuongConLai <= nangxuat.DinhMucNgay) { /// check lai DMNgay isEndDate = true; nangxuat.DinhMucNgay = soLuongConLai; // thanhpham.NangXuatLaoDong = nangxuat.DinhMucNgay / thanhpham.LaoDongChuyen; } nangxuat.IsEndDate = isEndDate; nangxuat.TGCheTaoSP = (int)((thoigianchetao * 100) / thanhpham.HieuSuat); thanhpham.NangSuatObj = nangxuat; if (thanhpham.NangXuatLaoDong > 0 && thanhpham.LaoDongChuyen > 0) { var rs = BLLProductivity.InsertOrUpdate_TP(thanhpham, frmMainNew.getBTPInLineByType, frmMainNew.calculateNormsdayType, frmMainNew.TypeOfCaculateDayNorms); if (rs.IsSuccess) { GetDayInformationToGridView(); ResetForm(); dailyWorkerInfoId = 0; SetProductivityWorker(); HelperControl.ResetKeypad(maChuyen, false, frmMainNew); } MessageBox.Show(rs.Messages[0].msg, rs.Messages[0].Title); } else { MessageBox.Show("Lỗi: Bạn chưa nhập đúng thông tin Năng Suất Lao Động hoặc Số Lao Động", "Lỗi thao tác", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { 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 thao tác", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { MessageBox.Show("Lỗi: " + ex.Message); } }
/// <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ệ"); } }