From 0b8a17db936d25422e856d4fc78a067144b98f73 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期三, 26 十一月 2025 14:41:52 +0800
Subject: [PATCH] 物料类型信息
---
MES.Service/service/BasicData/MesItemTypeManager.cs | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 104 insertions(+), 12 deletions(-)
diff --git a/MES.Service/service/BasicData/MesItemTypeManager.cs b/MES.Service/service/BasicData/MesItemTypeManager.cs
index 00f6ce3..bcc2ce1 100644
--- a/MES.Service/service/BasicData/MesItemTypeManager.cs
+++ b/MES.Service/service/BasicData/MesItemTypeManager.cs
@@ -1,9 +1,14 @@
锘縰sing MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
-
+using AngleSharp.Dom;
+using SqlSugar;
+using Masuit.Tools;
namespace MES.Service.service.BasicData;
+/// <summary>
+/// 鐗╂枡绫诲瀷淇℃伅
+/// </summary>
public class MesItemTypeManager : Repository<MesItemType>
{
//褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉�
@@ -30,14 +35,55 @@
}
}
+ /// <summary>
+ /// 娣诲姞鐗╂枡绫诲瀷淇℃伅new_0
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ /// <exception cref="NotImplementedException"></exception>
private bool InsertItemType(MesItemType entity)
{
- var insert = base.Insert(entity);
- if (insert)
- return true;
+ if (entity.Id == 0)
+ {
+ // 鏂板鎯呭喌锛氱敓鎴愭柊ID骞舵彃鍏�
+ var newId = GenerateNewId();
+ entity.Id = newId;
+ var insert = base.Insert(entity);
+ if (insert)
+ return true;
+ }
+ else
+ {
+ // 鏇存柊鎯呭喌锛氬垹闄ゅ悗閲嶆柊鎻掑叆锛屼繚鎸佸師鏈塈D
+ var originalId = entity.Id;
+
+ // 鍏堝垹闄ゅ師璁板綍锛堝鏋滃瓨鍦級
+ Db.Deleteable<MesItemType>().Where(s => s.Id == originalId).ExecuteCommand();
+
+ // 閲嶆柊鎻掑叆锛屼繚鎸佸師鏈塈D
+ entity.Id = originalId;
+ var insert = base.Insert(entity);
+ if (insert)
+ return true;
+ }
throw new NotImplementedException("鎻掑叆澶辫触");
}
+
+ /// <summary>
+ /// 娣诲姞鐗╂枡绫诲瀷淇℃伅old_0
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ /// <exception cref="NotImplementedException"></exception>
+ //private bool InsertItemType(MesItemType entity)
+ //{
+ // var insert = base.Insert(entity);
+ // if (insert)
+ // return true;
+
+ // throw new NotImplementedException("鎻掑叆澶辫触");
+ //}
private bool DeleteItemType(decimal id)
{
@@ -49,18 +95,47 @@
throw new NotImplementedException("鍒犻櫎澶辫触");
}
+ /// <summary>
+ /// 鐢熸垚鏂扮殑ID锛岀‘淇濅笉閲嶅
+ /// </summary>
+ private decimal GenerateNewId()
+ {
+ // 澶勭悊绌鸿〃鐨勬儏鍐碉紝浠�1寮�濮�
+ var maxId = Db.Queryable<MesItemType>().Max(x => (decimal?)x.Id) ?? 0;
+ var newId = maxId + 1;
+
+ // 鍙岄噸妫�鏌ワ紝纭繚鐢熸垚鐨処D涓嶅瓨鍦�
+ while (Db.Queryable<MesItemType>().Where(x => x.Id == newId).Any())
+ {
+ newId++;
+ }
+
+ return newId;
+ }
+
private MesItemType GetMesItemType(ErpItemType department)
{
+ // 鏌ユ壘鏄惁宸插瓨鍦ㄧ浉鍚屽鎴风紪鐮佺殑璁板綍銆侷D銆乧reate_date
+ var existingCustomer = Db.Queryable<MesItemType>()
+ .Where(s => s.Tcode == department.FNumber)
+ .First();
+
return new MesItemType
{
- Id = Convert.ToDecimal(department.Id),
- Pgroup = department.FParentId,
+ // 濡傛灉瀛樺湪锛屼娇鐢ㄧ幇鏈夌殑ID锛屽悗缁皢鍒犻櫎鍚庨噸鏂版彃鍏�
+ // 濡傛灉涓嶅瓨鍦紝璁句负0锛孖nsertOrUpdate鏂规硶灏嗙敓鎴愭柊ID
+ Id = existingCustomer?.Id ?? 0,
+ Pgroup = department.fParentGroup,
Tcode = department.FNumber,
Tname = department.FName,
Description = department.FDescription,
+ MA011= department.MA011,
//FSubsidiary = department.FSubsidiary,
//Fumbrella = department.Fumbrella,
- CreateDate = DateTime.Now,
+
+ // 濡傛灉瀛樺湪锛屼娇鐢ㄧ幇鏈夌殑CreateDate锛屽悗缁皢鍒犻櫎鍚庨噸鏂版彃鍏�
+ // 濡傛灉涓嶅瓨鍦紝璁句负褰撳墠鏃堕棿
+ CreateDate = existingCustomer?.CreateDate ?? DateTime.Now,
LastupdateDate = DateTime.Now,
Company = "1000",
Factory = "1000"
@@ -108,15 +183,32 @@
throw new NotImplementedException("鎺ュ彛鎵ц澶辫触");
}
+ /// <summary>
+ /// 鎵归噺娣诲姞鐗╂枡绫诲瀷淇℃伅new_0
+ /// </summary>
+ /// <param name="db"></param>
+ /// <param name="itemTypeList"></param>
+ /// <returns></returns>
private bool InsertItemTypeBatch(List<MesItemType> itemTypeList)
{
- var insertRange = base.InsertRange(itemTypeList);
- if (insertRange)
- return true;
-
- throw new NotImplementedException("鎻掑叆澶辫触");
+ return itemTypeList.All(entity => InsertItemType(entity));
}
+ /// <summary>
+ /// 鎵归噺娣诲姞鐗╂枡绫诲瀷淇℃伅old_0
+ /// </summary>
+ /// <param name="itemTypeList"></param>
+ /// <returns></returns>
+ /// <exception cref="NotImplementedException"></exception>
+ //private bool InsertItemTypeBatch(List<MesItemType> itemTypeList)
+ //{
+ // var insertRange = base.InsertRange(itemTypeList);
+ // if (insertRange)
+ // return true;
+
+ // throw new NotImplementedException("鎻掑叆澶辫触");
+ //}
+
private bool DeleteItemTypeBatch(List<MesItemType> itemTypeList)
{
var ids = itemTypeList.Select(it => it.Id).ToArray();
--
Gitblit v1.9.3