From ee767e67b091fbfd7c7e995d663d0a8a4425f692 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 08 十一月 2022 09:14:41 +0800
Subject: [PATCH] 设备点检标准、设备清单、物料清单导入接口开发
---
VueWebApi/Tools/ImportExcelData.cs | 210 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 165 insertions(+), 45 deletions(-)
diff --git a/VueWebApi/Tools/ImportExcelData.cs b/VueWebApi/Tools/ImportExcelData.cs
index d1a7322..05c393f 100644
--- a/VueWebApi/Tools/ImportExcelData.cs
+++ b/VueWebApi/Tools/ImportExcelData.cs
@@ -625,10 +625,10 @@
code = "300";
Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕璁惧缁勫悕绉皚";
}
- else if (excelTable[1].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿(鍞竴)")
+ else if (excelTable[1].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿")
{
code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕璁惧绫诲瀷缂栧彿(鍞竴)}";
+ Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕璁惧绫诲瀷缂栧彿}";
}
else if (excelTable[1].Columns[4].ColumnName != "璁惧缁勬弿杩�")
{
@@ -650,15 +650,15 @@
code = "300";
Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧鍚嶇О}";
}
- else if (excelTable[2].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿(鍞竴)")
+ else if (excelTable[2].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿")
{
code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧绫诲瀷缂栧彿(鍞竴)}";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧绫诲瀷缂栧彿}";
}
- else if (excelTable[2].Columns[4].ColumnName != "璁惧缁勭紪鍙�(鍞竴)")
+ else if (excelTable[2].Columns[4].ColumnName != "璁惧缁勭紪鍙�")
{
code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧缁勭紪鍙�(鍞竴)}";
+ Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧缁勭紪鍙穧";
}
else if (excelTable[2].Columns[5].ColumnName != "鎶曞叆鏃ユ湡")
{
@@ -2273,15 +2273,15 @@
where !(
from rr in excelTable[0].AsEnumerable()
select rr.Field<string>("璁惧绫诲瀷缂栧彿(鍞竴)")
- ).Contains(r.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 = "璁惧缁勪俊鎭�:{璁惧绫诲瀷缂栧彿(鍞竴)}瀛楁涓湁鍊煎湪璁惧绫诲瀷淇℃伅:{璁惧绫诲瀷缂栧彿(鍞竴)}涓笉瀛樺湪";
+ erro.ErrorField = "{璁惧绫诲瀷缂栧彿}";
+ erro.ErrorCont = "璁惧缁勪俊鎭�:{璁惧绫诲瀷缂栧彿}瀛楁涓湁鍊煎湪璁惧绫诲瀷淇℃伅:{璁惧绫诲瀷缂栧彿(鍞竴)}涓笉瀛樺湪";
list.Add(erro);
}
//璁惧娓呭崟琛�
@@ -2301,13 +2301,13 @@
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)
+ var yourGetData = excelTable[1].AsEnumerable().Where<DataRow>(a => a["璁惧绫诲瀷缂栧彿"].ToString() == excelTable[2].Rows[k][3].ToString().Trim()&& a["璁惧缁勭紪鍙�(鍞竴)"].ToString() == excelTable[2].Rows[k][4].ToString().Trim());
+ if (yourGetData.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() + "涓庤澶囩粍娓呭崟涓缃涓嶄笂";
+ erro.ErrorField = "{璁惧绫诲瀷缂栧彿}/{璁惧缁勭紪鍙穧";
+ erro.ErrorCont = "璁惧琛�:{璁惧缂栧彿(鍞竴)}瀛楁" + excelTable[2].Rows[k][1].ToString().Trim() + "瀵瑰簲{璁惧绫诲瀷缂栧彿}:"+ excelTable[2].Rows[k][4].ToString().Trim() + "/{璁惧缁勭紪鍙穧:"+ excelTable[2].Rows[k][4].ToString().Trim() + "涓庤澶囩粍娓呭崟涓缃涓嶄笂";
list.Add(erro);
}
}
@@ -2444,7 +2444,7 @@
list.Add(erro);
}
//閫氳繃璁惧鐐规鏍囧噯椤电妯℃澘涓殑鏍囧噯缂栫爜鏌ヨ璁惧鐐规閮ㄤ綅椤电妯℃澘涓搴旂殑鏁版嵁淇℃伅
- DataTable ds = excelTable[1].AsEnumerable().Where<DataRow>(C => C["璁惧鐐规鏍囧噯缂栧彿(鍞竴)"].ToString() == excelTable[0].Rows[j][1].ToString().Trim()).CopyToDataTable();
+ DataTable ds = excelTable[1].AsEnumerable().Where<DataRow>(C => C["璁惧鐐规鏍囧噯缂栧彿"].ToString() == excelTable[0].Rows[j][1].ToString().Trim()).CopyToDataTable();
if (ds.Rows.Count > 0)
{
//鍒ゆ柇鐐规鏍囧噯鏌ヨ鐐规閮ㄤ綅鏁版嵁鏄惁鏈夐噸澶�
@@ -2454,7 +2454,7 @@
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
erro.ErrorField = "{璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)}";
- erro.ErrorCont = "璁惧鐐规閮ㄤ綅椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}:"+ excelTable[0].Rows[j][1].ToString().Trim() + " 瀵瑰簲{璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)}鏈夐噸澶�";
+ erro.ErrorCont = "璁惧鐐规閮ㄤ綅椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿}:"+ excelTable[0].Rows[j][1].ToString().Trim() + " 瀵瑰簲{璁惧鐐规閮ㄤ綅缂栧彿(鍞竴)}鏈夐噸澶�";
list.Add(erro);
}
}
@@ -2483,15 +2483,15 @@
where !(
from rr in excelTable[0].AsEnumerable()
select rr.Field<string>("璁惧鐐规鏍囧噯缂栧彿(鍞竴)")
- ).Contains(r.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 = "璁惧鐐规閮ㄤ綅椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}瀛楁涓湁鍊煎湪璁惧鐐规鏍囧噯椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}涓笉瀛樺湪";
+ erro.ErrorField = "{璁惧鐐规鏍囧噯缂栧彿}";
+ erro.ErrorCont = "璁惧鐐规閮ㄤ綅椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿}瀛楁涓湁鍊煎湪璁惧鐐规鏍囧噯椤电妯℃澘:{璁惧鐐规鏍囧噯缂栧彿(鍞竴)}涓笉瀛樺湪";
list.Add(erro);
}
if (list.Count > 0)
@@ -2925,13 +2925,13 @@
count = 0;
string sql = "";
var dynamicParams = new DynamicParameters();
- DataTable dt;
+ DataTable dt0,dt;
List<ExcelErro> list = new List<ExcelErro>();
List<DataTable> excelTable = new List<DataTable>();
list = ImportExcel.ExcelToTableListErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
excelTable = ImportExcel.ExcelToTableList(FileCode); //鑾峰彇Excel鏁版嵁
//Excel鏌ヨ姣嶄欢+鐗堟湰鍙锋槸鍚﹂噸澶�
- DataTable distinct = excelTable[0].DefaultView.ToTable(true, "姣嶄欢缂栫爜, 鐗堟湰鍙�");
+ DataTable distinct = excelTable[0].DefaultView.ToTable(true, new string[] {"姣嶄欢缂栫爜", "鐗堟湰鍙�" });
if (distinct.Rows.Count != excelTable[0].Rows.Count)
{
ExcelErro erro = new ExcelErro();
@@ -2961,6 +2961,19 @@
{
if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
{
+ //鍒ゆ柇姣嶄欢鍦ㄥ瓨璐т腑鏄惁瀛樺湪
+ sql = @"select * from TMateriel_Info where partcode=@partcode";
+ dynamicParams.Add("@partcode", excelTable[0].Rows[j][1].ToString().Trim());
+ dt0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt0.Rows.Count<=0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{姣嶄欢缂栫爜}";
+ erro.ErrorCont = "Bom姣嶄欢琛�:{姣嶄欢缂栫爜}瀛楁" + excelTable[0].Rows[j][1].ToString().Trim() + "鍦ㄥ瓨璐ф。妗堜腑涓嶅瓨鍦�";
+ list.Add(erro);
+ }
+
sql = @"select * from TBom_Main where materiel_code=@code and version=@version";
dynamicParams.Add("@code", excelTable[0].Rows[j][1].ToString().Trim());
dynamicParams.Add("@version", excelTable[0].Rows[j][5].ToString().Trim());
@@ -2975,16 +2988,44 @@
}
//鏌ヨ姣嶄欢淇℃伅瀵瑰簲鐨勫瓙浠朵俊鎭�
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++)
+ //for (int i = 0; i < ds.Rows.Count; i++)
+ //{
+ // if (excelTable[0].Rows[j][1].ToString().Trim() == ds.Rows[i]["瀛愪欢缂栫爜"].ToString().Trim())
+ // {
+ // ExcelErro erro = new ExcelErro();
+ // erro.RoeNumber = "/";
+ // erro.ErrorField = "{瀛愪欢缂栫爜}";
+ // erro.ErrorCont = "瀛愪欢淇℃伅:{瀛愪欢缂栫爜}瀛楁" + ds.Rows[i]["瀛愪欢缂栫爜"].ToString().Trim() + "涓庡搴旂殑{姣嶄欢缂栫爜}瀛楁閲嶅";
+ // list.Add(erro);
+ // }
+ //}
+ //鍒ゆ柇鍚屾瘝浠跺搴旂殑瀛愪欢鏄惁閲嶅
+ DataTable distinct1 = ds.DefaultView.ToTable(true, "瀛愪欢缂栫爜");
+ if (distinct1.Rows.Count != ds.Rows.Count)
{
- if (excelTable[0].Rows[j][1].ToString().Trim() == ds.Rows[i]["瀛愪欢缂栫爜"].ToString().Trim())
- {
- ExcelErro erro = new ExcelErro();
- erro.RoeNumber = "/";
- erro.ErrorField = "{瀛愪欢缂栫爜}";
- erro.ErrorCont = "瀛愪欢淇℃伅:{瀛愪欢缂栫爜}瀛楁" + ds.Rows[i]["瀛愪欢缂栫爜"].ToString().Trim() + "涓庡搴旂殑{姣嶄欢缂栫爜}瀛楁閲嶅";
- list.Add(erro);
- }
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{瀛愪欢缂栫爜}";
+ erro.ErrorCont = "鐗╂枡娓呭崟瀵瑰簲瀛愪欢淇℃伅椤电妯℃澘:涓昏〃搴忓垪鍙凤細銆�"+ excelTable[0].Rows[j]["涓昏〃搴忓垪鍙�"].ToString() + "銆戝搴攞瀛愪欢缂栫爜}鏈夐噸澶�";
+ list.Add(erro);
+ }
+ }
+ }
+ //瀛愪欢鍒ゆ柇
+ for (int k = 0; k < excelTable[1].Rows.Count; k++)
+ {
+ if (excelTable[1].Rows[k][3].ToString().Trim() != null && excelTable[1].Rows[k][3].ToString().Trim() != "")
+ {
+ sql = @"select * from TMateriel_Info where partcode=@partcode";
+ dynamicParams.Add("@partcode", excelTable[1].Rows[k][3].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[k][3].ToString().Trim() + "鍦ㄥ瓨璐ф。妗堜腑涓嶅瓨鍦�";
+ list.Add(erro);
}
}
}
@@ -3109,7 +3150,7 @@
}
#endregion
- #region[Excel鏁版嵁涓婁紶,瑙掕壊鏉冮檺]
+ #region銆怑xcel鏁版嵁涓婁紶,瑙掕壊鏉冮檺銆�
public static string OneSubmit(string FileCode, string User, out string StuCode)
{
string message = "";
@@ -3433,7 +3474,7 @@
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'";
+ string sql0 = @"select org_code,org_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);
@@ -3445,13 +3486,13 @@
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(),
+ devicename = excelTable[2].Rows[k][2].ToString().Trim(),
+ devicetype = excelTable[2].Rows[k][3].ToString().Trim(),
+ devicegroup = excelTable[2].Rows[k][4].ToString().Trim(),
+ workshop = data.Rows[0]["org_code"].ToString().Trim(),
+ importdate = excelTable[2].Rows[k][5].ToString().Trim(),
+ ratio = excelTable[2].Rows[k][8].ToString().Trim(),
+ status = excelTable[2].Rows[k][7].ToString().Trim(),
uom = "鍙�",
lm_user = User,
lm_date = DateTime.Now.ToString()
@@ -3529,7 +3570,7 @@
break;
}
sql = @"insert into TEqpchk_Item(code,name,description,isscan,cycle,lm_user,lm_date)
- values(@code,@name,@descr,@Operator,@CreateDate)";
+ values(@code,@name,@descr,@isscan,@cycle,@Operator,@CreateDate)";
list.Add(new
{
str = sql,
@@ -3571,9 +3612,75 @@
{
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.ExcelToTableList(FileCode);
+ //瀵煎叆璁惧鐐规鏍囧噯涓昏〃
+ for (int k = 0; k < excelTable[0].Rows.Count; k++)
+ {
+ sql = @"insert into TEqpchk_Main(code,name,description,iscontr,lm_user,lm_date)
+ values(@code,@name,@description,@iscontr,@Operator,@CreateDate)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = excelTable[0].Rows[k][1].ToString().Trim(),
+ name = excelTable[0].Rows[k][2].ToString().Trim(),
+ iscontr = excelTable[0].Rows[k][3].ToString().Trim(),
+ description = excelTable[0].Rows[k][4].ToString().Trim(),
+ CreateDate = DateTime.Now.ToString(),
+ Operator = User
+ }
+ });
+ }
+ //瀵煎叆璁惧鐐规鏍囧噯閮ㄤ綅瀛愯〃
+ for (int i = 0; i < excelTable[1].Rows.Count; i++)
+ {
+ string Type = "";
+ switch (excelTable[1].Rows[i][7].ToString().Trim())
+ {
+ case "鏃�":
+ Type = "D";
+ break;
+ default:
+ break;
+ }
+ sql = @"insert into TEqpchk_Deta(seq,code,name,eqpchk_main_code,description,isscan,cycle,lm_user,lm_date)
+ values(@seq,@code,@name,@eqpchk_main_code,@description,@isscan,@cycle,@Operator,@CreateDate)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ seq = excelTable[1].Rows[i][1].ToString().Trim(),
+ code = excelTable[1].Rows[i][3].ToString().Trim(),
+ name = excelTable[1].Rows[i][4].ToString().Trim(),
+ eqpchk_main_code = excelTable[1].Rows[i][2].ToString().Trim(),
+ description = excelTable[1].Rows[i][5].ToString().Trim(),
+ isscan = excelTable[1].Rows[i][6].ToString().Trim(),
+ cycle = Type,
+ Operator = User,
+ CreateDate = DateTime.Now.ToString()
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ StuCode = "200";
+ message = "瀵煎叆鎴愬姛锛�";
+ }
+ else
+ {
+ StuCode = "300";
+ message = "瀵煎叆澶辫触锛�";
+ }
}
catch (Exception e)
{
@@ -4066,8 +4173,8 @@
for (int k = 0; k < excelTable[0].Rows.Count; k++)
{
BomID = BomID + 1;
- sql = @"insert into TBom_Main(materiel_code,quantity,status,version,lm_user,lm_date)
- values(@materiel_code,@quantity,@status,@version,@lm_user,@lm_date)";
+ sql = @"insert into TBom_Main(materiel_code,quantity,status,version,lm_user,lm_date,startdate)
+ values(@materiel_code,@quantity,@status,@version,@lm_user,@lm_date,@startdate)";
list.Add(new
{
str = sql,
@@ -4077,8 +4184,9 @@
quantity = excelTable[0].Rows[k][3].ToString().Trim(),
status = excelTable[0].Rows[k][4].ToString().Trim(),
version = excelTable[0].Rows[k][5].ToString().Trim(),
- CreateDate = DateTime.Now.ToString(),
- Operator = User
+ lm_user = User,
+ lm_date = DateTime.Now.ToString(),
+ startdate = DateTime.Now.ToString()
}
});
//鏌ヨ姣嶄欢淇℃伅瀵瑰簲鐨勫瓙浠朵俊鎭�
@@ -4086,6 +4194,18 @@
//瀵煎叆Bom瀛愯〃
for (int i = 0; i < ds.Rows.Count; i++)
{
+ string Type = "";
+ switch (ds.Rows[i][9].ToString().Trim())
+ {
+ case "涓绘枡":
+ Type = "Z";
+ break;
+ case "杈呮枡":
+ Type = "F";
+ break;
+ default:
+ break;
+ }
sql = @"insert into TBom_Deta(m_id,seq,smateriel_code,base_quantity,loss_quantity,total_quantity,pn_type)
values(@m_id,@seq,@smateriel_code,@base_quantity,@loss_quantity,@total_quantity,@pn_type)";
list.Add(new
@@ -4099,7 +4219,7 @@
base_quantity = ds.Rows[i][6].ToString().Trim(),
loss_quantity = ds.Rows[i][7].ToString().Trim(),
total_quantity = ds.Rows[i][8].ToString().Trim(),
- pn_type = ds.Rows[i][9].ToString().Trim()
+ pn_type = Type
}
});
}
--
Gitblit v1.9.3