Prechádzať zdrojové kódy

Merge branch 'master' of http://39.106.7.239:3000/admin_Syl/TFT_WmsBackEnd

SunYaLong 1 rok pred
rodič
commit
eb2fa3ee51

+ 0 - 4
ZrAdminNetCore-net7.0/ZR.Admin.WebApi/Controllers/Balance/StkBalanceDtlController.cs

@@ -172,9 +172,5 @@ namespace ZR.Admin.WebApi.Controllers.Balance
         }
         #endregion
 
-        #region 2023 0524 孙亚龙 新增
-
-        #endregion
-
     }
 }

+ 4 - 3
ZrAdminNetCore-net7.0/ZR.Admin.WebApi/Controllers/OutStore/SapBomRecordController.cs

@@ -163,14 +163,16 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
                     MaterialCode = list[i].D,
                     MaterialName = list[i].E,
                     MaterialSpec = list[i].F,
-                    KeyFlag = i % 2 > 0,//非空 模拟数据
+                    KeyFlag = true,
                     Qty = Convert.ToInt32(list[i].H),
-                    Result = 99,//非空 模拟数据
+                    AssembleQty = 0,
+                    Result = 0,
 
                     CreateBy = HttpContext.GetName(),
                     CreateTime = DateTime.Now,
                     Remark = "导入数据"
                 };
+                sapBomRecord.Category = sapBomRecord.Category.Contains("外购件") ? "外购件" : "外协件";
                 sapBomRecords.Add(sapBomRecord);
             }
             string msg = _SapBomRecordService.ImportDatas(sapBomRecords);
@@ -179,7 +181,6 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
             return SUCCESS(list);
         }
 
-
         #region 2023 0524 孙亚龙 新增
         /// <summary>
         /// 查询未出库完成的关键件Bom清单号 数据

+ 90 - 41
ZrAdminNetCore-net7.0/ZR.Admin.WebApi/Controllers/OutStore/SapOutTaskRecordController.cs

@@ -194,55 +194,104 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
 
             List<SapOutTaskRecord> sapOutTaskRecords = new();
             //实例化交验单表对象
+            //获取列头
+            Dictionary<string, int> colHeaders = new();
+            for (int j = 0; j < dataSet.Tables[0].Columns.Count; j++)
+            {
+                string colHeader = dataSet.Tables[0].Rows[0][j].ToString().Trim();
+                colHeaders.TryAdd(colHeader, j);
+            }
+            //定义要获取的列头
+            string[] myColHeader = {"领料单号","WBS元素","物料","材料名称","规格型号", "计量单位", "数量"};
             for (int i = 1; i < dataSet.Tables[0].Rows.Count; i++)
             //去除第一行标题行
             {
+                //如果行有内容,列肯定有内容,所以不判断colHeader元素数量
                 //row中空单元格会转化为空字符串而不是null
                 SapOutTaskRecord sapOutTaskRecord = new();
-                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][1].ToString().Trim()))
+                foreach (string str in myColHeader)
                 {
-                    return SUCCESS($"导入失败。<br/><br/>{i + 1}行B列,领料单号有误。");
+                    int index = -1;
+                    switch (str)
+                    {
+                        case "领料单号":
+                            if (colHeaders.TryGetValue("领料单号", out index))
+                            {
+                                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][index].ToString().Trim()))
+                                {
+                                    return SUCCESS($"导入失败。<br/><br/>领料单号有误。");
+                                }
+                                else
+                                    sapOutTaskRecord.OutTaskNo = dataSet.Tables[0].Rows[i][index].ToString().Trim();
+                            }
+                            break;
+                        case "WBS元素":
+                            if (colHeaders.TryGetValue("WBS元素", out index))
+                            {
+                                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][index]!.ToString().Trim()))
+                                {
+                                    return SUCCESS($"导入失败。<br/><br/>WBS元素有误。");
+                                }
+                                else
+                                    sapOutTaskRecord.BomNo = dataSet.Tables[0].Rows[i][index].ToString().Trim();//*
+                            }
+                            break;
+                        case "物料":
+                            if (colHeaders.TryGetValue("物料", out index))
+                            {
+                                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][index].ToString().Trim()))
+                                {
+                                    return SUCCESS($"导入失败。<br/><br/>物料(编码)有误。");
+                                }
+                                else
+                                    sapOutTaskRecord.MaterialCode = dataSet.Tables[0].Rows[i][index].ToString().Trim();//*
+                            }
+                            break;
+                        case "材料名称":
+                            if (colHeaders.TryGetValue("材料名称", out index))
+                            {
+                                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][index].ToString().Trim()))
+                                {
+                                    return SUCCESS($"导入失败。<br/><br/>材料名称有误。");
+                                }
+                                else
+                                    sapOutTaskRecord.MaterialName = dataSet.Tables[0].Rows[i][index].ToString().Trim();//*
+                            }
+                            break;
+                        case "规格型号":
+                            if (colHeaders.TryGetValue("规格型号", out index))
+                            {
+                                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][index].ToString().Trim()))
+                                {
+                                    return SUCCESS($"导入失败。<br/><br/>规格型号/图号有误。");
+                                }
+                                else
+                                    sapOutTaskRecord.MaterialSpec = dataSet.Tables[0].Rows[i][index].ToString().Trim();//*
+                            }
+                            break;
+                        case "计量单位":
+                            if (colHeaders.TryGetValue("计量单位", out index))
+                            {
+                                sapOutTaskRecord.Unit = dataSet.Tables[0].Rows[i][index].ToString().Trim();
+                            }
+                            break;
+                        case "数量":
+                            if (colHeaders.TryGetValue("数量", out index))
+                            {
+                                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][index].ToString().Trim()))
+                                {
+                                    return SUCCESS($"导入失败。<br/><br/>物料数量有误。");
+                                }
+                                else
+                                    sapOutTaskRecord.Qty = Convert.ToInt32(dataSet.Tables[0].Rows[i][index]);//*
+                            }
+                            break;
+                        default:
+                            break;
+                    }
                 }
-                else
-                    sapOutTaskRecord.OutTaskNo = dataSet.Tables[0].Rows[i][1].ToString().Trim();//*
-                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][9]!.ToString().Trim()))
-                {
-                    return SUCCESS($"导入失败。<br/><br/>{i + 1}行J列,WBS元素有误。");
-                }
-                else
-                    sapOutTaskRecord.BomNo = dataSet.Tables[0].Rows[i][9].ToString().Trim();//*
-
                 sapOutTaskRecord.Category = "";//暂时没用,给个空字符串
 
-                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][7].ToString().Trim()))
-                {
-                    return SUCCESS($"导入失败。<br/><br/>{i + 1}行H列,物料编码有误。");
-                }
-                else
-                    sapOutTaskRecord.MaterialCode = dataSet.Tables[0].Rows[i][7].ToString().Trim();//*
-
-                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][20].ToString().Trim()))
-                {
-                    return SUCCESS($"导入失败。<br/><br/>{i + 1}行U列,物料名称有误。");
-                }
-                else
-                    sapOutTaskRecord.MaterialName = dataSet.Tables[0].Rows[i][20].ToString().Trim();//*
-                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][19].ToString().Trim()))
-                {
-                    return SUCCESS($"导入失败。<br/><br/>{i + 1}行T列,规格型号/图号有误。");
-                }
-                else
-                    sapOutTaskRecord.MaterialSpec = dataSet.Tables[0].Rows[i][19].ToString().Trim();//*
-
-                sapOutTaskRecord.Unit= dataSet.Tables[0].Rows[i][11].ToString().Trim();
-
-                if (string.IsNullOrEmpty(dataSet.Tables[0].Rows[i][12].ToString().Trim()))
-                {
-                    return SUCCESS($"导入失败。<br/><br/>{i + 1}行M列,物料数量有误。");
-                }
-                else
-                    sapOutTaskRecord.Qty = Convert.ToInt32(dataSet.Tables[0].Rows[i][12]);//*
-
                 sapOutTaskRecord.OutQty = 0;
 
                 sapOutTaskRecord.CreateBy = HttpContext.GetName();
@@ -255,7 +304,7 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
             string msg = _SapOutTaskRecordService.ImportDatas(sapOutTaskRecords);
 
             //TODO 业务逻辑,自行插入数据到db
-            return SUCCESS("交验单导入成功!");
+            return SUCCESS("出库任务单导入成功!");
         }
 
 

+ 16 - 0
ZrAdminNetCore-net7.0/ZR.Admin.WebApi/DataProtection/key-511c8c36-d75c-46f1-81cd-4b84200bcaf9.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<key id="511c8c36-d75c-46f1-81cd-4b84200bcaf9" version="1">
+  <creationDate>2023-09-12T02:36:01.8659719Z</creationDate>
+  <activationDate>2023-09-12T02:36:01.8232385Z</activationDate>
+  <expirationDate>2023-12-11T02:36:01.8232385Z</expirationDate>
+  <descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
+    <descriptor>
+      <encryption algorithm="AES_256_CBC" />
+      <validation algorithm="HMACSHA256" />
+      <masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
+        <!-- Warning: the key below is in an unencrypted form. -->
+        <value>nPXjM3DCdI8d/OF5IQJjacge8B67VZTd0Icxttk29xXK8wRveZ4xw/dKD38MOFRzFcGj9/143uDUQQiKH+L7WQ==</value>
+      </masterKey>
+    </descriptor>
+  </descriptor>
+</key>

+ 16 - 0
ZrAdminNetCore-net7.0/ZR.Admin.WebApi/DataProtection/key-fe2ad9be-32d1-43ea-a4e0-863d455a9838.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<key id="fe2ad9be-32d1-43ea-a4e0-863d455a9838" version="1">
+  <creationDate>2023-12-18T07:04:54.9293415Z</creationDate>
+  <activationDate>2023-12-18T07:04:54.7851984Z</activationDate>
+  <expirationDate>2024-03-17T07:04:54.7851984Z</expirationDate>
+  <descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
+    <descriptor>
+      <encryption algorithm="AES_256_CBC" />
+      <validation algorithm="HMACSHA256" />
+      <masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
+        <!-- Warning: the key below is in an unencrypted form. -->
+        <value>/UQoKz3KNXqQ+3SfKH3qVmptENRmb6Pomp0bsP8KEj6NUal7hlKI0ORhd6oJwuT1e2Df2FWwgJG/G7s0A4/dPQ==</value>
+      </masterKey>
+    </descriptor>
+  </descriptor>
+</key>