Esempio n. 1
0
        public static decimal PhiCanMang(CauHinhCanPhu cauHinhCan, int soToChay)
        {                                                                                             //la
            decimal result                 = 0;
            double  dienTichToChay         = (0.32d * 0.48d) * soToChay * cauHinhCan.SoMatCan;        //lấy cơ bản 32x48
            var     thoiGianCan            = (double)dienTichToChay / cauHinhCan.TocDoM2;             //M2/gio
            double  thoiGianChuanBiTheoGio = cauHinhCan.ThoiGianChuanBi / 60;
            var     phiVanHanh             = cauHinhCan.BHR * (thoiGianChuanBiTheoGio + thoiGianCan); //ThoiGianChuanBi la PHut
            var     phiNgLieu              = cauHinhCan.PhiNguyenLieuM2 * dienTichToChay;

            result = (decimal)phiVanHanh + (decimal)phiNgLieu;

            return(result);
        }
Esempio n. 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);
        }