Exemple #1
0
        public async Task <IHttpActionResult> GetNewParameter()
        {
            var unitCode    = _servicePeriod.GetCurrentUnitCode();
            var currentDate = DateTime.Now.Date;
            var result      = new ParameterInventory()
            {
                ToDate          = currentDate,
                FromDate        = currentDate,
                MinDate         = currentDate,
                MaxDate         = currentDate,
                UnitCode        = unitCode,
                IsOnlyInventory = 2,
                GroupBy         = TypeGroupInventory.WAREHOUSE
            };
            var periodCollection = _servicePeriod.Repository.DbSet.Where(x => x.UnitCode == unitCode && x.TrangThai == (int)ApprovalState.IsComplete);

            if (periodCollection != null && periodCollection.Count() > 0)
            {
                var lastPeriod     = periodCollection.OrderByDescending(x => x.Year).OrderByDescending(x => x.Period).FirstOrDefault();
                var originalPeriod = periodCollection.OrderBy(x => x.Period).FirstOrDefault();
                result.MaxDate = lastPeriod.ToDate;
                result.MinDate = originalPeriod.FromDate;
                result.ToDate  = lastPeriod.ToDate;
                if (lastPeriod.ToDate.AddMonths(-1) >= originalPeriod.FromDate)
                {
                    result.FromDate = lastPeriod.ToDate.AddMonths(-1);
                }
                else
                {
                    result.FromDate = originalPeriod.FromDate;
                }
            }

            return(Ok(result));
        }
Exemple #2
0
 public IHttpActionResult GetTableNameByDate(ParameterInventory param)
 {
     if (param.FromDate != null || param.ToDate != null)
     {
         var      result = new TransferObj();
         DateTime day    = new DateTime(param.FromDate.Year, param.FromDate.Month, param.FromDate.Day, 0, 0, 0);
         var      data   = _service.Repository.DbSet.FirstOrDefault(x => x.FromDate == day);
         if (data != null)
         {
             string tableName = ProcedureCollection.GetTableName(data.Year, data.Period);
             result.Data    = tableName;
             result.Status  = true;
             result.Message = "Ok";
             return(Ok(result));
         }
         else
         {
             result.Message = "Chưa khởi tạo kỳ kế toán";
             return(NotFound());
         }
     }
     else
     {
         return(NotFound());
     }
 }
Exemple #3
0
        public HttpResponseMessage PostExportExcelXNTByMerchandiseByNCC(ParameterInventory para)
        {
            var ininventoryExp           = new TransferObj <ParameterInventory>();
            HttpResponseMessage response = Request.CreateResponse();

            try
            {
                var streamData = _service.ExportExcelXNTByMerchandiseByNCC(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);

                response.StatusCode = HttpStatusCode.OK;
                streamData.Seek(0, SeekOrigin.Begin);
                response.Content = new StreamContent(streamData);
                response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline")
                {
                    FileName = "XuatNhapTonTheoHangNhomTheoHang.xlsx"
                };
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
                return(response);
            }
            catch (Exception e)
            {
                response.StatusCode = HttpStatusCode.InternalServerError;
                return(response);
            }
        }
Exemple #4
0
        public HttpResponseMessage ExportExcelXNTNewChiTiet(ParameterInventory para)
        {
            var ininventoryExp           = new TransferObj <ParameterInventory>();
            HttpResponseMessage response = Request.CreateResponse();

            try
            {
                MemoryStream streamData = new MemoryStream();
                streamData = _service.ExportExcelXNTNewChiTiet(para);

                response.StatusCode = HttpStatusCode.OK;
                streamData.Seek(0, SeekOrigin.Begin);
                response.Content = new StreamContent(streamData);
                switch (para.GroupBy)
                {
                case TypeGroupInventory.TYPE:
                    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline")
                    {
                        FileName = "XuatNhapTonTheoLoaiHang.xlsx"
                    };
                    break;

                case TypeGroupInventory.GROUP:
                    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline")
                    {
                        FileName = "XuatNhapTonTheoNhomHang.xlsx"
                    };
                    break;

                case TypeGroupInventory.NHACUNGCAP:
                    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline")
                    {
                        FileName = "XuatNhapTonTheoNhaCungCap.xlsx"
                    };
                    break;

                case TypeGroupInventory.WAREHOUSE:
                    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline")
                    {
                        FileName = "XuatNhapTonTheoKho.xlsx"
                    };
                    break;

                default:
                    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline")
                    {
                        FileName = "XuatNhapTonChiTiet.xlsx"
                    };
                    break;
                }
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
                return(response);
            }
            catch (Exception ex)
            {
                response.StatusCode = HttpStatusCode.InternalServerError;
                return(response);
            }
        }
Exemple #5
0
        public async Task <IHttpActionResult> UpdateGiaVon(ParameterInventory para)
        {
            var unitCode = _servicePeriod.GetCurrentUnitCode();
            var period   = _service.UnitOfWork.Repository <MdPeriod>().DbSet.Where(x => x.ToDate.Date == para.ToDate.Date).FirstOrDefault();

            if (period != null)
            {
                try
                {
                    _servicePeriod.UpDateGiaVon(period);
                    return(Ok(true));
                }
                catch (Exception)
                {
                    return(InternalServerError());
                }
            }
            return(Ok(false));
        }
Exemple #6
0
 public IHttpActionResult GetSoLuongTonByDate(ParameterInventory param)
 {
     if (param.FromDate != null || param.ToDate != null)
     {
         var      result = new TransferObj();
         DateTime day    = new DateTime(param.FromDate.Year, param.FromDate.Month, param.FromDate.Day, 0, 0, 0);
         var      data   = _service.Repository.DbSet.FirstOrDefault(x => x.FromDate == day);
         if (data != null)
         {
             MdPeriodVm.ResponseData dataResult = new MdPeriodVm.ResponseData();
             string tableName     = ProcedureCollection.GetTableName(data.Year, data.Period);
             var    getTonKhoXuat = string.Format("SELECT TONCUOIKYSL FROM {0} where MAVATTU = '{1}' and MAKHO = '{2}'", tableName, param.MerchandiseCodes.ToUpper(), param.WareHouseCodes);
             var    getTonKhoNhap = string.Format("SELECT TONCUOIKYSL FROM {0} where MAVATTU = '{1}' and MAKHO = '{2}'", tableName, param.MerchandiseCodes.ToUpper(), param.WareHouseRecieveCode);
             using (var ctx = new ERPContext())
             {
                 decimal soLuongTonKhoXuat = ctx.Database.SqlQuery <decimal> (getTonKhoXuat).SingleOrDefault();
                 decimal soLuongTonKhoNhap = ctx.Database.SqlQuery <decimal>(getTonKhoNhap).SingleOrDefault();
                 dataResult.SoLuongTonKhoNhap = soLuongTonKhoNhap;
                 dataResult.SoLuongTonKhoXuat = soLuongTonKhoXuat;
                 result.Data = dataResult;
             }
             result.Status  = true;
             result.Message = "Ok";
             return(Ok(result));
         }
         else
         {
             result.Message = "Chưa khởi tạo kỳ kế toán";
             return(NotFound());
         }
     }
     else
     {
         return(NotFound());
     }
 }
Exemple #7
0
        public async Task <IHttpActionResult> ReportTheoNCCByMerChandise(ParameterInventory para)
        {
            var result = new TransferObj <InventoryReport>();

            try
            {
                var reporter = new InventoryReport();
                var data     = new List <InventoryExpImp>();
                reporter.UnitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.Year     = para.ToDate.Year;
                var period = _service.UnitOfWork.Repository <MdPeriod>().DbSet.Where(x => x.ToDate == para.ToDate).FirstOrDefault();
                if (period != null)
                {
                    reporter.Period = period.Period;
                }
                var unitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                //switch (para.GroupBy)
                //{
                //    case TypeGroupInventory.WAREHOUSE:
                //        data = _service.CreateReportInventoryByWareHouse(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        reporter.DetailData = data.ToList();
                //        reporter.DetailData.ForEach(x => x.MapWareHouseName(_service.UnitOfWork));
                //        reporter.MapUnitUserName(_service.UnitOfWork);
                //        reporter.GroupType = "Kho hàng";
                //        break;
                //    case TypeGroupInventory.TYPE:
                //        data = _service.CreateReportInventoryByType(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        reporter.DetailData = data.ToList();
                //        reporter.DetailData.ForEach(x => x.MapTypeName(_service.UnitOfWork));
                //        reporter.MapUnitUserName(_service.UnitOfWork);
                //        reporter.GroupType = "Loại hàng hóa";
                //        break;
                //    case TypeGroupInventory.GROUP:
                //        data = _service.CreateReportInventoryByGroup(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        reporter.DetailData = data.ToList();
                //        reporter.DetailData.ForEach(x => x.MapGroupName(_service.UnitOfWork));
                //        reporter.MapUnitUserName(_service.UnitOfWork);
                //        reporter.GroupType = "Nhóm hàng hóa";
                //        break;
                //    case TypeGroupInventory.MERCHANDISE:
                //        data = _service.CreateReportInventoryByMerchandise(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        reporter.DetailData = data.ToList();
                //        reporter.DetailData.ForEach(x => x.MapMerchandiseName(_service.UnitOfWork));
                //        reporter.MapUnitUserName(_service.UnitOfWork);
                //        reporter.GroupType = "Hàng hóa";
                //        break;

                //    default:
                //        //data = _service.CreateReportInventoryByDay(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                //        break;
                //}
                //result.Data = reporter;
                result.Status  = true;
                result.Message = "Xuất báo cáo thành công";
                return(Ok(result));
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }
        }
Exemple #8
0
        public async Task <IHttpActionResult> PostReportInventoryTongHop(ParameterInventory para)
        {
            var result = new TransferObj <InventoryReport>();

            try
            {
                var data     = new List <InventoryExpImpLevel2>();
                var reporter = new InventoryReport();
                reporter.UnitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.Year     = para.ToDate.Year;
                var period = _service.UnitOfWork.Repository <MdPeriod>().DbSet.Where(x => x.ToDate == para.ToDate).FirstOrDefault();
                if (period != null)
                {
                    reporter.Period = period.Period;
                }
                var unitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                var tableName = ProcedureCollection.GetTableName(period.Year, period.Period);
                data = _service.ReportTonTongHop(para);
                switch (para.GroupBy)
                {
                case TypeGroupInventory.MADONVI:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Mã đơn vị";
                    break;

                case TypeGroupInventory.WAREHOUSE:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Kho hàng";
                    break;

                case TypeGroupInventory.TYPE:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Loại hàng hóa";
                    break;

                case TypeGroupInventory.GROUP:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Nhóm hàng hóa";
                    break;

                case TypeGroupInventory.NHACUNGCAP:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Nhà cung cấp";
                    break;

                default:
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Hàng hóa";
                    break;
                }


                result.Data    = reporter;
                result.Status  = true;
                result.Message = "Xuất báo cáo thành công";
                return(Ok(result));
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }
        }
        public async Task <IHttpActionResult> ReportInventoryByDay(ParameterInventory para)
        {
            var result = new TransferObj <InventoryReport>();

            try
            {
                var reporter = new InventoryReport();
                var data     = new List <InventoryExpImpLevel2>();
                reporter.UnitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.Year     = para.ToDate.Year;
                var period = _service.UnitOfWork.Repository <MdPeriod>().DbSet.Where(x => x.ToDate == para.ToDate).FirstOrDefault();
                if (period != null)
                {
                    reporter.Period = period.Period;
                }
                var unitCode = _servicePeriod.GetCurrentUnitCode();
                reporter.CreateDateNow();
                reporter.FromDay     = para.FromDate.Day;
                reporter.FromMonth   = para.FromDate.Month;
                reporter.FromYear    = para.FromDate.Year;
                reporter.ToDay       = para.ToDate.Day;
                reporter.ToMonth     = para.ToDate.Month;
                reporter.ToYear      = para.ToDate.Year;
                reporter.TenDonVi    = CurrentSetting.GetUnitName(unitCode);
                reporter.DiaChiDonVi = CurrentSetting.GetUnitAddress(unitCode);
                //GetNhanVien
                if (HttpContext.Current != null && HttpContext.Current.User is ClaimsPrincipal)
                {
                    var currentUser = (HttpContext.Current.User as ClaimsPrincipal);
                    var name        = currentUser.Identity.Name;
                    var nhanVien    = _service.UnitOfWork.Repository <AU_NGUOIDUNG>().DbSet.Where(x => x.Username == name).FirstOrDefault();
                    if (nhanVien != null)
                    {
                        reporter.Username = nhanVien.TenNhanVien;
                    }
                    else
                    {
                        reporter.Username = "******";
                    }
                }
                switch (para.GroupBy)
                {
                case TypeGroupInventory.MADONVI:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MADONVI.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    //data = _service.CreateReportInventoryByWareHouse( para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Đơn vị";
                    break;

                case TypeGroupInventory.WAREHOUSE:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MAKHO.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    //data = _service.CreateReportInventoryByWareHouse( para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Kho hàng";
                    break;

                case TypeGroupInventory.TYPE:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MALOAIVATTU.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Loại hàng hóa";
                    break;

                case TypeGroupInventory.GROUP:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MANHOMVATTU.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Nhóm hàng hóa";
                    break;

                case TypeGroupInventory.MERCHANDISE:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MAVATTU.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    //data = _service.CreateReportInventoryByMerchandise(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Hàng hóa";
                    break;

                case TypeGroupInventory.NHACUNGCAP:
                    data = _service.CreateReportInventoryTongHop(InventoryGroupBy.MAKHACHHANG.ToString(), para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    //data = _service.CreateReportInventoryByCustomer(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes, para.NhaCungCapCodes);
                    reporter.DetailData = data.ToList();
                    reporter.MapUnitUserName(_service.UnitOfWork);
                    reporter.GroupType = "Nhà cung cấp";
                    break;

                default:
                    //data = _service.CreateReportInventoryByDay(para.FromDate, para.ToDate, para.UnitCode, para.WareHouseCodes, para.MerchandiseTypeCodes, para.MerchandiseGroupCodes, para.MerchandiseCodes);
                    break;
                }
                result.Data    = reporter;
                result.Status  = true;
                result.Message = "Xuất báo cáo thành công";
                return(Ok(result));
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }
        }