From 1cd4e66b490e4b6cc3368771cdff164990e152e7 Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期一, 22 十二月 2025 17:35:57 +0800
Subject: [PATCH] 接口增加单位换算,dab增加两个字段

---
 MES.Service/service/BasicData/MesRohInManager.cs |   72 +++++++++++++++++++++++++++---------
 1 files changed, 54 insertions(+), 18 deletions(-)

diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs
index b8853e7..574ab09 100644
--- a/MES.Service/service/BasicData/MesRohInManager.cs
+++ b/MES.Service/service/BasicData/MesRohInManager.cs
@@ -1,7 +1,9 @@
-锘縰sing MES.Service.DB;
+锘縰sing Masuit.Tools;
+using MES.Service.DB;
 using MES.Service.Dto.webApi;
 using MES.Service.Modes;
 using SqlSugar;
+using System.Globalization;
 
 namespace MES.Service.service.BasicData;
 
@@ -22,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}杩欎釜绫诲瀷")
             };
@@ -54,8 +59,14 @@
 
     // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
     private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn,
-        List<MesRohInData> mesRohInDatas)
+        List<MesRohInData> mesRohInDatas, string type)
     {
+
+        if (type == "3" || (mesRohIn.DocumentStatus != null && mesRohIn.DocumentStatus != "C"))
+        {
+            mesRohIn.BillNo = mesRohIn.BillNo + "F" + mesRohIn.EbelnK3id.ToString();
+        }
+
         if (mesRohIn.Guid != null)
             db.Deleteable<MesRohIn>().Where(s => s.Guid == mesRohIn.Guid)
                 .ExecuteCommand();
@@ -71,8 +82,15 @@
         var baOrUpdate = db.Insertable(mesRohInDatas).PageSize(1)
             .IgnoreColumnsNull()
             .ExecuteCommand() > 0;
-        
-        if (orUpdate && baOrUpdate) return true;
+
+        if (orUpdate && baOrUpdate)
+        {
+            if (!string.IsNullOrEmpty(mesRohIn.BillNo))
+            {
+                db.Ado.ExecuteCommand("exec [dbo].[prc_unit_check] @BillNo, '閲囪喘'", new { BillNo = mesRohIn.BillNo });
+            }
+            return true;
+        }
         throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
     }
 
@@ -117,9 +135,10 @@
         mesRohIn.CancellationPerson = rohIn.FCancellerId;
 
         if (rohIn.FCancelDate != null)
-            mesRohIn.CancellationDate =
-                DateTime.ParseExact(rohIn.FCancelDate,
-                    "yyyy-MM-dd HH:mm:ss", null);
+            if (!mesRohIn.CancellationPerson.IsNullOrEmpty())
+                mesRohIn.CancellationDate =
+                    DateTime.ParseExact(rohIn.FCancelDate,
+                        "yyyy-MM-dd HH:mm:ss", null);
 
         mesRohIn.CreateBy = rohIn.FCreatorId;
 
@@ -149,7 +168,7 @@
         mesRohIn.FixedTelephone = rohIn.FixedTelephone;
         mesRohIn.Address = rohIn.Address;
         mesRohIn.Acctype = rohIn.Acctype;
-
+        mesRohIn.SynchronousDate = DateTime.Now;
 
         return mesRohIn;
     }
@@ -192,16 +211,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),
@@ -230,6 +254,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