|
|
@@ -2,6 +2,7 @@
|
|
|
using System.Collections.Generic;
|
|
|
using System.Data.Entity;
|
|
|
using System.Diagnostics;
|
|
|
+using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Reflection;
|
|
|
using System.Threading.Tasks;
|
|
|
@@ -17,9 +18,12 @@ using IwbZero.AppServiceBase;
|
|
|
using IwbZero.Auditing;
|
|
|
using IwbZero.IdentityFramework;
|
|
|
using Microsoft.AspNet.Identity;
|
|
|
+using MiniExcelLibs;
|
|
|
+using NPOI.SS.UserModel;
|
|
|
using ShwasherSys.Authorization.Permissions;
|
|
|
using ShwasherSys.BaseSysInfo;
|
|
|
using ShwasherSys.Common;
|
|
|
+using ShwasherSys.Common.Dto;
|
|
|
using ShwasherSys.CustomerInfo;
|
|
|
using ShwasherSys.EntityFramework;
|
|
|
using ShwasherSys.Lambda;
|
|
|
@@ -455,135 +459,282 @@ namespace ShwasherSys.OrderSendInfo
|
|
|
|
|
|
public async Task<string> ExportOrderSendCommon(EntityDto<string> input)
|
|
|
{
|
|
|
- var bill = await Repository.FirstOrDefaultAsync(input.Id);
|
|
|
- //var orderSends = (await ViewOrderSendRepository.GetAllListAsync(i => i.OrderSendBillNo == input.Id)).OrderBy(i=>i.SurfaceColor).ThenBy(i=>i.Rigidity).ToList();
|
|
|
- var orderSends =
|
|
|
- (await ViewOrderSendRepository.GetAllListAsync(i => i.OrderSendBillNo == input.Id)).OrderBy(i => i.SendBillSort).ThenByDescending(i=>i.SendDate).ToList();
|
|
|
+ var bill = await Repository.FirstOrDefaultAsync(input.Id);
|
|
|
+ var orderSends =
|
|
|
+ (await ViewOrderSendRepository.GetAllListAsync(i => i.OrderSendBillNo == input.Id)).OrderBy(i => i.SendBillSort).ThenByDescending(i => i.SendDate).ToList();
|
|
|
+ var customerInfo = await CustomerRepository.FirstOrDefaultAsync(bill.CustomerId);
|
|
|
+ string path = AppDomain.CurrentDomain.BaseDirectory + "Resources/OrderSendTemplate/送货单模板2.xlsx";
|
|
|
+ if (orderSends.Any())
|
|
|
+ {
|
|
|
+ if (orderSends[0].SaleType == 2)
|
|
|
+ {
|
|
|
+ path = AppDomain.CurrentDomain.BaseDirectory + "Resources/OrderSendTemplate/外销送货单模板2.xlsx";
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ OrderSendMiniExcelDto miniValue = new OrderSendMiniExcelDto()
|
|
|
+ {
|
|
|
+ Ex1 = DateTime.Now.ToString("yyyy-MM-dd"),
|
|
|
+ Ex2 = DateTime.Now.ToString("yyyy年MM月dd日"),
|
|
|
+ OrderSendBillNo = bill.Id,
|
|
|
+ SendAddress = bill.SendAddress,
|
|
|
+ CustomerName = customerInfo.CustomerName,
|
|
|
+ ContactTels = bill.ContactTels,
|
|
|
+ ContactMan = bill.ContactMan
|
|
|
+ };
|
|
|
+ var savePath = "Download/Excel/OrderSendBill";
|
|
|
+ var fileName = $"送货单-{Clock.Now:yyMMddHHmmss}.xlsx";
|
|
|
+ int index = 0;
|
|
|
+ decimal allPackageCount = 0;
|
|
|
+ decimal allSendQuantity = 0;
|
|
|
+ decimal allTotalPrice = 0;
|
|
|
+ List<OrderSendItemExcelDto> orderSendItem = new List<OrderSendItemExcelDto>();
|
|
|
+ foreach (var send in orderSends)
|
|
|
+ {
|
|
|
+ OrderSendItemExcelDto item = new OrderSendItemExcelDto();
|
|
|
+ var sendQuantity = Math.Round(Math.Floor(send.SendQuantity * 1000) / 1000, 3);//发货数量
|
|
|
+ allSendQuantity += sendQuantity;
|
|
|
+ var quantityPerPack = send.QuantityPerPack ?? 0;
|
|
|
+ quantityPerPack = quantityPerPack == 0 ? sendQuantity : quantityPerPack;//每包数量,如果为0则等于发货数量
|
|
|
+ decimal packageCount = sendQuantity == 0 ? 0 : (sendQuantity <= quantityPerPack ? 1 : Math.Floor(send.SendQuantity / quantityPerPack));
|
|
|
+ var sysl = sendQuantity - quantityPerPack * packageCount;
|
|
|
+ allPackageCount += packageCount + (sysl > 0 ? 1 : 0);
|
|
|
+ item.Index = index + 1;
|
|
|
+ item.StockNo = send.StockNo ?? send.OrderNo;
|
|
|
+ item.PartNo = send.PartNo ?? "";
|
|
|
+ item.ProductName = send.ProductName ?? "";
|
|
|
+ item.Model = send.Model ?? "";
|
|
|
+ item.SurfaceColor = send.SurfaceColor ?? "";
|
|
|
+ item.Material = send.Material ?? "";
|
|
|
+ item.Rigidity = send.Rigidity ?? "";
|
|
|
+ item.Unit = "千件";
|
|
|
+ item.SendQuantity = sendQuantity;
|
|
|
+ item.PackageCount = packageCount;
|
|
|
+ item.QuantityPerPack = quantityPerPack;
|
|
|
+ item.Sysl = sysl;
|
|
|
+ item.ProductBatchNum = send.ProductBatchNum ?? "";
|
|
|
+ allTotalPrice += send.TotalPrice;
|
|
|
+ orderSendItem.Add(item);
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+
|
|
|
+ miniValue.AllPackageCount = allPackageCount;
|
|
|
+ miniValue.AllSendQuantity = allSendQuantity;
|
|
|
+ miniValue.AllTotalPrice = allTotalPrice;
|
|
|
+ miniValue.send = orderSendItem;
|
|
|
+
|
|
|
+ savePath = Path.Combine($"{AppDomain.CurrentDomain.BaseDirectory}{savePath}", fileName);
|
|
|
+ string resultPath = $"/Download/Excel/OrderSendBill/{fileName}";
|
|
|
+ //var result = work?.SaveWorkBook($"{AppDomain.CurrentDomain.BaseDirectory}{savePath}", fileName);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ await MiniExcel.SaveAsByTemplateAsync(savePath, path, miniValue);
|
|
|
+ }
|
|
|
+ catch (Exception err)
|
|
|
+ {
|
|
|
+ CheckErrors(new IdentityResult(err.Message));
|
|
|
+ }
|
|
|
+ return resultPath;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //public async Task<string> ExportOrderSendCommon2(EntityDto<string> input)
|
|
|
+ // {
|
|
|
+ // var bill = await Repository.FirstOrDefaultAsync(input.Id);
|
|
|
+ // //var orderSends = (await ViewOrderSendRepository.GetAllListAsync(i => i.OrderSendBillNo == input.Id)).OrderBy(i=>i.SurfaceColor).ThenBy(i=>i.Rigidity).ToList();
|
|
|
+ // var orderSends =
|
|
|
+ // (await ViewOrderSendRepository.GetAllListAsync(i => i.OrderSendBillNo == input.Id)).OrderBy(i => i.SendBillSort).ThenByDescending(i=>i.SendDate).ToList();
|
|
|
|
|
|
|
|
|
- var customerInfo = await CustomerRepository.FirstOrDefaultAsync(bill.CustomerId);
|
|
|
- if (orderSends.Any())
|
|
|
- {
|
|
|
- if (orderSends[0].SaleType == 2)
|
|
|
- {
|
|
|
- return ExportOutSale(orderSends, bill, customerInfo);
|
|
|
- }
|
|
|
- }
|
|
|
- string path = AppDomain.CurrentDomain.BaseDirectory + "Resources/OrderSendTemplate/送货单模板.xlsx";
|
|
|
- var savePath = "Download/Excel/OrderSendBill";
|
|
|
- var work = ExcelHelper.CreateWorkBook07(path);
|
|
|
- var sheet1 = work.GetSheet("Sheet1");
|
|
|
- sheet1.GenerateCell(2, 1).SetCellValue("单号:"+bill.Id);
|
|
|
- sheet1.GenerateCell(5, 2).SetCellValue("客户:" + customerInfo.CustomerName);
|
|
|
- sheet1.GenerateCell(5, 10).SetCellValue("地址:" + bill.SendAddress);
|
|
|
- sheet1.GenerateCell(6, 2).SetCellValue("联系电话:" + bill.ContactTels);
|
|
|
- sheet1.GenerateCell(6, 10).SetCellValue("联系人:" + bill.ContactMan);
|
|
|
- sheet1.GenerateCell(7, 1).SetCellValue("日期:" + DateTime.Now.ToString("yyyy年MM月dd日"));
|
|
|
- sheet1.InsertRows(10, orderSends.Count);
|
|
|
- int index = 0;
|
|
|
- decimal allPackageCount = 0;
|
|
|
- foreach (var send in orderSends)
|
|
|
- {
|
|
|
- var sendQuantity = Math.Round(Math.Floor(send.SendQuantity * 1000) / 1000, 3);//发货数量
|
|
|
- var quantityPerPack = send.QuantityPerPack ?? 0;
|
|
|
- quantityPerPack = quantityPerPack == 0 ? sendQuantity : quantityPerPack;//每包数量,如果为0则等于发货数量
|
|
|
- decimal packageCount = sendQuantity == 0 ? 0 : (sendQuantity <= quantityPerPack ? 1 : Math.Floor(send.SendQuantity / quantityPerPack));
|
|
|
- var sysl = sendQuantity - quantityPerPack * packageCount;
|
|
|
- allPackageCount += packageCount+(sysl>0?1:0);
|
|
|
- sheet1.GenerateCell(10 + index, 1).SetValue<int>(index + 1);
|
|
|
- sheet1.GenerateCell(10 + index, 2).SetValue(send.StockNo?? send.OrderNo);
|
|
|
- sheet1.GenerateCell(10 + index, 3).SetValue(send.PartNo ?? "");
|
|
|
- sheet1.GenerateCell(10 + index, 4).SetValue(send.ProductName??"");
|
|
|
- sheet1.GenerateCell(10 + index, 5).SetValue(send.Model ?? "");
|
|
|
- sheet1.GenerateCell(10 + index, 6).SetValue(send.SurfaceColor ?? "");
|
|
|
- sheet1.GenerateCell(10 + index, 7).SetValue(send.Material ?? "");
|
|
|
- sheet1.GenerateCell(10 + index, 8).SetValue(send.Rigidity ?? "");
|
|
|
- sheet1.GenerateCell(10 + index, 9).SetValue("千件");
|
|
|
- sheet1.GenerateCell(10 + index, 10).SetValue<decimal>(sendQuantity);
|
|
|
- sheet1.GenerateCell(10 + index, 11).SetValue<decimal>(packageCount);
|
|
|
- sheet1.GenerateCell(10 + index, 12).SetValue<decimal>(quantityPerPack);
|
|
|
- sheet1.GenerateCell(10 + index, 13).SetValue<decimal>(sysl);
|
|
|
- sheet1.GenerateCell(10 + index, 14).SetValue<decimal>(sendQuantity);
|
|
|
- sheet1.GenerateCell(10 + index, 15).SetValue(send.ProductBatchNum??"");
|
|
|
- index++;
|
|
|
- }
|
|
|
- index++;
|
|
|
- sheet1.GenerateCell(10 + index, 8).SetValue( "合计: 托盘、"+ allPackageCount + "箱、待进仓");
|
|
|
- index+=3;
|
|
|
- sheet1.GenerateCell(10 + index, 12).SetValue( "送货日期:"+DateTime.Now.ToString("yyyy-MM-dd"));
|
|
|
- var fileName = $"送货单-{Clock.Now:yyMMddHHmmss}.xlsx";
|
|
|
- var result = work?.SaveWorkBook($"{AppDomain.CurrentDomain.BaseDirectory}{savePath}", fileName);
|
|
|
- if (!result.IsNullOrEmpty())
|
|
|
- {
|
|
|
- //CheckErrors(IwbIdentityResult.Failed(result));
|
|
|
- return null;
|
|
|
- }
|
|
|
- return $"/{savePath}/{fileName}";
|
|
|
- }
|
|
|
-
|
|
|
- private string ExportOutSale(List<ViewOrderSend> orderSends, OrderSendBill bill,
|
|
|
- Customer customerInfo)
|
|
|
- {
|
|
|
- string path = AppDomain.CurrentDomain.BaseDirectory + "Resources/OrderSendTemplate/外销送货单模板.xlsx";
|
|
|
- var savePath = "Download/Excel/OrderSendBill";
|
|
|
- var work = ExcelHelper.CreateWorkBook07(path);
|
|
|
- var sheet1 = work.GetSheet("Sheet1");
|
|
|
- sheet1.GenerateCell(2, 1).SetCellValue("单号:" + bill.Id);
|
|
|
- sheet1.GenerateCell(5, 1).SetCellValue("Buyer Name:" + customerInfo.CustomerName);
|
|
|
- sheet1.GenerateCell(6, 1).SetCellValue("Buyer Add: " + bill.SendAddress);
|
|
|
- //sheet1.GenerateCell(6, 2).SetCellValue("联系电话:" + bill.ContactTels);
|
|
|
- //sheet1.GenerateCell(6, 10).SetCellValue("联系人:" + bill.ContactMan);
|
|
|
- //sheet1.GenerateCell(7, 1).SetCellValue("日期:" + DateTime.Now.ToString("yyyy年MM月dd日"));
|
|
|
- sheet1.InsertRows(14, orderSends.Count);
|
|
|
- int index = 0;
|
|
|
- decimal allPackageCount = 0;
|
|
|
- decimal allSendQuantity = 0;
|
|
|
- decimal allTotalPrice = 0;
|
|
|
- foreach (var send in orderSends)
|
|
|
- {
|
|
|
- var sendQuantity = Math.Round(Math.Floor(send.SendQuantity * 1000) / 1000, 3);//发货数量
|
|
|
- allSendQuantity += sendQuantity;
|
|
|
- var quantityPerPack = send.QuantityPerPack ?? 0;
|
|
|
- quantityPerPack = quantityPerPack == 0 ? sendQuantity : quantityPerPack;//每包数量,如果为0则等于发货数量
|
|
|
- decimal packageCount = sendQuantity == 0 ? 0 : (sendQuantity <= quantityPerPack ? 1 : Math.Floor(send.SendQuantity / quantityPerPack));
|
|
|
- var sysl = sendQuantity - quantityPerPack * packageCount;
|
|
|
- allPackageCount += packageCount + (sysl > 0 ? 1 : 0);
|
|
|
- sheet1.GenerateCell(14 + index, 1).SetValue<int>(index + 1);
|
|
|
- sheet1.GenerateCell(14 + index, 2).SetValue(send.StockNo ?? send.OrderNo);
|
|
|
- sheet1.GenerateCell(14 + index, 3).SetValue(send.PartNo ?? "");
|
|
|
- sheet1.GenerateCell(14 + index, 4).SetValue(send.ProductName ?? "");
|
|
|
- sheet1.GenerateCell(14 + index, 5).SetValue(send.Model ?? "");
|
|
|
- sheet1.GenerateCell(14 + index, 6).SetValue(send.SurfaceColor ?? "");
|
|
|
- sheet1.GenerateCell(14 + index, 7).SetValue(send.Material ?? "");
|
|
|
- sheet1.GenerateCell(14 + index, 8).SetValue(send.Rigidity ?? "");
|
|
|
- sheet1.GenerateCell(14 + index, 9).SetValue("千件");
|
|
|
- sheet1.GenerateCell(14 + index, 10).SetValue<decimal>(sendQuantity);
|
|
|
- sheet1.GenerateCell(14 + index, 11).SetValue<decimal>(packageCount);
|
|
|
- sheet1.GenerateCell(14 + index, 12).SetValue<decimal>(quantityPerPack);
|
|
|
- sheet1.GenerateCell(14 + index, 13).SetValue<decimal>(sysl);
|
|
|
- sheet1.GenerateCell(14 + index, 14).SetValue<decimal>(sendQuantity);
|
|
|
- sheet1.GenerateCell(14 + index, 15).SetValue(send.ProductBatchNum ?? "");
|
|
|
- //sheet1.GenerateCell(14 + index, 16).SetValue<decimal>(send.Price);
|
|
|
- //sheet1.GenerateCell(14 + index, 17).SetValue<decimal>(send.TotalPrice);
|
|
|
- allTotalPrice += send.TotalPrice;
|
|
|
- index++;
|
|
|
- }
|
|
|
-
|
|
|
- index += 4;
|
|
|
- sheet1.GenerateCell(14 + index, 17).SetValue<decimal>(allSendQuantity);
|
|
|
- index += 1;
|
|
|
- //sheet1.GenerateCell(14 + index, 17).SetValue<decimal>(allTotalPrice);
|
|
|
- index += 3;
|
|
|
- sheet1.GenerateCell(14 + index, 12).SetValue("送货日期:" + DateTime.Now.ToString("yyyy-MM-dd"));
|
|
|
- var fileName = $"送货单-{Clock.Now:yyMMddHHmmss}.xlsx";
|
|
|
- var result = work?.SaveWorkBook($"{AppDomain.CurrentDomain.BaseDirectory}{savePath}", fileName);
|
|
|
- if (!result.IsNullOrEmpty())
|
|
|
- {
|
|
|
- //CheckErrors(IwbIdentityResult.Failed(result));
|
|
|
- return null;
|
|
|
- }
|
|
|
- return $"/{savePath}/{fileName}";
|
|
|
- }
|
|
|
- #endregion
|
|
|
- }
|
|
|
+ // var customerInfo = await CustomerRepository.FirstOrDefaultAsync(bill.CustomerId);
|
|
|
+ // if (orderSends.Any())
|
|
|
+ // {
|
|
|
+ // if (orderSends[0].SaleType == 2)
|
|
|
+ // {
|
|
|
+ // return ExportOutSale(orderSends, bill, customerInfo);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // string path = AppDomain.CurrentDomain.BaseDirectory + "Resources/OrderSendTemplate/送货单模板.xlsx";
|
|
|
+ // var savePath = "Download/Excel/OrderSendBill";
|
|
|
+ // var work = ExcelHelper.CreateWorkBook07(path);
|
|
|
+ // var sheet1 = work.GetSheet("Sheet1");
|
|
|
+ // sheet1.GenerateCell(2, 1).SetCellValue("单号:"+bill.Id);
|
|
|
+ // sheet1.GenerateCell(5, 2).SetCellValue("客户:" + customerInfo.CustomerName);
|
|
|
+ // sheet1.GenerateCell(5, 10).SetCellValue("地址:" + bill.SendAddress);
|
|
|
+ // sheet1.GenerateCell(6, 2).SetCellValue("联系电话:" + bill.ContactTels);
|
|
|
+ // sheet1.GenerateCell(6, 10).SetCellValue("联系人:" + bill.ContactMan);
|
|
|
+ // sheet1.GenerateCell(7, 1).SetCellValue("日期:" + DateTime.Now.ToString("yyyy年MM月dd日"));
|
|
|
+ // sheet1.InsertRows(10, orderSends.Count);
|
|
|
+ // int index = 0;
|
|
|
+ // decimal allPackageCount = 0;
|
|
|
+ // foreach (var send in orderSends)
|
|
|
+ // {
|
|
|
+ // var sendQuantity = Math.Round(Math.Floor(send.SendQuantity * 1000) / 1000, 3);//发货数量
|
|
|
+ // var quantityPerPack = send.QuantityPerPack ?? 0;
|
|
|
+ // quantityPerPack = quantityPerPack == 0 ? sendQuantity : quantityPerPack;//每包数量,如果为0则等于发货数量
|
|
|
+ // decimal packageCount = sendQuantity == 0 ? 0 : (sendQuantity <= quantityPerPack ? 1 : Math.Floor(send.SendQuantity / quantityPerPack));
|
|
|
+ // var sysl = sendQuantity - quantityPerPack * packageCount;
|
|
|
+ // allPackageCount += packageCount+(sysl>0?1:0);
|
|
|
+ // sheet1.GenerateCell(10 + index, 1).SetValue<int>(index + 1);
|
|
|
+ // sheet1.GenerateCell(10 + index, 2).SetValue(send.StockNo?? send.OrderNo);
|
|
|
+ // sheet1.GenerateCell(10 + index, 3).SetValue(send.PartNo ?? "");
|
|
|
+ // sheet1.GenerateCell(10 + index, 4).SetValue(send.ProductName??"");
|
|
|
+ // sheet1.GenerateCell(10 + index, 5).SetValue(send.Model ?? "");
|
|
|
+ // sheet1.GenerateCell(10 + index, 6).SetValue(send.SurfaceColor ?? "");
|
|
|
+ // sheet1.GenerateCell(10 + index, 7).SetValue(send.Material ?? "");
|
|
|
+ // sheet1.GenerateCell(10 + index, 8).SetValue(send.Rigidity ?? "");
|
|
|
+ // sheet1.GenerateCell(10 + index, 9).SetValue("千件");
|
|
|
+ // sheet1.GenerateCell(10 + index, 10).SetValue<decimal>(sendQuantity);
|
|
|
+ // sheet1.GenerateCell(10 + index, 11).SetValue<decimal>(packageCount);
|
|
|
+ // sheet1.GenerateCell(10 + index, 12).SetValue<decimal>(quantityPerPack);
|
|
|
+ // sheet1.GenerateCell(10 + index, 13).SetValue<decimal>(sysl);
|
|
|
+ // sheet1.GenerateCell(10 + index, 14).SetValue<decimal>(sendQuantity);
|
|
|
+ // sheet1.GenerateCell(10 + index, 15).SetValue(send.ProductBatchNum??"");
|
|
|
+ // index++;
|
|
|
+ // }
|
|
|
+ // index++;
|
|
|
+ // sheet1.GenerateCell(10 + index, 8).SetValue( "合计: 托盘、"+ allPackageCount + "箱、待进仓");
|
|
|
+ // index+=3;
|
|
|
+ // sheet1.GenerateCell(10 + index, 12).SetValue( "送货日期:"+DateTime.Now.ToString("yyyy-MM-dd"));
|
|
|
+ // var fileName = $"送货单-{Clock.Now:yyMMddHHmmss}.xlsx";
|
|
|
+ // var result = work?.SaveWorkBook($"{AppDomain.CurrentDomain.BaseDirectory}{savePath}", fileName);
|
|
|
+ // if (!result.IsNullOrEmpty())
|
|
|
+ // {
|
|
|
+ // //CheckErrors(IwbIdentityResult.Failed(result));
|
|
|
+ // return null;
|
|
|
+ // }
|
|
|
+ // return $"/{savePath}/{fileName}";
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+ //private string ExportOutSale(List<ViewOrderSend> orderSends, OrderSendBill bill,
|
|
|
+ // Customer customerInfo)
|
|
|
+ //{
|
|
|
+ // string path = AppDomain.CurrentDomain.BaseDirectory + "Resources/OrderSendTemplate/外销送货单模板2.xlsx";
|
|
|
+ // OrderSendMiniExcelDto miniValue = new OrderSendMiniExcelDto()
|
|
|
+ // {
|
|
|
+ // Ex1 = DateTime.Now.ToString("yyyy-MM-dd"),
|
|
|
+ // OrderSendBillNo = bill.Id,
|
|
|
+ // SendAddress = bill.SendAddress,
|
|
|
+ // CustomerName = customerInfo.CustomerName
|
|
|
+ // };
|
|
|
+ // var savePath = "Download/Excel/OrderSendBill";
|
|
|
+ // var fileName = $"送货单-{Clock.Now:yyMMddHHmmss}.xlsx";
|
|
|
+ // int index = 0;
|
|
|
+ // decimal allPackageCount = 0;
|
|
|
+ // decimal allSendQuantity = 0;
|
|
|
+ // decimal allTotalPrice = 0;
|
|
|
+ // List<OrderSendItemExcelDto> orderSendItem = new List<OrderSendItemExcelDto>();
|
|
|
+ // foreach (var send in orderSends)
|
|
|
+ // {
|
|
|
+ // OrderSendItemExcelDto item = new OrderSendItemExcelDto();
|
|
|
+ // var sendQuantity = Math.Round(Math.Floor(send.SendQuantity * 1000) / 1000, 3);//发货数量
|
|
|
+ // allSendQuantity += sendQuantity;
|
|
|
+ // var quantityPerPack = send.QuantityPerPack ?? 0;
|
|
|
+ // quantityPerPack = quantityPerPack == 0 ? sendQuantity : quantityPerPack;//每包数量,如果为0则等于发货数量
|
|
|
+ // decimal packageCount = sendQuantity == 0 ? 0 : (sendQuantity <= quantityPerPack ? 1 : Math.Floor(send.SendQuantity / quantityPerPack));
|
|
|
+ // var sysl = sendQuantity - quantityPerPack * packageCount;
|
|
|
+ // allPackageCount += packageCount + (sysl > 0 ? 1 : 0);
|
|
|
+ // item.Index = index + 1;
|
|
|
+ // item.StockNo = send.StockNo ?? send.OrderNo;
|
|
|
+ // item.PartNo = send.PartNo ?? "";
|
|
|
+ // item.ProductName = send.ProductName ?? "";
|
|
|
+ // item.Model = send.Model ?? "";
|
|
|
+ // item.SurfaceColor = send.SurfaceColor ?? "";
|
|
|
+ // item.Material = send.Material ?? "";
|
|
|
+ // item.Rigidity = send.Rigidity ?? "";
|
|
|
+ // item.Unit = "千件";
|
|
|
+ // item.SendQuantity = sendQuantity;
|
|
|
+ // item.PackageCount = packageCount;
|
|
|
+ // item.QuantityPerPack = quantityPerPack;
|
|
|
+ // item.Sysl = sysl;
|
|
|
+ // item.ProductBatchNum = send.ProductBatchNum ?? "";
|
|
|
+ // allTotalPrice += send.TotalPrice;
|
|
|
+ // orderSendItem.Add(item);
|
|
|
+ // index++;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // miniValue.AllPackageCount = allPackageCount;
|
|
|
+ // miniValue.AllSendQuantity = allSendQuantity;
|
|
|
+ // miniValue.AllTotalPrice = allTotalPrice;
|
|
|
+ // miniValue.send=orderSendItem;
|
|
|
+
|
|
|
+ // savePath = Path.Combine($"{AppDomain.CurrentDomain.BaseDirectory}{savePath}", fileName);
|
|
|
+ // string resultPath = $"/Download/Excel/OrderSendBill/{fileName}";
|
|
|
+ // //var result = work?.SaveWorkBook($"{AppDomain.CurrentDomain.BaseDirectory}{savePath}", fileName);
|
|
|
+ // try
|
|
|
+ // {
|
|
|
+ // MiniExcel.SaveAsByTemplate(savePath, path, miniValue);
|
|
|
+ // }
|
|
|
+ // catch (Exception err)
|
|
|
+ // {
|
|
|
+ // CheckErrors(new IdentityResult(err.Message));
|
|
|
+ // }
|
|
|
+ // return resultPath;
|
|
|
+ //}
|
|
|
+ //private string ExportOutSale2(List<ViewOrderSend> orderSends, OrderSendBill bill,
|
|
|
+ //Customer customerInfo)
|
|
|
+ //{
|
|
|
+ // string path = AppDomain.CurrentDomain.BaseDirectory + "Resources/OrderSendTemplate/外销送货单模板.xlsx";
|
|
|
+ // var savePath = "Download/Excel/OrderSendBill";
|
|
|
+ // var work = ExcelHelper.CreateWorkBook07(path);
|
|
|
+ // var sheet1 = work.GetSheet("Sheet1");
|
|
|
+ // sheet1.GenerateCell(2, 1).SetCellValue("单号:" + bill.Id);
|
|
|
+ // sheet1.GenerateCell(5, 1).SetCellValue("Buyer Name:" + customerInfo.CustomerName);
|
|
|
+ // sheet1.GenerateCell(6, 1).SetCellValue("Buyer Add: " + bill.SendAddress);
|
|
|
+ // //sheet1.GenerateCell(6, 2).SetCellValue("联系电话:" + bill.ContactTels);
|
|
|
+ // //sheet1.GenerateCell(6, 10).SetCellValue("联系人:" + bill.ContactMan);
|
|
|
+ // //sheet1.GenerateCell(7, 1).SetCellValue("日期:" + DateTime.Now.ToString("yyyy年MM月dd日"));
|
|
|
+ // sheet1.InsertRows(14, orderSends.Count);
|
|
|
+ // int index = 0;
|
|
|
+ // decimal allPackageCount = 0;
|
|
|
+ // decimal allSendQuantity = 0;
|
|
|
+ // decimal allTotalPrice = 0;
|
|
|
+ // foreach (var send in orderSends)
|
|
|
+ // {
|
|
|
+ // var sendQuantity = Math.Round(Math.Floor(send.SendQuantity * 1000) / 1000, 3);//发货数量
|
|
|
+ // allSendQuantity += sendQuantity;
|
|
|
+ // var quantityPerPack = send.QuantityPerPack ?? 0;
|
|
|
+ // quantityPerPack = quantityPerPack == 0 ? sendQuantity : quantityPerPack;//每包数量,如果为0则等于发货数量
|
|
|
+ // decimal packageCount = sendQuantity == 0 ? 0 : (sendQuantity <= quantityPerPack ? 1 : Math.Floor(send.SendQuantity / quantityPerPack));
|
|
|
+ // var sysl = sendQuantity - quantityPerPack * packageCount;
|
|
|
+ // allPackageCount += packageCount + (sysl > 0 ? 1 : 0);
|
|
|
+ // sheet1.GenerateCell(14 + index, 1).SetValue<int>(index + 1);
|
|
|
+ // sheet1.GenerateCell(14 + index, 2).SetValue(send.StockNo ?? send.OrderNo);
|
|
|
+ // sheet1.GenerateCell(14 + index, 3).SetValue(send.PartNo ?? "");
|
|
|
+ // sheet1.GenerateCell(14 + index, 4).SetValue(send.ProductName ?? "");
|
|
|
+ // sheet1.GenerateCell(14 + index, 5).SetValue(send.Model ?? "");
|
|
|
+ // sheet1.GenerateCell(14 + index, 6).SetValue(send.SurfaceColor ?? "");
|
|
|
+ // sheet1.GenerateCell(14 + index, 7).SetValue(send.Material ?? "");
|
|
|
+ // sheet1.GenerateCell(14 + index, 8).SetValue(send.Rigidity ?? "");
|
|
|
+ // sheet1.GenerateCell(14 + index, 9).SetValue("千件");
|
|
|
+ // sheet1.GenerateCell(14 + index, 10).SetValue<decimal>(sendQuantity);
|
|
|
+ // sheet1.GenerateCell(14 + index, 11).SetValue<decimal>(packageCount);
|
|
|
+ // sheet1.GenerateCell(14 + index, 12).SetValue<decimal>(quantityPerPack);
|
|
|
+ // sheet1.GenerateCell(14 + index, 13).SetValue<decimal>(sysl);
|
|
|
+ // sheet1.GenerateCell(14 + index, 14).SetValue<decimal>(sendQuantity);
|
|
|
+ // sheet1.GenerateCell(14 + index, 15).SetValue(send.ProductBatchNum ?? "");
|
|
|
+ // //sheet1.GenerateCell(14 + index, 16).SetValue<decimal>(send.Price);
|
|
|
+ // //sheet1.GenerateCell(14 + index, 17).SetValue<decimal>(send.TotalPrice);
|
|
|
+ // allTotalPrice += send.TotalPrice;
|
|
|
+ // index++;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // index += 4;
|
|
|
+ // sheet1.GenerateCell(14 + index, 17).SetValue<decimal>(allSendQuantity);
|
|
|
+ // index += 1;
|
|
|
+ // //sheet1.GenerateCell(14 + index, 17).SetValue<decimal>(allTotalPrice);
|
|
|
+ // index += 3;
|
|
|
+ // sheet1.GenerateCell(14 + index, 12).SetValue("送货日期:" + DateTime.Now.ToString("yyyy-MM-dd"));
|
|
|
+ // var fileName = $"送货单-{Clock.Now:yyMMddHHmmss}.xlsx";
|
|
|
+ // var result = work?.SaveWorkBook($"{AppDomain.CurrentDomain.BaseDirectory}{savePath}", fileName);
|
|
|
+ // if (!result.IsNullOrEmpty())
|
|
|
+ // {
|
|
|
+ // //CheckErrors(IwbIdentityResult.Failed(result));
|
|
|
+ // return null;
|
|
|
+ // }
|
|
|
+ // return $"/{savePath}/{fileName}";
|
|
|
+ //}
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
}
|