Beispiel #1
0
        private void SaveBTP_HC(LineModel chuyen, AssignmentForLineModel sanpham)
        {
            if (slkh < (lkht + txtQuantity.Value))
            {
                MessageBox.Show("Số lương bạn nhập hiện tại đã vượt sản lượng kế hoạch. Vui lòng nhập trong phạm vi sản lượng kế hoạch", "Lỗi nhập liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                var btpStructObj = ((PhaseModel)cbbtp_hcStruct.SelectedItem);

                var newObj = new  PhaseDailyModel();
                newObj.CommandTypeId = (int)eCommandRecive.ProductIncrease;
                newObj.PhaseId       = btpStructObj.Id;
                newObj.AssignId      = sanpham.STT;
                newObj.Quantity      = (int)txtQuantity.Value;
                var rs = BLLBTP_HCStructure.Instance.InsertBTPDay(newObj);
                if (rs.IsSuccess)
                {
                    Reset();
                    LoadAssignments(cboCommo.SelectedIndex);
                    if (rs.DataSendKeyPad != null)
                    {
                        frmMainNew.listDataSendKeyPad.Add(rs.DataSendKeyPad);
                    }
                    if (rs.Records != null)
                    {
                        BLLProductivity.ResetNormsDayAndBTPInLine(frmMainNew.getBTPInLineByType, frmMainNew.calculateNormsdayType, frmMainNew.TypeOfCaculateDayNorms, chuyen.MaChuyen, false, frmMainNew.todayStr);
                        DuAn03_HaiDang.Helper.HelperControl.ResetKeypad(chuyen.MaChuyen, false, frmMainNew);
                    }
                }
                MessageBox.Show(rs.Messages[0].msg, rs.Messages[0].Title);
                lbQuantitiesBTPHC.Text = newObj.Quantity.ToString();
            }
        }
Beispiel #2
0
 private void SaveBTP(LineModel chuyen, AssignmentForLineModel sanpham)
 {
     if ((int.Parse(lblkbtp.Text) + txtQuantity.Value) > int.Parse(lblkbtppbhc.Text) && frmMainNew.isUseBTP_HC == 1)
     {
         MessageBox.Show("Sản lượng lũy kế BTP hoàn chỉnh chưa đủ. Vui lòng nhập thêm sản lượng BTP hoàn chỉnh.", "Lỗi nhập liệu", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     else
     {
         var tdn = new PMS.Data.TheoDoiNgay();
         tdn.STT                 = 0;
         tdn.MaChuyen            = chuyen.MaChuyen;
         tdn.MaSanPham           = sanpham.MaSanPham;
         tdn.CumId               = chuyen.LastClusterId;
         tdn.STTChuyenSanPham    = sanpham.STT;
         tdn.ThanhPham           = (int)txtQuantity.Value;
         tdn.CommandTypeId       = radioGroup1.SelectedIndex == 0 ? (int)eCommandRecive.ProductIncrease : (int)eCommandRecive.ProductReduce;
         tdn.ProductOutputTypeId = (int)eProductOutputType.BTP;
         var rs = BLLDayInfo.InsertOrUpdate(tdn, frmMainNew.appId, true, frmMainNew.TypeOfCheckFinishProduction);
         if (rs.IsSuccess)
         {
             Reset();
             LoadAssignments(cboCommo.SelectedIndex);
             if (rs.DataSendKeyPad != null)
             {
                 frmMainNew.listDataSendKeyPad.Add(rs.DataSendKeyPad);
             }
             if (rs.Records != null)
             {
                 DuAn03_HaiDang.Helper.HelperControl.ResetKeypad(chuyen.MaChuyen, false, frmMainNew);
             }
             BLLProductivity.ResetNormsDayAndBTPInLine(frmMainNew.getBTPInLineByType, frmMainNew.calculateNormsdayType, frmMainNew.TypeOfCaculateDayNorms, chuyen.MaChuyen, false, frmMainNew.todayStr);
         }
         MessageBox.Show(rs.Messages[0].msg, rs.Messages[0].Title);
     }
 }
Beispiel #3
0
 private void btnDelete_s_Click(object sender, EventArgs e)
 {
     try
     {
         if (MessageBox.Show("Việc xoá dữ liệu trong mục Phân Hàng Cho Chuyền sẽ xoá hết toàn bộ dữ liệu có liên quan khác. \n Bạn có thực sự muốn xoá?", "Cảnh báo xoá", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
         {
             if (sttChuyenSanPham != 0)
             {
                 var isThucHien = BLLProductivity.CheckIsHasProductivity(sttChuyenSanPham);
                 if (isThucHien == null)
                 {
                     var result = BLLAssignmentForLine.Instance.Delete(sttChuyenSanPham);
                     if (result.IsSuccess)
                     {
                         LoadPhanCongRaDataGridView();
                     }
                     MessageBox.Show(result.Messages[0].msg, result.Messages[0].Title);
                 }
                 else
                 {
                     MessageBox.Show("Lỗi: phân công này đã được đưa vào thực hiện ở những ngày trước, bạn không thể xoá nó.");
                 }
             }
             else
             {
                 MessageBox.Show("Lỗi: Bạn chưa chọn thông tin muốn xoá.", "Lỗi thao tác", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Lỗi: " + ex.Message);
     }
 }
        private List <string> LoadDataNSChuyenExportToExcel(string tieuDe, string path, string fileName)
        {
            List <string> listFilePath = new List <string>();

            try
            {
                if (listChuyen != null && listChuyen.Count > 0)
                {
                    int appId = 1;
                    int.TryParse(ConfigurationManager.AppSettings["AppId"].ToString(), out appId);
                    var nx = BLLProductivity.GetProductivitiesInDay(AccountSuccess.strListChuyenId.Split(',').Select(x => Convert.ToInt32(x)).ToList(), appId);
                    dtDataNSChuyenExportExcel.Rows.Clear();
                    if (nx.Count > 0)
                    {
                        DataRow row;
                        foreach (var item in nx)
                        {
                            row = dtDataNSChuyenExportExcel.NewRow();
                            row.SetField(0, item.LineName);
                            row.SetField(1, item.LaborInLine);
                            row.SetField(2, item.CommoName);
                            row.SetField(3, item.ProductionPlans);
                            row.SetField(4, item.LK_TH);
                            row.SetField(5, item.LK_BTP);
                            row.SetField(6, item.NormsOfDay);
                            row.SetField(7, item.BTP_Day);
                            row.SetField(8, item.TH_Day);
                            row.SetField(9, item.ErrorsInDay);
                            row.SetField(10, item.TH_Percent);
                            row.SetField(11, item.ErrorPercent);
                            row.SetField(12, item.BTPInLine);
                            row.SetField(13, item.Funds);
                            row.SetField(14, item.ResearchPaced);
                            row.SetField(15, item.CurrentPacedProduction);
                            row.SetField(16, item.TC_Paced);
                            row.SetField(17, item.RevenuesInDay);
                            row.SetField(18, item.RevenuesInMonth);
                            row.SetField(19, item.TC_Day);
                            row.SetField(20, item.LK_TC);
                            dtDataNSChuyenExportExcel.Rows.Add(row);
                        }
                        var result = ReportDB.ExportToExcelByDataTable(tieuDe, path, fileName, dtDataNSChuyenExportExcel);
                        if (result)
                        {
                            listFilePath.Add(path + fileName);
                        }
                        else
                        {
                            MessageBox.Show("Lỗi: Tạo file excel năng suất chuyền không thành công.");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi: " + ex.Message);
            }
            return(listFilePath);
        }
Beispiel #5
0
        private void btnAdd_s_Click(object sender, EventArgs e)
        {
            try
            {
                var chuyen  = ((LineModel)cboChuyen_0.SelectedItem);
                var sanpham = ((AssignmentForLineModel)cboSanPham_0.SelectedItem);
                int.TryParse(ConfigurationManager.AppSettings["AppId"].ToString(), out appId);
                if (chuyen.MaChuyen != 0)
                {
                    STTC_SP = 0;
                    var tdn = new PMS.Data.TheoDoiNgay();
                    tdn.STT              = STTC_SP;
                    tdn.MaChuyen         = chuyen.MaChuyen;
                    tdn.MaSanPham        = sanpham.MaSanPham;
                    tdn.CumId            = chuyen.LastClusterId;
                    tdn.STTChuyenSanPham = sanpham.STT;
                    tdn.ThanhPham        = (int)txtsl.Value;
                    tdn.CommandTypeId    = radioGroup1.SelectedIndex == 0 ? (int)eCommandRecive.ProductIncrease : (int)eCommandRecive.ProductReduce;

                    switch (cbProType.SelectedIndex)
                    {
                    case 0: tdn.ProductOutputTypeId = (int)eProductOutputType.TC; break;

                    case 1: tdn.ProductOutputTypeId = (int)eProductOutputType.KCS; break;

                    case 2: tdn.ProductOutputTypeId = (int)eProductOutputType.BTP; break;

                    case 3: tdn.ProductOutputTypeId = (int)eProductOutputType.BTP_HC; break;

                    case 4: tdn.ProductOutputTypeId = (int)eProductOutputType.Error;
                        tdn.ErrorId = ((PMS.Data.Error)cbError.SelectedItem).Id;
                        break;
                    }

                    var rs = BLLDayInfo.InsertOrUpdate(tdn, appId, false, frmMainNew.TypeOfCheckFinishProduction);
                    if (rs.IsSuccess)
                    {
                        Reset();
                        LoadALLNSOfPCC();
                        frmMainNew.listDataSendKeyPad.Add(rs.DataSendKeyPad);
                        BLLProductivity.ResetNormsDayAndBTPInLine(frmMainNew.getBTPInLineByType, frmMainNew.calculateNormsdayType, frmMainNew.TypeOfCaculateDayNorms, chuyen.MaChuyen, false, frmMainNew.todayStr);
                        if (rs.Records != null)
                        {
                            DuAn03_HaiDang.Helper.HelperControl.ResetKeypad(chuyen.MaChuyen, false, frmMainNew);
                        }
                    }
                    else
                    {
                        MessageBox.Show(rs.Messages[0].msg, rs.Messages[0].Title);
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Beispiel #6
0
 private void GetNew()
 {
     try
     {
         var data = BLLProductivity.GetProductivitiesInDay(AccountSuccess.strListChuyenId.Split(',').Select(x => Convert.ToInt32(x)).ToList(), frmMain.appId);
         gridControl1.DataSource = data;
     }
     catch (Exception ex)
     {
         //  frmMain.GhiFileLog(DateTime.Now + "loi GetNew form dayinfo_view ex :" + ex.Message + " \n");
     }
 }
        private void GetNew()
        {
            var data = BLLProductivity.GetProductivitiesInDay(AccountSuccess.strListChuyenId.Split(',').Select(x => Convert.ToInt32(x)).ToList(), AppId);

            dgTTNangXuat.DataSource = data;
            for (int i = 0; i < data.Count; i++)
            {
                if (data[i].IsFinish)
                {
                    dgTTNangXuat.Rows[i].DefaultCellStyle.BackColor = Color.PaleVioletRed;
                }
            }
        }
Beispiel #8
0
        private void LoadDataNS()
        {
            var spCuaChuyen = (AssignmentForLineModel)cboSanPham_1.SelectedItem;
            var chuyen      = (LineModel)cboChuyen_1.SelectedItem;

            if (chuyen != null && chuyen.MaChuyen != 0 && spCuaChuyen != null && spCuaChuyen.MaSanPham != 0)
            {
                //  butUpdate.Enabled = true;
                var nangSuatTrongNgay = BLLProductivity.TTNangXuatTrongNgay(frmMainNew.todayStr, spCuaChuyen.STT);
                if (nangSuatTrongNgay != null)
                {
                    lblDinhMucNgay_1.Text     = ((int)nangSuatTrongNgay.DinhMucNgay).ToString();
                    lblSanLuongKeHoach_1.Text = spCuaChuyen.SanLuongKeHoach.ToString();
                    int thucHienNgay = nangSuatTrongNgay.ThucHienNgay - nangSuatTrongNgay.ThucHienNgayGiam;
                    if (thucHienNgay < 0)
                    {
                        thucHienNgay = 0;
                    }
                    lblThucHienNgayCu.Text = thucHienNgay.ToString();
                    txtThucHienNgay.Value  = thucHienNgay;

                    //int sttChuyenSanPham = spCuaChuyen.STT;
                    //// var chuyenSanPhamOld = chuyen_sanphamDAO.GetChuyenSanPham(dtpNgayThucHien.Value.AddDays(-1), sttChuyenSanPham, chuyen.MaChuyen);

                    //var dt = dtpNgayThucHien.Value.AddDays(-1);

                    //var chuyenSanPhamOld = BLLAssignmentForLine.Instance.GetAssignmentByDay((dt.Day + "/" + dt.Month + "/" + dt.Year), sttChuyenSanPham, chuyen.MaChuyen);
                    //if (chuyenSanPhamOld != null)
                    lblLuyKeThucHienTruoc.Text = BLLAssignmentForLine.Instance.GetKCSToDay(dtpNgayThucHien.Value, spCuaChuyen.STT).ToString();

                    var TPThoatChuyen = (nangSuatTrongNgay.BTPThoatChuyenNgay - nangSuatTrongNgay.BTPThoatChuyenNgayGiam);
                    lbThoatChuyenCu.Text    = (TPThoatChuyen < 0 ? 0 : TPThoatChuyen).ToString();
                    txtThoatChuyenMoi.Value = (TPThoatChuyen < 0 ? 0 : TPThoatChuyen);

                    var btp = (nangSuatTrongNgay.BTPTang - nangSuatTrongNgay.BTPGiam);
                    lbBTP_Old.Text   = (btp < 0 ? "0" : "" + btp);
                    txtBTP_New.Value = (btp < 0 ? 0 : btp);
                }
                else
                {
                    butUpdate.Enabled = false;
                    if (MessageBox.Show("Không tìm thấy thông tin năng suất ngày của chuyền " + chuyen.TenChuyen + " trong ngày " + dtpNgayThucHien.Value.Date.ToString() + ". Bạn có muốn nhập thông tin ngày của chuyền không?", "Cảnh báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        FrmSetDayInformation form = new FrmSetDayInformation(frmMainNew);
                        form.ShowDialog();
                        LoadALLNSOfPCC();
                    }
                }
            }
        }
Beispiel #9
0
 private void GetDayInformationToGridView()
 {
     try
     {
         Chuyen line = (Chuyen)cbbChuyen.SelectedItem;
         if (line != null)
         {
             gridControl.DataSource = null;
             var listInformation = BLLProductivity.GetDailyWorkerInformation(line.MaChuyen, dtpNgayLamViec.Value);
             if (listInformation != null && listInformation.Count > 0)
             {
                 gridControl.DataSource = listInformation;
             }
         }
     }
     catch (Exception) { }
 }
Beispiel #10
0
 private void LoadALLNSOfPCC_()
 {
     try
     {
         gridControlListNS.DataSource = null;
         var spCuaChuyen = (AssignmentForLineModel)cboSanPham_1.SelectedItem;
         if (spCuaChuyen != null && spCuaChuyen.MaSanPham != 0)
         {
             //  var listNS = nangSuatDAO.GetAllNSOfPCC(spCuaChuyen.STT);
             var listNS = BLLProductivity.GetAllNSOfPCC(spCuaChuyen.STT);
             if (listNS != null && listNS.Count > 0)
             {
                 gridControlListNS.DataSource = listNS;
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Lỗi: " + ex.Message);
     }
 }
Beispiel #11
0
 private void butUpdate_Click(object sender, EventArgs e)
 {
     try
     {
         var spCuaChuyen = (AssignmentForLineModel)cboSanPham_1.SelectedItem;
         var chuyen      = (LineModel)cboChuyen_1.SelectedItem;
         if (chuyen != null && chuyen.MaChuyen != 0 && spCuaChuyen != null && spCuaChuyen.MaSanPham != 0)
         {
             var rs = BLLProductivity.UpdateLKOnDay(spCuaChuyen.STT, (int)txtThucHienNgay.Value, (int)txtThoatChuyenMoi.Value, (int)txtBTP_New.Value, txtNgay.Text, chuyen.LastClusterId, frmMainNew.getBTPInLineByType, frmMainNew.calculateNormsdayType, frmMainNew.TypeOfCaculateDayNorms, frmMainNew.TypeOfCheckFinishProduction);
             if (rs.IsSuccess)
             {
                 LoadDSSanPham(1);
                 BLLProductivity.ResetNormsDayAndBTPInLine(frmMainNew.getBTPInLineByType, frmMainNew.calculateNormsdayType, frmMainNew.TypeOfCaculateDayNorms, chuyen.MaChuyen, false, frmMainNew.todayStr);
             }
             MessageBox.Show(rs.Messages[0].msg, rs.Messages[0].Title);
             butClose.Enabled  = false;
             butUpdate.Enabled = false;
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Lỗi: " + ex.Message);
     }
 }
        private List <string> GetChart(string tieuDe, string path, string fileName, bool IsError, bool IsKCS, bool IsInHour, int getType)
        {
            var listFilePath = new List <string>();

            try
            {
                var lines  = BLLProductivity.GetProductiviesOfLinesInDay(AccountSuccess.strListChuyenId.Split(',').Select(x => int.Parse(x)).ToList(), DateTime.Now, IsInHour, getType);
                var result = ReportDB.DrawChartAndExport(lines, tieuDe, path, fileName, IsError, IsKCS);

                if (result)
                {
                    listFilePath.Add(path + fileName);
                }
                else
                {
                    MessageBox.Show("Lỗi: Tạo file excel không thành công.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi: " + ex.Message);
            }
            return(listFilePath);
        }
Beispiel #13
0
        /// <summary>
        /// reset keypad tinh san luong rieng theo tung keypad ko cong chung tat ca lai
        /// </summary>
        /// <param name="lineId"></param>
        /// <param name="sttChuyenSanPham"></param>
        /// <param name="errorId"></param>
        /// <param name="typeOfProduction"></param>
        /// <param name="todayStr"></param>
        /// <param name="frmMainNew"></param>
        public static void ResetKeypad_moi(int lineId, int sttChuyenSanPham, int errorId, int typeOfProduction, string todayStr, FrmMainNew frmMainNew)
        {
            try
            {
                var assigns = BLLProductivity.GetProductivitiesInDay(todayStr, lineId);
                if (assigns != null && assigns.Count > 0)
                {
                    for (int i = 0; i < assigns.Count; i++)
                    {
                        if (assigns[i].STTCHuyen_SanPham == sttChuyenSanPham)
                        {
                            var keypads = BLLKeyPad.GetKeyPadInfoByLineId(lineId);
                            if (keypads != null && keypads.Count > 0)
                            {
                                var tdns       = BLLDayInfo.GetByCommoId(sttChuyenSanPham, assigns[i].productId, frmMainNew.todayStr);
                                var btps       = BLLDayInfo.GetBTPNgay(sttChuyenSanPham, frmMainNew.todayStr);
                                int quantities = 0;
                                foreach (var keyPadInfo in keypads)
                                {
                                    if (keyPadInfo.UseTypeId == (int)eUseKeyPadType.OneKeyPadOneObject)
                                    {
                                        var slCuaKeypad = tdns.Where(x => x.EquipmentId == keyPadInfo.EquipmentId).ToList();
                                        var slBTPKeypad = btps.Where(x => x.EquipmentId == keyPadInfo.EquipmentId).ToList();

                                        // frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ClearData + ",,");
                                        switch (typeOfProduction)
                                        {
                                        case (int)eProductOutputType.KCS:
                                            if (keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.All || keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.KCS)
                                            {
                                                quantities  = slCuaKeypad.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductIncrease && c.ProductOutputTypeId == (int)eProductOutputType.KCS).Sum(c => c.ThanhPham);
                                                quantities -= slCuaKeypad.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductReduce && c.ProductOutputTypeId == (int)eProductOutputType.KCS).Sum(c => c.ThanhPham);
                                                frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + (i + 1) + "," + (quantities < 0 ? 0 : quantities) + "," + (int)eProductOutputType.KCS);
                                            }
                                            break;

                                        case (int)eProductOutputType.TC:
                                            if (keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.All || keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.TC)
                                            {
                                                quantities  = slCuaKeypad.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductIncrease && c.ProductOutputTypeId == (int)eProductOutputType.TC).Sum(c => c.ThanhPham);
                                                quantities -= slCuaKeypad.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductReduce && c.ProductOutputTypeId == (int)eProductOutputType.TC).Sum(c => c.ThanhPham);
                                                frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + (i + 1) + "," + (quantities < 0 ? 0 : quantities) + "," + (int)eProductOutputType.TC);
                                            }
                                            break;

                                        case (int)eProductOutputType.BTP:
                                            if (keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.All || keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.BTP)
                                            {
                                                quantities  = slBTPKeypad.Where(c => c.CommandTypeId == (int)eCommandRecive.BTPIncrease).Sum(c => c.BTPNgay);
                                                quantities -= slBTPKeypad.Where(c => c.CommandTypeId == (int)eCommandRecive.BTPReduce).Sum(c => c.BTPNgay);
                                                frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + (i + 1) + "," + (quantities < 0 ? 0 : quantities) + ",1");
                                            }
                                            break;

                                        case (int)eProductOutputType.Error:
                                            var errorObj = BLLError.GetById(errorId);
                                            quantities  = slCuaKeypad.Where(c => c.CommandTypeId == (int)eCommandRecive.ErrorIncrease && c.ErrorId.HasValue && c.ErrorId.Value == errorId).Sum(c => c.ThanhPham);
                                            quantities -= slCuaKeypad.Where(c => c.CommandTypeId == (int)eCommandRecive.ErrorReduce && c.ErrorId.HasValue && c.ErrorId.Value == errorId).Sum(c => c.ThanhPham);
                                            frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductError + "," + (i + 1) + "," + (quantities < 0 ? 0 : quantities) + "," + errorObj.Code);
                                            break;
                                        }
                                    }
                                }
                            }
                            break;
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Beispiel #14
0
        /// <summary>
        /// Dong bo lai thong tin keypad cua tat cac cac cum sau khi su ly xong
        /// </summary>
        /// <param name="lineId"></param>
        /// <param name="sttChuyenSanPham"></param>
        /// <param name="errorId"></param>
        /// <param name="typeOfProduction">loai hinh nang suat KCS - TC - BTP -ERROR </param>
        /// <param name="todayStr"></param>
        /// <param name="frmMainNew"></param>
        public static void ResetKeypad(int lineId, int sttChuyenSanPham, int errorId, int typeOfProduction, string todayStr, FrmMainNew frmMainNew)
        {
            try
            {
                // frmMainNew.aaaaa = "";
                var assigns = BLLProductivity.GetProductivitiesInDay(todayStr, lineId);
                if (assigns != null && assigns.Count > 0)
                {
                    for (int i = 0; i < assigns.Count; i++)
                    {
                        if (assigns[i].STTCHuyen_SanPham == sttChuyenSanPham)
                        {
                            var keypads = BLLKeyPad.GetKeyPadInfoByLineId(lineId);
                            if (keypads != null && keypads.Count > 0)
                            {
                                var nxInDay    = BLLProductivity.GetProductivitiesInDay(DateTime.Now, sttChuyenSanPham);
                                int quantities = 0;
                                if (nxInDay != null)
                                {
                                    foreach (var keyPadInfo in keypads)
                                    {
                                        if (keyPadInfo.UseTypeId == (int)eUseKeyPadType.OneKeyPadOneObject)
                                        {
                                            // frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ClearData + ",,");
                                            switch (typeOfProduction)
                                            {
                                            case (int)eProductOutputType.KCS:
                                                if (keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.All || keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.KCS)
                                                {
                                                    //  frmMainNew.aaaaa += " - " + keyPadInfo.EquipmentId.ToString() + "(type:" + keyPadInfo.TypeOfKeypad + ")" + "(typeOfProduction:" + typeOfProduction + ")";
                                                    quantities = (nxInDay.ThucHienNgay - nxInDay.ThucHienNgayGiam);
                                                    frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + (i + 1) + "," + (quantities < 0 ? 0 : quantities) + "," + (int)eProductOutputType.KCS);
                                                }
                                                break;

                                            case (int)eProductOutputType.TC:
                                                if (keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.All || keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.TC)
                                                {
                                                    // frmMainNew.aaaaa += " - " + keyPadInfo.EquipmentId.ToString() + "(type:" + keyPadInfo.TypeOfKeypad + ")" + "(typeOfProduction:" + typeOfProduction + ")";
                                                    quantities = (nxInDay.BTPThoatChuyenNgay - nxInDay.BTPThoatChuyenNgayGiam);
                                                    frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + (i + 1) + "," + (quantities < 0 ? 0 : quantities) + "," + (int)eProductOutputType.TC);
                                                }
                                                break;

                                            case (int)eProductOutputType.BTP:
                                                if (keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.All || keyPadInfo.TypeOfKeypad == (int)eTypeOfKeypad.BTP)
                                                {
                                                    //  frmMainNew.aaaaa += " - " + keyPadInfo.EquipmentId.ToString() + "(type:" + keyPadInfo.TypeOfKeypad + ")" + "(typeOfProduction:" + typeOfProduction + ")";
                                                    quantities = nxInDay.BTPTang - nxInDay.BTPGiam;
                                                    frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + (i + 1) + "," + (quantities < 0 ? 0 : quantities) + ",1");
                                                }
                                                break;

                                            case (int)eProductOutputType.Error:
                                                var errorObj = BLLError.GetById(errorId);
                                                var err      = nxInDay.Errors.FirstOrDefault(x => x.ErrorId == errorId);
                                                frmMainNew.listDataSendKeyPad.Add(keyPadInfo.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductError + "," + (i + 1) + "," + (err != null ? err.SoLuongTang - err.SoLuongGiam : 0) + "," + errorObj.Code);
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                            break;
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Beispiel #15
0
        /// <summary>
        /// khoi tao lai thong tin keypad cho chuyen
        /// </summary>
        /// <param name="lineId"></param>
        /// <param name="IsResetAllToZero">= true neu reset tat ca ve 0 else neu lay thong tin nang suat hien tai</param>
        /// <param name="frmMainNew"></param>
        /// <returns></returns>
        public static bool ResetKeypad_Moi(int lineId, bool IsResetAllToZero, FrmMainNew frmMainNew)
        {
            try
            {
                var    listMapIdSanPhamNgay = new List <PMS.Data.MapIdSanPhamNgay>();
                string ngay = DateTime.Now.Day + "/" + DateTime.Now.Month + "/" + DateTime.Now.Year;

                var    listStrProductConfig = new List <string>();
                var    errors        = BLLError.GetAll();
                string strListChuyen = lineId + ",";
                var    assigns       = BLLProductivity.GetProductivitiesInDay(ngay, lineId);
                if (assigns != null && assigns.Count > 0)
                {
                    var listStrSend        = new List <string>();
                    var listStrSetSanLuong = new List <string>();
                    var sanluongs          = new List <string>();
                    var sttCSP             = new List <int>();
                    int stt = 0;
                    foreach (var item in assigns)
                    {
                        var mapIdSanPhamNgay = new PMS.Data.MapIdSanPhamNgay();
                        mapIdSanPhamNgay.MaChuyen         = item.LineId;
                        mapIdSanPhamNgay.STTChuyenSanPham = item.STTCHuyen_SanPham;
                        mapIdSanPhamNgay.MaSanPham        = item.productId;
                        stt += 1;
                        mapIdSanPhamNgay.STT  = stt;
                        mapIdSanPhamNgay.Ngay = ngay;
                        listMapIdSanPhamNgay.Add(mapIdSanPhamNgay);
                        string strSend    = mapIdSanPhamNgay.STT.ToString() + ",";
                        string tenSanPham = item.ProductName;
                        if (!string.IsNullOrEmpty(tenSanPham))
                        {
                            if (tenSanPham.Length > 10)
                            {
                                strSend += tenSanPham.Substring(0, 10);
                            }
                            else
                            {
                                strSend += tenSanPham;
                            }
                        }
                        listStrSend.Add(strSend);
                        listStrSetSanLuong.Add(mapIdSanPhamNgay.STT.ToString());
                        sttCSP.Add(item.STTCHuyen_SanPham);
                    }

                    //
                    var keypads = BLLKeyPad.GetKeyPadInfoByLineId(lineId);
                    if (keypads != null && keypads.Count > 0)
                    {
                        if (listStrSend.Count > 0 || listStrSetSanLuong.Count > 0)
                        {
                            foreach (var kp_Obj in keypads)
                            {
                                if (kp_Obj.UseTypeId == (int)eUseKeyPadType.OneKeyPadOneObject)
                                {
                                    frmMainNew.listDataSendKeyPad.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ClearData + ",,");
                                    Thread.Sleep(500);
                                    foreach (var strSend in listStrSend)
                                    {
                                        listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ProductConfig + "," + strSend);
                                    }
                                    if (IsResetAllToZero) // reset keypad + reset so lieu ve 0
                                    {
                                        #region
                                        foreach (var strSend in listStrSetSanLuong)
                                        {
                                            // listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + strSend + ",0,1,");
                                            if (errors != null && errors.Count > 0)
                                            {
                                                foreach (var error in errors)
                                                {
                                                    listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductError + "," + strSend + ",0," + error.Code);
                                                }
                                            }

                                            switch (kp_Obj.TypeOfKeypad)
                                            {
                                            case (int)eTypeOfKeypad.All:
                                                listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + strSend + ",0," + (int)eProductOutputType.KCS);
                                                listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + strSend + ",0," + (int)eProductOutputType.TC);
                                                listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + strSend + ",0,,");
                                                listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + strSend + ",0,1,");
                                                break;

                                            case (int)eTypeOfKeypad.KCS:
                                                listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + strSend + ",0," + (int)eProductOutputType.KCS);
                                                break;

                                            case (int)eTypeOfKeypad.TC:
                                                listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + strSend + ",0," + (int)eProductOutputType.TC);
                                                break;

                                            case (int)eTypeOfKeypad.BTP:
                                                listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + strSend + ",0,,");
                                                listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + strSend + ",0,1,");
                                                break;
                                            }
                                        }
                                        #endregion
                                    }
                                    else   // chi reset keypad van giu so lieu cũ
                                    {
                                        for (int i = 0; i < listStrSetSanLuong.Count; i++)
                                        {
                                            var nxInDay = BLLProductivity.GetProductivitiesInDay(DateTime.Now, sttCSP[i]);
                                            if (nxInDay != null)
                                            {
                                                var tdns = BLLDayInfo.GetByCommoId(sttCSP[i], nxInDay.productId, frmMainNew.todayStr).Where(x => x.EquipmentId == kp_Obj.EquipmentId).ToList();
                                                var btps = BLLDayInfo.GetBTPNgay(sttCSP[i], frmMainNew.todayStr).Where(x => x.EquipmentId == kp_Obj.EquipmentId).ToList();

                                                var quantities = 0;

                                                if (errors != null && errors.Count > 0)
                                                {
                                                    foreach (var error in errors)
                                                    {
                                                        quantities  = tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ErrorIncrease && c.ErrorId.HasValue && c.ErrorId.Value == error.Id).Sum(c => c.ThanhPham);
                                                        quantities -= tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ErrorReduce && c.ErrorId.HasValue && c.ErrorId.Value == error.Id).Sum(c => c.ThanhPham);
                                                        listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductError + "," + listStrSetSanLuong[i] + "," + (quantities < 0 ? 0 : quantities) + "," + error.Code);
                                                    }
                                                }

                                                switch (kp_Obj.TypeOfKeypad)
                                                {
                                                case (int)eTypeOfKeypad.All:
                                                    quantities  = tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductIncrease && c.ProductOutputTypeId == (int)eProductOutputType.KCS).Sum(c => c.ThanhPham);
                                                    quantities -= tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductReduce && c.ProductOutputTypeId == (int)eProductOutputType.KCS).Sum(c => c.ThanhPham);
                                                    listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + listStrSetSanLuong[i] + "," + (quantities < 0 ? 0 : quantities) + "," + (int)eProductOutputType.KCS);

                                                    quantities  = tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductIncrease && c.ProductOutputTypeId == (int)eProductOutputType.TC).Sum(c => c.ThanhPham);
                                                    quantities -= tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductReduce && c.ProductOutputTypeId == (int)eProductOutputType.TC).Sum(c => c.ThanhPham);
                                                    listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + listStrSetSanLuong[i] + "," + (quantities < 0 ? 0 : quantities) + "," + (int)eProductOutputType.TC);

                                                    quantities  = btps.Where(c => c.CommandTypeId == (int)eCommandRecive.BTPIncrease).Sum(c => c.BTPNgay);
                                                    quantities -= btps.Where(c => c.CommandTypeId == (int)eCommandRecive.BTPReduce).Sum(c => c.BTPNgay);
                                                    listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + listStrSetSanLuong[i] + "," + (quantities < 0 ? 0 : quantities) + ",,");
                                                    listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + listStrSetSanLuong[i] + "," + 0 + ",1");
                                                    break;

                                                case (int)eTypeOfKeypad.KCS:
                                                    quantities  = tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductIncrease && c.ProductOutputTypeId == (int)eProductOutputType.KCS).Sum(c => c.ThanhPham);
                                                    quantities -= tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductReduce && c.ProductOutputTypeId == (int)eProductOutputType.KCS).Sum(c => c.ThanhPham);
                                                    listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + listStrSetSanLuong[i] + "," + (quantities < 0 ? 0 : quantities) + "," + (int)eProductOutputType.KCS);
                                                    break;

                                                case (int)eTypeOfKeypad.TC:
                                                    quantities  = tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductIncrease && c.ProductOutputTypeId == (int)eProductOutputType.TC).Sum(c => c.ThanhPham);
                                                    quantities -= tdns.Where(c => c.CommandTypeId == (int)eCommandRecive.ProductReduce && c.ProductOutputTypeId == (int)eProductOutputType.TC).Sum(c => c.ThanhPham);
                                                    listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeProductQuantity + "," + listStrSetSanLuong[i] + "," + (quantities < 0 ? 0 : quantities) + "," + (int)eProductOutputType.TC);
                                                    break;

                                                case (int)eTypeOfKeypad.BTP:
                                                    quantities  = 0;
                                                    quantities  = btps.Where(c => c.CommandTypeId == (int)eCommandRecive.BTPIncrease).Sum(c => c.BTPNgay);
                                                    quantities -= btps.Where(c => c.CommandTypeId == (int)eCommandRecive.BTPReduce).Sum(c => c.BTPNgay);
                                                    listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + listStrSetSanLuong[i] + "," + (quantities < 0 ? 0 : quantities) + ",,");
                                                    listStrProductConfig.Add(kp_Obj.EquipmentId.ToString() + "," + (int)eCommandSend.ChangeBTPQuantities + "," + listStrSetSanLuong[i] + "," + 0 + ",1");

                                                    break;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                if (!string.IsNullOrEmpty(strListChuyen) && listMapIdSanPhamNgay.Count > 0)
                {
                    #region
                    var resultAdd = BLLMapCommoIdForDay.AddMapIdSanPhamNgay(strListChuyen.Substring(0, strListChuyen.Length - 1).Split(',').Select(x => Convert.ToInt32(x)).ToList(), listMapIdSanPhamNgay);;
                    if (resultAdd)
                    {
                        if (listStrProductConfig.Count > 0)
                        {
                            frmMainNew.listDataSendKeyPad.AddRange(listStrProductConfig);
                        }

                        if (frmMainNew.listMapIdSanPhamNgay != null)
                        {
                            var olds = frmMainNew.listMapIdSanPhamNgay.Where(x => x.MaChuyen == lineId).ToList();
                            if (olds.Count > 0)
                            {
                                foreach (var item in olds)
                                {
                                    frmMainNew.listMapIdSanPhamNgay.Remove(item);
                                }
                            }
                        }
                        else if (frmMainNew.listMapIdSanPhamNgay == null)
                        {
                            frmMainNew.listMapIdSanPhamNgay = new List <PMS.Data.MapIdSanPhamNgay>();
                        }
                        frmMainNew.listMapIdSanPhamNgay.AddRange(listMapIdSanPhamNgay);

                        // Reset lai thong tin ngay ve 0
                        if (IsResetAllToZero)
                        {
                            BLLProductivity.ResetDayInforByDate(DateTime.Now, assigns.Select(x => x.STTCHuyen_SanPham).ToList(), frmMainNew.getBTPInLineByType);
                        }
                        return(true);
                    }
                    #endregion
                }
            }
            catch (Exception)
            { }
            return(false);
        }
Beispiel #16
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ệ");
            }
        }
Beispiel #17
0
        private void SetProductivityWorker()
        {
            try
            {
                if (selectedLine != null)
                {
                    if (listPCC != null && listPCC.Count > 0)
                    {
                        if (selectedProduct != null)
                        {
                            thoigianchetao = selectedProduct.ProductionTime;

                            if (secondsWorkOfLine == 0)
                            {
                                MessageBox.Show("Chuyền chưa có thông tin giờ làm việc trong ngày. Vui lòng kiểm tra ca làm việc của chuyền", "Lỗi ca làm việc", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            else
                            {
                                var listCSP = listPCC.Where(c => c.STTThucHien < selectedProduct.STTThucHien).OrderBy(c => c.STTThucHien).ToList();
                                if (listCSP.Count > 0)
                                {
                                    foreach (var csp in listCSP)
                                    {
                                        var nangSuatNgay = BLLProductivity.TTNangXuatTrongNgay(selectedDate, csp.STT);
                                        if (nangSuatNgay != null)
                                        {
                                            if (nangSuatNgay.IsEndDate)
                                            {
                                                var thanhPhamNgay = BLLProductivity.GetThanhPhamByNgayAndSTT(selectedDate, csp.STT);
                                                if (thanhPhamNgay == null)
                                                {
                                                    MessageBox.Show("Không tìm thấy thông tin ngày của măt hàng trước.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                                    return;
                                                }
                                                //else
                                                //{
                                                //    TotalSecond = TotalSecond - (int)(thanhPhamNgay.NangXuatLaoDong * csp.NangXuatSanXuat);
                                                //}
                                            }
                                            else
                                            {
                                                //    MessageBox.Show("Định mức sản xuất của chuyền trong ngày đã đủ. Bạn không cần nhập thêm thông tin ngày", "Lưu ý", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                                //return;
                                            }
                                        }
                                        else
                                        {
                                            //  MessageBox.Show("Vui lòng nhập thông tin ngày tuần tự theo đúng thứ tự sản xuất trong phân công chuyền", "Lưu ý", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                            // return;
                                        }
                                    }
                                }
                                tinhtheohieuxuat           = true;
                                nangSuatLaoDong100PhanTram = Math.Round(secondsWorkOfLine / selectedProduct.ProductionTime, 2);
                                txtNSLDChuan.Text          = nangSuatLaoDong100PhanTram.ToString();
                                txtNangSuatLaoDong.Text    = Math.Round(nangSuatLaoDong100PhanTram * double.Parse(numHieuSuat.Text) / 100, 2).ToString();
                                numDinhMucNgay.Value       = (decimal)Math.Round((double)(float.Parse(txtNangSuatLaoDong.Text) * (double)txtLaoDongChuyen.Value), 0);

                                //  txtNangSuatLaoDong.Text = Math.Round(secondsWorkOfLine / ((selectedProduct.ProductionTime * 100) / double.Parse(numHieuSuat.Text)), 2).ToString();
                                // var oldNSLD = Math.Round(secondsWorkOfLine / ((selectedProduct.ProductionTime * 100) / double.Parse(numHieuSuat.Text)), 2).ToString();
                                //  numDinhMucNgay.Value = (decimal)Math.Round((double)(float.Parse(txtNangSuatLaoDong.Text) * (double)txtLaoDongChuyen.Value), 0);
                                //  var oldDMN = (decimal)Math.Round((double)(float.Parse(txtNangSuatLaoDong.Text) * (double)txtLaoDongChuyen.Value), 0);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #18
0
        /// <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);
            }
        }
Beispiel #19
0
        private void LoadALLNSOfPCC()
        {
            try
            {
                var chuyen = ((LineModel)cboChuyen_0.SelectedItem);
                //  var sanpham = ((SanPhamCuaChuyen)cboSanPham.SelectedItem);
                var sanpham = ((AssignmentForLineModel)cboSanPham_0.SelectedItem);
                dgv.Rows.Clear();
                // tc
                int tang = 0, giam = 0;
                lbtc_t.Text    = tang.ToString();
                lbtc_g.Text    = giam.ToString();
                lbtc_tong.Text = (tang - giam).ToString();

                //kcs
                lbkcs_t.Text   = tang.ToString();
                lbkcs_g.Text   = giam.ToString();
                lbkcstong.Text = (tang - giam).ToString();

                //btp
                lbbtp_t.Text    = tang.ToString();
                lbbtp_g.Text    = giam.ToString();
                lbbtp_tong.Text = (tang - giam).ToString();

                //btp
                lberr_t.Text    = tang.ToString();
                lberr_g.Text    = giam.ToString();
                lberr_tong.Text = (tang - giam).ToString();
                if (chuyen != null && sanpham != null)
                {
                    lblSanLuongKeHoach.Text = sanpham.SanLuongKeHoach.ToString();

                    // var nangSuatTrongNgay = nangSuatDAO.TTNangXuatTrongNgay(dtpNgayThucHien.Value.Date.ToString(), sanpham.STT);
                    var nangSuatTrongNgay = BLLProductivity.TTNangXuatTrongNgay((dtpNgayThucHien.Value.Day + "/" + dtpNgayThucHien.Value.Month + "/" + dtpNgayThucHien.Value.Year), sanpham.STT);
                    lblDinhMucNgay.Text = (nangSuatTrongNgay != null ? (int)nangSuatTrongNgay.DinhMucNgay : 0).ToString();

                    var info = BLLDayInfo.GetInforByDate(DateTime.Now, chuyen.MaChuyen, sanpham.MaSanPham, sanpham.STT);

                    if (info != null && info.Count > 0)
                    {
                        DataGridViewRow  row;
                        DataGridViewCell cell;
                        foreach (var item in info)
                        {
                            row        = new DataGridViewRow();
                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.STT;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.CommoName;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.ClusterName;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.ProductOutputTypeId;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.ProType;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.ErrorId;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.ErrorName;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.CommandTypeId;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.CommandType;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.ThanhPham;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.KeypadType;
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.Time.ToString(@"hh\:mm\:ss");
                            row.Cells.Add(cell);

                            cell       = new DataGridViewTextBoxCell();
                            cell.Value = item.EquipmentId;
                            row.Cells.Add(cell);

                            dgv.Rows.Add(row);
                        }

                        for (int i = 1; i < dgv.Rows.Count; i += 2)
                        {
                            dgv.Rows[i].DefaultCellStyle.BackColor = Color.WhiteSmoke;
                        }

                        // tc
                        tang           = 0; giam = 0;
                        tang           = info.Where(x => x.ProductOutputTypeId == (int)eProductOutputType.TC && x.CommandTypeId == (int)eCommandRecive.ProductIncrease).Sum(x => x.ThanhPham);
                        giam           = info.Where(x => x.ProductOutputTypeId == (int)eProductOutputType.TC && x.CommandTypeId == (int)eCommandRecive.ProductReduce).Sum(x => x.ThanhPham);
                        lbtc_t.Text    = tang.ToString();
                        lbtc_g.Text    = giam.ToString();
                        lbtc_tong.Text = (tang - giam).ToString();

                        //kcs
                        tang           = 0; giam = 0;
                        tang           = info.Where(x => x.ProductOutputTypeId == (int)eProductOutputType.KCS && x.CommandTypeId == (int)eCommandRecive.ProductIncrease).Sum(x => x.ThanhPham);
                        giam           = info.Where(x => x.ProductOutputTypeId == (int)eProductOutputType.KCS && x.CommandTypeId == (int)eCommandRecive.ProductReduce).Sum(x => x.ThanhPham);
                        lbkcs_t.Text   = tang.ToString();
                        lbkcs_g.Text   = giam.ToString();
                        lbkcstong.Text = (tang - giam).ToString();

                        //btp
                        tang            = 0; giam = 0;
                        tang            = info.Where(x => x.ProductOutputTypeId == (int)eProductOutputType.BTP && x.CommandTypeId == (int)eCommandRecive.BTPIncrease).Sum(x => x.ThanhPham);
                        giam            = info.Where(x => x.ProductOutputTypeId == (int)eProductOutputType.BTP && x.CommandTypeId == (int)eCommandRecive.BTPReduce).Sum(x => x.ThanhPham);
                        lbbtp_t.Text    = tang.ToString();
                        lbbtp_g.Text    = giam.ToString();
                        lbbtp_tong.Text = (tang - giam).ToString();

                        //btp phoi bo hc
                        tang               = 0; giam = 0;
                        tang               = info.Where(x => x.ProductOutputTypeId == (int)eProductOutputType.BTP_HC && x.CommandTypeId == (int)eCommandRecive.BTPIncrease).Sum(x => x.ThanhPham);
                        giam               = info.Where(x => x.ProductOutputTypeId == (int)eProductOutputType.BTP_HC && x.CommandTypeId == (int)eCommandRecive.BTPReduce).Sum(x => x.ThanhPham);
                        lbbtp_hc_t.Text    = tang.ToString();
                        lbbtp_hc_g.Text    = giam.ToString();
                        lbbtp_hc_tong.Text = (tang - giam).ToString();

                        //btp
                        tang            = 0; giam = 0;
                        tang            = info.Where(x => x.ProductOutputTypeId == null && x.CommandTypeId == (int)eCommandRecive.ErrorIncrease).Sum(x => x.ThanhPham);
                        giam            = info.Where(x => x.ProductOutputTypeId == null && x.CommandTypeId == (int)eCommandRecive.ErrorReduce).Sum(x => x.ThanhPham);
                        lberr_t.Text    = tang.ToString();
                        lberr_g.Text    = giam.ToString();
                        lberr_tong.Text = (tang - giam).ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi: " + ex.Message);
            }
        }