示例#1
0
 private void btnDelete_Click(object sender, EventArgs e)
 {
     try
     {
         if (dailyWorkerInfoId != 0)
         {
             if (MessageBox.Show("Bạn có muốn xoá không?", "Xoá đối tượng", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             {
                 var spcuachuyen = ((ChuyenSanPhamModel)cbbSanPham.SelectedItem);
                 // var result = thanhphamDAO.XoaOBJ(spcuachuyen.STT.ToString(), dtpNgayLamViec.Value);
                 var result = BLLDayInfo.Delete(spcuachuyen.STT, (dtpNgayLamViec.Value.Day + "/" + dtpNgayLamViec.Value.Month + "/" + dtpNgayLamViec.Value.Year));
                 if (result)
                 {
                     MessageBox.Show("Xoá thành công.");
                     GetDayInformationToGridView();
                     ResetForm();
                     dailyWorkerInfoId = 0;
                     SetProductivityWorker();
                 }
                 else
                 {
                     MessageBox.Show("Xoá thất bại.");
                 }
             }
         }
         else
         {
             MessageBox.Show("Bạn chưa chọn đối tượng để xoá");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Lỗi: " + ex.Message);
     }
 }
示例#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);
     }
 }
示例#3
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)
            {
            }
        }
示例#4
0
        public ResponseBase NhapSL(int cspId, int productType, bool isIncrease, int quantity, string ngay, int equipCode, int errorId, int clusterId, int appId)
        {
            try
            {
                using (var db = new PMSEntities())
                {
                    var ns = db.NangXuats.FirstOrDefault(x => !x.IsDeleted && x.Ngay == ngay && cspId == x.STTCHuyen_SanPham);
                    if (ns != null)
                    {
                        var tdn = new PMS.Data.TheoDoiNgay();
                        tdn.STT              = 0;
                        tdn.MaChuyen         = ns.Chuyen_SanPham.MaChuyen;
                        tdn.MaSanPham        = ns.Chuyen_SanPham.MaSanPham;
                        tdn.CumId            = clusterId;
                        tdn.EquipmentId      = equipCode;
                        tdn.STTChuyenSanPham = cspId;
                        tdn.ThanhPham        = quantity;
                        tdn.CommandTypeId    = isIncrease ? (int)eCommandRecive.ProductIncrease : (int)eCommandRecive.ProductReduce;

                        switch (productType)
                        {
                        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             = errorId;
                            break;
                        }
                        var cf = db.Config_App.FirstOrDefault(x => x.AppId == appId && x.Config.Name.Trim().ToUpper().Equals(eAppConfigName.TypeOfCheckFinishProduction.Trim().ToUpper()));
                        var rs = BLLDayInfo.InsertOrUpdate(tdn, appId, false, (cf != null ? cf.Value.ToUpper().Trim().Split(',').ToList() : new List <string>()
                        {
                            "BTP", "KCS"
                        }));
                        if (!rs.IsSuccess)
                        {
                            rs.DataSendKeyPad = rs.Messages[0].msg;
                        }
                        return(rs);
                    }
                }
            }
            catch (Exception)
            {
            }
            return(null);
        }
示例#5
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)
            {
            }
        }
示例#6
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);
        }
示例#7
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);
            }
        }
示例#8
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ệ");
            }
        }