From f9ce79d464e7ba8dd09a7b37bc022ab442d3594f Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期三, 10 十二月 2025 16:16:44 +0800
Subject: [PATCH] 看板系统新代码提交
---
StandardPda/MES.Service/service/BasicData/MesRohInManager.cs | 103 +++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 82 insertions(+), 21 deletions(-)
diff --git a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
index b651a77..2e14366 100644
--- a/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
+++ b/StandardPda/MES.Service/service/BasicData/MesRohInManager.cs
@@ -3,6 +3,7 @@
using MES.Service.Modes;
using MES.Service.util;
using SqlSugar;
+using System.Collections.Generic;
namespace MES.Service.service.BasicData;
@@ -18,12 +19,17 @@
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" => DeleteData(db, mesRohIn, mesRohInDatas) ? 1 : 0,
@@ -58,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)
@@ -76,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("鎻掑叆鎴栨洿鏂板け璐�");
}
@@ -91,21 +106,30 @@
// 灏� ErpRohIn 瀵硅薄杞崲涓� MesRohIn 瀵硅薄鐨勬柟娉�
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;
+ if (single != null)
+ {
+ mesRohIn.Id = single.Id;
+
+ if (single.CheckDate != null)
+ {
+ mesRohIn.CheckDate = single.CheckDate;
+ }
+ else
+ {
+ mesRohIn.CheckDate = DateTime.Now;
+ }
+ }
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;
- }
+ if (mesLinkU9 != null) mesRohIn.Supplier = mesLinkU9.MesId;
mesRohIn.EbelnK3id = eid;
mesRohIn.BillNo = rohIn.FBillNo;
@@ -136,7 +160,7 @@
mesRohIn.ErpCheckBy = rohIn.FApproverId;
mesRohIn.ErpCheckDate = rohIn.FApproveDate;
mesRohIn.Changereason = rohIn.PubDescSeg2;
- mesRohIn.ReceiveOrg = Convert.ToDecimal(rohIn.FReceiveOrgId);
+ mesRohIn.ReceiveOrg = rohIn.FReceiveOrgId;
mesRohIn.Remarks = rohIn.Remarks;
mesRohIn.SrcDocType = rohIn.FSrcDocType;
mesRohIn.SrcDoc = rohIn.FSrcDoc;
@@ -166,8 +190,8 @@
{
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,
@@ -204,6 +228,11 @@
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;
@@ -214,21 +243,53 @@
&& x.OrgId == s.FReceiveOrgId
&& x.TableType == "MES_ITEMS").First();
- if (mesLinkU9 != null)
- {
- entity.ItemId = mesLinkU9.MesId;
- }
-
+ 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)
+ 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
{
- entity.Project = mesLinkU92.MesId;
- }
+ 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,
+ FReceiveQty=s.FReceiveQty
+
+
+ };
+
+ //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