2023-06-19

This commit is contained in:
李鹏飞 2023-06-19 15:46:50 +08:00
parent 57d6acb77a
commit e6337e01bf
2 changed files with 124 additions and 18 deletions

Binary file not shown.

View File

@ -1,4 +1,5 @@
using BLL;
using MiniExcelLibs;
using Model;
using System;
using System.Collections.Generic;
@ -325,6 +326,123 @@ namespace FineUIPro.Web.HJGL.WeldingManage
responeData.message = errorInfos;
}
return responeData;
}
private Model.ResponeData AddDatasetToSQL(List<dynamic> pds, int count)
{
Model.ResponeData responeData = new Model.ResponeData();
List<string> result = new List<string>();
if (count < 4)
{
responeData.code = 0;
responeData.message = "导入Excel格式错误Excel只有" + count.ToString().Trim() + "列";
return responeData;
}
if (pds.Count > 0 && pds != null)
{
for (int i = 0; i < pds.Count; i++)
{
HJGL_PipeLineMat item = new HJGL_PipeLineMat();
#region
string unitworkId = string.Empty;
unitworkId = Request.Params["UnitWorkId"];
string PipeArea = string.Empty;//管线划分 1工厂预制 2现场施工
if (pds[i].A != null && !string.IsNullOrEmpty(pds[i].A.ToString()))
{
string pipelineCode = pds[i].A.ToString();
var pipeline = from x in Funs.DB.HJGL_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == unitworkId && x.PipelineCode == pipelineCode select x;
if (pipeline.Count() > 0)
{
item.PipelineId = pipeline.First().PipelineId;
PipeArea = pipeline.First().PipeArea;
}
else
{
result.Add("不存在此管线号-" + pds[i].A.ToString());
}
}
else
{
result.Add((i + 2) + "Line, [管线号] 不能为空</br>");
}
if (pds[i].C != null && !string.IsNullOrEmpty(pds[i].C.ToString()))
{
string materialCode = pds[i].C.ToString();
var lib = from x in Funs.DB.HJGL_MaterialCodeLib where x.MaterialCode == materialCode select x;
if (lib.Count() > 0)
{
item.MaterialCode = pds[i].C.ToString();
}
else
{
result.Add("不存在此材料编码-" + pds[i].C.ToString());
}
}
else
{
result.Add((i + 2) + "Line, [材料编码] 不能为空</br>");
}
if (pds[i].D != null && !string.IsNullOrEmpty(pds[i].D.ToString()))
{
try
{
var number = Funs.GetNewDecimal(pds[i].D.ToString());
item.Number = number;
}
catch (Exception)
{
result.Add("第" + (i + 2).ToString() + "行," + "数量格式输入有误</br>");
}
}
else
{
result.Add((i + 2) + "Line, [数量] 不能为空</br>");
}
if (PipeArea == "1")
{
if (pds[i].B != null && !string.IsNullOrEmpty(pds[i].B.ToString()))
{
item.PrefabricatedComponents = pds[i].B.ToString();
}
else
{
result.Add((i + 2) + "Line, [预制组件] 不能为空</br>");
}
}
var model = matList.Where(x => x.PipelineId == item.PipelineId && x.MaterialCode == item.MaterialCode && x.PrefabricatedComponents == item.PrefabricatedComponents);
if (model.Count() == 0)
{
matList.Add(item);
}
#endregion
}
}
else
{
responeData.code = 0;
responeData.message = "导入数据为空!";
}
return responeData;
}
#endregion
@ -344,7 +462,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
return;
}
string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower();
if (IsXls != ".xls" && IsXls != ".xlsx")
if (IsXls != ".xlsx")
{
ShowNotify("只能选择Excel文件!", MessageBoxIcon.Warning);
return;
@ -365,26 +483,14 @@ namespace FineUIPro.Web.HJGL.WeldingManage
//文件上传服务器后的名称
string fileName = rootPath + initPath + this.hdFileName.Text;
//读取Excel
DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out errorInfos, true);
//验证Excel读取是否有误
if (!string.IsNullOrEmpty(errorInfos))
{
Alert alert = new Alert
{
Message = errorInfos,
Target = Target.Self
};
alert.Show();
//ShowNotify(errorInfos, MessageBoxIcon.Warning);
return;
}
var reposedata= AddDatasetToSQL(ds.Tables[0], 4);
var ds = MiniExcel.Query(fileName).ToList();
var columns = MiniExcel.GetColumns(fileName);
var cnt = columns.Count;
var reposedata = AddDatasetToSQL(ds, cnt);
if (reposedata.code == 1)
{
State = (int)ButtonState.Import;
ShowNotify("审核完成请点击导入");
}
else
{
@ -394,7 +500,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
Target = Target.Self
};
alert.Show();
//ShowNotify(reposedata.message);
//ShowNotify(reposedata.message);
}
}
#region