public IResponseResult GetBuyOrderDetail(Guid buyOrderId)
        {
            var result = new UserBuyOrderBiz().GetBuyOrderDetail(UserModel, buyOrderId, out var msg);

            if (result == null)
            {
                return(ReturnResult(false, msg));
            }

            return(ReturnResult(result));
        }
Esempio n. 2
0
        /// <summary>
        /// 导出备货单
        /// </summary>
        /// <param name=""></param>
        /// <param name="userModel"></param>
        /// <param name="saleOrderId"></param>
        /// <param name="msg"></param>
        /// <param name="bt"></param>
        /// <param name="saleOrder"></param>
        /// <returns></returns>
        public bool ExportStocking(UserModel userModel, Guid saleOrderId, out string msg, out byte[] bt, out BuyOrder saleOrder)
        {
            bt = null;

            var order = Da.Get <BuyOrder>(saleOrderId);

            saleOrder = order;
            var b1 = CheckAuthOrder(userModel, order, out msg);

            if (!b1)
            {
                return(false);
            }

            var path = $"{Config.Root}/static/files/ExportStockIn.xlsx";

            if (!File.Exists(path))
            {
                msg = "配置错误";
                return(false);
            }

            //产品
            var orderProducts = new UserBuyOrderBiz().GetBuyOrderDetailProduct(userModel, saleOrderId);
            var products      = orderProducts.data;

            //统计
            var count = new UserBuyOrderBiz().GetBuyOrderDetailCount(userModel, order);

            bt = ExcelHelper.Export(path, wb =>
            {
                var sheet = wb.GetSheetAt(0);

                //
                sheet.GetRow(0).Cells[1].SetCellValue(order.BuyOrderNumber);
                sheet.GetRow(0).Cells[4].SetCellValue(order.UserNickName);
                //sheet.GetRow(1).Cells[1].SetCellValue(Convert.ToDateTime(order.ShipDate).ToString("yyyy/MM/dd"));
                sheet.GetRow(1).Cells[4].SetCellValue(order.DefaultShip);
                sheet.GetRow(2).Cells[1].SetCellValue(order.DefaultRemark);

                //
                for (var i = 0; i < products.Count - 1; i++)
                {
                    sheet.CopyRowSample(i + 10, i + 11);
                }

                var rs    = products.Count;
                var index = 0;
                foreach (var item in products)
                {
                    var rows = sheet.GetRow(index + 10);
                    rows.Cells[0].SetCellValue(item.ProductSku);
                    rows.Cells[1].SetCellValue(item.CategoryName);
                    rows.Cells[2].SetCellValue(item.ProductName);
                    rows.Cells[3].SetCellValue(item.ProductSpecification);
                    rows.Cells[4].SetCellValue(item.ProductRemark);
                    rows.Cells[5].SetCellValue(item.Qty);
                    rows.Cells[6].SetCellValue(item.AreaPosition);
                    rows.Cells[7].SetCellValue(item.Remark);

                    index++;
                }

                //数量总计
                sheet.GetRow(11 + rs).Cells[5].SetCellFormula($"SUM(H11:H{rs + 10})");
                sheet.GetRow(11 + rs).Cells[5].SetCellValue(Convert.ToDouble(count.ProductQtys));
            });

            msg = null;
            return(true);
        }