Beispiel #1
0
        public async Task <PrintPreProductNameItem> SearchRecordsForPrintingExternal()
        {
            // Find all tx51
            var productShelfStatuss = _unitOfWork.ProductShelfStatusRepository.GetAll();

            // Find all tx53
            var outSidePreShelfStocks = _unitOfWork.OutSidePrePdtStkRepository.GetAll();

            // Get all tm03.
            var preProducts = _unitOfWork.PreProductRepository.GetAll();

            // Record which should be printed.
            var printPreProductNameItem = new PrintPreProductNameItem();

            var condition1 = Constants.F51_ShelfStatus.TX51_ShfSts_ExtPrePdt;
            var condition2 = Constants.F51_ShelfType.Normal.ToString("D");


            // Find Pre Product Name item.
            var preProductNameItems = from preProduct in preProducts
                                      join outSidePreShelfStock in outSidePreShelfStocks on preProduct.F03_PreProductCode equals outSidePreShelfStock.F53_OutSidePrePdtCode
                                      join productShelfStatus in productShelfStatuss on outSidePreShelfStock.F53_PalletNo equals productShelfStatus.F51_PalletNo
                                      where productShelfStatus.F51_ShelfStatus.Trim().Equals(condition1) &&
                                      productShelfStatus.F51_ShelfType.Trim().Equals(condition2)
                                      orderby new
            {
                outSidePreShelfStock.F53_OutSidePrePdtCode,
                outSidePreShelfStock.F53_OutSidePrePdtLotNo
            }
            select new FindPrintPreProductNameItem
            {
                OutsidePreProductCode = outSidePreShelfStock.F53_OutSidePrePdtCode,
                PreProductName        = preProduct.F03_PreProductName,
                PalletNo = outSidePreShelfStock.F53_PalletNo,
                OutsidePreProductLotNo = outSidePreShelfStock.F53_OutSidePrePdtLotNo,
                ShelfNo = productShelfStatus.F51_ShelfRow + "-" + productShelfStatus.F51_ShelfBay + "-" + productShelfStatus.F51_ShelfLevel,
                Amount  = outSidePreShelfStock.F53_Amount,
            };



            if (!preProductNameItems.Any())
            {
                return(null);
            }

            var groups = preProductNameItems.GroupBy(a => new { a.OutsidePreProductCode })
                         .Select(g1 => new
            {
                OutsidePreProductCode = g1.Key.OutsidePreProductCode,
                PreProductTotal       = g1.Sum(c => c.Amount),
                Groups = g1
                         .GroupBy(b => new { b.OutsidePreProductCode, b.OutsidePreProductLotNo })
                         .Select(g2 => new
                {
                    OutsidePreProductCode  = g2.Key.OutsidePreProductCode,
                    OutsidePreProductLotNo = g2.Key.OutsidePreProductLotNo,
                    LotTotal = g2.Sum(d => d.Amount),
                    Group2   = g2.Select(g3 => new FindPrintPreProductNameItem()
                    {
                        OutsidePreProductCode = g3.OutsidePreProductCode,
                        PreProductName        = g3.PreProductName,
                        PalletNo = g3.PalletNo,
                        OutsidePreProductLotNo = g3.OutsidePreProductLotNo,
                        ShelfNo = g3.ShelfNo,
                        Amount  = g3.Amount
                    })
                })
            });



            foreach (var groupA in groups.ToList())
            {
                var printPreProductNameGroup = new PrintPreProductNameGroup();
                foreach (var groupB in groupA.Groups.ToList())
                {
                    PrintPreProductNameGroupItem printPreProductNameGroupItem = new PrintPreProductNameGroupItem();
                    foreach (var groupC in groupB.Group2.ToList())
                    {
                        printPreProductNameGroupItem.FindPrintPreProductNameItem.Add(groupC);
                    }
                    printPreProductNameGroupItem.LotTotal       = groupB.LotTotal;
                    printPreProductNameGroupItem.LotTotalString = String.Format("{0:#,##0.00}", groupB.LotTotal);
                    printPreProductNameGroup.PrintPreProductNameGroupItem.Add(printPreProductNameGroupItem);
                }
                printPreProductNameGroup.PreproductTotal       = groupA.PreProductTotal;
                printPreProductNameGroup.PreproductTotalString = String.Format("{0:#,##0.00}", groupA.PreProductTotal);
                printPreProductNameItem.PrintPreProductNameGroup.Add(printPreProductNameGroup);
            }



            await _unitOfWork.CommitAsync();

            //printPreProductNameItem.FindPrintPreProductNameItem = await preProductNameItems.ToListAsync();

            return(printPreProductNameItem);
        }
Beispiel #2
0
        /// <summary>
        ///     This function is for exporting data from kneading command database to list.
        /// </summary>
        /// <returns></returns>
        public async Task <PrintPreProductNameItem> SearchRecordsForPrintingNormal()
        {
            //Get all record tx37
            var preProductShelfStatuss = _unitOfWork.PreProductShelfStatusRepository.GetAll();
            //Get all record tx49
            var preProductShelfStocks = _unitOfWork.PreProductShelfStockRepository.GetAll();

            // Get all tm03.
            var preProducts = _unitOfWork.PreProductRepository.GetAll();

            var condition1 = Constants.F49_ShelfStatus.TX49_StkFlg_Stk;

            // Record which should be printed.
            var printPreProductNameItem = new PrintPreProductNameItem();


            // Find Pre Product Name item.
            var preProductNameItems = from preProduct in preProducts
                                      join preProductShelfStock in preProductShelfStocks on preProduct.F03_PreProductCode equals preProductShelfStock.F49_PreProductCode
                                      join preProductShelfStatus in preProductShelfStatuss on preProductShelfStock.F49_ContainerCode equals preProductShelfStatus.F37_ContainerCode
                                      where preProductShelfStock.F49_ShelfStatus.Trim().Equals(condition1)
                                      //group materialShelfStock by materialShelfStock.F33_MaterialCode into grp
                                      orderby new
            {
                preProductShelfStock.F49_PreProductCode,
                preProductShelfStock.F49_PreProductLotNo,
                preProductShelfStock.F49_ContainerCode
            }

            select new FindPrintPreProductNameItem()
            {
                PreProductCode  = preProductShelfStock.F49_PreProductCode,
                PreProductName  = preProduct.F03_PreProductName,
                ContainerCode   = preProductShelfStock.F49_ContainerCode,
                PreProductLotNo = preProductShelfStock.F49_PreProductLotNo,
                ShelfNo         = preProductShelfStatus.F37_ShelfRow + "-" + preProductShelfStatus.F37_ShelfBay + "-" + preProductShelfStatus.F37_ShelfLevel,
                Amount          = preProductShelfStock.F49_Amount,
            };

            if (!preProductNameItems.Any())
            {
                return(null);
            }


            var groups = preProductNameItems.GroupBy(a => new { a.PreProductCode })
                         .Select(g1 => new
            {
                PreProductCode  = g1.Key.PreProductCode,
                PreProductTotal = g1.Sum(c => c.Amount),
                Groups          = g1
                                  .GroupBy(b => new{ b.PreProductCode, b.PreProductLotNo })
                                  .Select(g2 => new
                {
                    PreProductCode  = g2.Key.PreProductCode,
                    PreProductLotNo = g2.Key.PreProductLotNo,
                    LotTotal        = g2.Sum(d => d.Amount),
                    Group2          = g2.Select(g3 => new FindPrintPreProductNameItem()
                    {
                        PreProductCode  = g3.PreProductCode,
                        PreProductName  = g3.PreProductName,
                        ContainerCode   = g3.ContainerCode,
                        PreProductLotNo = g3.PreProductLotNo,
                        ShelfNo         = g3.ShelfNo,
                        Amount          = g3.Amount,
                    })
                })
            });



            foreach (var groupA in groups.ToList())
            {
                var printPreProductNameGroup = new PrintPreProductNameGroup();
                foreach (var groupB in groupA.Groups.ToList())
                {
                    PrintPreProductNameGroupItem printPreProductNameGroupItem = new PrintPreProductNameGroupItem();
                    foreach (var groupC in groupB.Group2.ToList())
                    {
                        printPreProductNameGroupItem.FindPrintPreProductNameItem.Add(groupC);
                    }
                    printPreProductNameGroupItem.LotTotal       = groupB.LotTotal;
                    printPreProductNameGroupItem.LotTotalString = String.Format("{0:#,##0.00}", groupB.LotTotal);
                    printPreProductNameGroup.PrintPreProductNameGroupItem.Add(printPreProductNameGroupItem);
                }
                printPreProductNameGroup.PreproductTotal       = groupA.PreProductTotal;
                printPreProductNameGroup.PreproductTotalString = String.Format("{0:#,##0.00}", groupA.PreProductTotal);
                printPreProductNameItem.PrintPreProductNameGroup.Add(printPreProductNameGroup);
            }


            await _unitOfWork.CommitAsync();

            //printPreProductNameItem.FindPrintPreProductNameItem = await preProductNameItems.ToListAsync();

            return(printPreProductNameItem);
        }
Beispiel #3
0
        public async Task <PrintPreProductNameItem> SearchExtPreProductForPrint()
        {
            //Get all record tx51
            var productShelfStatus = _unitOfWork.ProductShelfStatusRepository.GetAll();
            //Get all record tx53
            var outpreProductShelfStocks = _unitOfWork.OutSidePrePdtStkRepository.GetAll();

            // Get all tm03.
            var preProducts = _unitOfWork.PreProductRepository.GetAll();

            var condition1 = Constants.F51_ShelfStatus.TX51_ShfSts_ExtPrePdt;
            var condition2 = Constants.F51_ShelfType.Normal;

            // Record which should be printed.
            var printPreProductNameItem = new PrintPreProductNameItem();

            // Find Pre Product Name item.
            var preProductNameItems = from outpreProductShelfStock in outpreProductShelfStocks
                                      join preProduct in preProducts on outpreProductShelfStock.F53_OutSidePrePdtCode equals preProduct.F03_PreProductCode
                                      join preProductShelfStatu in productShelfStatus on outpreProductShelfStock.F53_PalletNo equals preProductShelfStatu.F51_PalletNo
                                      where preProductShelfStatu.F51_ShelfStatus.Trim().Equals(condition1) &&
                                      preProductShelfStatu.F51_ShelfType.Trim().Equals("0")
                                      select new FindPrintPreProductNameItem()
            {
                PreProductCode = outpreProductShelfStock.F53_OutSidePrePdtCode,
                PreProductName = preProduct.F03_PreProductName,
                RBL            = preProductShelfStatu.F51_ShelfRow + "-" + preProductShelfStatu.F51_ShelfBay + "-" + preProductShelfStatu.F51_ShelfLevel,
                PalletNo       = preProductShelfStatu.F51_PalletNo,
                LotNo          = outpreProductShelfStock.F53_OutSidePrePdtLotNo,
                SDate1         = outpreProductShelfStock.F53_AddDate,
                Quantity       = outpreProductShelfStock.F53_Amount,
            };


            var totalFirstItems = 0;



            var totalSecondItems = 0;



            //•	o	Show “PAGE: “ + current page with format as ###
            printPreProductNameItem.Page = "1";

            // Get Total quantity
            printPreProductNameItem.Total1 = totalFirstItems;
            printPreProductNameItem.Total2 = totalSecondItems;
            //if (preProductNameItems.Any())
            //{
            //    printPreProductNameItem.Total = preProductNameItems.Sum(i => i.Amount);
            //}
            // o	Show {current date/time} with format: dd-mm-yyyy hh:ss
            printPreProductNameItem.Datetime = DateTime.Now.ToString("dd/MM/yyyy HH:mm");

            /*
             * o	Show {Company Name} = value from profile:
             * ProfileString("toshiba.ini","server","companyname","")
             */
            printPreProductNameItem.CompanyName = WebConfigurationManager.AppSettings["CompanyName"];


            await _unitOfWork.CommitAsync();

            printPreProductNameItem.FindPrintPreProductNameItem = await preProductNameItems.ToListAsync();

            printPreProductNameItem.FindPrintPreProductNameItem =
                printPreProductNameItem.FindPrintPreProductNameItem.Select(m => new FindPrintPreProductNameItem()
            {
                PreProductCode = m.PreProductCode,
                PreProductName = m.PreProductName,
                RBL            = m.RBL,
                PalletNo       = m.PalletNo,
                LotNo          = m.LotNo,
                SDate          = m.SDate1.HasValue? m.SDate1.Value.ToString("dd/MM/yyyy") : "",
                Stime          = m.SDate1.HasValue? m.SDate1.Value.ToString("HH:mm") : "",
                Quantityst     = m.Quantity.ToString("###,###,###,##0.00"),
            }).ToList();
            return(printPreProductNameItem);
        }
Beispiel #4
0
        public async Task <PrintPreProductNameItem> SearchProductPalletForPrint()
        {
            //Get all record tx31
            var productShelfStatuss = _unitOfWork.ProductShelfStatusRepository.GetAll();

            // Record which should be printed.
            var printPreProductNameItem = new PrintPreProductNameItem();

            // Find Pre Product Name item.
            var preProductNameItems = from productShelfStatus in productShelfStatuss
                                      where productShelfStatus.F51_ShelfStatus.Trim().Equals("1")
                                      orderby new
            {
                productShelfStatus.F51_ShelfRow,
                productShelfStatus.F51_ShelfBay,
                productShelfStatus.F51_ShelfLevel
            }
            select new FindPrintPreProductNameItem()
            {
                RBL         = productShelfStatus.F51_ShelfRow + "-" + productShelfStatus.F51_ShelfBay + "-" + productShelfStatus.F51_ShelfLevel,
                SDate1      = productShelfStatus.F51_StorageDate,
                Quantityint = productShelfStatus.F51_LoadAmount
            };


            var totalFirstItems = 0;



            var totalSecondItems = 0;



            //•	o	Show “PAGE: “ + current page with format as ###
            printPreProductNameItem.Page = "1";

            // Get Total quantity
            printPreProductNameItem.Total1 = totalFirstItems;
            printPreProductNameItem.Total2 = totalSecondItems;
            //if (preProductNameItems.Any())
            //{
            //    printPreProductNameItem.Total = preProductNameItems.Sum(i => i.Amount);
            //}
            // o	Show {current date/time} with format: dd-mm-yyyy hh:ss
            printPreProductNameItem.Datetime = DateTime.Now.ToString("dd/MM/yyyy HH:mm");

            /*
             * o	Show {Company Name} = value from profile:
             * ProfileString("toshiba.ini","server","companyname","")
             */
            printPreProductNameItem.CompanyName = WebConfigurationManager.AppSettings["CompanyName"];


            await _unitOfWork.CommitAsync();

            printPreProductNameItem.FindPrintPreProductNameItem = await preProductNameItems.ToListAsync();

            printPreProductNameItem.FindPrintPreProductNameItem =
                printPreProductNameItem.FindPrintPreProductNameItem.Select(m => new FindPrintPreProductNameItem()
            {
                RBL          = m.RBL,
                SDate        = m.SDate1.HasValue ? m.SDate1.Value.ToString("dd/MM/yyyy") : "",
                Stime        = m.SDate1.HasValue ? m.SDate1.Value.ToString("HH:mm") : "",
                LoadQuantity = m.Quantityint.HasValue ? m.Quantityint.Value.ToString("###,###,###,##0.00") : ""
            }).ToList();
            return(printPreProductNameItem);
        }
Beispiel #5
0
        public async Task <PrintPreProductNameItem> SearchPreProductForPrint()
        {
            //Get all record tx37
            var preProductShelfStatuss = _unitOfWork.PreProductShelfStatusRepository.GetAll();
            //Get all record tx49
            var preProductShelfStocks = _unitOfWork.PreProductShelfStockRepository.GetAll();

            // Get all tm03.
            var preProducts = _unitOfWork.PreProductRepository.GetAll();

            var condition1 = Constants.F49_ShelfStatus.TX49_StkFlg_Stk;

            // Record which should be printed.
            var printPreProductNameItem = new PrintPreProductNameItem();

            // Find Pre Product Name item.
            var preProductNameItems = from preProduct in preProducts
                                      join preProductShelfStock in preProductShelfStocks on preProduct.F03_PreProductCode equals preProductShelfStock.F49_PreProductCode
                                      join preProductShelfStatus in preProductShelfStatuss on preProductShelfStock.F49_ContainerCode equals preProductShelfStatus.F37_ContainerCode
                                      where preProductShelfStatus.F37_ShelfStatus.Trim().Equals(condition1)
                                      //group materialShelfStock by materialShelfStock.F33_MaterialCode into grp
                                      orderby new
            {
                preProductShelfStatus.F37_ShelfRow,
                preProductShelfStatus.F37_ShelfBay,
                preProductShelfStatus.F37_ShelfLevel
            }

            select new FindPrintPreProductNameItem()
            {
                PreProductCode = preProductShelfStock.F49_PreProductCode,
                PreProductName = preProduct.F03_PreProductName,
                ContainerCode  = preProductShelfStock.F49_ContainerCode,
                ContainerType  = preProduct.F03_ContainerType,
                RBL            = preProductShelfStatus.F37_ShelfRow + "-" + preProductShelfStatus.F37_ShelfBay + "-" + preProductShelfStatus.F37_ShelfLevel,
                ShelfNo        = preProductShelfStatus.F37_ShelfRow + "-" + preProductShelfStatus.F37_ShelfBay + "-" + preProductShelfStatus.F37_ShelfLevel,
                LotNo          = preProductShelfStock.F49_PreProductLotNo,
                SDate1         = preProductShelfStock.F49_StorageDate,
                Quantity       = preProductShelfStock.F49_Amount,
            };


            var totalFirstItems = 0;



            var totalSecondItems = 0;



            //•	o	Show “PAGE: “ + current page with format as ###
            printPreProductNameItem.Page = "1";

            // Get Total quantity
            printPreProductNameItem.Total1 = totalFirstItems;
            printPreProductNameItem.Total2 = totalSecondItems;
            //if (preProductNameItems.Any())
            //{
            //    printPreProductNameItem.Total = preProductNameItems.Sum(i => i.Amount);
            //}
            // o	Show {current date/time} with format: dd-mm-yyyy hh:ss
            printPreProductNameItem.Datetime = DateTime.Now.ToString("dd/MM/yyyy HH:mm");

            /*
             * o	Show {Company Name} = value from profile:
             * ProfileString("toshiba.ini","server","companyname","")
             */
            printPreProductNameItem.CompanyName = WebConfigurationManager.AppSettings["CompanyName"];


            await _unitOfWork.CommitAsync();

            printPreProductNameItem.FindPrintPreProductNameItem = await preProductNameItems.ToListAsync();

            printPreProductNameItem.FindPrintPreProductNameItem =
                printPreProductNameItem.FindPrintPreProductNameItem.Select(m => new FindPrintPreProductNameItem()
            {
                PreProductCode = m.PreProductCode,
                PreProductName = m.PreProductName,
                ContainerCode  = m.ContainerCode,
                ContainerType  = m.ContainerType,
                RBL            = m.RBL,
                ShelfNo        = m.ShelfNo,
                LotNo          = m.LotNo,
                SDate          = m.SDate1.HasValue ? m.SDate1.Value.ToString("dd/MM/yyyy") : "",
                Stime          = m.SDate1.HasValue ? m.SDate1.Value.ToString("HH:mm") : "",
                Quantityst     = m.Quantity.ToString("###,###,###,##0.00"),
            }).OrderBy(m => m.RBL).ThenBy(m => m.PreProductCode).ThenBy(m => m.ContainerType).ThenBy(m => m.ContainerCode).ThenBy(m => m.SDate).ThenBy(m => m.LotNo).ToList();
            return(printPreProductNameItem);
        }