From 76db5b59294f6a9fef77a77ad9536b4d0ea97657 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期五, 12 七月 2024 16:17:07 +0800
Subject: [PATCH] erp接口更新优化逻辑
---
MES.Service/service/BasicData/MesRohInManager.cs | 41 ++++++++++++++++++++++++++++++++++-------
1 files changed, 34 insertions(+), 7 deletions(-)
diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs
index 5ad7b39..384fc85 100644
--- a/MES.Service/service/BasicData/MesRohInManager.cs
+++ b/MES.Service/service/BasicData/MesRohInManager.cs
@@ -22,13 +22,14 @@
{
switch (rohInErpRohIn.Type)
{
- case "2":
- return InsertData(db, mesRohIn, mesRohInDatas,
- rohInErpRohIn.FBILLTYPE)
- ? 1
- : 0;
+ // case "2":
+ // return InsertData(db, mesRohIn, mesRohInDatas,
+ // rohInErpRohIn.FBILLTYPE)
+ // ? 1
+ // : 0;
case "3":
return UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0;
+ case "2":
case "4":
return SaveOrUpdateData(db, mesRohIn, mesRohInDatas)
? 1
@@ -48,6 +49,18 @@
{
case "A":
{
+ var decimals = mesRohInDatas.Select(s => s.Id).ToArray();
+
+ if (mesRohIn.Id != null)
+ {
+ base.DeleteById(mesRohIn.Id);
+ }
+
+ if (decimals.Length > 0)
+ {
+ db.Deleteable<MesRohInData>().In(decimals).ExecuteCommand();
+ }
+
var insert = base.Insert(mesRohIn);
var insertRange =
rohInDataManager.InsertRange(mesRohInDatas);
@@ -81,8 +94,11 @@
private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn,
List<MesRohInData> mesRohInDatas)
{
- var update = base.Insert(mesRohIn);
- var insertOrUpdate = rohInDataManager.InsertRange(mesRohInDatas);
+ var decimals = mesRohInDatas.Select(s => s.Id).ToArray();
+ var update = base.DeleteById(mesRohIn.Id);
+ var insertOrUpdate = db
+ .Deleteable<MesRohInData>().In(decimals)
+ .ExecuteCommand() > 0;
if (update && insertOrUpdate) return true;
throw new NotImplementedException("鏇存柊澶辫触");
@@ -92,6 +108,17 @@
private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn,
List<MesRohInData> mesRohInDatas)
{
+
+ if (mesRohIn.Id != null)
+ {
+ base.DeleteById(mesRohIn.Id);
+ }
+
+ 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;
--
Gitblit v1.9.3