public static Summary ToSummaryGPS(this TKePhongDieuHanhInfo pTKe) { var result = new Summary(); foreach (var item in pTKe.XeDon.Split('.')) { if (!BaoCaoThongKeDieuHanh.DicXeHoatDongQuaGPS.ContainsKey(item))//ko lap lai số xe => số xe hoạt động { result.TongXeQuaGPS = 1; BaoCaoThongKeDieuHanh.DicXeHoatDongQuaGPS.Add(item, item); } else { result.TongXeQuaTrungTam = 0; } } result.KhachQuaGPS = 1; return(result); }
/// <summary> /// *sign hàm tính toán quan trọng nhất! /// </summary> public static Summary ToSummary(this TKePhongDieuHanhInfo pTKe) { var result = new Summary(); result.ID = pTKe.ID; result.MaDoiTac = pTKe.MaDoiTac; result.Name = pTKe.Name; if (pTKe.KieuCuocGoi == 2) { result.KhachGoiLai = 1; } else { result.KhachGoiLai = 0; } if (pTKe.KieuCuocGoi != 1) { return(result); } //1. Tổng qua TT if (pTKe.XeDon.Length > 0) { foreach (var item in pTKe.XeDon.Split('.')) { if (!BaoCaoThongKeDieuHanh.DicXeHoatDongQuaTT.ContainsKey(item)) //ko lap lai số xe => số xe hoạt động { result.TongXeQuaTrungTam = 1; BaoCaoThongKeDieuHanh.DicXeHoatDongQuaTT.Add(item, item); } else { result.TongXeQuaTrungTam = 0; } } } //2. Tổng qua GPS //if (pTKe.XeDon.Length>0&& pTKe.GPS_KinhDo > 0) result.TongQuaGPS = 10; else result.TongQuaGPS=0;//Đang tạm tính! //3. Tổng Cuốc result.TongCuoc = 1; //4. Đón được ,trượt/hoãn và không xe string lenhDT = pTKe.LenhDienThoai.ToLower(); string lenhTD = pTKe.LenhTongDai.ToLower(); //5. Trượt hủy hoãn int trangThaiCG = pTKe.TrangThaiCuocGoi; int trangThaiLenh = pTKe.TrangThaiLenh; bool isTruotHoan = (trangThaiCG == 2 || trangThaiCG == 3 || (trangThaiCG == 5 && string.IsNullOrEmpty(pTKe.XeDon) && trangThaiLenh == 4)); bool isKhongXe = (string.IsNullOrEmpty(pTKe.XeDon) && !(trangThaiCG == 2 || trangThaiCG == 3 || (trangThaiCG == 5 && string.IsNullOrEmpty(pTKe.XeDon) && trangThaiLenh == 4))); if (isTruotHoan) { result.TruotHoan = 1; } else { result.TruotHoan = 0; } if (isKhongXe) { result.KhongXe = 1; } else { result.KhongXe = 0; } //7. Cuốc sảnh if (pTKe.LoaiDoiTacID == 2) { result.CuocSanh = 1; } else { result.CuocSanh = 0; } //8. Đón được //result.DonDuoc = result.TongCuoc - result.TruotHoan - result.KhongXe; if (pTKe.XeDon.Length > 0) { result.DonDuoc = 1; } else { result.DonDuoc = 0; } //9. Đón được thực tế result.DonDuocThucTe = result.DonDuoc - result.CuocSanh; //10. Tổng qua TT result.TongCuocQuaTT = 1 - result.CuocSanh; //11. Vùng 1 if (pTKe.Vung == 1 && result.CuocSanh == 0) { result.Vung1 = 1; } else { result.Vung1 = 0; } if (pTKe.Vung == 2 && result.CuocSanh == 0) { result.Vung2 = 1; } else { result.Vung2 = 0; } if (pTKe.Vung == 3 && result.CuocSanh == 0) { result.Vung3 = 1; } else { result.Vung3 = 0; } if (pTKe.Vung == 4 && result.CuocSanh == 0) { result.Vung4 = 1; } else { result.Vung4 = 0; } if (pTKe.G5_Type == 3) { result.TongSoCuocDieuQuaApp = 1; if (pTKe.XeDon.Length > 0) { result.SoCuocDonDuocTuApp = 1; } else { result.SoCuocDonDuocTuApp = 0; } } else { result.TongSoCuocDieuQuaApp = 0; } //12.San bay goi qua TT if (pTKe.SanBay_DuongDai.Contains("1")) { result.SanBayQuaTT = 1; } else { result.SanBayQuaTT = 0; //&& pTKe.MaDoiTac.Length == 0 } if (pTKe.SanBay_DuongDai.Contains("1")) { result.NB_HN = 1; } else { result.NB_HN = 0; } if (pTKe.SourceType == 2) { result.NB_DiChung = 1; } else { result.NB_DiChung = 0; } //13. Nhóm số cuốc 7 chỗ, Avante if (pTKe.G5_CarType == 4 || pTKe.G5_CarType == 6) { result.SoCuoc7Cho = 1; } else { result.SoCuoc7Cho = 0; } if (pTKe.XeDon.Length == 4 && pTKe.XeDon.StartsWith("2")) { result.SoCuocAvante = 1; } else { result.SoCuocAvante = 0; } //14. Nhóm khách đặt if (lenhDT.Contains("khách đặt") && pTKe.SourceType != 1) { result.KhachDat = 1; } else { result.KhachDat = 0; } if (pTKe.SourceType == 1) { result.KhachDatOnline = 1; } else { result.KhachDatOnline = 0; } // int khachdatKhongDonDuoc = 0; if (lenhDT.Contains("khách đặt") && (lenhDT.Contains("hủy") || lenhDT.Contains("hoãn") || lenhDT.Contains("trượt") || lenhTD.Contains("hủy") || lenhTD.Contains("hoãn") || lenhTD.Contains("trượt") || lenhTD.Contains("ko xe"))) { khachdatKhongDonDuoc = 1; } result.KhachDatDonDuoc = result.KhachDat - khachdatKhongDonDuoc; //15. Nhóm hoa hồng! if (pTKe.Ma_DoiTac.Length > 0 && !BaoCaoThongKeDieuHanh.DicMaDoiTac.ContainsKey(pTKe.MaDoiTac) && pTKe.KieuKhachHangGoiDen == 2)//ko lap lai ma doi tac=> số điểm hoa hồng! { result.SoDiemHoaHongGoiDen = 1; BaoCaoThongKeDieuHanh.DicMaDoiTac.Add(pTKe.MaDoiTac, pTKe.MaDoiTac); } else { result.SoDiemHoaHongGoiDen = 0; } if (pTKe.Ma_DoiTac.Length > 0 && pTKe.KieuKhachHangGoiDen == 2) { result.SoCuocTuDiemHoaHong = 1; } else { result.SoCuocTuDiemHoaHong = 0; } if (pTKe.Ma_DoiTac.Length > 0 && pTKe.KieuKhachHangGoiDen == 2 && result.TruotHoan == 0 && result.KhongXe == 0) { result.SoCuocDiemHoaHongDonDuoc = 1; } else { result.SoCuocDiemHoaHongDonDuoc = 0; } //16. Tính toán các tỷ lệ ở trong FillCell! return(result); }