From 0c0a49144242879f97d1880caf0f8fe6c9afe950 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 27 三月 2026 17:07:46 +0800
Subject: [PATCH] 1.增加节拍工价导入(工艺路线版本、工序版本) 2.增加MES工单批量查找历史引用最新工艺信息接口MesOrderNewStepListContent
---
VueWebCoreApi/Tools/ImportExcelData.cs | 473 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 278 insertions(+), 195 deletions(-)
diff --git a/VueWebCoreApi/Tools/ImportExcelData.cs b/VueWebCoreApi/Tools/ImportExcelData.cs
index dfd3291..0d50220 100644
--- a/VueWebCoreApi/Tools/ImportExcelData.cs
+++ b/VueWebCoreApi/Tools/ImportExcelData.cs
@@ -1465,78 +1465,91 @@
}
#endregion
- #region銆怑xcel妯℃澘涓婁紶楠岃瘉,鑺傛媿宸ヤ环妯℃澘銆�
- public static string TwentyFour(string FileCode, out string code)
+ #region銆怑xcel妯℃澘涓婁紶楠岃瘉,鑺傛媿宸ヤ环(宸ヨ壓璺嚎鐗�)妯℃澘銆�
+ public static string TwentyFour(List<DataTable> excelTable, out string code)
{
string Message = "";
code = "";
- List<DataTable> excelTable = new List<DataTable>();
- excelTable = ImportExcel.ExcelToTableList(FileCode);
- if (excelTable.Count != 2)
+ if (excelTable.Count != 1)
{
code = "300";
Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
return Message;
}
- else if (excelTable[0].Columns.Count != 9)
+ else if (excelTable[0].Columns.Count != 4)
{
code = "300";
Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
return Message;
}
- else if (excelTable[0].Columns[0].ColumnName != "搴忓彿")
+ else if (excelTable[0].Columns[0].ColumnName != "*浜у搧缂栫爜")
{
code = "300";
- Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�1鍒楀簲涓簕搴忓彿}";
+ Message = "浜у搧鍚嶇О妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�1鍒楀簲涓簕*浜у搧缂栫爜}";
return Message;
}
- else if (excelTable[0].Columns[1].ColumnName != "浜у搧鍚嶇О")
+ else if (excelTable[0].Columns[1].ColumnName != "*宸ヨ壓璺嚎缂栫爜")
{
code = "300";
- Message = "浜у搧鍚嶇О妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�2鍒楀簲涓簕浜у搧鍚嶇О}";
+ Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�2鍒楀簲涓簕*宸ヨ壓璺嚎缂栫爜}";
return Message;
}
- else if (excelTable[0].Columns[2].ColumnName != "宸ヨ壓璺嚎鍚嶇О")
+ else if (excelTable[0].Columns[2].ColumnName != "*宸ュ簭缂栫爜")
{
code = "300";
- Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�3鍒楀簲涓簕宸ヨ壓璺嚎鍚嶇О}";
+ Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�3鍒楀簲涓簕*宸ュ簭缂栫爜}";
return Message;
}
- else if (excelTable[0].Columns[3].ColumnName != "宸ュ簭鍚嶇О")
+ else if (excelTable[0].Columns[3].ColumnName != "*璁′欢鍗曚环")
{
code = "300";
- Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕宸ュ簭鍚嶇О}";
+ Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕*璁′欢鍗曚环}";
return Message;
}
- else if (excelTable[0].Columns[4].ColumnName != "璁惧鍚嶇О")
+ else
+ {
+ code = "200";
+ Message = "妯℃澘妫�楠岄�氳繃";
+ }
+ return Message;
+ }
+ #endregion
+
+ #region銆怑xcel妯℃澘涓婁紶楠岃瘉,鑺傛媿宸ヤ环(宸ュ簭鐗�)妯℃澘銆�
+ public static string TwentyFive(List<DataTable> excelTable, out string code)
+ {
+ string Message = "";
+ code = "";
+ if (excelTable.Count != 1)
{
code = "300";
- Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕璁惧鍚嶇О}";
+ Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
+ return Message;
+
+ }
+ else if (excelTable[0].Columns.Count != 3)
+ {
+ code = "300";
+ Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
return Message;
}
- else if (excelTable[0].Columns[5].ColumnName != "璁′欢鍗曚环")
+ else if (excelTable[0].Columns[0].ColumnName != "*浜у搧缂栫爜")
{
code = "300";
- Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕璁′欢鍗曚环}";
+ Message = "浜у搧鍚嶇О妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�1鍒楀簲涓簕*浜у搧缂栫爜}";
return Message;
}
- else if (excelTable[0].Columns[6].ColumnName != "璁惧鑺傛媿")
+ else if (excelTable[0].Columns[1].ColumnName != "*宸ュ簭缂栫爜")
{
code = "300";
- Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕璁惧鑺傛媿}";
+ Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�2鍒楀簲涓簕*宸ュ簭缂栫爜}";
return Message;
}
- else if (excelTable[0].Columns[7].ColumnName != "鐢熶骇鑺傛媿")
+ else if (excelTable[0].Columns[2].ColumnName != "*璁′欢鍗曚环")
{
code = "300";
- Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕鐢熶骇鑺傛媿}";
- return Message;
- }
- else if (excelTable[0].Columns[8].ColumnName != "鍨嬭厰鏁�")
- {
- code = "300";
- Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�4鍒楀簲涓簕鍨嬭厰鏁皚";
+ Message = "鑺傛媿宸ヤ环妯℃澘涓嶇鍚堣鑼冿細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�3鍒楀簲涓簕*璁′欢鍗曚环}";
return Message;
}
else
@@ -4018,119 +4031,104 @@
}
#endregion
- #region銆怑xcel涓婁紶鏁版嵁楠岃瘉,鑺傛媿宸ヤ环銆�
- public static List<ExcelErro> TwentyFourData(string FileCode, out string StuCode, out string message, out int count)
+ #region銆怑xcel涓婁紶鏁版嵁楠岃瘉,鑺傛媿宸ヤ环(宸ヨ壓璺嚎鐗�)銆�
+ public static List<ExcelErro> TwentyFourData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
{
message = "";
StuCode = "";
count = 0;
string sql = "";
- DataTable dt;
var dynamicParams = new DynamicParameters();
+ DataTable dt;
List<ExcelErro> list = new List<ExcelErro>();
- DataTable excelTable = new DataTable();
- list = ImportExcel.ExcelToTableErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
- excelTable = ImportExcel.ExcelToTable(FileCode); //鑾峰彇Excel鏁版嵁
- for (int i = 0; i < excelTable.Rows.Count; i++)
+ list = ImportExcel.InportExcelToTableListErro(excelTable); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
{
//浜у搧鏄惁瀛樺湪
- sql = @"select partname from TMateriel_Info
- where partname=@partname";
- dynamicParams.Add("@partname", excelTable.Rows[i][1].ToString().Trim());
+ sql = @"select partcode,partname from TMateriel_Info
+ where partcode=partcode";
+ dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim());
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count <= 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
- erro.ErrorField = "{浜у搧鍚嶇О}";
- erro.ErrorCont = "瀛樿揣妗f:{浜у搧鍚嶇О}瀛楁" + excelTable.Rows[i][1].ToString().Trim() + "涓嶅瓨鍦�";
+ erro.ErrorField = "{*浜у搧缂栫爜}";
+ erro.ErrorCont = "瀛樿揣妗f:{*浜у搧缂栫爜}瀛楁" + excelTable[0].Rows[i][0].ToString().Trim() + "涓嶅瓨鍦�";
list.Add(erro);
}
//宸ヨ壓璺嚎鏄惁瀛樺湪
- sql = @"select name from TFlw_Rout
- where name=@routename";
- dynamicParams.Add("@routename", excelTable.Rows[i][2].ToString().Trim());
+ sql = @"select code,name from TFlw_Rout
+ where code=@routecode";
+ dynamicParams.Add("@routecode", excelTable[0].Rows[i][1].ToString().Trim());
var data0 = DapperHelper.selectdata(sql, dynamicParams);
if (data0.Rows.Count <= 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
- erro.ErrorField = "{宸ヨ壓璺嚎鍚嶇О}";
- erro.ErrorCont = "宸ヨ壓璺嚎:{宸ヨ壓璺嚎鍚嶇О}瀛楁" + excelTable.Rows[i][2].ToString().Trim() + "涓嶅瓨鍦�";
+ erro.ErrorField = "{*宸ヨ壓璺嚎缂栫爜}";
+ erro.ErrorCont = "宸ヨ壓璺嚎:{*宸ヨ壓璺嚎缂栫爜}瀛楁" + excelTable[0].Rows[i][1].ToString().Trim() + "涓嶅瓨鍦�";
list.Add(erro);
}
//宸ュ簭鏄惁瀛樺湪
- sql = @"select stepname from TStep
- where stepname=@stepname";
- dynamicParams.Add("@stepname", excelTable.Rows[i][3].ToString().Trim());
+ sql = @"select stepcode,stepname from TStep
+ where stepcode=@stepcode";
+ dynamicParams.Add("@stepcode", excelTable[0].Rows[i][2].ToString().Trim());
var data1 = DapperHelper.selectdata(sql, dynamicParams);
if (data1.Rows.Count <= 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
- erro.ErrorField = "{宸ュ簭鍚嶇О}";
- erro.ErrorCont = "宸ュ簭瀹氫箟:{宸ュ簭鍚嶇О}瀛楁" + excelTable.Rows[i][3].ToString().Trim() + "涓嶅瓨鍦�";
- list.Add(erro);
- }
- //璁惧鏄惁瀛樺湪
- sql = @"select name from TEqpInfo
- where name=@eqpname";
- dynamicParams.Add("@eqpname", excelTable.Rows[i][4].ToString().Trim());
- var data2 = DapperHelper.selectdata(sql, dynamicParams);
- if (data2.Rows.Count <= 0)
- {
- ExcelErro erro = new ExcelErro();
- erro.RoeNumber = "/";
- erro.ErrorField = "{璁惧鍚嶇О}";
- erro.ErrorCont = "璁惧娓呭崟:{璁惧鍚嶇О}瀛楁" + excelTable.Rows[i][4].ToString().Trim() + "涓嶅瓨鍦�";
+ erro.ErrorField = "{*宸ュ簭缂栫爜}";
+ erro.ErrorCont = "宸ュ簭瀹氫箟:{*宸ュ簭缂栫爜}瀛楁" + excelTable[0].Rows[i][2].ToString().Trim() + "涓嶅瓨鍦�";
list.Add(erro);
}
//鍒ゆ柇浜у搧鏄惁鍏宠仈宸ヨ壓璺嚎
- sql = @"select M.partname,R.name from TMateriel_Route A
+ sql = @"select M.partcode,R.code from TMateriel_Route A
inner join TMateriel_Info M on A.materiel_code=M.partcode
inner join TFlw_Rout R on A.route_code=R.code
- where M.partname=@partname and R.name=@routename";
- dynamicParams.Add("@partname", excelTable.Rows[i][1].ToString().Trim());
- dynamicParams.Add("@routename", excelTable.Rows[i][2].ToString().Trim());
+ where M.partcode=@partcode and R.code=@routecode";
+ dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim());
+ dynamicParams.Add("@routecode", excelTable[0].Rows[i][1].ToString().Trim());
var data3 = DapperHelper.selectdata(sql, dynamicParams);
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.ErrorField = "{*浜у搧缂栫爜/*宸ヨ壓璺嚎缂栫爜}";
+ erro.ErrorCont = "浜у搧鍏宠仈宸ヨ壓璺嚎:{*浜у搧缂栫爜}瀛楁:銆�" + excelTable[0].Rows[i][0].ToString().Trim() + "銆戝搴�*宸ヨ壓璺嚎缂栫爜锛氥��" + excelTable[0].Rows[i][1].ToString().Trim() + "銆戞湭鍏宠仈";
list.Add(erro);
}
//鍒ゆ柇宸ヨ壓璺嚎鏄惁鍏宠仈宸ュ簭
- sql = @"select R.name,S.stepname from TFlw_Rtdt A
+ sql = @"select R.code,S.stepcode from TFlw_Rtdt A
inner join TFlw_Rout R on A.rout_code=R.code
inner join TStep S on A.step_code=S.stepcode
- where R.name=@routename and S.stepname=@stepname";
- dynamicParams.Add("@routename", excelTable.Rows[i][2].ToString().Trim());
- dynamicParams.Add("@stepname", excelTable.Rows[i][3].ToString().Trim());
+ where R.code=@routecode and S.stepcode=@stepcode";
+ dynamicParams.Add("@routecode", excelTable[0].Rows[i][1].ToString().Trim());
+ dynamicParams.Add("@stepcode", excelTable[0].Rows[i][2].ToString().Trim());
var data4 = DapperHelper.selectdata(sql, dynamicParams);
if (data4.Rows.Count <= 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
- erro.ErrorField = "{宸ヨ壓璺嚎鍚嶇О/宸ュ簭鍚嶇О}";
- erro.ErrorCont = "宸ヨ壓璺嚎鍏宠仈宸ュ簭:{宸ヨ壓璺嚎鍚嶇О}瀛楁:銆�" + excelTable.Rows[i][2].ToString().Trim() + "銆戝搴斿伐搴忓悕绉帮細銆�" + excelTable.Rows[i][3].ToString().Trim() + "銆戞湭鍏宠仈";
+ erro.ErrorField = "{*宸ヨ壓璺嚎缂栫爜/*宸ュ簭缂栫爜}";
+ erro.ErrorCont = "宸ヨ壓璺嚎鍏宠仈宸ュ簭:{*宸ヨ壓璺嚎缂栫爜}瀛楁:銆�" + excelTable[0].Rows[i][1].ToString().Trim() + "銆戝搴�*宸ュ簭缂栫爜锛氥��" + excelTable[0].Rows[i][2].ToString().Trim() + "銆戞湭鍏宠仈";
list.Add(erro);
}
- //鍒ゆ柇宸ュ簭鏄惁鍏宠仈璁惧
- 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";
- dynamicParams.Add("@stepname", excelTable.Rows[i][3].ToString().Trim());
- dynamicParams.Add("@eqpname", excelTable.Rows[i][4].ToString().Trim());
- var data5 = DapperHelper.selectdata(sql, dynamicParams);
- if (data5.Rows.Count <= 0)
+ //鍒ゆ柇浜у搧銆佸伐鑹鸿矾绾裤�佸伐搴忔槸鍚﹂噸澶�
+ var isDuplicate = excelTable[0].AsEnumerable()
+ .GroupBy(row => new
+ {
+ PartCode = row["*浜у搧缂栫爜"].ToString().Trim(),
+ RoutCode = row["*宸ヨ壓璺嚎缂栫爜"].ToString().Trim(),
+ StepCode = row["*宸ュ簭缂栫爜"].ToString().Trim()
+ }).Any(g => g.Count() > 1);
+ if (isDuplicate)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
- erro.ErrorField = "{宸ュ簭鍚嶇О/璁惧鍚嶇О}";
- erro.ErrorCont = "宸ュ簭鍏宠仈璁惧:{宸ュ簭鍚嶇О}瀛楁:銆�" + excelTable.Rows[i][3].ToString().Trim() + "銆戝搴旇澶囧悕绉帮細銆�" + excelTable.Rows[i][4].ToString().Trim() + "銆戞湭鍏宠仈";
+ erro.ErrorField = "{*浜у搧缂栫爜/*宸ヨ壓璺嚎缂栫爜/*宸ュ簭缂栫爜}";
+ erro.ErrorCont = "妯℃澘鏁版嵁涓�:{*浜у搧缂栫爜}瀛楁锛氥��" + excelTable[0].Rows[i][0].ToString().Trim() + "銆戝搴攞*宸ヨ壓璺嚎缂栫爜}瀛楁:銆�" + excelTable[0].Rows[i][1].ToString().Trim() + "銆戝搴攞*宸ュ簭缂栫爜}锛氥��" + excelTable[0].Rows[i][2].ToString().Trim() + "銆戞湁閲嶅锛�";
list.Add(erro);
}
}
@@ -4149,7 +4147,99 @@
{
StuCode = "200";
message = "鏁版嵁楠岃瘉鎴愬姛";
- count = excelTable.Rows.Count;
+ count = excelTable[0].Rows.Count;
+ }
+ return list;
+ }
+ #endregion
+
+ #region銆怑xcel涓婁紶鏁版嵁楠岃瘉,鑺傛媿宸ヤ环(宸ヨ壓璺嚎鐗�)銆�
+ public static List<ExcelErro> TwentyFiveData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
+ {
+ message = "";
+ StuCode = "";
+ count = 0;
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ DataTable dt;
+ List<ExcelErro> list = new List<ExcelErro>();
+ list = ImportExcel.InportExcelToTableListErro(excelTable); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
+ {
+ //浜у搧鏄惁瀛樺湪
+ sql = @"select partcode,partname from TMateriel_Info
+ where partcode=partcode";
+ dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim());
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count <= 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*浜у搧缂栫爜}";
+ erro.ErrorCont = "瀛樿揣妗f:{*浜у搧缂栫爜}瀛楁" + excelTable[0].Rows[i][0].ToString().Trim() + "涓嶅瓨鍦�";
+ list.Add(erro);
+ }
+ //宸ュ簭鏄惁瀛樺湪
+ sql = @"select stepcode,stepname from TStep
+ where stepcode=@stepcode";
+ dynamicParams.Add("@stepcode", excelTable[0].Rows[i][1].ToString().Trim());
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data1.Rows.Count <= 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*宸ュ簭缂栫爜}";
+ erro.ErrorCont = "宸ュ簭瀹氫箟:{*宸ュ簭缂栫爜}瀛楁" + excelTable[0].Rows[i][1].ToString().Trim() + "涓嶅瓨鍦�";
+ list.Add(erro);
+ }
+ //鍒ゆ柇浜у搧鏄惁鍏宠仈宸ュ簭
+ sql = @"select M.partcode,R.stepcode from TMateriel_Step A
+ inner join TMateriel_Info M on A.materiel_code=M.partcode
+ inner join TStep R on A.step_code=R.stepcode
+ where M.partcode=@partcode and R.stepcode=@stepcode";
+ dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim());
+ dynamicParams.Add("@stepcode", excelTable[0].Rows[i][1].ToString().Trim());
+ var data3 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data3.Rows.Count <= 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*浜у搧缂栫爜/*宸ュ簭缂栫爜}";
+ erro.ErrorCont = "浜у搧鍏宠仈宸ュ簭:{*浜у搧缂栫爜}瀛楁:銆�" + excelTable[0].Rows[i][0].ToString().Trim() + "銆戝搴�*宸ュ簭缂栫爜锛氥��" + excelTable[0].Rows[i][1].ToString().Trim() + "銆戞湭鍏宠仈";
+ list.Add(erro);
+ }
+ //鍒ゆ柇浜у搧銆佸伐搴忔槸鍚﹂噸澶�
+ var isDuplicate = excelTable[0].AsEnumerable()
+ .GroupBy(row => new
+ {
+ PartCode = row["*浜у搧缂栫爜"].ToString().Trim(),
+ StepCode = row["*宸ュ簭缂栫爜"].ToString().Trim()
+ }).Any(g => g.Count() > 1);
+ if (isDuplicate)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{浜у搧缂栫爜/宸ュ簭缂栫爜}";
+ erro.ErrorCont = "妯℃澘鏁版嵁涓�:{*浜у搧缂栫爜}瀛楁锛氥��" + excelTable[0].Rows[i][0].ToString().Trim() + "銆戝搴�*宸ュ簭缂栫爜锛氥��" + excelTable[0].Rows[i][1].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;
}
return list;
}
@@ -5912,143 +6002,136 @@
}
#endregion
- #region銆怑xcel鏁版嵁涓婁紶,鑺傛媿宸ヤ环銆�
- public static string TwentyFourSubmit(string FileCode, string User, out string StuCode)
+ #region銆怑xcel鏁版嵁涓婁紶,鑺傛媿宸ヤ环(宸ヨ壓璺嚎鐗�)銆�
+ public static string TwentyFourSubmit(List<DataTable> excelTable, User us, out string StuCode)
{
string message = "";
StuCode = "";
string sql = "";
+ DataTable dt;
List<object> list = new List<object>();
var dynamicParams = new DynamicParameters();
try
{
list.Clear();
- DataTable excelTable = new DataTable();
- excelTable = ImportExcel.ExcelToTable(FileCode);
- //瀵煎叆璁惧鐐规椤圭洰琛�
- for (int i = 0; i < excelTable.Rows.Count; i++)
+ //瀵煎叆鑺傛媿宸ヤ环琛�
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
{
- string partcode = "", routecode = "", stepcode = "", eqpcode = "", wkspcode = "";
- //鏌ヨ浜у搧缂栫爜
- sql = @"select partcode from TMateriel_Info
- where partname=@partname";
- dynamicParams.Add("@partname", excelTable.Rows[i][1].ToString().Trim());
+ //鏌ヨ宸ュ簭鑺傛媿琛ㄤ腑锛氫骇鍝�+宸ヨ壓璺嚎+宸ュ簭鏄惁瀛樺湪
+ sql = @"select * from TPrteEqp_Stad where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode";
+ dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim());
+ dynamicParams.Add("@routecode", excelTable[0].Rows[i][1].ToString().Trim());
+ dynamicParams.Add("@stepcode", excelTable[0].Rows[i][2].ToString().Trim());
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count > 0)
{
- partcode = data.Rows[0]["partcode"].ToString();
- }
- else
- {
- StuCode = "浜у搧鍚嶇О锛氥��" + excelTable.Rows[i][1].ToString().Trim() + "銆戝搴旂紪鐮佷笉瀛樺湪锛�";
- message = "瀵煎叆澶辫触锛�";
- }
- //鏌ヨ宸ヨ壓璺嚎缂栫爜
- sql = @"select code from TFlw_Rout
- where name=@routename";
- dynamicParams.Add("@routename", excelTable.Rows[i][2].ToString().Trim());
- var data0 = DapperHelper.selectdata(sql, dynamicParams);
- if (data0.Rows.Count > 0)
- {
- routecode = data0.Rows[0]["code"].ToString();
- }
- else
- {
- StuCode = "宸ヨ壓璺嚎鍚嶇О锛氥��" + excelTable.Rows[i][2].ToString().Trim() + "銆戝搴旂紪鐮佷笉瀛樺湪锛�";
- message = "瀵煎叆澶辫触锛�";
- }
- //鏌ヨ宸ュ簭缂栫爜
- sql = @"select stepcode from TStep
- where stepname=@stepname";
- dynamicParams.Add("@stepname", excelTable.Rows[i][3].ToString().Trim());
- var data1 = DapperHelper.selectdata(sql, dynamicParams);
- if (data1.Rows.Count > 0)
- {
- stepcode = data1.Rows[0]["stepcode"].ToString();
- }
- else
- {
- StuCode = "宸ュ簭鍚嶇О锛氥��" + excelTable.Rows[i][3].ToString().Trim() + "銆戝搴旂紪鐮佷笉瀛樺湪锛�";
- message = "瀵煎叆澶辫触锛�";
- }
- //鏌ヨ璁惧缂栫爜
- sql = @"select code from TEqpInfo
- where name=@eqpname";
- dynamicParams.Add("@eqpname", excelTable.Rows[i][4].ToString().Trim());
- var data4 = DapperHelper.selectdata(sql, dynamicParams);
- if (data4.Rows.Count > 0)
- {
- eqpcode = data4.Rows[0]["code"].ToString();
- }
- else
- {
- StuCode = "璁惧鍚嶇О锛氥��" + excelTable.Rows[i][4].ToString().Trim() + "銆戝搴旂紪鐮佷笉瀛樺湪锛�";
- message = "瀵煎叆澶辫触锛�";
- }
- //鏌ヨ杞﹂棿缂栫爜
- sql = @"select wksp_code from TEqpInfo
- where name=@eqpname";
- dynamicParams.Add("@eqpname", excelTable.Rows[i][4].ToString().Trim());
- var data5 = DapperHelper.selectdata(sql, dynamicParams);
- if (data5.Rows.Count > 0)
- {
- wkspcode = data5.Rows[0]["wksp_code"].ToString();
- }
- else
- {
- StuCode = "璁惧鍚嶇О锛氥��" + excelTable.Rows[i][4].ToString().Trim() + "銆戝搴旇溅闂寸紪鐮佷笉瀛樺湪锛�";
- message = "瀵煎叆澶辫触锛�";
- }
- //鏌ヨ宸ュ簭鑺傛媿琛ㄤ腑锛氫骇鍝�+宸ヨ壓璺嚎+宸ュ簭+璁惧鏄惁瀛樺湪
- sql = @"select * from TPrteEqp_Stad
- where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode";
- dynamicParams.Add("@partcode", partcode);
- dynamicParams.Add("@routecode", routecode);
- dynamicParams.Add("@stepcode", stepcode);
- dynamicParams.Add("@eqpcode", eqpcode);
- var data6 = DapperHelper.selectdata(sql, dynamicParams);
- 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 ";
+ sql = @"update TPrteEqp_Stad set unprice=@unprice,lm_user=@username,lm_date=@userdate
+ where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode";
list.Add(new
{
str = sql,
parm = new
{
- partcode = partcode,
- routecode = routecode,
- stepcode = stepcode,
- eqpcode = eqpcode,
- stand_value = excelTable.Rows[i][7].ToString().Trim(),
- eqp_value = excelTable.Rows[i][6].ToString().Trim(),
- cavity_qty = excelTable.Rows[i][8].ToString().Trim(),
- unprice = excelTable.Rows[i][5].ToString().Trim(),
- username = User,
+ partcode = excelTable[0].Rows[i][0].ToString().Trim(),
+ routecode = excelTable[0].Rows[i][1].ToString().Trim(),
+ stepcode = excelTable[0].Rows[i][2].ToString().Trim(),
+ unprice = excelTable[0].Rows[i][3].ToString().Trim(),
+ username = us.usercode,
userdate = DateTime.Now.ToString()
}
});
}
else
{
- sql = @"insert into TPrteEqp_Stad(materiel_code,eqp_code,stand_value,route_code,unprice,eqp_value,cavity_qty,wkspcode,lm_user,lm_date,step_code)
- values(@partcode,@eqpcode,@stand_value,@routecode,@unprice,@eqp_value,@cavity_qty,@wkspcode,@username,@userdate,@stepcode)";
+ sql = @"insert into TPrteEqp_Stad(materiel_code,route_code,step_code,unprice,lm_user,lm_date)
+ values(@partcode,@routecode,@stepcode,@unprice,@username,@userdate)";
list.Add(new
{
str = sql,
parm = new
{
- partcode = partcode,
- eqpcode = eqpcode,
- stand_value = excelTable.Rows[i][7].ToString().Trim(),
- routecode = routecode,
- unprice = excelTable.Rows[i][5].ToString().Trim(),
- eqp_value = excelTable.Rows[i][6].ToString().Trim(),
- cavity_qty = excelTable.Rows[i][8].ToString().Trim(),
- wkspcode = wkspcode,
- username = User,
- userdate = DateTime.Now.ToString(),
- stepcode = stepcode
+ partcode = excelTable[0].Rows[i][0].ToString().Trim(),
+ routecode = excelTable[0].Rows[i][1].ToString().Trim(),
+ stepcode = excelTable[0].Rows[i][2].ToString().Trim(),
+ unprice = excelTable[0].Rows[i][3].ToString().Trim(),
+ username = us.usercode,
+ userdate = DateTime.Now.ToString()
+ }
+ });
+ }
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ StuCode = "200";
+ message = "瀵煎叆鎴愬姛锛�";
+ }
+ else
+ {
+ StuCode = "300";
+ message = "瀵煎叆澶辫触锛�";
+ }
+ }
+ catch (Exception e)
+ {
+ StuCode = "300";
+ message = e.Message;
+ }
+ return message;
+ }
+ #endregion
+
+ #region銆怑xcel鏁版嵁涓婁紶,鑺傛媿宸ヤ环(宸ュ簭鐗�)銆�
+ public static string TwentyFiveSubmit(List<DataTable> excelTable, User us, out string StuCode)
+ {
+ string message = "";
+ StuCode = "";
+ string sql = "";
+ DataTable dt;
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ list.Clear();
+ //瀵煎叆鑺傛媿宸ヤ环琛�
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
+ {
+ //鏌ヨ宸ュ簭鑺傛媿琛ㄤ腑锛氫骇鍝�+宸ュ簭鏄惁瀛樺湪
+ sql = @"select * from TPrteEqp_Stad where materiel_code=@partcode and step_code=@stepcode";
+ dynamicParams.Add("@partcode", excelTable[0].Rows[i][0].ToString().Trim());
+ dynamicParams.Add("@stepcode", excelTable[0].Rows[i][1].ToString().Trim());
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ sql = @"update TPrteEqp_Stad set unprice=@unprice,lm_user=@username,lm_date=@userdate
+ where materiel_code=@partcode and step_code=@stepcode";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ partcode = excelTable[0].Rows[i][0].ToString().Trim(),
+ stepcode = excelTable[0].Rows[i][1].ToString().Trim(),
+ unprice = excelTable[0].Rows[i][2].ToString().Trim(),
+ username = us.usercode,
+ userdate = DateTime.Now.ToString()
+ }
+ });
+ }
+ else
+ {
+ sql = @"insert into TPrteEqp_Stad(materiel_code,step_code,unprice,lm_user,lm_date)
+ values(@partcode,@stepcode,@unprice,@username,@userdate)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ partcode = excelTable[0].Rows[i][0].ToString().Trim(),
+ stepcode = excelTable[0].Rows[i][1].ToString().Trim(),
+ unprice = excelTable[0].Rows[i][2].ToString().Trim(),
+ username = us.usercode,
+ userdate = DateTime.Now.ToString()
}
});
}
--
Gitblit v1.9.3