南骏 池
2025-09-10 eb7aabaca44f5be20ad9fa533f130c96a7342a51
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;