Пример #1
0
        public static decimal GiaIn(CauHinhTinhGiaCuon cauHinhTGCuon)
        {
            decimal ketQua = 0;

            var chiPhiIn = TinhPhi.PhiIn(cauHinhTGCuon.CHinhIn, cauHinhTGCuon.SoToChayTong);

            var mucLoiNhuanIn_TP = (double)cauHinhTGCuon.MucLoiNhuanInThanhPham_PCT / 100;

            //Tinh theo muc loi nhuan gop /doanh thu
            ketQua = chiPhiIn + chiPhiIn * (decimal)mucLoiNhuanIn_TP / (decimal)(1 - mucLoiNhuanIn_TP);

            return(ketQua);
        }
Пример #2
0
        public static decimal GiaCanMang(CauHinhTinhGiaCuon cauHinhTGCuon)
        {
            decimal ketQua = 0;


            var maGiayRuot = cauHinhTGCuon.MaGiayAp;

            //Xác định có màng cán không bằng cách kiểm tra 2 item cuối của mã giấy áp

            string[] maGiays = maGiayRuot.Split('-');
            if (maGiays[maGiays.Length - 1] != "CM") //mục cuối dùng
            {
                return(0);
            }
            //Có thì tìm mã tờ cán phủ
            string maToCanMang = "";

            foreach (var tcp in ToCanPhuBDO.LayTatCa())
            {
                if (tcp.MA_TO_CAN.Substring(0, 2) == "CM")
                {
                    maToCanMang = tcp.MA_TO_CAN;
                    break;
                }
            }


            var soToChay = cauHinhTGCuon.SoToChayTong;

            var toCanPhuBDO = ToCanPhuBDO.LayTheoID(maToCanMang);

            var cauHinhCan1 = new CauHinhCanPhu(toCanPhuBDO.BHR, toCanPhuBDO.TOC_DO_M2, 2, toCanPhuBDO.THOI_GIAN_CHUAN_BI);

            var chiPhiCanPhu = TinhPhi.PhiCanMang(cauHinhCan1, soToChay);
            //Tinh theo muc loi nhuan gop /doanh thu
            double mucLoiNhuanIn_TP = (double)cauHinhTGCuon.MucLoiNhuanInThanhPham_PCT / 100;

            ketQua = chiPhiCanPhu + (decimal)mucLoiNhuanIn_TP * chiPhiCanPhu / (1 - (decimal)mucLoiNhuanIn_TP);

            return(ketQua);
        }