Pengxy 10 mēneši atpakaļ
vecāks
revīzija
6793d13629

+ 64 - 43
MicroServices/Business/Business.Application/SqeManagement/SqeExcelService.cs

@@ -2333,14 +2333,18 @@ namespace Business.VSM
                     stringBuilder.AppendLine("导入数据信息不存在!");
                     return stringBuilder.ToString();
                 }
-                //出货检验记录的文件格式校验
-                if (datas[0].c1.CompareTo("物料名称") != 0
-                    || datas[0].c2.CompareTo("批次号") != 0
-                    || datas[0].c3.CompareTo("工序") != 0
-                    || datas[0].c4.CompareTo("总数量") != 0
-                    || datas[0].c5.CompareTo("良品数") != 0
-                    || datas[0].c6.CompareTo("不良品数") != 0
-                    || datas[0].c7.CompareTo("不良率") != 0)
+                //出货检验记录文件格式校验
+                if (datas[0].c1.CompareTo("供应商代码") != 0
+                    || datas[0].c2.CompareTo("日期") != 0
+                    || datas[0].c3.CompareTo("客户料号") != 0
+                    || datas[0].c4.CompareTo("物料名称") != 0
+                    || datas[0].c5.CompareTo("批次号") != 0
+                    || datas[0].c6.CompareTo("工序") != 0
+                    || datas[0].c7.CompareTo("总数量") != 0
+                    || datas[0].c8.CompareTo("良品数") != 0
+                    || datas[0].c9.CompareTo("不良品数") != 0
+                    || datas[0].c10.CompareTo("合格率") != 0
+                    || datas[0].c11.CompareTo("不良率") != 0)
                 {
                     stringBuilder.AppendLine("文件不是【全检工序】要求的格式");
                     return stringBuilder.ToString();
@@ -2438,36 +2442,53 @@ namespace Business.VSM
                     {
                         break;
                     }
+                    model.supp_no = dataRow.c1;
+                    DateTime dt;
+                    int dateLength;
+                    if (DateTime.TryParse(dataRow.c2, out dt))
+                    {
+                        model.op_time = dt;
+                    }
+                    else
+                    {
+                        if (int.TryParse(dataRow.c2, out dateLength))
+                        {
+                            dt = DateTime.Parse("1900-01-01");
+                            model.op_time = dt.AddDays(dateLength - 2);
+                        }
+                    }
 
-                    model.item_name = dataRow.c1;
-                    model.batch_no = dataRow.c2;
-                    model.op_no = dataRow.c3;
-                    Object obj = GetFieldValue(dataRow, "c4");
+                    //model.op_time = DateTime.Parse(dataRow.c2);
+                    model.item_no = dataRow.c3;
+                    model.item_name = dataRow.c4;
+                    model.batch_no = dataRow.c5;
+                    model.op_no = dataRow.c6;
+                    Object obj = GetFieldValue(dataRow, "c7");
                     if (obj != null && decimal.TryParse(obj.ToString(), out realValuel))
                     {
                         model.qty_all = realValuel;
                     }
-                    obj = GetFieldValue(dataRow, "c5");
+                    obj = GetFieldValue(dataRow, "c8");
                     if (obj != null && decimal.TryParse(obj.ToString(), out realValuel))
                     {
                         model.qty_ok = realValuel;
                     }
-                    obj = GetFieldValue(dataRow, "c6");
+                    obj = GetFieldValue(dataRow, "c9");
                     if (obj != null && decimal.TryParse(obj.ToString(), out realValuel))
                     {
                         model.qty_error = realValuel;
                     }
-                    obj = GetFieldValue(dataRow, "c7");
+                    obj = GetFieldValue(dataRow, "c10");
                     if (obj != null && decimal.TryParse(obj.ToString(), out realValuel))
                     {
                         model.percent_ok = realValuel;
                     }
-                    obj = GetFieldValue(dataRow, "c8");
+                    obj = GetFieldValue(dataRow, "c11");
                     if (obj != null && decimal.TryParse(obj.ToString(), out realValuel))
                     {
                         model.percent_error = realValuel;
                     }
-                    model.op_time = DateTime.Now;
+                    //model.op_time = DateTime.Now;
                     model.create_by = create_by;
                     model.create_date = create_date;
                     model.create_org = create_org;
@@ -2501,7 +2522,7 @@ namespace Business.VSM
                 {
                     sqe_file_data dataRow = datas[i];
                     List<sqe_op_data_detail> testDatas = new List<sqe_op_data_detail>();
-                    for (int j = 9; j < 50; j += 4)
+                    for (int j = 12; j < 50; j += 4)
                     {
                         Object obj = GetFieldValue(dataRow, "c" + j.ToString());
                         if (obj != null && obj.ToString().Length > 0)
@@ -2594,36 +2615,36 @@ namespace Business.VSM
                 }
 
                 //FPY的文件格式校验
-                if (datas[0].c1.CompareTo("一、供应商上传报表模版") != 0)
-                {
-                    stringBuilder.AppendLine("文件不是【FPY】要求的格式");
-                    return stringBuilder.ToString();
-                }
+                //if (datas[0].c1.CompareTo("一、供应商上传报表模版") != 0)
+                //{
+                //    stringBuilder.AppendLine("文件不是【FPY】要求的格式");
+                //    return stringBuilder.ToString();
+                //}
                 if (datas[0].c1.CompareTo("生产各工序良率统计报表") != 0)
                 {
                     stringBuilder.AppendLine("文件不是【FPY】要求的格式");
                     return stringBuilder.ToString();
                 }
-                if (datas[2].c1.CompareTo("NO") != 0
-                    || datas[2].c2.CompareTo("日期") != 0
-                    || datas[2].c3.CompareTo("物料号") != 0
-                    || datas[2].c4.CompareTo("物料名称") != 0
-                    || datas[2].c5.CompareTo("工序") != 0
-                    || datas[2].c6.CompareTo("投入数") != 0
-                    || datas[2].c7.CompareTo("不良数") != 0
-                    || datas[2].c8.CompareTo("良品率") != 0)
+                if (datas[1].c1.CompareTo("NO") != 0
+                    || datas[1].c2.CompareTo("日期") != 0
+                    || datas[1].c3.CompareTo("物料号") != 0
+                    || datas[1].c4.CompareTo("物料名称") != 0
+                    || datas[1].c5.CompareTo("工序") != 0
+                    || datas[1].c6.CompareTo("投入数") != 0
+                    || datas[1].c7.CompareTo("不良数") != 0
+                    || datas[1].c8.CompareTo("良品率") != 0)
                 {
-                    stringBuilder.AppendLine("文件不是【产品过程特性】要求的格式");
-                    return stringBuilder.ToString();
-                }
-                if (datas[2].c1.CompareTo("对应原材料批次号") != 0
-                    || datas[2].c3.CompareTo("原材料使用数量") != 0
-                    || datas[2].c5.CompareTo("物料批次号") != 0
-                    || datas[2].c7.CompareTo("物料数量") != 0)
-                {
-                    stringBuilder.AppendLine("文件不是【产品过程特性】要求的格式");
+                    stringBuilder.AppendLine("文件不是【FPY】要求的格式");
                     return stringBuilder.ToString();
                 }
+                //if (datas[2].c1.CompareTo("对应原材料批次号") != 0
+                //    || datas[2].c3.CompareTo("原材料使用数量") != 0
+                //    || datas[2].c5.CompareTo("物料批次号") != 0
+                //    || datas[2].c7.CompareTo("物料数量") != 0)
+                //{
+                //    stringBuilder.AppendLine("文件不是【FPY】要求的格式式");
+                //    return stringBuilder.ToString();
+                //}
                 string errorMsg;
                 sqe_fpy test = File_data_ToModel_fpy(datas, create_by, create_date, create_org, out errorMsg);
                 if (errorMsg != null && errorMsg.Length > 0)
@@ -2697,9 +2718,9 @@ namespace Business.VSM
 
             List<sqe_fpy_data> modelList = new List<sqe_fpy_data>();
             decimal realValuel;
-            if (datas != null && datas.Count > 3)
+            if (datas != null && datas.Count > 2)
             {
-                for (int i = 3; i < datas.Count; i++)
+                for (int i = 2; i < datas.Count; i++)
                 {
                     sqe_fpy_data model = new sqe_fpy_data();
                     sqe_file_data dataRow = datas[i];
@@ -2778,7 +2799,7 @@ namespace Business.VSM
                     stringBuilder.AppendLine("文件不是【出货检验记录】要求的格式");
                     return stringBuilder.ToString();
                 }
-                if (datas[1].c1.CompareTo("供应商名") != 0
+                if (datas[1].c1.CompareTo("供应商名") != 0
                     || datas[1].c3.CompareTo("物料名称") != 0
                     || datas[1].c5.CompareTo("物料号") != 0
                     || datas[1].c7.CompareTo("物料版本号") != 0)

+ 5 - 0
MicroServices/Business/Business.Domain/StructuredDB/Bang/b_bom_child_examine.cs

@@ -285,6 +285,11 @@ namespace Business.Domain
         public int? stock_state { get; set; }
 
         /// <summary>
+        /// 物料齐套状态-- -1.库存可满足 2.在途可满足 3.在制可满足 4.承诺交期可满足 5.不齐套
+        /// </summary>
+        public int? kitting_state { get; set; }
+
+        /// <summary>
         /// 单个产品总需要用量(含损耗率和固定损耗量)
         /// </summary>
         [Comment("单个产品总需要用量")]

+ 24 - 0
MicroServices/Business/QuartzSettings/logs/logs.txt

@@ -3910,3 +3910,27 @@
 {"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-06-17T13:44:14.4374809+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
 {"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-06-17T13:44:14.4436336+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
 {"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-06-17T13:44:14.4460135+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-06-17T16:57:39.5448934+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-06-17T16:57:39.5851459+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-06-17T16:57:39.5886845+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-06-17T16:57:39.5903414+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-06-17T16:57:39.594791+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-06-17T16:57:39.5964381+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:25:50.0189361+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:25:50.0525114+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:25:50.0549843+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:25:50.0564114+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:25:50.0609671+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-06-17T17:25:50.0633436+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:32:25.4231141+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:32:25.4627068+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:32:25.4662095+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:32:25.4682811+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:32:25.4733321+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-06-17T17:32:25.4751167+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:43:30.5232401+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:43:30.5572771+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:43:30.5598327+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:43:30.5614411+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-06-17T17:43:30.5659168+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-06-17T17:43:30.5677655+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}