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