Quellcode durchsuchen

其他款项 更改 增加 OTA订单编号

LEIYI vor 7 Monaten
Ursprung
Commit
ce42ed8c4c

+ 27 - 43
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -3710,24 +3710,26 @@ FROM
             if (!System.IO.File.Exists(filePath)) return Ok(JsonView(false, "文件不存在!"));
 
             //读取ExcelFile
-            DataTable dt = ExcelToDataTable(filePath);
+            DataTable dt = ConvertExcelToDataTable(filePath);
             if (dt == null) return Ok(JsonView(false, $"您上传的Excel工作表没有内容,请检查!!!"));
             dt.TableName = "TB";
 
             //修改table列名
-            dt.Columns[0].ColumnName = "OTAOrderNo";     // OTA订单号
-            dt.Columns[1].ColumnName = "PackageName";    // 套餐名
-            dt.Columns[2].ColumnName = "IsPay";          // 是否支付
-            dt.Columns[3].ColumnName = "IsShipments";    // 是否发货
-            dt.Columns[4].ColumnName = "IsSendBack";     // 是否寄回
-            dt.Columns[5].ColumnName = "OrderTime";      // 下单时间
-            dt.Columns[6].ColumnName = "UseTime";        // 使用时间
-            dt.Columns[7].ColumnName = "Quantity";       // 台数
-            dt.Columns[8].ColumnName = "Days";           // 租赁天数
-            dt.Columns[9].ColumnName = "QuantityShipped";// 发货数量
-            dt.Columns[9].ColumnName = "TotalPrice";     // 总金额
-            dt.Columns[9].ColumnName = "GroupName";      // 团组名称
-            dt.Columns[9].ColumnName = "OATotalPrice";   // OA金额
+            dt.Columns[0].ColumnName = "OrderNo";         // 订单号
+            dt.Columns[1].ColumnName = "OTAOrderNo";      // OTA订单号
+            dt.Columns[2].ColumnName = "PackageName";     // 套餐名
+            dt.Columns[3].ColumnName = "IsPay";           // 是否支付
+            dt.Columns[4].ColumnName = "IsShipments";     // 是否发货
+            dt.Columns[5].ColumnName = "IsSendBack";      // 是否寄回
+            dt.Columns[6].ColumnName = "OpUser";          // 使用人信息
+            dt.Columns[7].ColumnName = "OrderTime";       // 下单时间
+            dt.Columns[8].ColumnName = "UseTime";         // 使用时间
+            dt.Columns[9].ColumnName = "Quantity";        // 台数
+            dt.Columns[10].ColumnName = "Days";           // 租赁天数
+            dt.Columns[11].ColumnName = "QuantityShipped";// 发货数量
+            dt.Columns[12].ColumnName = "TotalPrice";     // 总金额
+            dt.Columns[13].ColumnName = "GroupName";      // 团组名称
+            dt.Columns[14].ColumnName = "OATotalPrice";   // OA金额
 
             var otaOrderNos = new List<string>();
             foreach (DataRow item in dt.Rows)
@@ -3750,7 +3752,7 @@ FROM
             foreach (DataRow item in dt.Rows)
             {
                 var otaOrderNo = item["OTAOrderNo"].ToString();
-                var oaData = oaDatas.Find(x => x.OTAOrderNo.Contains(otaOrderNo));
+                var oaData = oaDatas.Find(x => !string.IsNullOrEmpty(x.OTAOrderNo) &&  x.OTAOrderNo.Contains(otaOrderNo));
                 if (oaData == null) continue;
 
                 item["GroupName"] = oaData.TeamName;
@@ -3761,44 +3763,26 @@ FROM
             Dictionary<string, object> pairs = new Dictionary<string, object>();
             List<DataTable> datas = new List<DataTable>();
             datas.Add(dt);
-            url = AsposeHelper.ExpertExcelToModel("信用卡对账模板-美元卡.xls", $"CreditCardBill", fileName1, pairs, datas);
+            url = AsposeHelper.ExpertExcelToModel("WIFI费用清单-模板.xlsx", $"GrpFile/团组增减款项相关文件/团组其他款项(OTA)", fileName1, pairs, datas);
 
 
-            return Ok(JsonView(true));
+            return Ok(JsonView(true, "操作成功", new { url = url }));
         }
 
         #region
-        private DataTable ExcelToDataTable(string filePath)
+        private DataTable ConvertExcelToDataTable(string excelFilePath)
         {
-            DataTable dataTable = new DataTable();
-            using (var package = new ExcelPackage(new FileInfo(filePath)))
-            {
-                ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
-                ExcelWorksheet worksheet = package.Workbook.Worksheets.First();
-                int rowCount = worksheet.Dimension.Rows;
-                int colCount = worksheet.Dimension.Columns;
+            // 创建Workbook对象
+            Workbook workbook = new Workbook(excelFilePath);
 
-                // 获取标题
-                for (int col = 1; col <= colCount; col++)
-                {
-                    dataTable.Columns.Add(worksheet.Cells[1, col].Value.ToString());
-                }
+            // 获取第一个工作表
+            Worksheet worksheet = workbook.Worksheets[0];
+
+            // 将工作表转换为DataTable
+            DataTable dataTable = worksheet.Cells.ExportDataTable(1, 0, worksheet.Cells.MaxDataRow + 1, worksheet.Cells.MaxDataColumn + 1);
 
-                // 获取数据
-                for (int row = 2; row <= rowCount; row++)
-                {
-                    DataRow dataRow = dataTable.NewRow();
-                    for (int col = 1; col <= colCount; col++)
-                    {
-                        dataRow[col - 1] = worksheet.Cells[row, col].Value;
-                    }
-                    dataTable.Rows.Add(dataRow);
-                }
-            }
             return dataTable;
         }
-
-
         #endregion
 
         #endregion

+ 1 - 1
OASystem/OASystem.Api/OASystem.API.csproj

@@ -35,7 +35,7 @@
     <PackageReference Include="EPPlus" Version="7.4.1" />
     <PackageReference Include="Flurl.Http" Version="3.2.4" />
     <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.11" />
-    <PackageReference Include="NPOI" Version="2.7.0" />
+    <PackageReference Include="NPOI" Version="2.7.1" />
     <PackageReference Include="PinYinConverterCore" Version="1.0.2" />
     <PackageReference Include="QRCoder" Version="1.4.1" />
     <PackageReference Include="Quartz" Version="3.6.2" />