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 | 100 ++++++++++++++++++++++++++++++++++++--------------
1 files changed, 72 insertions(+), 28 deletions(-)
diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs
index 6509483..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}杩欎釜绫诲瀷")
};
@@ -37,15 +42,15 @@
private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn,
List<MesRohInData> mesRohInDatas)
{
- var decimals = mesRohInDatas.Select(s => s.Id).ToArray();
+ var decimals = mesRohInDatas.Select(s => s.Guid).ToArray();
var update = db.Deleteable<MesRohIn>()
- .Where(a => a.Id == mesRohIn.Id)
+ .Where(a => a.Guid == mesRohIn.Guid)
.ExecuteCommand() > 0;
var insertOrUpdate = db
.Deleteable<MesRohInData>()
- .Where(s => decimals.Contains(s.Id))
+ .Where(s => decimals.Contains(s.Guid))
.ExecuteCommand() > 0;
if (update && insertOrUpdate) return true;
@@ -54,19 +59,38 @@
// 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn,
- List<MesRohInData> mesRohInDatas)
+ List<MesRohInData> mesRohInDatas, string type)
{
- if (mesRohIn.Id != null)
- db.Deleteable<MesRohIn>().Where(s => s.Id == mesRohIn.Id)
+
+ 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();
if (mesRohInDatas.Count > 0)
db.Deleteable<MesRohInData>()
.Where(s => s.ErpId == mesRohIn.EbelnK3id).ExecuteCommand();
- var orUpdate = base.Insert(mesRohIn);
- var baOrUpdate = rohInDataManager.InsertRange(mesRohInDatas);
- if (orUpdate && baOrUpdate) return true;
+ var orUpdate = db.Insertable(mesRohIn)
+ .IgnoreColumns(true).ExecuteCommand() > 0;
+
+
+ var baOrUpdate = db.Insertable(mesRohInDatas).PageSize(1)
+ .IgnoreColumnsNull()
+ .ExecuteCommand() > 0;
+
+ 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("鎻掑叆鎴栨洿鏂板け璐�");
}
@@ -83,8 +107,9 @@
var eid = long.Parse(rohIn.id);
var mesRohIn = new MesRohIn();
+
var single = base.GetSingle(it => it.EbelnK3id == eid);
- if (single != null) mesRohIn.Id = single.Id;
+ if (single != null) mesRohIn.Guid = single.Guid;
mesRohIn.EbelnK3id = eid;
mesRohIn.BillNo = rohIn.FBillNo;
@@ -110,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;
@@ -142,7 +168,7 @@
mesRohIn.FixedTelephone = rohIn.FixedTelephone;
mesRohIn.Address = rohIn.Address;
mesRohIn.Acctype = rohIn.Acctype;
-
+ mesRohIn.SynchronousDate = DateTime.Now;
return mesRohIn;
}
@@ -155,7 +181,7 @@
{
var entity = new MesRohInData
{
- EbelnK3id = Convert.ToDecimal(s.id),
+ EbelnK3id = Convert.ToDecimal(s.id),
ErpId = Convert.ToDecimal(s.Eid),
BillNo = s.FBillNo,
ItemId = s.FMaterialId,
@@ -185,23 +211,29 @@
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),
TotalStoredQty = Convert.ToDecimal(s.FStockInQty), //绱鍏ュ簱鏁�
RemainingStoredQty = Convert.ToDecimal(s.FRemainStockINQty),
TotalReturnedQty = Convert.ToDecimal(s.FMrbQty),
- ReturnableReceivedQty = Convert.ToDecimal(s.FCHECKRETQTY), //鏀舵枡鍙��鏁�
+ ReturnableReceivedQty =
+ Convert.ToDecimal(s.FCHECKRETQTY), //鏀舵枡鍙��鏁�
ReturnableStoredQty = Convert.ToDecimal(s.FSTOCKRETQTY), //搴撳瓨鍙��鏁�
SourceDocumentType = s.FSrcBillTypeId,
SourceDocumentId = s.FSrcBillNo,
@@ -222,9 +254,21 @@
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.Id = single.Id;
+ if (single != null) entity.Guid = single.Guid;
return entity;
}).ToList();
--
Gitblit v1.9.3