From 4baa96c5041bf316401435da6ece09ea3297255b Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期二, 11 二月 2025 21:40:22 +0800
Subject: [PATCH] 调取plm第三步
---
MES.Service/service/BasicData/MesRohInManager.cs | 401 ++++++++++++++++++++++++--------------------------------
1 files changed, 174 insertions(+), 227 deletions(-)
diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs
index 5ad7b39..640ff4c 100644
--- a/MES.Service/service/BasicData/MesRohInManager.cs
+++ b/MES.Service/service/BasicData/MesRohInManager.cs
@@ -1,247 +1,194 @@
锘縰sing MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
-using MES.Service.util;
using SqlSugar;
-namespace MES.Service.service.BasicData
+namespace MES.Service.service.BasicData;
+
+public class MesRohInManager : Repository<MesRohIn>
{
- public class MesRohInManager : Repository<MesRohIn>
+ private readonly MesRohInDataManager rohInDataManager = new();
+
+ // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜 RohIn 璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔
+ public bool Save(RohIn rohIn)
{
- private readonly MesRohInDataManager rohInDataManager = new();
+ var rohInErpRohIn = rohIn.ErpRohIn;
+ var mesRohIn = GetMesRohIn(rohInErpRohIn);
+ var mesRohInDatas =
+ GetMesRohInDatas(rohIn.ErpRohinDatas, rohInErpRohIn.Type);
- // Save 鏂规硶鐢ㄤ簬淇濆瓨鍗曚釜 RohIn 璁板綍锛屾牴鎹被鍨嬫墽琛屼笉鍚岀殑鎿嶄綔
- public bool Save(RohIn rohIn)
+ return UseTransaction(db =>
{
- var rohInErpRohIn = rohIn.ErpRohIn;
- var mesRohIn = GetMesRohIn(rohInErpRohIn);
- var mesRohInDatas =
- GetMesRohInDatas(rohIn.ErpRohinDatas, rohInErpRohIn.Type);
-
- return UseTransaction(db =>
+ switch (rohInErpRohIn.Type)
{
- switch (rohInErpRohIn.Type)
- {
- case "2":
- return InsertData(db, mesRohIn, mesRohInDatas,
- rohInErpRohIn.FBILLTYPE)
- ? 1
- : 0;
- case "3":
- return UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0;
- case "4":
- return SaveOrUpdateData(db, mesRohIn, mesRohInDatas)
- ? 1
- : 0;
- default:
- throw new NotImplementedException(
- $"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷");
- }
- }) > 0;
- }
-
- // 鎻掑叆鏁版嵁鐨勬柟娉�
- private bool InsertData(SqlSugarScope db, MesRohIn mesRohIn,
- List<MesRohInData> mesRohInDatas, string FBILLTYPE)
- {
- switch (FBILLTYPE)
- {
- case "A":
- {
- var insert = base.Insert(mesRohIn);
- var insertRange =
- rohInDataManager.InsertRange(mesRohInDatas);
-
- if (insert && insertRange) return true;
- throw new NotImplementedException("鎻掑叆澶辫触");
- }
+ case "3":
+ return UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0;
+ case "2":
+ case "4":
+ case "5":
case "B":
- {
- var decimals = mesRohInDatas.Select(s => s.Id).ToArray();
- if (base.DeleteById(mesRohIn.Id) && db
- .Deleteable<MesRohInData>().In(decimals)
- .ExecuteCommand() > 0)
- {
- var insert = base.Insert(mesRohIn);
- var insertRange =
- rohInDataManager.InsertRange(mesRohInDatas);
-
- if (insert && insertRange) return true;
- throw new NotImplementedException("鎻掑叆澶辫触");
- }
-
- break;
- }
+ return SaveOrUpdateData(db, mesRohIn, mesRohInDatas)
+ ? 1
+ : 0;
+ default:
+ throw new NotImplementedException(
+ $"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷");
}
+ }) > 0;
+ }
- throw new NotImplementedException("閲囪喘璁㈠崟绫诲瀷閿欒");
- }
+ // 鏇存柊鏁版嵁鐨勬柟娉�
+ private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn,
+ List<MesRohInData> mesRohInDatas)
+ {
+ var decimals = mesRohInDatas.Select(s => s.Id).ToArray();
+ var update = base.DeleteById(mesRohIn.Id);
+ var insertOrUpdate = db
+ .Deleteable<MesRohInData>().In(decimals)
+ .ExecuteCommand() > 0;
- // 鏇存柊鏁版嵁鐨勬柟娉�
- private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn,
- List<MesRohInData> mesRohInDatas)
+ if (update && insertOrUpdate) return true;
+ throw new NotImplementedException("鏇存柊澶辫触");
+ }
+
+ // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
+ 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;
+ throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
+ }
+
+ // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
+ public bool SaveList(List<RohIn> rohIns)
+ {
+ var result = rohIns.Select(Save).ToList();
+ return result.All(b => b);
+ }
+
+ // 灏� ErpRohIn 瀵硅薄杞崲涓� MesRohIn 瀵硅薄鐨勬柟娉�
+ public MesRohIn GetMesRohIn(ErpRohIn rohIn)
+ {
+ var eid = Convert.ToDecimal(rohIn.id);
+ var mesRohIn = new MesRohIn();
+
+ var single = base.GetSingle(it => it.EbelnK3id == eid);
+ if (single != null) mesRohIn.Id = single.Id;
+
+ mesRohIn.EbelnK3id = eid;
+ mesRohIn.BillNo = rohIn.FBillNo;
+ mesRohIn.DocumentStatus = rohIn.FDocumentStatus;
+ mesRohIn.DocumentType = rohIn.FBillTypeID;
+ mesRohIn.BusinessType = rohIn.FBusinessType;
+ if (rohIn.FDate != null)
+ mesRohIn.PurchaseDate = DateTime.ParseExact(rohIn.FDate,"yyyy-MM-dd HH:mm:ss", null);
+ mesRohIn.Supplier = rohIn.FSupplierId;
+ mesRohIn.CloseStatus = rohIn.FCloseStatus;
+ mesRohIn.PurchaseOrg = rohIn.FPurchaseOrgId;
+ mesRohIn.PurchaseDept = rohIn.FPurchaseDeptId;
+ mesRohIn.PurchaseGroup = rohIn.FPurchaserGroupId;
+ mesRohIn.Purchaser = rohIn.FPurchaserId;
+ mesRohIn.SettlementParty = rohIn.FSettleId;
+ mesRohIn.PaymentParty = rohIn.FChargeId;
+ mesRohIn.Email = rohIn.FProviderEMail;
+ mesRohIn.CancellationStatus = rohIn.FCancelStatus;
+ mesRohIn.CancellationPerson = rohIn.FCancellerId;
+
+ if (rohIn.FCancelDate != null)
+ mesRohIn.CancellationDate =DateTime.ParseExact(rohIn.FCancelDate,"yyyy-MM-dd HH:mm:ss", null);
+
+ mesRohIn.CreateBy = rohIn.FCreatorId;
+ mesRohIn.LastupdateBy = rohIn.FModifierId;
+
+ if (rohIn.FModifyDate != null)
+ mesRohIn.LastupdateDate = DateTime.ParseExact(rohIn.FModifyDate,"yyyy-MM-dd HH:mm:ss", null);
+
+ mesRohIn.ErpCheckBy = rohIn.FApproverId;
+ mesRohIn.ErpCheckDate = rohIn.FApproveDate;
+ mesRohIn.Changereason = rohIn.FChangeReason;
+ mesRohIn.CreateDate = DateTime.Now;
+ mesRohIn.ReceiveOrg = Convert.ToDecimal(rohIn.FReceiveOrgId);
+ mesRohIn.Remarks = rohIn.F_WWC_LARGETEXT;
+ mesRohIn.F_WWC_TEXT=rohIn.F_WWC_TEXT;
+
+
+ return mesRohIn;
+ }
+
+ // 灏� ErpRohinData 瀵硅薄杞崲涓� MesRohInData 瀵硅薄鐨勬柟娉�
+ public List<MesRohInData> GetMesRohInDatas(
+ List<ErpRohinData> erpRohinDatas, string type)
+ {
+ return erpRohinDatas.Select(s =>
{
- var update = base.Insert(mesRohIn);
- var insertOrUpdate = rohInDataManager.InsertRange(mesRohInDatas);
-
- if (update && insertOrUpdate) return true;
- throw new NotImplementedException("鏇存柊澶辫触");
- }
-
- // 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
- private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn,
- List<MesRohInData> mesRohInDatas)
- {
- var orUpdate = base.Insert(mesRohIn);
- var baOrUpdate = rohInDataManager.InsertRange(mesRohInDatas);
- if (orUpdate && baOrUpdate) return true;
- throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
- }
-
- // 鎵归噺淇濆瓨璁板綍鐨勬柟娉�
- public bool SaveList(List<RohIn> rohIns)
- {
- var result = rohIns.Select(Save).ToList();
- return result.All(b => b);
- }
-
- // 灏� ErpRohIn 瀵硅薄杞崲涓� MesRohIn 瀵硅薄鐨勬柟娉�
- public MesRohIn GetMesRohIn(ErpRohIn rohIn)
- {
- var eid = Convert.ToDecimal(rohIn.id);
- var mesRohIn = new MesRohIn();
-
- var single = base.GetSingle(it => it.EbelnK3id == eid);
- if (single != null) mesRohIn.Id = single.Id;
-
- mesRohIn.EbelnK3id = eid;
- mesRohIn.BillNo = rohIn.FBillNo;
- mesRohIn.DocumentStatus = rohIn.FDocumentStatus;
- mesRohIn.DocumentType = rohIn.FBillTypeID;
- mesRohIn.BusinessType = rohIn.FBusinessType;
-
- if (rohIn.FDate != null)
- mesRohIn.PurchaseDate = DateTime.ParseExact(rohIn.FDate,
- "yyyy-MM-dd HH:mm:ss", null);
-
- mesRohIn.Supplier = rohIn.FSupplierId;
- mesRohIn.CloseStatus = rohIn.FCloseStatus;
- mesRohIn.PurchaseOrg = rohIn.FPurchaseOrgId;
- mesRohIn.PurchaseDept = rohIn.FPurchaseDeptId;
- mesRohIn.PurchaseGroup = rohIn.FPurchaserGroupId;
- mesRohIn.QtyAcceptance = rohIn.Facctype;
- mesRohIn.Purchaser = rohIn.FPurchaserId;
- mesRohIn.QualityReq = rohIn.F_UNW_Remarks_zlyq;
- mesRohIn.SettlementParty = rohIn.FSettleId;
- mesRohIn.PaymentParty = rohIn.FChargeId;
- mesRohIn.Email = rohIn.FProviderEMail;
- mesRohIn.TransportMethod = rohIn.F_UNW_Text_ysfs;
- mesRohIn.Remarks = rohIn.F_UNW_BZ;
- mesRohIn.FixtureMoldProcurement = rohIn.F_UNW_Combo_zjmj;
- mesRohIn.CancellationStatus = rohIn.FCancelStatus;
- mesRohIn.CancellationPerson = rohIn.FCancellerId;
-
- if (rohIn.FCancelDate != null)
- mesRohIn.CancellationDate =
- DateTime.ParseExact(rohIn.FCancelDate,
- "yyyy-MM-dd HH:mm:ss", null);
-
- mesRohIn.CreateBy = rohIn.FCreatorId;
-
- if (rohIn.FCreateDate != null)
- mesRohIn.CreateDate = DateTime.ParseExact(rohIn.FCreateDate,
- "yyyy-MM-dd HH:mm:ss", null);
-
- mesRohIn.LastupdateBy = rohIn.FModifierId;
-
- if (rohIn.FModifyDate != null)
- mesRohIn.LastupdateDate = DateTime.ParseExact(rohIn.FModifyDate,
- "yyyy-MM-dd HH:mm:ss", null);
-
- mesRohIn.ErpCheckBy = rohIn.FApproverId;
- mesRohIn.ErpCheckDate = rohIn.FApproveDate;
- mesRohIn.Changereason = rohIn.FCHANGEREASON;
-
- return mesRohIn;
- }
-
- // 灏� ErpRohinData 瀵硅薄杞崲涓� MesRohInData 瀵硅薄鐨勬柟娉�
- public List<MesRohInData> GetMesRohInDatas(
- List<ErpRohinData> erpRohinDatas, string type)
- {
- return erpRohinDatas.Select(s =>
+ var entity = new MesRohInData
{
- var entity = new MesRohInData
- {
- EbelnK3id = Convert.ToDecimal(s.id),
- ErpId = Convert.ToDecimal(s.Eid),
- BillNo = s.FBillNo,
- SalesOrderId = s.F_UNW_Text_xsddh,
- ItemId = s.FMaterialId,
- PurchaseUnit = s.FUnitId,
- PurchaseQty = Convert.ToDecimal(s.FQty),
- InventoryUnit = s.FStockUnitID,
- PricingUnit = s.FPriceUnitId,
- PricingQty = Convert.ToDecimal(s.FPriceUnitQty),
- DeliveryDate = s.FDeliveryDate != null
- ? DateTime.ParseExact(s.FDeliveryDate,
- "yyyy-MM-dd HH:mm:ss", null)
- : null,
- EarliestDeliveryDate = s.FDeliveryEarlyDate != null
- ? DateTime.ParseExact(s.FDeliveryEarlyDate,
- "yyyy-MM-dd HH:mm:ss", null)
- : null,
- LatestDeliveryDate = s.FDeliveryLastDate != null
- ? DateTime.ParseExact(s.FDeliveryLastDate,
- "yyyy-MM-dd HH:mm:ss", null)
- : null,
- IsGift = s.FGiveAway,
- Remarks = s.FEntryNote,
- SupplierItemCode = s.FSupMatId,
- SupplierItemName = s.FSupMatName,
- OutsourcingOrderId = s.FSUBREQBILLNO,
- BatchNumber = s.FLot,
- 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,
- BusinessTerminate = s.FMRPTerminateStatus,
- Terminator = s.FTerminaterId,
- 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),
- ReturnableStoredQty = Convert.ToDecimal(s.FSTOCKRETQTY),
- SourceDocumentType = s.FSrcBillTypeId,
- SourceDocumentId = s.FSrcBillNo,
- DemandTrackingId = s.FReqTraceNo,
- PlanTrackingId = s.FMtoNo,
- ChangeFlag = s.FChangeFlag,
- DemandSource = s.FDEMANDTYPE,
- DemandDocumentId = s.FDEMANDBILLNO,
- DemandDocumentLineId = s.FDEMANDBILLENTRYSEQ,
- PurchaseOrderLineNumber = s.PurchaseOrderLineNumber,
- Demand = s.Demand,
- Receiving = s.Receiving,
- Settlement = s.Settlement
- };
+ EbelnK3id = Convert.ToDecimal(s.id),
+ ErpId = Convert.ToDecimal(s.Eid),
+ BillNo = s.FBillNo,
+ OrderLineId=s.FSeq,
+ PurchaseOrderLineNumber = s.FSeq,
+ SalesOrderId = s.FXSHTH,
+ ItemId = s.FMaterialId,
+ PurchaseUnit = s.FUnitId,
+ PurchaseQty = Convert.ToDecimal(s.FQty),
+ InventoryUnit = s.FStockUnitID,
+ PricingUnit = s.FPriceUnitId,
+ PricingQty = Convert.ToDecimal(s.FPriceUnitQty),
+ DeliveryDate = s.FDeliveryDate != null? DateTime.ParseExact(s.FDeliveryDate,"yyyy-MM-dd HH:mm:ss", null): null,
+ EarliestDeliveryDate = s.FDeliveryEarlyDate != null? DateTime.ParseExact(s.FDeliveryEarlyDate,"yyyy-MM-dd HH:mm:ss", null): null,
+ LatestDeliveryDate = s.FDeliveryLastDate != null? DateTime.ParseExact(s.FDeliveryLastDate,"yyyy-MM-dd HH:mm:ss", null): null,
+ IsGift = s.FGiveAway,
+ Remarks = s.FEntryNote,
+ SupplierItemCode = s.FSupMatId,
+ SupplierItemName = s.FSupMatName,
+ OutsourcingOrderId = s.FSubreqBillNo,
+ BatchNumber = s.FLot,
+ 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,
+ BusinessTerminate = s.FMRPTerminateStatus,
+ Terminator = s.FTerminaterId,
+ TerminateTime = s.FTerminateDate != null ? DateTime.ParseExact(s.FTerminateDate,"yyyy-MM-dd HH:mm:ss", null): null,
+ TotalReceivedQty = Convert.ToDecimal(s.FQty)-Convert.ToDecimal(s.FRemainReceiveQty),
+ RemainingReceivedQty = Convert.ToDecimal(s.FRemainReceiveQty),
+ TotalStoredQty = Convert.ToDecimal(s.FQty) - Convert.ToDecimal(s.FRemainStockINQty),
+ RemainingStoredQty = Convert.ToDecimal(s.FRemainStockINQty),
+ TotalReturnedQty = Convert.ToDecimal(s.FMrbQty),
+ ReturnableReceivedQty = Convert.ToDecimal(s.FBaseCheckRetQty),
+ ReturnableStoredQty = Convert.ToDecimal(s.FBaseStockRetQty),
+ SourceDocumentType = s.FSrcBillTypeId,
+ SourceDocumentId = s.FSrcBillNo,
+ DemandTrackingId = s.FReqTraceNo,
+ PlanTrackingId = s.FMtoNo,
+ ChangeFlag = s.FChangeFlag,
+ DemandSource = s.FDemandType,
+ DemandDocumentId = s.FDemandBillNo,
+ DemandDocumentLineId = s.FDemandBillEntrySeq,
+ Demand = s.FRequireOrgId,
+ DemandOrg = s.FRequireOrgId,
+ Receiving = s.FReceiveOrgId,
+ ReceivingOrg = s.FReceiveOrgId,
+ Settlement = s.FEntrySettleOrgId,
+ SettlementOrg = s.FEntrySettleOrgId,
+ DemandDept = s.FRequireDeptId,
+ ReceivingDept = s.FReceiveDeptId
+ };
- var single = rohInDataManager.GetSingle(it =>
- it.EbelnK3id == entity.EbelnK3id);
- if (single != null) entity.Id = single.Id;
+ var single = rohInDataManager.GetSingle(it =>
+ it.EbelnK3id == entity.EbelnK3id);
+ if (single != null) entity.Id = single.Id;
- return entity;
- }).ToList();
- }
+ return entity;
+ }).ToList();
}
}
\ No newline at end of file
--
Gitblit v1.9.3