From c62655030c6b61311e29c2915d895c81c7c16762 Mon Sep 17 00:00:00 2001
From: hao <1836460075@qq.com>
Date: 星期五, 28 十一月 2025 13:33:37 +0800
Subject: [PATCH] 分布式调拨防呆
---
StandardInterface/MES.Service/service/DbckaManager.cs | 35 ++++++++++++++++++++++-------------
1 files changed, 22 insertions(+), 13 deletions(-)
diff --git a/StandardInterface/MES.Service/service/DbckaManager.cs b/StandardInterface/MES.Service/service/DbckaManager.cs
index 7bfdc3a..bee653a 100644
--- a/StandardInterface/MES.Service/service/DbckaManager.cs
+++ b/StandardInterface/MES.Service/service/DbckaManager.cs
@@ -10,7 +10,7 @@
namespace MES.Service.service
{
- public class DbckaManager : Repository<MesInvItemDbsq>
+ public class DbckaManager : Repository<MesInvItemDbsq2>
{
public bool SaveList(List<ERPDBCK> list)
{
@@ -39,9 +39,9 @@
}) > 0;
}
- private MesInvItemDbsq MapErpToMesHead(ErpDBCKA dto)
+ private MesInvItemDbsq2 MapErpToMesHead(ErpDBCKA dto)
{
- var entity = new MesInvItemDbsq
+ var entity = new MesInvItemDbsq2
{
BillNo = dto.billno,
Djlx = dto.dj_lx,
@@ -66,7 +66,7 @@
// var single = base.GetSingle(it => it.Erpid == entity.Erpid);
/* if (single != null && single.Id.HasValue)
entity.Id = single.Id.Value;*/
- var single = Db.Queryable<MesInvItemDbsq>()
+ var single = Db.Queryable<MesInvItemDbsq2>()
.Where(it => it.Erpid == entity.Erpid)
.First();
if (single != null)
@@ -76,13 +76,13 @@
}
- private List<MesInvItemDbsqItems> MapErpDbckbToDbckb(List<ErpDBCKB> list)
+ private List<MesInvItemDbsqItems2> MapErpDbckbToDbckb(List<ErpDBCKB> list)
{
- var result = new List<MesInvItemDbsqItems>();
+ var result = new List<MesInvItemDbsqItems2>();
foreach (var dto in list)
{
- var item = new MesInvItemDbsqItems
+ var item = new MesInvItemDbsqItems2
{
ItemId = Convert.ToDecimal(dto.itemid),
ItemUnit = Convert.ToDecimal(dto.unit),
@@ -99,7 +99,7 @@
};
- var existing = Db.Queryable<MesInvItemDbsqItems>().Where(s => s.Erpid == item.Erpid).Single();
+ var existing = Db.Queryable<MesInvItemDbsqItems2>().Where(s => s.Erpid == item.Erpid).Single();
if (existing != null) item.Id = existing.Id;
result.Add(item);
@@ -108,12 +108,21 @@
return result;
}
- private bool SaveOrUpdateData(SqlSugarScope db, MesInvItemDbsq head, List<MesInvItemDbsqItems> details)
- {
+ private bool SaveOrUpdateData(SqlSugarScope db, MesInvItemDbsq2 head, List<MesInvItemDbsqItems2> details)
+ {
+ // 1. 鏍¢獙鏄惁瀛樺湪璋冩嫧璁板綍锛圡esInvItemMoves锛�
+ var hasMaterialOut = db.Queryable<MesInvItemMoves>()
+ .Any(x => x.WomdaahbNo == head.BillNo);
+
+ if (hasMaterialOut)
+ {
+ throw new Exception($"MES宸叉湁璋冩嫧璁板綍锛屽崟鍙凤細{head.BillNo}锛屼笉鑳芥洿鏂帮紒");
+ }
+
if (head.Id != null)
base.DeleteById(head.Id);
- db.Deleteable<MesInvItemDbsqItems>()
+ db.Deleteable<MesInvItemDbsqItems2>()
.Where(d => d.Eid == head.Erpid)
.ExecuteCommand();
@@ -135,11 +144,11 @@
throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
}
- private bool UpdateData(SqlSugarScope db, MesInvItemDbsq head, List<MesInvItemDbsqItems> details)
+ private bool UpdateData(SqlSugarScope db, MesInvItemDbsq2 head, List<MesInvItemDbsqItems2> details)
{
var ids = details.Select(d => d.Id).ToArray();
var deletedHead = base.DeleteById(head.Id);
- var deletedDetails = db.Deleteable<MesInvItemDbsqItems>().In(ids).ExecuteCommand() > 0;
+ var deletedDetails = db.Deleteable<MesInvItemDbsqItems2>().In(ids).ExecuteCommand() > 0;
if (deletedHead && deletedDetails) return true;
--
Gitblit v1.9.3