From eb7aabaca44f5be20ad9fa533f130c96a7342a51 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期三, 10 九月 2025 17:39:31 +0800
Subject: [PATCH] 1.生产、委外订单新增单据状态字段 2.反审核单据编号+'F'

---
 MES.Service/service/BasicData/MesRohInManager.cs |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs
index 83bf792..6c318d5 100644
--- a/MES.Service/service/BasicData/MesRohInManager.cs
+++ b/MES.Service/service/BasicData/MesRohInManager.cs
@@ -3,6 +3,7 @@
 using MES.Service.Dto.webApi;
 using MES.Service.Modes;
 using SqlSugar;
+using System.Globalization;
 
 namespace MES.Service.service.BasicData;
 
@@ -23,10 +24,13 @@
             return rohInErpRohIn.Type switch
             {
                 "2" or "4" or "5" => SaveOrUpdateData(db, mesRohIn,
-                    mesRohInDatas)
+                    mesRohInDatas, rohInErpRohIn.Type)
                     ? 1
                     : 0,
-                "3" => UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0,
+                "3" => SaveOrUpdateData(db, mesRohIn,
+                    mesRohInDatas, rohInErpRohIn.Type)
+                    ? 1
+                    : 0, //UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0,//鍙嶅鏍镐笉鍒犻櫎锛屽仛update銆�
                 _ => throw new NotImplementedException(
                     $"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷")
             };
@@ -55,8 +59,14 @@
 
     // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
     private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn,
-        List<MesRohInData> mesRohInDatas)
+        List<MesRohInData> mesRohInDatas, string type)
     {
+
+        if (type == "3")
+        {
+            mesRohIn.BillNo = mesRohIn.BillNo + "F";
+        }
+
         if (mesRohIn.Guid != null)
             db.Deleteable<MesRohIn>().Where(s => s.Guid == mesRohIn.Guid)
                 .ExecuteCommand();
@@ -151,7 +161,7 @@
         mesRohIn.FixedTelephone = rohIn.FixedTelephone;
         mesRohIn.Address = rohIn.Address;
         mesRohIn.Acctype = rohIn.Acctype;
-
+        mesRohIn.SynchronousDate = DateTime.Now;
 
         return mesRohIn;
     }
@@ -194,16 +204,21 @@
                 BusinessClose = s.FMRPCloseStatus,
                 BusinessFreeze = s.FMRPFreezeStatus,
                 Freezer = s.FFreezerId,
-                FreezeTime = s.FFreezeDate != null
-                    ? DateTime.ParseExact(s.FFreezeDate,
-                        "yyyy-MM-dd HH:mm:ss", null)
-                    : null,
+                //FreezeTime = !string.IsNullOrEmpty(s.FFreezeDate)
+                //            && DateTime.TryParseExact(s.FFreezeDate,
+                //                new[] { "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd" },  // 鏀寔澶氱鏍煎紡
+                //                CultureInfo.InvariantCulture,
+                //                DateTimeStyles.None,
+                //                out var parsedDate)
+                //            && parsedDate > new DateTime(1900, 1, 1)
+                //                ? parsedDate
+                //                : (DateTime?)null,
                 BusinessTerminate = s.FMRPTerminateStatus,
                 Terminator = s.FTerminaterId,
-                TerminateTime = s.FTerminateDate != null
-                    ? DateTime.ParseExact(s.FTerminateDate,
-                        "yyyy-MM-dd HH:mm:ss", null)
-                    : null,
+                //TerminateTime = s.FTerminateDate != null
+                //    ? DateTime.ParseExact(s.FTerminateDate,
+                //        "yyyy-MM-dd HH:mm:ss", null)
+                //    : null,
                 TotalReceivedQty = Convert.ToDecimal(s.FReceiveQty), //绱鏀舵枡鏁�
                 RemainingReceivedQty =
                     Convert.ToDecimal(s.FRemainReceiveQty),
@@ -232,6 +247,18 @@
                 ReceivingDepartment = s.FReceiveDeptId
             };
 
+            if (s.FFreezeDate != null)
+                if (!s.FFreezerId.IsNullOrEmpty())
+                    entity.FreezeTime =
+                        DateTime.ParseExact(s.FFreezeDate,
+                            "yyyy-MM-dd HH:mm:ss", null);
+
+            if (s.FTerminateDate != null)
+                if (!s.FTerminaterId.IsNullOrEmpty())
+                    entity.TerminateTime =
+                        DateTime.ParseExact(s.FTerminateDate,
+                            "yyyy-MM-dd HH:mm:ss", null);
+
             var single = rohInDataManager.GetSingle(it =>
                 it.EbelnK3id == entity.EbelnK3id);
             if (single != null) entity.Guid = single.Guid;

--
Gitblit v1.9.3