From d7bf5fce0a442c858d02675a2c71a8af49937ae2 Mon Sep 17 00:00:00 2001
From: hao <1836460075@qq.com>
Date: 星期三, 04 六月 2025 17:20:54 +0800
Subject: [PATCH] 分布式调拨
---
StandardInterface/MES.Service/service/DbckaManager.cs | 74 +++++---
StandardInterface/MES.Service/Modes/MesInvItemDbsq.cs | 215 ++++++++++++++++++++++++++
StandardInterface/MES.Service/Modes/MesInvItemDbsqItems.cs | 151 ++++++++++++++++++
3 files changed, 410 insertions(+), 30 deletions(-)
diff --git a/StandardInterface/MES.Service/Modes/MesInvItemDbsq.cs b/StandardInterface/MES.Service/Modes/MesInvItemDbsq.cs
new file mode 100644
index 0000000..fdd5138
--- /dev/null
+++ b/StandardInterface/MES.Service/Modes/MesInvItemDbsq.cs
@@ -0,0 +1,215 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes
+{
+ /// <summary>
+ /// 璋冩嫧鐢宠鍗�
+ ///</summary>
+ [SugarTable("MES_INV_ITEM_DBSQ")]
+ public class MesInvItemDbsq
+ {
+ /// <summary>
+ /// SEQ_INV_ID
+ ///</summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_DBSQ")]
+ //[SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+ /// <summary>
+ /// 璋冩嫧鐢宠鍗曞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string? BillNo { get; set; }
+ /// <summary>
+ /// 绉诲叆瀛愬簱id
+ ///</summary>
+ [SugarColumn(ColumnName = "INV_DEPOTS_ID")]
+ public decimal? InvDepotsId { get; set; }
+ /// <summary>
+ /// 绉诲叆璐т綅id
+ ///</summary>
+ [SugarColumn(ColumnName = "INV_DEPOT_SECTIONS_ID")]
+ public decimal? InvDepotSectionsId { get; set; }
+ /// <summary>
+ /// 鍒涘缓浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string? CreateBy { get; set; }
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public DateTime? CreateDate { get; set; }
+ /// <summary>
+ /// 鏈�鍚庢洿鏂颁汉
+ ///</summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+ public string? LastupdateBy { get; set; }
+ /// <summary>
+ /// 鏈�鍚庢洿鏂版椂闂�
+ ///</summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+ public DateTime? LastupdateDate { get; set; }
+ /// <summary>
+ /// 鐘舵�亅0-鍒跺崟1-瀹℃牳2-杩囪处
+ ///</summary>
+ [SugarColumn(ColumnName = "STATUS")]
+ public decimal? Status { get; set; }
+ /// <summary>
+ /// 澶囨敞
+ ///</summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string? Remark { get; set; }
+ /// <summary>
+ /// 鍗曟嵁绫诲瀷ID
+ ///</summary>
+ [SugarColumn(ColumnName = "BILL_TYPE_ID")]
+ public decimal? BillTypeId { get; set; }
+ /// <summary>
+ /// 浜嬪姟绫诲瀷ID
+ ///</summary>
+ [SugarColumn(ColumnName = "TRANSACTION_ID")]
+ public decimal? TransactionId { get; set; }
+ /// <summary>
+ /// 瀹℃牳浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECKUSER")]
+ public string? Checkuser { get; set; }
+ /// <summary>
+ /// 瀹℃牳鏃ユ湡
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECKDATE")]
+ public DateTime? Checkdate { get; set; }
+ /// <summary>
+ /// 绉诲叆瀛愬簱code
+ ///</summary>
+ [SugarColumn(ColumnName = "INV_DEPOTS_CODE")]
+ public string? InvDepotsCode { get; set; }
+ /// <summary>
+ /// 绉诲叆璐т綅code
+ ///</summary>
+ [SugarColumn(ColumnName = "INV_DEPOT_SECTIONS_CODE")]
+ public string? InvDepotSectionsCode { get; set; }
+ /// <summary>
+ /// 浜嬪姟绫诲瀷缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "TRANSACTION_NO")]
+ public decimal? TransactionNo { get; set; }
+ /// <summary>
+ /// 绉诲嚭瀛愬簱code
+ ///</summary>
+ [SugarColumn(ColumnName = "FROM_DEPOTS_CODE")]
+ public string? FromDepotsCode { get; set; }
+ /// <summary>
+ /// 宸ュ巶缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "FACTORY_CODE")]
+ public string? FactoryCode { get; set; }
+ /// <summary>
+ /// SAP杩斿洖鍗曟嵁
+ ///</summary>
+ [SugarColumn(ColumnName = "SAPNO")]
+ public string? Sapno { get; set; }
+ /// <summary>
+ /// 宸插洖鍐橲AP
+ ///</summary>
+ [SugarColumn(ColumnName = "SAPSTATUS")]
+ public short? Sapstatus { get; set; }
+ /// <summary>
+ /// SAP杩斿洖骞翠唤
+ ///</summary>
+ [SugarColumn(ColumnName = "SAPYEAR")]
+ public short? Sapyear { get; set; }
+ /// <summary>
+ /// SAP杩斿洖淇℃伅
+ ///</summary>
+ [SugarColumn(ColumnName = "SAPTEXT")]
+ public string? Saptext { get; set; }
+ /// <summary>
+ /// 鍒嗗巶缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string? Factory { get; set; }
+ /// <summary>
+ /// 鍏徃浠g爜
+ ///</summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string? Company { get; set; }
+ /// <summary>
+ /// 鏄惁鎺ㄩ�丒RP1-鏄紝2-鍚�
+ ///</summary>
+ [SugarColumn(ColumnName = "TS")]
+ public decimal? Ts { get; set; }
+ /// <summary>
+ /// 0鏈皟鎷�1宸茶皟鎷�
+ ///</summary>
+ [SugarColumn(ColumnName = "DB_STATUS")]
+ public string? DbStatus { get; set; }
+ /// <summary>
+ /// 璋冨嚭缁勭粐
+ ///</summary>
+ [SugarColumn(ColumnName = "FSTOCKOUTORGID")]
+ public decimal? Fstockoutorgid { get; set; }
+ /// <summary>
+ /// 璋冨叆缁勭粐
+ ///</summary>
+ [SugarColumn(ColumnName = "FSTOCKORGID")]
+ public decimal? Fstockorgid { get; set; }
+ /// <summary>
+ /// 鍗曟嵁绫诲瀷
+ ///</summary>
+ [SugarColumn(ColumnName = "DJ_LX")]
+ public string? Djlx { get; set; }
+ /// <summary>
+ /// 璋冩嫧绫诲瀷
+ ///</summary>
+ [SugarColumn(ColumnName = "DB_LX1")]
+ public string? DbLx1 { get; set; }
+ /// <summary>
+ /// 璋冩嫧鏂瑰悜
+ ///</summary>
+ [SugarColumn(ColumnName = "DB_FX")]
+ public string? DbFx { get; set; }
+ /// <summary>
+ /// 璋冩嫧绫诲瀷
+ ///</summary>
+ [SugarColumn(ColumnName = "DB_LX")]
+ public string? DbLx { get; set; }
+ /// <summary>
+ /// 涓氬姟绫诲瀷
+ ///</summary>
+ [SugarColumn(ColumnName = "YW_LX")]
+ public string? YwLx { get; set; }
+ /// <summary>
+ /// 鍗曟嵁鐘舵��
+ ///</summary>
+ [SugarColumn(ColumnName = "DJ_ZT")]
+ public string? DjZt { get; set; }
+ /// <summary>
+ /// 鐢宠閮ㄩ棬
+ ///</summary>
+ [SugarColumn(ColumnName = "SQ_BM")]
+ public string? SqBm { get; set; }
+ /// <summary>
+ /// 鐢宠缁勭粐
+ ///</summary>
+ [SugarColumn(ColumnName = "SQ_ZZ")]
+ public string? SqZz { get; set; }
+ /// <summary>
+ /// 鐢宠鏃ユ湡
+ ///</summary>
+ [SugarColumn(ColumnName = "SQ_TIME")]
+ public string? SqTime { get; set; }
+ /// <summary>
+ /// 璋冨嚭璐т富绫诲瀷
+ ///</summary>
+ [SugarColumn(ColumnName = "DC_HZ")]
+ public string? DcHz { get; set; }
+ /// <summary>
+ ///
+ ///</summary>
+ [SugarColumn(ColumnName = "ERPID")]
+ public string? Erpid { get; set; }
+ }
+}
diff --git a/StandardInterface/MES.Service/Modes/MesInvItemDbsqItems.cs b/StandardInterface/MES.Service/Modes/MesInvItemDbsqItems.cs
new file mode 100644
index 0000000..29e386b
--- /dev/null
+++ b/StandardInterface/MES.Service/Modes/MesInvItemDbsqItems.cs
@@ -0,0 +1,151 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+namespace MES.Service.Modes
+{
+ /// <summary>
+ /// 璋冩嫧鐢宠鍗曟槑缁嗚〃
+ ///</summary>
+ [SugarTable("MES_INV_ITEM_DBSQ_ITEMS")]
+ public class MesInvItemDbsqItems
+ {
+ /// <summary>
+ /// SEQ_MOVE_DETAIL
+ ///</summary>
+
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_DBSQ_DETAIL")]
+ //[SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+ /// <summary>
+ /// 涓昏〃id
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_MOVE_ID")]
+ public decimal? ItemMoveId { get; set; }
+ /// <summary>
+ /// 鐗╂枡鍐呯爜
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_ID")]
+ public decimal? ItemId { get; set; }
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string? ItemNo { get; set; }
+ /// <summary>
+ /// 鐢宠鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "SQ_NUM")]
+ public decimal? SqNum { get; set; }
+ /// <summary>
+ /// 璋冨嚭鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "DC_NUM")]
+ public decimal? DcNum { get; set; }
+ /// <summary>
+ /// 璋冨叆鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "DR_NUM")]
+ public decimal? DrNum { get; set; }
+ /// <summary>
+ /// 褰撳墠搴撳瓨鏁�
+ ///</summary>
+ [SugarColumn(ColumnName = "KC")]
+ public decimal? Kc { get; set; }
+ /// <summary>
+ /// 澶囨敞
+ ///</summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string? Remark { get; set; }
+ /// <summary>
+ /// 椤规
+ ///</summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public decimal? LineNo { get; set; }
+ /// <summary>
+ /// 璋冩嫧鐢宠鍗曞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string? BillNo { get; set; }
+ /// <summary>
+ /// 璋冨嚭鐘舵��
+ ///</summary>
+ [SugarColumn(ColumnName = "MOVE_OUT")]
+ public decimal? MoveOut { get; set; }
+ /// <summary>
+ /// 璋冨叆鐘舵��
+ ///</summary>
+ [SugarColumn(ColumnName = "MOVE_IN")]
+ public decimal? MoveIn { get; set; }
+ /// <summary>
+ /// 鍒涘缓浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string? CreateBy { get; set; }
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public DateTime? CreateDate { get; set; }
+ /// <summary>
+ /// 鏈�鍚庢洿鏂颁汉
+ ///</summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+ public string? LastupdateBy { get; set; }
+ /// <summary>
+ /// 鏈�鍚庢洿鏂版椂闂�
+ ///</summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+ public DateTime? LastupdateDate { get; set; }
+ /// <summary>
+ /// 鍗曚綅
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_UNIT")]
+ public decimal? ItemUnit { get; set; }
+ /// <summary>
+ /// 鏄惁鍚屾ERP
+ ///</summary>
+ [SugarColumn(ColumnName = "IS_TB")]
+ public decimal? IsTb { get; set; }
+ /// <summary>
+ /// 璋冨嚭缁勭粐
+ ///</summary>
+ [SugarColumn(ColumnName = "DC_ORG")]
+ public string? DcOrg { get; set; }
+ /// <summary>
+ /// 璋冨嚭浠撳簱
+ ///</summary>
+ [SugarColumn(ColumnName = "DC_DEPOT")]
+ public string? DcDepot { get; set; }
+ /// <summary>
+ /// 璋冨叆缁勭粐
+ ///</summary>
+ [SugarColumn(ColumnName = "DR_ORG")]
+ public string? DrOrg { get; set; }
+ /// <summary>
+ /// 璋冨叆浠撳簱
+ ///</summary>
+ [SugarColumn(ColumnName = "DR_DEPOT")]
+ public string? DrDepot { get; set; }
+ /// <summary>
+ /// 璋冨嚭璐т富
+ ///</summary>
+ [SugarColumn(ColumnName = "DC_HZ")]
+ public string? DcHz { get; set; }
+ /// <summary>
+ /// 璋冨叆璐т富
+ ///</summary>
+ [SugarColumn(ColumnName = "DR_HZ")]
+ public string? DrHz { get; set; }
+ /// <summary>
+ /// erpid
+ ///</summary>
+ [SugarColumn(ColumnName = "ERPID")]
+ public string? Erpid { get; set; }
+ /// <summary>
+ /// erp澶磇d
+ ///</summary>
+ [SugarColumn(ColumnName = "EID")]
+ public string? Eid { get; set; }
+ }
+}
diff --git a/StandardInterface/MES.Service/service/DbckaManager.cs b/StandardInterface/MES.Service/service/DbckaManager.cs
index 6cfdb48..55dde67 100644
--- a/StandardInterface/MES.Service/service/DbckaManager.cs
+++ b/StandardInterface/MES.Service/service/DbckaManager.cs
@@ -5,10 +5,11 @@
using MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
namespace MES.Service.service
{
- public class DbckaManager : Repository<Dbcka>
+ public class DbckaManager : Repository<MesInvItemDbsq>
{
public bool SaveList(List<ERPDBCK> list)
{
@@ -18,7 +19,7 @@
public bool Save(ERPDBCK data)
{
- var head = MapErpDbckaToDbcka(data.erpDbcka);
+ var head = MapErpToMesHead(data.erpDbcka);
var details = MapErpDbckbToDbckb(data.erpDbckB);
return UseTransaction(db =>
@@ -37,12 +38,12 @@
}) > 0;
}
- private Dbcka MapErpDbckaToDbcka(ErpDBCKA dto)
+ private MesInvItemDbsq MapErpToMesHead(ErpDBCKA dto)
{
- var entity = new Dbcka
+ var entity = new MesInvItemDbsq
{
- Billno = dto.billno,
- DjLx = dto.dj_lx,
+ BillNo = dto.billno,
+ Djlx = dto.dj_lx,
DbLx1 = dto.db_lx1,
DbFx = dto.db_fx,
DbLx = dto.db_lx,
@@ -50,43 +51,51 @@
DjZt = dto.dj_zt,
SqBm = dto.sq_bm,
SqZz = dto.sq_zz,
- SqTime = DateTime.TryParse(dto.sq_time, out var d) ? d : null,
+ SqTime = dto.sq_time,
DcHz = dto.dc_hz,
- Bz = dto.bz,
- Type = dto.type,
+ Remark = dto.bz,
Erpid = dto.erpid,
- CreateDate = DateTime.Now
+ CreateDate = DateTime.Now,
+ CreateBy = "System"
};
- var single = base.GetSingle(it => it.Erpid == entity.Erpid);
- if (single != null) entity.Id = single.Id;
+ // 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>()
+ .Where(it => it.Erpid == entity.Erpid)
+ .First();
+ if (single != null)
+ entity.Id = single.Id;
return entity;
}
- private List<Dbckb> MapErpDbckbToDbckb(List<ErpDBCKB> list)
+
+ private List<MesInvItemDbsqItems> MapErpDbckbToDbckb(List<ErpDBCKB> list)
{
- var result = new List<Dbckb>();
+ var result = new List<MesInvItemDbsqItems>();
foreach (var dto in list)
{
- var item = new Dbckb
+ var item = new MesInvItemDbsqItems
{
- Itemid = dto.itemid,
- Unit = dto.unit,
- Quantity = decimal.TryParse(dto.quantity, out var qty) ? qty : null,
+ ItemId = Convert.ToDecimal(dto.itemid),
+ ItemUnit = Convert.ToDecimal(dto.unit),
+ SqNum = decimal.TryParse(dto.quantity, out var qty) ? qty : 0,
DcOrg = dto.dc_org,
DcDepot = dto.dc_depot,
DrOrg = dto.dr_org,
DrDepot = dto.dr_depot,
DcHz = dto.dc_hz,
DrHz = dto.dr_hz,
- Bz = dto.bz,
+ Remark = dto.bz,
Erpid = dto.erpid,
- Eid = dto.eid
+ Eid = dto.eid,
+
};
- var existing = Db.Queryable<Dbckb>().Where(s => s.Erpid == item.Erpid).Single();
+ var existing = Db.Queryable<MesInvItemDbsqItems>().Where(s => s.Erpid == item.Erpid).Single();
if (existing != null) item.Id = existing.Id;
result.Add(item);
@@ -95,37 +104,42 @@
return result;
}
- private bool SaveOrUpdateData(SqlSugarScope db, Dbcka head, List<Dbckb> details)
+ private bool SaveOrUpdateData(SqlSugarScope db, MesInvItemDbsq head, List<MesInvItemDbsqItems> details)
{
if (head.Id != null)
base.DeleteById(head.Id);
- db.Deleteable<Dbckb>()
+ db.Deleteable<MesInvItemDbsqItems>()
.Where(d => d.Eid == head.Erpid)
.ExecuteCommand();
var insertedHead = db.Insertable(head)
.IgnoreColumns(true)
- .ExecuteReturnEntity();
+ .ExecuteReturnIdentity();
+ if (insertedHead <= 0)
+ throw new Exception("涓昏〃鎻掑叆澶辫触锛屾湭杩斿洖ID");
- foreach (var item in details)
- item.Pid = Convert.ToDecimal(insertedHead.Id);
+
var success = db.Insertable(details)
.PageSize(10)
.IgnoreColumnsNull()
.ExecuteCommand() > 0;
- return insertedHead.Id != null && success;
+
+ if (insertedHead >= 0 && success) return true;
+ throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
}
- private bool UpdateData(SqlSugarScope db, Dbcka head, List<Dbckb> details)
+ private bool UpdateData(SqlSugarScope db, MesInvItemDbsq head, List<MesInvItemDbsqItems> details)
{
var ids = details.Select(d => d.Id).ToArray();
var deletedHead = base.DeleteById(head.Id);
- var deletedDetails = db.Deleteable<Dbckb>().In(ids).ExecuteCommand() > 0;
+ var deletedDetails = db.Deleteable<MesInvItemDbsqItems>().In(ids).ExecuteCommand() > 0;
- return deletedHead && deletedDetails;
+
+ if (deletedHead && deletedDetails) return true;
+ throw new NotImplementedException("鏇存柊澶辫触");
}
}
}
--
Gitblit v1.9.3