From f0c3d69b6d97faef544eafc841ecb6d995ca7be6 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 01 十一月 2022 18:14:30 +0800
Subject: [PATCH] 设备清单导入接口开发,安灯响应接口修改
---
VueWebApi/Logs/2022-10-30.TXT | 0
VueWebApi/obj/Release/VueWebApi.pdb | 0
VueWebApi/Excel/设备清单.xls | 0
VueWebApi/Controllers/AppDeviceManageController.cs | 10
VueWebApi/Tools/RedisHelper.cs | 6
VueWebApi/obj/Release/Package/PackageTmp/Excel/物料清单.xls | 0
VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt | 1
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user | 11
.vs/VueWebApi/v16/.suo | 0
VueWebApi/Tools/ImportExcel.cs | 355 +++++++++++++++++++++++++++
VueWebApi/Tools/ImportExcelData.cs | 339 ++++++++++++++++++++++---
VueWebApi/bin/VueWebApi.xml | 14 +
VueWebApi/DLL/DAL/LoginDAL.cs | 2
/dev/null | 0
VueWebApi/Logs/2022-11-01.TXT | 0
VueWebApi/VueWebApi.csproj | 1
VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache | 0
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb | 0
VueWebApi/obj/Release/Package/PackageTmp/Excel/设备清单.xls | 0
VueWebApi/DLL/DAL/AppDeviceManageDAL.cs | 5
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml | 14 +
VueWebApi/Tools/ChannelActionFilterAttributeApp.cs | 4
VueWebApi/bin/VueWebApi.pdb | 0
VueWebApi/Controllers/LoginController.cs | 14
24 files changed, 711 insertions(+), 65 deletions(-)
diff --git a/.vs/VueWebApi/v16/.suo b/.vs/VueWebApi/v16/.suo
index 4b9c280..eeab61c 100644
--- a/.vs/VueWebApi/v16/.suo
+++ b/.vs/VueWebApi/v16/.suo
Binary files differ
diff --git a/VueWebApi/Controllers/AppDeviceManageController.cs b/VueWebApi/Controllers/AppDeviceManageController.cs
index f90b734..1196265 100644
--- a/VueWebApi/Controllers/AppDeviceManageController.cs
+++ b/VueWebApi/Controllers/AppDeviceManageController.cs
@@ -14,7 +14,7 @@
{
[RoutePrefix(prefix: "api/AppDeviceManage")]
[ControllerGroup("App璁惧绠$悊", "鍦ㄧ嚎鎺ュ彛")]
- [ChannelActionFilterAttributeApp]
+ //[ChannelActionFilterAttributeApp]
public class AppDeviceManageController : ApiController
{
//瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
@@ -175,7 +175,7 @@
[HttpPost]
public HttpResponseMessage RepairScanDeviceSave()
{
- string docu_code= HttpContext.Current.Request["docu_code"].ToString();//缁翠慨鐢宠鍗曞彿
+ string docu_code = HttpContext.Current.Request["docu_code"].ToString();//缁翠慨鐢宠鍗曞彿
string username = HttpContext.Current.Request["username"].ToString();//鎿嶄綔浜哄憳
string eqpcode = HttpContext.Current.Request["eqpcode"].ToString();//璁惧缂栫爜
string wkshpcode = HttpContext.Current.Request["wkshpcode"].ToString(); //杞﹂棿缂栫爜
@@ -184,7 +184,7 @@
string repaircontent = HttpContext.Current.Request["repaircontent"].ToString(); //缁翠慨鍐呭
string replaceparts = HttpContext.Current.Request["replaceparts"].ToString(); //鏇存崲澶囦欢
HttpFileCollection files = HttpContext.Current.Request.Files;
- mes = AppDeviceManageBLL.RepairScanDeviceSave(docu_code,username, eqpcode, wkshpcode, faultdescr, is_stoprepair, repaircontent, replaceparts, files);
+ mes = AppDeviceManageBLL.RepairScanDeviceSave(docu_code, username, eqpcode, wkshpcode, faultdescr, is_stoprepair, repaircontent, replaceparts, files);
return TJson.toJson(mes);
}
#endregion
@@ -214,9 +214,9 @@
/// <returns></returns>
[Route(template: "RepairVerificationScanDeviceDataSub")]
[HttpGet]
- public HttpResponseMessage RepairVerificationScanDeviceDataSub(string repair_code, string eqpcode,string wkshpcode)
+ public HttpResponseMessage RepairVerificationScanDeviceDataSub(string repair_code, string eqpcode, string wkshpcode)
{
- mes = AppDeviceManageBLL.RepairVerificationScanDeviceDataSub(repair_code,eqpcode, wkshpcode);
+ mes = AppDeviceManageBLL.RepairVerificationScanDeviceDataSub(repair_code, eqpcode, wkshpcode);
return TJson.toJson(mes);
}
#endregion
diff --git a/VueWebApi/Controllers/LoginController.cs b/VueWebApi/Controllers/LoginController.cs
index 01057f4..61dbed8 100644
--- a/VueWebApi/Controllers/LoginController.cs
+++ b/VueWebApi/Controllers/LoginController.cs
@@ -138,8 +138,12 @@
sql = @"update [dbo].[TUser] set rid=@rid where usercode=@usercode";
list.Add(new { str = sql, parm = new { rid = rid, usercode = username } });
bool aa = DapperHelper.DoTransaction(list);
+ redis.Remove("LoginUserID" + usertype + userid, 1); //鍒犻櫎redis
}
- redis.Remove("LoginUserID" + usertype + userid, 0); //鍒犻櫎redis
+ else
+ {
+ redis.Remove("LoginUserID" + usertype + userid, 0); //鍒犻櫎redis
+ }
mes.code = "200";
mes.count = 0;
mes.Message = "寮哄埗涓嬬嚎鎴愬姛!";
@@ -254,10 +258,10 @@
HttpContext.Current.Session.Clear(); //浠庝細璇濈姸鎬侀泦鍚堜腑鍒犻櫎鎵�鏈夌殑閿��
User loginUser = JsonConvert.DeserializeObject<User>(JsonConvert.SerializeObject(ms));
//濡傛灉redis鐧诲綍鐢ㄦ埛涓笉瀛樺湪褰撳墠鐢ㄦ埛
- if (redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0) == null)
+ if (redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 1) == null)
{
//鍐欏叆redis(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
- redis.Set<User>("LoginUserID" + ms.usertype + ms.userid, ms, redis.secondsTimeOut, 0);
+ redis.Set<User>("LoginUserID" + ms.usertype + ms.userid, ms, redis.secondsTimeOut, 1);
//鐧诲綍淇℃伅鍐欏叆session
HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
//鏇存柊rid
@@ -273,7 +277,7 @@
else //濡傛灉瀛樺湪
{
//鑾峰彇redis涓綋鍓嶇敤鎴蜂俊鎭�
- User r_loginUser = redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0);
+ User r_loginUser = redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 1);
//濡傛灉session涓殑鐢ㄦ埛usercode鍜宺edis涓殑鐢ㄦ埛usercode鍖归厤
if ((r_loginUser.usercode + r_loginUser.usertype).Equals(loginUser.usercode + loginUser.usertype))
{
@@ -284,7 +288,7 @@
else
{
//閲嶇疆杩囨湡鏃堕棿(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
- redis.Set<User>("LoginUserID" + ms.usertype + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
+ redis.Set<User>("LoginUserID" + ms.usertype + loginUser.userid, loginUser, redis.secondsTimeOut, 1);
//鐧诲綍淇℃伅鍐欏叆session
HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
//鏇存柊rid
diff --git a/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs b/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
index 3a26ff4..b34f110 100644
--- a/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
+++ b/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
@@ -607,7 +607,7 @@
string imgPath1 = "", imgPath2 = "", AbsolutePath = "";
HttpPostedFile file = files[i];
string imgName = DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString();
- string keyname = files.AllKeys[i].ToString();
+ string keyname = files.AllKeys[i].ToString().Substring(0, files.AllKeys[i].ToString().IndexOf(";"));
if (keyname == "files1")
{
imgPath1 = "/DeviceImage/image1/" + imgName + file.FileName; //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕
@@ -618,7 +618,6 @@
imgPath2 = "/DeviceImage/image2/" + imgName + file.FileName; //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕
AbsolutePath = System.Web.HttpContext.Current.Server.MapPath(imgPath2);
}
-
file.SaveAs(AbsolutePath); //灏嗕笂浼犵殑涓滆タ淇濆瓨
//寰幆鍐欑淮淇褰曞搴斿浘鐗囪〃
sql = @"insert into TEqp_RepairImage(source_wo,wo_type,img1url,img2url)
@@ -1128,7 +1127,7 @@
try
{
list.Clear();
- for (int i = 1; i <= json.Count; i++)
+ for (int i = 0; i <json.Count; i++)
{
string code = json[i].code.ToString();
string name = json[i].name.ToString();
diff --git a/VueWebApi/DLL/DAL/LoginDAL.cs b/VueWebApi/DLL/DAL/LoginDAL.cs
index 4beb8fd..30c3d97 100644
--- a/VueWebApi/DLL/DAL/LoginDAL.cs
+++ b/VueWebApi/DLL/DAL/LoginDAL.cs
@@ -280,7 +280,7 @@
cont = DapperHelper.SQL(sql, dynamicParams);
if (cont > 0)
{
- redis.Remove("LoginUserID" + usertype + userid, 0); //鍒犻櫎redis
+ redis.Remove("LoginUserID" + usertype + userid, 1); //鍒犻櫎redis
mes.code = "200";
mes.count = 0;
mes.Message = "鐧诲嚭鎴愬姛!";
diff --git "a/VueWebApi/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls" "b/VueWebApi/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
new file mode 100644
index 0000000..04ea0ce
--- /dev/null
+++ "b/VueWebApi/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
Binary files differ
diff --git a/VueWebApi/Logs/2022-10-30.TXT b/VueWebApi/Logs/2022-10-30.TXT
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/VueWebApi/Logs/2022-10-30.TXT
diff --git a/VueWebApi/Logs/2022-11-01.TXT b/VueWebApi/Logs/2022-11-01.TXT
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/VueWebApi/Logs/2022-11-01.TXT
diff --git a/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user b/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
index 851dbbb..aa591d7 100644
--- a/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -729,16 +729,16 @@
<publishTime>12/24/2021 15:38:29</publishTime>
</File>
<File Include="bin/VueWebApi.dll">
- <publishTime>10/29/2022 12:58:45</publishTime>
+ <publishTime>11/01/2022 18:10:08</publishTime>
</File>
<File Include="bin/VueWebApi.dll.config">
<publishTime>06/15/2022 15:31:43</publishTime>
</File>
<File Include="bin/VueWebApi.pdb">
- <publishTime>10/29/2022 12:58:45</publishTime>
+ <publishTime>11/01/2022 18:10:08</publishTime>
</File>
<File Include="bin/VueWebApi.xml">
- <publishTime>10/29/2022 12:58:45</publishTime>
+ <publishTime>11/01/2022 18:10:08</publishTime>
</File>
<File Include="bin/WebActivatorEx.dll">
<publishTime>02/08/2013 16:42:28</publishTime>
@@ -844,6 +844,9 @@
</File>
<File Include="Excel/璁惧淇濆吇椤圭洰.xls">
<publishTime>08/29/2022 12:08:02</publishTime>
+ </File>
+ <File Include="Excel/璁惧娓呭崟.xls">
+ <publishTime>11/01/2022 08:08:32</publishTime>
</File>
<File Include="Excel/璁惧鐐规椤圭洰.xls">
<publishTime>08/17/2022 09:56:57</publishTime>
@@ -1542,7 +1545,7 @@
<publishTime>06/10/2022 08:20:24</publishTime>
</File>
<File Include="Web.config">
- <publishTime>10/29/2022 12:58:51</publishTime>
+ <publishTime>11/01/2022 18:10:09</publishTime>
</File>
</ItemGroup>
</Project>
\ No newline at end of file
diff --git a/VueWebApi/Tools/ChannelActionFilterAttributeApp.cs b/VueWebApi/Tools/ChannelActionFilterAttributeApp.cs
index 3ef53ba..f15e715 100644
--- a/VueWebApi/Tools/ChannelActionFilterAttributeApp.cs
+++ b/VueWebApi/Tools/ChannelActionFilterAttributeApp.cs
@@ -33,10 +33,10 @@
var guid = HttpContext.Current.Request.Headers["guid"].ToString();
base.OnActionExecuting(actionContext);
//濡傛灉瀛樺湪
- if (redis.Get<User>(rediskey, 0).userid.ToString() != "")
+ if (redis.Get<User>(rediskey, 1).userid.ToString() != "")
{
//鑾峰彇redis涓綋鍓嶇敤鎴蜂俊鎭�
- User r_loginUser = redis.Get<User>(rediskey, 0);
+ User r_loginUser = redis.Get<User>(rediskey, 1);
//濡傛灉session涓殑鐢ㄦ埛guid鍜宺edis涓殑鐢ㄦ埛guid鍖归厤
if (r_loginUser.guid.Equals(guid))
{
diff --git a/VueWebApi/Tools/ImportExcel.cs b/VueWebApi/Tools/ImportExcel.cs
index f7470ad..a8a35e7 100644
--- a/VueWebApi/Tools/ImportExcel.cs
+++ b/VueWebApi/Tools/ImportExcel.cs
@@ -272,6 +272,171 @@
}
/// <summary>
+ /// Excel 3涓猄heet瀵煎叆鎴怐atable
+ /// </summary>
+ /// <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ /// <returns></returns>
+ public static List<DataTable> ExcelToThreeTableList(string file)
+ {
+ List<DataTable> list = new List<DataTable>();
+ IWorkbook Workbook;
+ try
+ {
+ using (FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read))
+ {
+ //XSSFWorkbook 閫傜敤XLSX鏍煎紡锛孒SSFWorkbook 閫傜敤XLS鏍煎紡
+ string fileExt = Path.GetExtension(file).ToLower();
+ if (fileExt == ".xls")
+ {
+ Workbook = new HSSFWorkbook(fileStream);
+ }
+ else if (fileExt == ".xlsx")
+ {
+ Workbook = new XSSFWorkbook(fileStream);
+ }
+ else
+ {
+ Workbook = null;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ throw ex;
+ }
+ int count = Workbook.NumberOfSheets; //鑾峰彇鎵�鏈塖heetName
+ if (count < 3)
+ {
+ DataTable table = new DataTable();
+ //瀹氫綅鍦ㄧ涓�涓猻heet
+ ISheet sheet = Workbook.GetSheetAt(0);
+ //绗竴琛屼负鏍囬琛�
+ IRow headerRow = sheet.GetRow(0);
+ if (headerRow == null)
+ {
+ return list;
+ }
+ int cellCount = headerRow.LastCellNum;
+ int rowCount = sheet.LastRowNum;
+
+ //寰幆娣诲姞鏍囬鍒�
+ for (int i = headerRow.FirstCellNum; i < cellCount; i++)
+ {
+ DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
+ table.Columns.Add(column);
+ }
+
+ //鏁版嵁
+ for (int i = (sheet.FirstRowNum + 1); i <= rowCount; i++)
+ {
+ IRow row = sheet.GetRow(i);
+ DataRow dataRow = table.NewRow();
+ if (row != null && row.Cells.Count > 0)
+ {
+ for (int j = row.FirstCellNum; j < cellCount; j++)
+ {
+ if (row.GetCell(j) != null)
+ {
+ dataRow[j] = GetCellValue(row.GetCell(j)).Trim();
+ }
+ }
+ }
+ table.Rows.Add(dataRow);
+ }
+ //娓呴櫎鏈�鍚庣殑绌鸿
+ for (int i = 0; i < table.Rows.Count; i++)
+ {
+ bool isnull = true;
+ for (int j = 0; j < table.Columns.Count; j++)
+ {
+ if (table.Rows[i][j].ToString() != null && table.Rows[i][j].ToString() != "")
+ {
+ if (table.Rows[i][j].ToString().Trim() != "" && table.Rows[i][j].ToString().Trim() != null)
+ {
+ isnull = false;
+ break;
+ }
+ }
+ }
+ if (isnull)
+ {
+ table.Rows[i].Delete();
+ i = 0;
+ }
+ }
+ list.Add(table);
+ }
+ else
+ {
+ for (int m = 0; m < count; m++)
+ {
+ DataTable table = new DataTable();
+ //瀹氫綅鍦ㄧ涓�涓猻heet
+ ISheet sheet = Workbook.GetSheetAt(m);
+ //绗竴琛屼负鏍囬琛�
+ IRow headerRow = sheet.GetRow(0);
+ if (headerRow == null)
+ {
+ return list;
+ }
+ int cellCount = headerRow.LastCellNum;
+ int rowCount = sheet.LastRowNum;
+
+ //寰幆娣诲姞鏍囬鍒�
+ for (int i = headerRow.FirstCellNum; i < cellCount; i++)
+ {
+ DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
+ table.Columns.Add(column);
+ }
+
+ //鏁版嵁
+ for (int i = (sheet.FirstRowNum + 1); i <= rowCount; i++)
+ {
+ IRow row = sheet.GetRow(i);
+ DataRow dataRow = table.NewRow();
+ if (row != null && row.Cells.Count > 0)
+ {
+ for (int j = row.FirstCellNum; j < cellCount; j++)
+ {
+ if (row.GetCell(j) != null)
+ {
+ dataRow[j] = GetCellValue(row.GetCell(j)).Trim();
+ }
+ }
+ }
+ table.Rows.Add(dataRow);
+ }
+ //娓呴櫎鏈�鍚庣殑绌鸿
+ for (int i = 0; i < table.Rows.Count; i++)
+ {
+ bool isnull = true;
+ for (int j = 0; j < table.Columns.Count; j++)
+ {
+ if (table.Rows[i][j].ToString() != null && table.Rows[i][j].ToString() != "")
+ {
+ if (table.Rows[i][j].ToString().Trim() != "" && table.Rows[i][j].ToString().Trim() != null)
+ {
+ isnull = false;
+ break;
+ }
+ }
+ }
+ if (isnull)
+ {
+ table.Rows[i].Delete();
+ i = 0;
+ }
+ }
+ list.Add(table);
+ }
+ }
+ return list;
+ }
+
+
+
+
+ /// <summary>
/// 鑾峰彇鍗曞厓鏍肩被鍨�
/// </summary>
/// <param name="cell"></param>
@@ -700,6 +865,196 @@
return list;
}
+ /// <summary>
+ /// Excel 3涓猄heet 鏁版嵁楠岃瘉
+ /// </summary>
+ /// <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ /// <returns></returns>
+ public static List<ExcelErro> ExcelToThreeTableListErro(string file)
+ {
+ List<ExcelErro> list = new List<ExcelErro>();
+ IWorkbook Workbook;
+ bool iscell = false;
+ int iscellCount = 0;
+ try
+ {
+ using (FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read))
+ {
+ //XSSFWorkbook 閫傜敤XLSX鏍煎紡锛孒SSFWorkbook 閫傜敤XLS鏍煎紡
+ string fileExt = Path.GetExtension(file).ToLower();
+ if (fileExt == ".xls")
+ {
+ Workbook = new HSSFWorkbook(fileStream);
+ }
+ else if (fileExt == ".xlsx")
+ {
+ Workbook = new XSSFWorkbook(fileStream);
+ }
+ else
+ {
+ Workbook = null;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ throw ex;
+ }
+ for (int mm = 0; mm < 3; mm++)
+ {
+ DataTable table = new DataTable();
+ //瀹氫綅鍦ㄧ涓�涓猻heet
+ ISheet sheet = Workbook.GetSheetAt(mm);
+ //sheet.ShiftRows(sheet.FirstRowNum-1, sheet.LastRowNum,1);
+ //绗竴琛屼负鏍囬琛�
+ IRow headerRow = sheet.GetRow(0);
+ int cellCount = headerRow.LastCellNum;
+ int rowCount0 = sheet.FirstRowNum;
+ //int rowCount = sheet.LastRowNum;
+ int rowCount = Rownum(headerRow, cellCount, sheet, sheet.LastRowNum); //鑾峰彇鍒犻櫎绌鸿涔嬪悗鐨勬暟鎹 (鍙拡瀵逛簬鏈�鍚庢暟鎹」鏈夌┖琛岀殑)
+ if (rowCount - rowCount0 >= 1)
+ {
+ //-------------鍒ゆ柇蹇呭~椤规槸鍚︿负绌�----------------//
+ //寰幆鏁版嵁琛�
+ for (int i = (sheet.FirstRowNum + 1); i <= rowCount; i++)
+ {
+ iscell = false;
+ iscellCount = 0;
+ IRow row = sheet.GetRow(i);
+ //鍒ゆ柇鏄惁鏈夌┖琛�
+ if (row == null)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = (i + 1).ToString();
+ erro.ErrorField = "绌鸿";
+ erro.ErrorCont = "绌鸿";
+ list.Add(erro);
+ continue;
+ }
+ //鍒ゆ柇鏄惁瀛樺湪绌烘暟鎹
+ for (int c = 0; c < cellCount; c++)
+ {
+ if (GetCellValue(row.GetCell(c)).Trim() != null && GetCellValue(row.GetCell(c)).Trim() != "")
+ {
+ iscell = false;
+ }
+ else
+ {
+ iscell = true;
+ iscellCount++;
+ }
+ }
+ if (iscell == true && iscellCount == cellCount) //绌鸿
+ {
+ continue;
+ }
+ else
+ {
+ //寰幆鏍囬鍒�
+ for (int j = headerRow.FirstCellNum; j < cellCount; j++)
+ {
+ //鑾峰彇鍗曞厓鏍肩殑濉厖鑹�
+ string rgb = headerRow.Cells[j].CellStyle.FillForegroundColor.ToString();
+ if (rgb == "51") //蹇呭~椤瑰瓧娈靛垪澶村~鍏呰壊
+ {
+ if (sheet.GetRow(i) == null || sheet.GetRow(i).ToString() == "") //瀛樺湪绌鸿
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = i.ToString();
+ erro.ErrorField = "{绗�" + i.ToString() + "琛寎";
+ erro.ErrorCont = "{绗�" + i.ToString() + "}琛屼负绌�";
+ list.Add(erro);
+ break;
+ }
+ else
+ {
+ string cellValue = GetCellValue(sheet.GetRow(i).GetCell(j)).Trim(); //GetCell:杩斿洖鍖呮嫭绌哄垪鍊� Cells:鍙繑鍥炴湁鍊肩殑鍒�
+ if (cellValue == "" || cellValue == null)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = (sheet.GetRow(i).RowNum + 1).ToString();
+ erro.ErrorField = "{" + headerRow.Cells[j].StringCellValue + "}";
+ erro.ErrorCont = mm == 0 ? "涓昏〃涓細" + "{" + headerRow.Cells[j].StringCellValue + "}瀛楁涓嶈兘涓虹┖" : "瀛愯〃涓細" + "{" + headerRow.Cells[j].StringCellValue + "}瀛楁涓嶈兘涓虹┖";
+ list.Add(erro);
+ }
+ }
+ }
+
+ }
+ }
+ }
+ //-------------鍒ゆ柇鍞竴椤规槸鍚﹂噸澶�----------------//
+ //寰幆娣诲姞鏍囬鍒�
+ for (int i = headerRow.FirstCellNum; i < cellCount; i++)
+ {
+ DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
+ table.Columns.Add(column);
+ }
+
+ //鏁版嵁
+ for (int i = (sheet.FirstRowNum + 1); i <= rowCount; i++)
+ {
+ IRow row = sheet.GetRow(i);
+ DataRow dataRow = table.NewRow();
+ if (row != null)
+ {
+ for (int j = row.FirstCellNum; j < cellCount; j++)
+ {
+ if (row.GetCell(j) != null)
+ {
+ dataRow[j] = GetCellValue(row.GetCell(j)).Trim();
+ }
+ }
+ }
+ table.Rows.Add(dataRow);
+ }
+ //娓呴櫎鏈�鍚庣殑绌鸿
+ for (int i = 0; i < table.Rows.Count; i++)
+ {
+ bool isnull = true;
+ for (int j = 0; j < table.Columns.Count; j++)
+ {
+ if (table.Rows[i][j].ToString() != null && table.Rows[i][j].ToString() != "")
+ {
+ if (table.Rows[i][j].ToString().Trim() != "" && table.Rows[i][j].ToString().Trim() != null)
+ {
+ isnull = false;
+ break;
+ }
+ }
+ }
+ if (isnull)
+ {
+ table.Rows[i].Delete();
+ i = 0;
+ }
+ }
+ DataView view = new DataView(table);
+ //鑾峰彇鎵�鏈夊敮涓�鍒�
+ List<string> list0 = new List<string>();
+ //寰幆鏍囬鍒�
+ for (int j = headerRow.FirstCellNum; j < cellCount; j++)
+ {
+ bool isContain = headerRow.Cells[j].StringCellValue.Contains("鍞竴"); //鏍囬鍒椾腑鐨勫繀濉垪
+ if (isContain == true)
+ {
+ //
+ if (view.ToTable(true, new string[] { "" + headerRow.Cells[j].StringCellValue + "" }).Rows.Count < table.Rows.Count)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{" + headerRow.Cells[j].StringCellValue + "}";
+ erro.ErrorCont = mm == 0 ? "涓昏〃涓細" + "{" + headerRow.Cells[j].StringCellValue + "}瀛楁鏈夐噸澶嶆暟鎹�" : "瀛愯〃涓細" + "{" + headerRow.Cells[j].StringCellValue + "}瀛楁鏈夐噸澶嶆暟鎹�";
+ list.Add(erro);
+ }
+ }
+ }
+ }
+ }
+ List<ExcelErro> stuList = list.OrderBy(s => s.RoeNumber).ToList<ExcelErro>();
+ return list;
+ }
+
diff --git a/VueWebApi/Tools/ImportExcelData.cs b/VueWebApi/Tools/ImportExcelData.cs
index 6e4984f..dffdaa9 100644
--- a/VueWebApi/Tools/ImportExcelData.cs
+++ b/VueWebApi/Tools/ImportExcelData.cs
@@ -568,62 +568,117 @@
{
string Message = "";
code = "";
- DataTable excelTable = new DataTable();
- excelTable = ImportExcel.ExcelToTable(FileCode);
- if (excelTable.Columns.Count != 10)
+ List<DataTable> excelTable = new List<DataTable>();
+ excelTable = ImportExcel.ExcelToThreeTableList(FileCode);
+ if (excelTable.Count != 6)
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
}
- else if (excelTable.Columns[0].ColumnName != "搴忓彿")
+ else if (excelTable[0].Columns.Count != 4)
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
}
- else if (excelTable.Columns[1].ColumnName != "璁惧缂栧彿(鍞竴)")
+ else if (excelTable[1].Columns.Count != 5)
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
}
- else if (excelTable.Columns[2].ColumnName != "璁惧鍚嶇О")
+ else if (excelTable[2].Columns.Count != 9)
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
}
- else if (excelTable.Columns[3].ColumnName != "璁惧绫诲瀷")
+ else if (excelTable[0].Columns[0].ColumnName != "搴忓彿")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
}
- else if (excelTable.Columns[4].ColumnName != "鐢熶骇杞﹂棿")
+ else if (excelTable[0].Columns[1].ColumnName != "璁惧绫诲瀷缂栧彿(鍞竴)")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕璁惧绫诲瀷缂栧彿(鍞竴)}";
}
- else if (excelTable.Columns[5].ColumnName != "鎵�灞炰骇绾�")
+ else if (excelTable[0].Columns[2].ColumnName != "璁惧绫诲瀷鍚嶇О")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕璁惧绫诲瀷鍚嶇О}";
}
- else if (excelTable.Columns[6].ColumnName != "鎶曞叆鏃ユ湡")
+ else if (excelTable[0].Columns[3].ColumnName != "璁惧绫诲瀷鎻忚堪")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕璁惧绫诲瀷鎻忚堪}";
}
- else if (excelTable.Columns[7].ColumnName != "绋煎姩鐜囷紙%锛�")
+ else if (excelTable[1].Columns[0].ColumnName != "搴忓彿")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
}
- else if (excelTable.Columns[8].ColumnName != "浣跨敤鐘舵��")
+ else if (excelTable[1].Columns[1].ColumnName != "璁惧缁勭紪鍙�(鍞竴)")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕璁惧缁勭紪鍙�(鍞竴)}";
}
- else if (excelTable.Columns[9].ColumnName != "鏁伴噰鏍囪瘑1")
+ else if (excelTable[1].Columns[2].ColumnName != "璁惧缁勫悕绉�")
{
code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕璁惧缁勫悕绉皚";
+ }
+ else if (excelTable[1].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕璁惧绫诲瀷缂栧彿(鍞竴)}";
+ }
+ else if (excelTable[1].Columns[4].ColumnName != "璁惧缁勬弿杩�")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕璁惧缁勬弿杩皚";
+ }
+ else if (excelTable[2].Columns[0].ColumnName != "搴忓彿")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
+ }
+ else if (excelTable[2].Columns[1].ColumnName != "璁惧缂栧彿(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧缂栧彿(鍞竴)}";
+ }
+ else if (excelTable[2].Columns[2].ColumnName != "璁惧鍚嶇О")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧鍚嶇О}";
+ }
+ else if (excelTable[2].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧绫诲瀷缂栧彿(鍞竴)}";
+ }
+ else if (excelTable[2].Columns[4].ColumnName != "璁惧缁勭紪鍙�(鍞竴)")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧缁勭紪鍙�(鍞竴)}";
+ }
+ else if (excelTable[2].Columns[5].ColumnName != "鎶曞叆鏃ユ湡")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕鎶曞叆鏃ユ湡}";
+ }
+ else if (excelTable[2].Columns[6].ColumnName != "鐢熶骇杞﹂棿")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕鐢熶骇杞﹂棿}";
+ }
+ else if (excelTable[2].Columns[7].ColumnName != "浣跨敤鐘舵��")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕浣跨敤鐘舵�亇";
+ }
+ else if (excelTable[2].Columns[8].ColumnName != "绋煎姩鐜囷紙%锛�")
+ {
+ code = "300";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕绋煎姩鐜囷紙%锛墋";
}
else
{
@@ -1643,7 +1698,7 @@
code = "";
List<DataTable> excelTable = new List<DataTable>();
excelTable = ImportExcel.ExcelToTableList(FileCode);
- if (excelTable.Count != 2)
+ if (excelTable.Count != 4)
{
code = "300";
Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
@@ -2123,9 +2178,127 @@
StuCode = "";
count = 0;
string sql = "";
+ var dynamicParams = new DynamicParameters();
DataTable dt;
List<ExcelErro> list = new List<ExcelErro>();
-
+ List<DataTable> excelTable = new List<DataTable>();
+ list = ImportExcel.ExcelToThreeTableListErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ excelTable = ImportExcel.ExcelToThreeTableList(FileCode); //鑾峰彇Excel鏁版嵁
+ //璁惧绫诲瀷琛�,鍒ゆ柇璁惧绫诲瀷鏄惁瀛樺湪
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
+ {
+ if (excelTable[0].Rows[i][1].ToString().Trim() != null && excelTable[0].Rows[i][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpType where code=@code";
+ dynamicParams.Add("@code", excelTable[0].Rows[i][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧绫诲瀷缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧绫诲瀷琛�:{璁惧绫诲瀷缂栧彿(鍞竴)}瀛楁" + excelTable[0].Rows[i][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ }
+ //璁惧缁勮〃,鍒ゆ柇璁惧缁勬槸鍚﹀瓨鍦�
+ for (int j = 0; j < excelTable[1].Rows.Count; j++)
+ {
+ if (excelTable[1].Rows[j][1].ToString().Trim() != null && excelTable[1].Rows[j][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpGroup where code=@code";
+ dynamicParams.Add("@code", excelTable[1].Rows[j][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧缁勭紪鍙�(鍞竴)}";
+ erro.ErrorCont = "璁惧缁勮〃:{璁惧缁勭紪鍙�(鍞竴)}瀛楁" + excelTable[1].Rows[j][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ }
+ //鍒ゆ柇瀛愯〃澶栭敭涓嶅瓨鍦ㄤ簬涓昏〃涓婚敭涓殑鏁版嵁
+ var dt3 = from r in excelTable[1].AsEnumerable()
+ where !(
+ from rr in excelTable[0].AsEnumerable()
+ select rr.Field<string>("璁惧绫诲瀷缂栧彿(鍞竴)")
+ ).Contains(r.Field<string>("璁惧绫诲瀷缂栧彿(鍞竴)"))
+ select r;
+ List<DataRow> listRow = dt3.ToList();
+ if (listRow.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧绫诲瀷缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧缁勪俊鎭�:{璁惧绫诲瀷缂栧彿(鍞竴)}瀛楁涓湁鍊煎湪璁惧绫诲瀷淇℃伅:{璁惧绫诲瀷缂栧彿(鍞竴)}涓笉瀛樺湪";
+ list.Add(erro);
+ }
+ //璁惧娓呭崟琛�
+ for (int k = 0; k < excelTable[2].Rows.Count; k++)
+ {
+ if (excelTable[2].Rows[k][1].ToString().Trim() != null && excelTable[2].Rows[k][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpInfo where code=@code";
+ dynamicParams.Add("@code", excelTable[2].Rows[k][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧琛�:{璁惧缂栧彿(鍞竴)}瀛楁" + excelTable[2].Rows[k][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ //鍒ゆ柇璁惧缁勬槸鍚﹀搴旀纭殑璁惧绫诲瀷
+ var yourGetData = excelTable[1].AsEnumerable().Where(x => (x.Field<string>("璁惧绫诲瀷缂栧彿(鍞竴)") == excelTable[2].Rows[k][3].ToString().Trim()) && x.Field<string>("璁惧缁勭紪鍙�(鍞竴)") == excelTable[2].Rows[k][4].ToString().Trim()).CopyToDataTable();
+ if (yourGetData.Rows.Count <= 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{璁惧绫诲瀷缂栧彿(鍞竴)}/{璁惧缁勭紪鍙�(鍞竴)}";
+ erro.ErrorCont = "璁惧琛�:{璁惧缂栧彿(鍞竴)}瀛楁" + excelTable[2].Rows[k][1].ToString().Trim() + "瀵瑰簲{璁惧绫诲瀷缂栧彿(鍞竴)}:"+ excelTable[2].Rows[k][3].ToString().Trim() + "/{璁惧缁勭紪鍙�(鍞竴)}:"+ excelTable[2].Rows[k][4].ToString().Trim() + "涓庤澶囩粍娓呭崟涓缃涓嶄笂";
+ list.Add(erro);
+ }
+ }
+ }
+ //杞﹂棿鍒ゆ柇
+ for (int m = 0; m < excelTable[1].Rows.Count; m++)
+ {
+ if (excelTable[1].Rows[m][6].ToString().Trim() != null && excelTable[1].Rows[m][6].ToString().Trim() != "")
+ {
+ sql = @"select * from TOrganization where org_name=@code and description='W'";
+ dynamicParams.Add("@code", excelTable[1].Rows[m][6].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count<=0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{鐢熶骇杞﹂棿}";
+ erro.ErrorCont = "璁惧琛�:{鐢熶骇杞﹂棿}瀛楁" + excelTable[1].Rows[m][6].ToString().Trim() + "涓嶅瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ }
+ if (list.Count > 0)
+ {
+ int index = 0;
+ foreach (ExcelErro item in list)
+ {
+ index++;
+ item.Seq = index.ToString();
+ }
+ StuCode = "301";
+ message = "鏁版嵁楠岃瘉澶辫触";
+ }
+ else
+ {
+ StuCode = "200";
+ message = "鏁版嵁楠岃瘉鎴愬姛";
+ count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
+ }
return list;
}
#endregion
@@ -2353,7 +2526,7 @@
where partname=@partname";
dynamicParams.Add("@partname", excelTable.Rows[i][1].ToString().Trim());
var data = DapperHelper.selectdata(sql, dynamicParams);
- if (data.Rows.Count <= 0)
+ if (data.Rows.Count <= 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
@@ -2408,12 +2581,12 @@
dynamicParams.Add("@partname", excelTable.Rows[i][1].ToString().Trim());
dynamicParams.Add("@routename", excelTable.Rows[i][2].ToString().Trim());
var data3 = DapperHelper.selectdata(sql, dynamicParams);
- if (data3.Rows.Count<=0)
+ if (data3.Rows.Count <= 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
erro.ErrorField = "{浜у搧鍚嶇О/宸ヨ壓璺嚎鍚嶇О}";
- erro.ErrorCont = "浜у搧鍏宠仈宸ヨ壓璺嚎:{浜у搧鍚嶇О}瀛楁:銆�" + excelTable.Rows[i][1].ToString().Trim() + "銆戝搴斿伐鑹鸿矾绾垮悕绉帮細銆�"+ excelTable.Rows[i][2].ToString().Trim() + "銆戞湭鍏宠仈";
+ erro.ErrorCont = "浜у搧鍏宠仈宸ヨ壓璺嚎:{浜у搧鍚嶇О}瀛楁:銆�" + excelTable.Rows[i][1].ToString().Trim() + "銆戝搴斿伐鑹鸿矾绾垮悕绉帮細銆�" + excelTable.Rows[i][2].ToString().Trim() + "銆戞湭鍏宠仈";
list.Add(erro);
}
//鍒ゆ柇宸ヨ壓璺嚎鏄惁鍏宠仈宸ュ簭
@@ -2433,7 +2606,7 @@
list.Add(erro);
}
//鍒ゆ柇宸ュ簭鏄惁鍏宠仈璁惧
- sql = @"select E.name,S.stepname from TFlw_Rteqp A
+ sql = @"select E.name,S.stepname from TFlw_Rteqp A
inner join TStep S on A.step_code=S.stepcode
inner join TEqpInfo E on A.eqp_code=E.code
where S.stepname=@stepname and E.name=@eqpname";
@@ -2652,14 +2825,14 @@
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
erro.ErrorField = "{姣嶄欢缂栫爜}";
- erro.ErrorCont = "Bom姣嶄欢琛�:{姣嶄欢缂栫爜}瀛楁" + excelTable[0].Rows[j][1].ToString().Trim() + "瀵瑰簲鐨勭増鏈彿:"+ excelTable[0].Rows[j][5].ToString() + "宸插瓨鍦�";
+ erro.ErrorCont = "Bom姣嶄欢琛�:{姣嶄欢缂栫爜}瀛楁" + excelTable[0].Rows[j][1].ToString().Trim() + "瀵瑰簲鐨勭増鏈彿:" + excelTable[0].Rows[j][5].ToString() + "宸插瓨鍦�";
list.Add(erro);
}
//鏌ヨ姣嶄欢淇℃伅瀵瑰簲鐨勫瓙浠朵俊鎭�
DataTable ds = excelTable[1].AsEnumerable().Where<DataRow>(C => C["涓昏〃搴忓垪鍙�"].ToString() == excelTable[0].Rows[j][0].ToString().Trim()).CopyToDataTable();
for (int i = 0; i < ds.Rows.Count; i++)
{
- if (excelTable[0].Rows[j][1].ToString().Trim() == ds.Rows[i]["瀛愪欢缂栫爜"].ToString().Trim())
+ if (excelTable[0].Rows[j][1].ToString().Trim() == ds.Rows[i]["瀛愪欢缂栫爜"].ToString().Trim())
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
@@ -2669,7 +2842,7 @@
}
}
}
- }
+ }
if (list.Count > 0)
{
int index = 0;
@@ -3063,11 +3236,95 @@
#region銆怑xcel鏁版嵁涓婁紶,璁惧娓呭崟銆�
public static string NineSubmit(string FileCode, string User, out string StuCode)
{
- string message = "";
- StuCode = "";
+ string message = ""; StuCode = "";
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
try
{
+ list.Clear();
+ List<DataTable> excelTable = new List<DataTable>();
+ excelTable = ImportExcel.ExcelToThreeTableList(FileCode);
+ //鍐欏叆璁惧绫诲瀷
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
+ {
+ sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark)
+ values(@code,@name,@lm_user,@lm_date,@remark)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = excelTable[0].Rows[i][1].ToString().Trim(),
+ name = excelTable[0].Rows[i][2].ToString().Trim(),
+ lm_user = User,
+ lm_date = DateTime.Now.ToString(),
+ remark= excelTable[0].Rows[i][3].ToString().Trim()
+ }
+ });
+ }
+ //鍐欏叆璁惧缁�
+ for (int j = 0; j < excelTable[1].Rows.Count; j++)
+ {
+ sql = @"insert into TEqpGroup(code,name,lm_user,lm_date,remark,eqptype_code)
+ values(@code,@name,@lm_user,@lm_date,@remark,@eqptype_code)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = excelTable[1].Rows[j][1].ToString().Trim(),
+ name = excelTable[1].Rows[j][2].ToString().Trim(),
+ lm_user = User,
+ lm_date = DateTime.Now.ToString(),
+ remark = excelTable[1].Rows[j][4].ToString().Trim(),
+ eqptype_code= excelTable[1].Rows[j][3].ToString().Trim()
+
+ }
+ });
+ }
+ //瀵煎叆璁惧娓呭崟
+ for (int k = 0; k < excelTable[2].Rows.Count; k++)
+ {
+ //鑾峰彇杞﹂棿缂栫爜
+ string sql0 = @"select code,name from TOrganization where org_name=@wkshp and description='W' and is_delete<>'1'";
+ dynamicParams.Add("@wkshp", excelTable[2].Rows[k][6].ToString());
+ var data = DapperHelper.selectdata(sql0, dynamicParams);
+
+ sql = @"insert into TEqpInfo(code,name,eqptype_code,eqpgroup_code,wksp_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date)
+ values(@devicecode,@devicename,@devicetype,@devicegroup,@workshop,@importdate,@ratio,@status,@uom,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ devicecode = excelTable[2].Rows[k][1].ToString().Trim(),
+ devicename = excelTable[0].Rows[k][2].ToString().Trim(),
+ devicetype = excelTable[0].Rows[k][3].ToString().Trim(),
+ devicegroup = excelTable[0].Rows[k][4].ToString().Trim(),
+ workshop = excelTable[0].Rows[k][6].ToString().Trim(),
+ importdate = excelTable[0].Rows[k][5].ToString().Trim(),
+ ratio = excelTable[0].Rows[k][8].ToString().Trim(),
+ status = excelTable[0].Rows[k][7].ToString().Trim(),
+ uom = "鍙�",
+ lm_user = User,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+ }
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ StuCode = "200";
+ message = "瀵煎叆鎴愬姛锛�";
+ }
+ else
+ {
+ StuCode = "300";
+ message = "瀵煎叆澶辫触锛�";
+ }
}
catch (Exception e)
{
@@ -3094,7 +3351,7 @@
//瀵煎叆璁惧鐐规椤圭洰琛�
for (int i = 0; i < excelTable.Rows.Count; i++)
{
- string Type = "",IsScan="";
+ string Type = "", IsScan = "";
switch (excelTable.Rows[i][3].ToString().Trim())
{
case "骞�":
@@ -3392,7 +3649,7 @@
//瀵煎叆璁惧鐐规椤圭洰琛�
for (int i = 0; i < excelTable.Rows.Count; i++)
{
- string partcode = "", routecode = "",stepcode="",eqpcode="",wkspcode="";
+ string partcode = "", routecode = "", stepcode = "", eqpcode = "", wkspcode = "";
//鏌ヨ浜у搧缂栫爜
sql = @"select partcode from TMateriel_Info
where partname=@partname";
@@ -3402,9 +3659,9 @@
{
partcode = data.Rows[0]["partcode"].ToString();
}
- else
+ else
{
- StuCode = "浜у搧鍚嶇О锛氥��"+ excelTable.Rows[i][1].ToString().Trim() + "銆戝搴旂紪鐮佷笉瀛樺湪锛�";
+ StuCode = "浜у搧鍚嶇О锛氥��" + excelTable.Rows[i][1].ToString().Trim() + "銆戝搴旂紪鐮佷笉瀛樺湪锛�";
message = "瀵煎叆澶辫触锛�";
}
//鏌ヨ宸ヨ壓璺嚎缂栫爜
@@ -3471,7 +3728,7 @@
dynamicParams.Add("@stepcode", stepcode);
dynamicParams.Add("@eqpcode", eqpcode);
var data6 = DapperHelper.selectdata(sql, dynamicParams);
- if (data6.Rows.Count > 0)
+ if (data6.Rows.Count > 0)
{
sql = @"update TPrteEqp_Stad set stand_value=@stand_value,eqp_value=@eqp_value,cavity_qty=@cavity_qty,unprice=@unprice,lm_user=@username,lm_date=@userdate
where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode ";
@@ -3702,7 +3959,7 @@
});
}
}
-
+
bool aa = DapperHelper.DoTransaction(list);
if (aa)
{
diff --git a/VueWebApi/Tools/RedisHelper.cs b/VueWebApi/Tools/RedisHelper.cs
index 1eac064..8c70e73 100644
--- a/VueWebApi/Tools/RedisHelper.cs
+++ b/VueWebApi/Tools/RedisHelper.cs
@@ -42,9 +42,9 @@
PooledRedisClientManager prc = new PooledRedisClientManager(readWriteHosts, readOnlyHosts,
new RedisClientManagerConfig
{
- MaxWritePoolSize = readWriteHosts.Length * 5,
- MaxReadPoolSize = readOnlyHosts.Length * 5,
- AutoStart = true,
+ MaxWritePoolSize = readWriteHosts.Length * 5, //鏈�澶у啓閾炬帴鏁�
+ MaxReadPoolSize = readOnlyHosts.Length * 5, //鏈�澶ц閾炬帴鏁�
+ AutoStart = true, //鑷姩閲嶅惎
}, i, 200, 10);// { RedisClientFactory = (IRedisClientFactory)RedisCacheClientFactory.Instance.CreateRedisClient("127.0.0.1", 6379) };
pools.Add(i, prc);
}
diff --git a/VueWebApi/VueWebApi.csproj b/VueWebApi/VueWebApi.csproj
index 3ed1f5e..828998d 100644
--- a/VueWebApi/VueWebApi.csproj
+++ b/VueWebApi/VueWebApi.csproj
@@ -540,6 +540,7 @@
<Content Include="Excel\璁惧淇濆吇椤圭洰.xls" />
<Content Include="Excel\鑺傛媿宸ヤ环.xls" />
<Content Include="Excel\鐗╂枡娓呭崟.xls" />
+ <Content Include="Excel\璁惧娓呭崟.xls" />
<None Include="Scripts\jquery-3.4.1.intellisense.js" />
<Content Include="Scripts\jquery-3.4.1.js" />
<Content Include="Scripts\jquery-3.4.1.min.js" />
diff --git a/VueWebApi/bin/VueWebApi.pdb b/VueWebApi/bin/VueWebApi.pdb
index 8850d18..59da41f 100644
--- a/VueWebApi/bin/VueWebApi.pdb
+++ b/VueWebApi/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/bin/VueWebApi.xml b/VueWebApi/bin/VueWebApi.xml
index 32ecc31..d97c73f 100644
--- a/VueWebApi/bin/VueWebApi.xml
+++ b/VueWebApi/bin/VueWebApi.xml
@@ -3357,6 +3357,13 @@
<param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
<returns></returns>
</member>
+ <member name="M:VueWebApi.Tools.ImportExcel.ExcelToThreeTableList(System.String)">
+ <summary>
+ Excel 3涓猄heet瀵煎叆鎴怐atable
+ </summary>
+ <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ <returns></returns>
+ </member>
<member name="M:VueWebApi.Tools.ImportExcel.GetCellValue(NPOI.SS.UserModel.ICell)">
<summary>
鑾峰彇鍗曞厓鏍肩被鍨�
@@ -3378,6 +3385,13 @@
<param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
<returns></returns>
</member>
+ <member name="M:VueWebApi.Tools.ImportExcel.ExcelToThreeTableListErro(System.String)">
+ <summary>
+ Excel 3涓猄heet 鏁版嵁楠岃瘉
+ </summary>
+ <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ <returns></returns>
+ </member>
<member name="M:VueWebApi.Tools.JPushManage.ExecutePushByUserId(System.String,System.String,System.String,System.Collections.Generic.List{VueWebApi.Models.AnDnDate})">
<summary>
鎺ㄩ�佸埌涓汉,姣忔鎺ㄩ�佹渶澶�1000浜�
diff --git a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
index c58b3cf..ca8824a 100644
--- a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
+++ b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\211\251\346\226\231\346\270\205\345\215\225.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\211\251\346\226\231\346\270\205\345\215\225.xls"
index 4864105..f3e23f4 100644
--- "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\211\251\346\226\231\346\270\205\345\215\225.xls"
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\211\251\346\226\231\346\270\205\345\215\225.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
new file mode 100644
index 0000000..04ea0ce
--- /dev/null
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
index b70731d..59da41f 100644
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
index 32ecc31..d97c73f 100644
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
@@ -3357,6 +3357,13 @@
<param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
<returns></returns>
</member>
+ <member name="M:VueWebApi.Tools.ImportExcel.ExcelToThreeTableList(System.String)">
+ <summary>
+ Excel 3涓猄heet瀵煎叆鎴怐atable
+ </summary>
+ <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ <returns></returns>
+ </member>
<member name="M:VueWebApi.Tools.ImportExcel.GetCellValue(NPOI.SS.UserModel.ICell)">
<summary>
鑾峰彇鍗曞厓鏍肩被鍨�
@@ -3378,6 +3385,13 @@
<param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
<returns></returns>
</member>
+ <member name="M:VueWebApi.Tools.ImportExcel.ExcelToThreeTableListErro(System.String)">
+ <summary>
+ Excel 3涓猄heet 鏁版嵁楠岃瘉
+ </summary>
+ <param name="file">瀵煎叆璺緞(鍖呭惈鏂囦欢鍚嶄笌鎵╁睍鍚�)</param>
+ <returns></returns>
+ </member>
<member name="M:VueWebApi.Tools.JPushManage.ExecutePushByUserId(System.String,System.String,System.String,System.Collections.Generic.List{VueWebApi.Models.AnDnDate})">
<summary>
鎺ㄩ�佸埌涓汉,姣忔鎺ㄩ�佹渶澶�1000浜�
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache b/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
deleted file mode 100644
index e72b298..0000000
--- a/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
+++ /dev/null
Binary files differ
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt b/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
index a75cfd6..b921405 100644
--- a/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
@@ -568,4 +568,3 @@
D:\鏂板嚡杩狹ES\MES浜у搧\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CopyComplete
D:\鏂板嚡杩狹ES\MES浜у搧\VueWebApi\VueWebApi\obj\Release\VueWebApi.dll
D:\鏂板嚡杩狹ES\MES浜у搧\VueWebApi\VueWebApi\obj\Release\VueWebApi.pdb
-D:\鏂板嚡杩狹ES\MES浜у搧\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.AssemblyReference.cache
diff --git a/VueWebApi/obj/Release/VueWebApi.pdb b/VueWebApi/obj/Release/VueWebApi.pdb
index 8850d18..59da41f 100644
--- a/VueWebApi/obj/Release/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ
--
Gitblit v1.9.3