From 94c9e2a81a3808e9e974ad43b7c2798093b632ed Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期二, 29 七月 2025 14:20:09 +0800
Subject: [PATCH] 1、销售模块:预测订单、标准出货、销售退货接口代码提交 2、仓退申请单接口bug修复代码提交
---
StandardPda/MES.Service/service/BasicData/MesRohInManager.cs | 194 +++++++++++++++++++++++++++++-------------------
1 files changed, 118 insertions(+), 76 deletions(-)
diff --git a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
index 8e84976..aae6bfb 100644
--- a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
+++ b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
@@ -1,7 +1,9 @@
锘縰sing MES.Service.DB;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
+using MES.Service.util;
using SqlSugar;
+using System.Collections.Generic;
namespace MES.Service.service.BasicData;
@@ -17,15 +19,20 @@
var mesRohInDatas =
GetMesRohInDatas(rohIn.ErpRohinDatas, rohInErpRohIn.Type);
+ var erpLineDetailsDB = GetErpLineDetailsDB(rohIn.ErpLineDetails, rohInErpRohIn.Type);
+
+
+
+
return UseTransaction(db =>
{
return rohInErpRohIn.Type switch
{
"2" or "4" or "5" => SaveOrUpdateData(db, mesRohIn,
- mesRohInDatas)
+ mesRohInDatas, erpLineDetailsDB)
? 1
: 0,
- "3" => UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0,
+ "3" => DeleteData(db, mesRohIn, mesRohInDatas) ? 1 : 0,
_ => throw new NotImplementedException(
$"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷")
};
@@ -33,7 +40,7 @@
}
// 鏇存柊鏁版嵁鐨勬柟娉�
- private bool UpdateData(SqlSugarScope db, MesRohIn mesRohIn,
+ private bool DeleteData(SqlSugarScope db, MesRohIn mesRohIn,
List<MesRohInData> mesRohInDatas)
{
var decimals = mesRohInDatas.Select(s => s.Id).ToArray();
@@ -57,14 +64,16 @@
// 鎻掑叆鎴栨洿鏂版暟鎹殑鏂规硶
private bool SaveOrUpdateData(SqlSugarScope db, MesRohIn mesRohIn,
- List<MesRohInData> mesRohInDatas)
+ List<MesRohInData> mesRohInDatas, List<ErpLineDetailsDB> erpLineDetails)
{
if (mesRohIn.Id != null) base.DeleteById(mesRohIn.Id);
if (mesRohInDatas.Count > 0)
db.Deleteable<MesRohInData>()
.Where(s => s.ErpId == mesRohIn.EbelnK3id).ExecuteCommand();
-
+ if (mesRohInDatas.Count > 0)
+ db.Deleteable<ErpLineDetailsDB>()
+ .Where(s => s.Eid == mesRohIn.EbelnK3id).ExecuteCommand();
//var orUpdate = base.Insert(mesRohIn);
//var baOrUpdate = rohInDataManager.InsertRange(mesRohInDatas);
var orUpdate = db.Insertable(mesRohIn)
@@ -75,8 +84,15 @@
.IgnoreColumnsNull()
.ExecuteCommand() > 0;
+ var ba1OrUpdate = db.Insertable(erpLineDetails).PageSize(1)
+ .IgnoreColumnsNull()
+ .ExecuteCommand() > 0;
+ if (erpLineDetails==null ||erpLineDetails.Count==0)
+ {
+ ba1OrUpdate = true;
+ }
- if (orUpdate && baOrUpdate) return true;
+ if (orUpdate && baOrUpdate&& ba1OrUpdate) return true;
throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�");
}
@@ -88,42 +104,34 @@
}
// 灏� ErpRohIn 瀵硅薄杞崲涓� MesRohIn 瀵硅薄鐨勬柟娉�
- public MesRohIn GetMesRohIn(ErpRohIn rohIn)
+ private MesRohIn GetMesRohIn(ErpRohIn rohIn)
{
- var eid = Convert.ToDecimal(rohIn.id);
+ var eid = rohIn.id;
var mesRohIn = new MesRohIn();
var single = base.GetSingle(it => it.EbelnK3id == eid);
if (single != null) mesRohIn.Id = single.Id;
+ var mesLinkU9 = Db.Queryable<MesLinkU9>()
+ .Where(s => s.U9Id == rohIn.FSupplierId
+ && s.OrgId == rohIn.FReceiveOrgId
+ && s.TableType == "MES_SUPPLIER").First();
+
+ if (mesLinkU9 != null) mesRohIn.Supplier = mesLinkU9.MesId;
+
mesRohIn.EbelnK3id = eid;
mesRohIn.BillNo = rohIn.FBillNo;
mesRohIn.DocumentStatus = rohIn.FDocumentStatus;
- mesRohIn.DocumentType = rohIn.FBillTypeID;
+ 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.ACCTYPE = rohIn.Acctype;
-
- 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;
@@ -137,78 +145,59 @@
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.Changereason = rohIn.PubDescSeg2;
+ mesRohIn.ReceiveOrg = rohIn.FReceiveOrgId;
+ mesRohIn.Remarks = rohIn.Remarks;
+ mesRohIn.SrcDocType = rohIn.FSrcDocType;
+ mesRohIn.SrcDoc = rohIn.FSrcDoc;
+ mesRohIn.TradePathName = rohIn.FTradePathName;
+ mesRohIn.SubType = rohIn.FSubType;
+ mesRohIn.IsReDo = short.Parse(rohIn.FIsReDo ?? "0");
+ mesRohIn.PrivateDescSeg1 = rohIn.PrivateDescSeg1;
+ mesRohIn.Version = rohIn.FVersion;
- //if (rohIn.Prearrivaldate != null)
- // mesRohIn.Prearrivaldate = DateTime.ParseExact(rohIn.Prearrivaldate,
- // "yyyy-MM-dd HH:mm:ss", null);
-
- mesRohIn.ReceiveOrg = Convert.ToDecimal(rohIn.FReceiveOrgId);
+ //浣滃簾鐨勭浉鍏冲瓧娈�
+ 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);
return mesRohIn;
}
// 灏� ErpRohinData 瀵硅薄杞崲涓� MesRohInData 瀵硅薄鐨勬柟娉�
- public List<MesRohInData> GetMesRohInDatas(
+ private List<MesRohInData> GetMesRohInDatas(
List<ErpRohinData> erpRohinDatas, string type)
{
- return erpRohinDatas.Select(s =>
+ return erpRohinDatas.DistinctByConcurrent(x => x.id).Select(s =>
{
var entity = new MesRohInData
{
- EbelnK3id = Convert.ToDecimal(s.id),
- ErpId = Convert.ToDecimal(s.Eid),
+ EbelnK3id = s.id,
+ ErpId = s.Eid,
BillNo = s.FBillNo,
OrderLineId = s.FSeq,
+ BusinessFreeze = s.FStatus,
PurchaseOrderLineNumber = s.FSeq,
SalesOrderId = s.FDemandBillEntrySeq,
- 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,
Demand = s.FRequireOrgId,
Receiving = s.FReceiveOrgId,
- ReceivingDepartment = s.FReceiveDeptId,
- Settlement = s.FEntrySettleOrgId,
+ ReceivingDept = s.FReceiveDeptId,
DemandOrg = s.FRequireOrgId,
ReceivingOrg = s.FReceiveOrgId,
- SettlementOrg = s.FEntrySettleOrgId,
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),
@@ -220,22 +209,75 @@
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,
- DemandDept = s.FRequireDeptId,
- FCGDDSctzda = s.F_CGDD_SCTZDA,
- FCGDDXHA = s.F_CGDD_XHA,
- FXifgTextApv = s.F_XIFG_Text_apv
+ RdProject = s.RdProject,
+ ProjectPurchaser = s.ProjectPurchaser
};
+
+ if (s.FDeliveryDate != null)
+ entity.DeliveryDate =
+ DateTime.ParseExact(s.FDeliveryDate,
+ "yyyy-MM-dd HH:mm:ss", null);
var single = rohInDataManager.GetSingle(it =>
it.EbelnK3id == entity.EbelnK3id);
if (single != null) entity.Id = single.Id;
+ //ItemId = s.FMaterialId,
+ var mesLinkU9 = Db.Queryable<MesLinkU9>()
+ .Where(x => x.U9Id == s.FMaterialId
+ && x.OrgId == s.FReceiveOrgId
+ && x.TableType == "MES_ITEMS").First();
+
+ if (mesLinkU9 != null) entity.ItemId = mesLinkU9.MesId;
+
+
+ var mesLinkU92 = Db.Queryable<MesLinkU9>()
+ .Where(x => x.U9Id == s.Project
+ && x.OrgId == s.FReceiveOrgId
+ && x.TableType == "MES_PROJECT").First();
+
+ if (mesLinkU92 != null) entity.Project = mesLinkU92.MesId;
+
+ return entity;
+ }).ToList();
+ }
+
+ private List<ErpLineDetailsDB> GetErpLineDetailsDB(
+ List<ErpLineDetails> erpLineDetails, string type)
+ {
+ if (erpLineDetails ==null)
+ {
+ return null;
+ }
+ return erpLineDetails.Select(s =>
+ {
+ var entity = new ErpLineDetailsDB
+ {
+ Mid= s.Mid,
+ Eid = s.Eid,
+ FlineNo = s.FlineNo,
+ FMaterialId = s.FMaterialId,
+ ReqQty = s.ReqQty,
+ PlannedQty = s.PlannedQty,
+ SupplierConfirmsQty = s.SupplierConfirmsQty,
+ RequestDeliveryDate = s.RequestDeliveryDate,
+ ActualArrivalQty = s.ActualArrivalQty
+
+
+ };
+
+ //ItemId = s.FMaterialId,
+ var mesLinkU9 = Db.Queryable<MesLinkU9>()
+ .Where(x => x.U9Id == s.FMaterialId
+ && x.OrgId == s.FMaterialId
+ && x.TableType == "MES_ITEMS").First();
+
+ if (mesLinkU9 != null) entity.FMaterialId = mesLinkU9.MesId;
+
+
return entity;
}).ToList();
}
--
Gitblit v1.9.3