From ce40df5daffae0d17b4e9fa7cb6d677afaa4d66f Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 17 十月 2025 11:20:30 +0800
Subject: [PATCH] 更新最新程序,ERP代码,MES代码等
---
项目代码/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs | 125 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 124 insertions(+), 1 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs"
index 698cca2..2a793c3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs"
@@ -1,11 +1,21 @@
-锘縰sing System;
+锘縰sing Magicodes.ExporterAndImporter.Excel.Utility;
+using Microsoft.AspNetCore.Http;
+using Newtonsoft.Json;
+using System;
using System.Collections.Generic;
+using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_IPackInfoRepository;
using WIDESEAWCS_Model.Models.PackInfo;
+using WIDESEAWCS_PackInfoRepository;
+using Magicodes.ExporterAndImporter.Core.Models;
+using Magicodes.ExporterAndImporter.Excel;
+using WIDESEAWCS_Common.Utilities;
namespace WIDESEAWCS_PackInfoService
{
@@ -14,5 +24,118 @@
public Dt_PackaxisService(IDt_PackaxisRepository BaseDal) : base(BaseDal)
{
}
+ public override WebResponseContent Import(List<IFormFile> files)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ // 1. 楠岃瘉鏂囦欢
+ if (files == null || files.Count == 0)
+ return new WebResponseContent { Status = false, Message = "璇烽�夋嫨涓婁紶鐨勬枃浠�" };
+
+ var formFile = files[0];
+
+ // 2. 鍑嗗鐩綍锛堜娇鐢≒ath.Combine锛�
+ var dicPath = Path.Combine(
+ AppDomain.CurrentDomain.BaseDirectory,
+ "ExcelImport",
+ DateTime.Now.ToString("yyyyMMdd"),
+ typeof(Dt_Packaxis).Name);
+
+ Directory.CreateDirectory(dicPath);
+ // 3. 淇濆瓨涓婁紶鏂囦欢
+ var fileName = $"{Guid.NewGuid()}_{formFile.FileName}";
+ var fullPath = Path.Combine(dicPath, fileName);
+
+ using (var stream = new FileStream(fullPath, FileMode.Create))
+ {
+ formFile.CopyToAsync(stream);
+ }
+
+ // 4. 瀵煎叆Excel鏁版嵁
+ DataTable dtExcel = new DataTable();
+ using (ImportExcelHelper excelHelper = new ImportExcelHelper(fullPath))
+ {
+ dtExcel = excelHelper.ExcelToDataTable();
+
+ }
+ List<Dt_Packaxis> addAxis = new List<Dt_Packaxis>();
+ List<Dt_Packaxis> updateAxis = new List<Dt_Packaxis>();
+ if (dtExcel == null || dtExcel.Rows.Count == 0)
+ {
+ return content.Error("鏈壘鍒版暟鎹妫�鏌xcel琛ㄦ牸鏁版嵁鏍煎紡鏄惁姝g‘锛�");
+ }
+ for (int i = 0; i < dtExcel.Rows.Count; i++)
+ {
+ DataRow row = dtExcel.Rows[i];
+ string id = row["id"]?.ToString() ?? string.Empty;
+ string DeviceCode = row["DeviceCode"]?.ToString() ?? string.Empty;
+ string StationCode = row["StationCode"]?.ToString() ?? string.Empty;
+ string PackType = row["PackType"]?.ToString() ?? string.Empty;
+ string PackNum = row["PackNum"]?.ToString() ?? string.Empty;
+ string AxisX = row["AxisX"]?.ToString() ?? string.Empty;
+ string AxisXCount = row["AxisXCount"]?.ToString() ?? string.Empty;
+ string AxisXSpacing = row["AxisXSpacing"]?.ToString() ?? string.Empty;
+ string AxisY = row["AxisY"]?.ToString() ?? string.Empty;
+ string AxisYCount = row["AxisYCount"]?.ToString() ?? string.Empty;
+ string AxisYSpacing = row["AxisYSpacing"]?.ToString() ?? string.Empty;
+ string AxisZ = row["AxisZ"]?.ToString() ?? string.Empty;
+ string AxisZCount = row["AxisZCount"]?.ToString() ?? string.Empty;
+ string AxisZSpacing = row["AxisZSpacing"]?.ToString() ?? string.Empty;
+ var axis = BaseDal.QueryFirst(x => x.DeviceCode == DeviceCode && x.StationCode == Convert.ToInt32(StationCode) && x.PackType == PackType);
+ if(axis == null)
+ {
+ Dt_Packaxis packaxis = new Dt_Packaxis()
+ {
+ DeviceCode = DeviceCode,
+ StationCode = Convert.ToInt32(StationCode),
+ PackType = PackType,
+ PackNum = Convert.ToInt32(PackNum),
+ AxisX = Convert.ToInt32(AxisX),
+ AxisXCount = Convert.ToInt32(AxisXCount),
+ AxisXSpacing = Convert.ToInt32(AxisXSpacing),
+ AxisY = Convert.ToInt32(AxisY),
+ AxisYCount = Convert.ToInt32(AxisYCount),
+ AxisYSpacing = Convert.ToInt32(AxisYSpacing),
+ AxisZ = Convert.ToInt32(AxisZ),
+ AxisZCount = Convert.ToInt32(AxisZCount),
+ AxisZSpacing = Convert.ToInt32(AxisZSpacing),
+ Creater = App.User.UserId > 0 ? App.User.UserName : "System",
+ CreateDate = DateTime.Now
+ };
+ addAxis.Add(packaxis);
+ }
+ else
+ {
+ axis.DeviceCode = DeviceCode;
+ axis.StationCode = Convert.ToInt32(StationCode);
+ axis.PackType = PackType;
+ axis.PackNum = Convert.ToInt32(PackNum);
+ axis.AxisX = Convert.ToInt32(AxisX);
+ axis.AxisXCount = Convert.ToInt32(AxisXCount);
+ axis.AxisXSpacing = Convert.ToInt32(AxisXSpacing);
+ axis.AxisY = Convert.ToInt32(AxisY);
+ axis.AxisYCount = Convert.ToInt32(AxisYCount);
+ axis.AxisYSpacing = Convert.ToInt32(AxisYSpacing);
+ axis.AxisZ = Convert.ToInt32(AxisZ);
+ axis.AxisZCount = Convert.ToInt32(AxisZCount);
+ axis.AxisZSpacing = Convert.ToInt32(AxisZSpacing);
+ axis.Modifier = App.User.UserId > 0 ? App.User.UserName : "System";
+ axis.ModifyDate = DateTime.Now;
+ updateAxis.Add(axis);
+ }
+ }
+ BaseDal.AddData(addAxis);
+ BaseDal.UpdateData(updateAxis);
+
+ content = WebResponseContent.Instance.OK("瀵煎叆鎴愬姛锛�");
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error(ex.Message);
+ }
+
+ return content;
+ }
}
}
--
Gitblit v1.9.3