From a544d13081b01f68824e80500c7c30ab2680d524 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周五, 10 10月 2025 16:08:03 +0800 Subject: [PATCH] //修复bug:查询出入库单据信息 【Editby shaocx,2025-09-29】 -- 这个功能没测试过,不一定好使啊啊啊啊啊!!!!! --- DEmon/iWareDataCore/BASE/Service/MaterialViewService.cs | 209 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 175 insertions(+), 34 deletions(-) diff --git a/DEmon/iWareDataCore/BASE/Service/MaterialViewService.cs b/DEmon/iWareDataCore/BASE/Service/MaterialViewService.cs index 28af57a..dd9aa1d 100644 --- a/DEmon/iWareDataCore/BASE/Service/MaterialViewService.cs +++ b/DEmon/iWareDataCore/BASE/Service/MaterialViewService.cs @@ -73,7 +73,7 @@ var codes = new List<string>(); List<MaterialEntity> materlst = new List<MaterialEntity>(); var materialSaves = new List<MaterialEntity>(); - var existMaterialcodes = dbModel.BASEMaterials.Select(x =>x.code).ToList(); + var existMaterialcodes = dbModel.BASEMaterials.Select(x => x.code).ToList(); bool b1 = true; foreach (MaterialViewEntity m in materials) { @@ -81,14 +81,14 @@ if (string.IsNullOrEmpty(m.Code)) { msg = string.Format("鍦ㄧ{0}琛岋紝鐗╂枡鍙蜂笉鑳戒负绌猴紝璇蜂慨鏀瑰悗閲嶆柊瀵煎叆", i + 1); - b1= false; + b1 = false; break; } if (string.IsNullOrEmpty(m.Wide)) { msg = string.Format("鍦ㄧ{0}琛岋紝瀹戒笉鑳戒负绌猴紝璇蜂慨鏀瑰悗閲嶆柊瀵煎叆", i + 1); - b1= false; + b1 = false; break; } var type = types.FirstOrDefault(x => x.name == m.TypeName); @@ -96,7 +96,7 @@ { m.MaterialType = 5;//鍏朵粬 } - else + else { m.MaterialType = type.id; } @@ -107,8 +107,8 @@ codes.Add(m.Code); if (string.IsNullOrEmpty(m.Name)) { m.Name = m.Description; } if (string.IsNullOrEmpty(m.Version)) { m.Version = "00"; } - - MaterialEntity mt=new MaterialEntity() + + MaterialEntity mt = new MaterialEntity() { ClassificationSociety = m.ClassificationSociety, Code = m.Code, @@ -135,41 +135,41 @@ VerticalPosition = m.VerticalPosition, Wide = m.Wide }; - materialSaves.Add(mt); + materialSaves.Add(mt); } - if (!b1) + if (!b1) { return b1; } var sql = string.Format("INSERT INTO BASEMaterial(status, name, code, materialno, version, typeid, guaranteeperiod, cost, classificationsociety, unit, serialno, description, remark, verticalposition, weight, issueprojectno, procurementprojectno, cuttingtype, pageno, thick, wide, length, markingpen, laneseparation) VALUES"); - for (var j = 0; j < materialSaves.Count ; j++) + for (var j = 0; j < materialSaves.Count; j++) { - sql += string.Format("({0}, '{1}', '{2}', '{3}', {4}, '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}','{16}' ,'{17}', '{18}', '{19}', '{20}', '{21}','{22}','{23}' ),", - materialSaves[j].Status, - StringHelper.RelpaceQuot(materialSaves[j].Name), - StringHelper.RelpaceQuot(materialSaves[j].Code), - StringHelper.RelpaceQuot(materialSaves[j].MaterialNo), - StringHelper.RelpaceQuot(materialSaves[j].Version), - materialSaves[j].TypeId, - StringHelper.RelpaceQuot(materialSaves[j].GuaranteePeriod), - materialSaves[j].Cost, - StringHelper.RelpaceQuot(materialSaves[j].ClassificationSociety), - StringHelper.RelpaceQuot(materialSaves[j].Unit), - StringHelper.RelpaceQuot(materialSaves[j].SerialNo), - StringHelper.RelpaceQuot(materialSaves[j].Description), - StringHelper.RelpaceQuot(materialSaves[j].Remark), - StringHelper.RelpaceQuot(materialSaves[j].VerticalPosition), - StringHelper.RelpaceQuot(materialSaves[j].Weight), - StringHelper.RelpaceQuot(materialSaves[j].IssueProjectNo), - StringHelper.RelpaceQuot(materialSaves[j].ProcurementProjectNo), - StringHelper.RelpaceQuot(materialSaves[j].CuttingType), - StringHelper.RelpaceQuot(materialSaves[j].PageNo), - StringHelper.RelpaceQuot(materialSaves[j].Thick), - StringHelper.RelpaceQuot(materialSaves[j].Wide), - StringHelper.RelpaceQuot(materialSaves[j].Length), - StringHelper.RelpaceQuot(materialSaves[j].MarkingPen), - StringHelper.RelpaceQuot(materialSaves[j].LaneSeparation)); + sql += string.Format("({0}, '{1}', '{2}', '{3}', {4}, '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}','{16}' ,'{17}', '{18}', '{19}', '{20}', '{21}','{22}','{23}' ),", + materialSaves[j].Status, + StringHelper.RelpaceQuot(materialSaves[j].Name), + StringHelper.RelpaceQuot(materialSaves[j].Code), + StringHelper.RelpaceQuot(materialSaves[j].MaterialNo), + StringHelper.RelpaceQuot(materialSaves[j].Version), + materialSaves[j].TypeId, + StringHelper.RelpaceQuot(materialSaves[j].GuaranteePeriod), + materialSaves[j].Cost, + StringHelper.RelpaceQuot(materialSaves[j].ClassificationSociety), + StringHelper.RelpaceQuot(materialSaves[j].Unit), + StringHelper.RelpaceQuot(materialSaves[j].SerialNo), + StringHelper.RelpaceQuot(materialSaves[j].Description), + StringHelper.RelpaceQuot(materialSaves[j].Remark), + StringHelper.RelpaceQuot(materialSaves[j].VerticalPosition), + StringHelper.RelpaceQuot(materialSaves[j].Weight), + StringHelper.RelpaceQuot(materialSaves[j].IssueProjectNo), + StringHelper.RelpaceQuot(materialSaves[j].ProcurementProjectNo), + StringHelper.RelpaceQuot(materialSaves[j].CuttingType), + StringHelper.RelpaceQuot(materialSaves[j].PageNo), + StringHelper.RelpaceQuot(materialSaves[j].Thick), + StringHelper.RelpaceQuot(materialSaves[j].Wide), + StringHelper.RelpaceQuot(materialSaves[j].Length), + StringHelper.RelpaceQuot(materialSaves[j].MarkingPen), + StringHelper.RelpaceQuot(materialSaves[j].LaneSeparation)); } if (sql.EndsWith(",")) { @@ -190,7 +190,148 @@ } + /// <summary> + /// 瀵煎叆鐗╂枡鍩虹鏁版嵁锛屾潵婧怣ES 銆怑ditby shaocx,2025-09-17銆� + /// </summary> + /// <param name="materials"></param> + /// <param name="msg"></param> + /// <returns></returns> + public bool ImportExcelFromMes(List<MaterialViewEntity> materials, out string msg) + { + using (var dbModel = new DbModelCore()) + { + try + { + msg = ""; + if (materials.Count < 1) + { + msg = "鐗╂枡璁板綍鏁颁负0锛岃淇敼鍚庨噸鏂板鍏�"; + return false; + } + var types = dbModel.BASEMaterialTypes.Where(x => 1 == 1).ToList(); + var i = 0; + var codes = new List<string>(); + List<MaterialEntity> materlst = new List<MaterialEntity>(); + var materialSaves = new List<MaterialEntity>(); + var existMaterialcodes = dbModel.BASEMaterials.Select(x => x.code).ToList(); + bool b1 = true; + foreach (MaterialViewEntity m in materials) + { + i += 1; + if (string.IsNullOrEmpty(m.Code)) + { + msg = string.Format("鍦ㄧ{0}琛岋紝鐗╂枡鍙蜂笉鑳戒负绌猴紝璇蜂慨鏀瑰悗閲嶆柊瀵煎叆", i + 1); + b1 = false; + break; + } + if (string.IsNullOrEmpty(m.Wide)) + { + msg = string.Format("鍦ㄧ{0}琛岋紝瀹戒笉鑳戒负绌猴紝璇蜂慨鏀瑰悗閲嶆柊瀵煎叆", i + 1); + b1 = false; + break; + } + var type = types.FirstOrDefault(x => x.name == m.TypeName); + if (type == null) + { + m.MaterialType = 5;//鍏朵粬 + } + else + { + m.MaterialType = type.id; + } + if (existMaterialcodes.Contains(m.Code)) + { + continue; + } + codes.Add(m.Code); + if (string.IsNullOrEmpty(m.Name)) { m.Name = m.Description; } + if (string.IsNullOrEmpty(m.Version)) { m.Version = "00"; } + + MaterialEntity mt = new MaterialEntity() + { + ClassificationSociety = m.ClassificationSociety, + Code = m.Code, + MaterialNo = m.MaterialNo, + Cost = m.Cost, + CuttingType = m.CuttingType, + Description = m.Description, + GuaranteePeriod = m.GuaranteePeriod, + IssueProjectNo = m.IssueProjectNo, + Length = m.Length, + SerialNo = m.SerialNo, + Name = m.Name, + LaneSeparation = m.Laneseparation, + MarkingPen = m.MarkingPen, + PageNo = m.PageNo, + Status = 1, + Thick = m.Thick, + Unit = m.Unit, + Remark = m.Remark, + ProcurementProjectNo = m.ProcurementProjectNo, + TypeId = m.MaterialType, + Version = m.Version, + Weight = m.Weight, + VerticalPosition = m.VerticalPosition, + Wide = m.Wide + }; + materialSaves.Add(mt); + + } + if (!b1) + { + return b1; + } + if (materialSaves?.Count == 0) + {//璇存槑杩欎簺鐗╂枡閮芥湁浜嗭紝涓嶉渶瑕佸啀瀵煎叆浜� 銆怑ditby shaocx,2025-09-17銆� + return true; + } + var sql = string.Format("INSERT INTO BASEMaterial(status, name, code, materialno, version, typeid, guaranteeperiod, cost, classificationsociety, unit, serialno, description, remark, verticalposition, weight, issueprojectno, procurementprojectno, cuttingtype, pageno, thick, wide, length, markingpen, laneseparation) VALUES"); + for (var j = 0; j < materialSaves.Count; j++) + { + sql += string.Format("({0}, '{1}', '{2}', '{3}', {4}, '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}','{16}' ,'{17}', '{18}', '{19}', '{20}', '{21}','{22}','{23}' ),", + materialSaves[j].Status, + StringHelper.RelpaceQuot(materialSaves[j].Name), + StringHelper.RelpaceQuot(materialSaves[j].Code), + StringHelper.RelpaceQuot(materialSaves[j].MaterialNo), + StringHelper.RelpaceQuot(materialSaves[j].Version), + materialSaves[j].TypeId, + StringHelper.RelpaceQuot(materialSaves[j].GuaranteePeriod), + materialSaves[j].Cost, + StringHelper.RelpaceQuot(materialSaves[j].ClassificationSociety), + StringHelper.RelpaceQuot(materialSaves[j].Unit), + StringHelper.RelpaceQuot(materialSaves[j].SerialNo), + StringHelper.RelpaceQuot(materialSaves[j].Description), + StringHelper.RelpaceQuot(materialSaves[j].Remark), + StringHelper.RelpaceQuot(materialSaves[j].VerticalPosition), + StringHelper.RelpaceQuot(materialSaves[j].Weight), + StringHelper.RelpaceQuot(materialSaves[j].IssueProjectNo), + StringHelper.RelpaceQuot(materialSaves[j].ProcurementProjectNo), + StringHelper.RelpaceQuot(materialSaves[j].CuttingType), + StringHelper.RelpaceQuot(materialSaves[j].PageNo), + StringHelper.RelpaceQuot(materialSaves[j].Thick), + StringHelper.RelpaceQuot(materialSaves[j].Wide), + StringHelper.RelpaceQuot(materialSaves[j].Length), + StringHelper.RelpaceQuot(materialSaves[j].MarkingPen), + StringHelper.RelpaceQuot(materialSaves[j].LaneSeparation)); + } + if (sql.EndsWith(",")) + { + sql = sql.Substring(0, sql.Length - 1); + } + var num = dbModel.Database.ExecuteSqlCommand(sql); + + return string.IsNullOrEmpty(msg); + + } + catch (Exception ex) + { + msg = ex.Message; + LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ImportExcel", ex.Message); + return false; + } + } + } } -- Gitblit v1.9.3