From 51f7eb771322a65ee552ca9b60280632f72760e6 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 15 十月 2025 16:55:08 +0800
Subject: [PATCH] 修改物料管理列表
---
Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs | 241 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 241 insertions(+), 0 deletions(-)
diff --git a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
index 7bed1a0..369d67e 100644
--- a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
+++ b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
@@ -2,6 +2,8 @@
using System.Collections.Generic;
using System.Data;
using System.Text;
+using System.Threading.Tasks;
+using Model.InterFaceModel;
using Model.ModelDto.BllQualityDto;
using Model.ModelVm;
using SqlSugar;
@@ -218,7 +220,246 @@
return isquality;
}
+ /// <summary>
+ /// SAP涓嬪彂搴撳瓨璋冩暣鍗�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ /*public string InsertQualitySap(SendQualityVm model)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(model.orderNo) || model.adjustmentDList.Count <= 0)
+ {
+ throw new Exception("鍙傛暟閿欒");
+ }
+ var asnInfo = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.OrderCode == model.orderNo);
+ if (asnInfo == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌{model.orderNo}瀵瑰簲鐨勫叆搴撳崟淇℃伅");
+ }
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+ foreach (var item in model.adjustmentDList)
+ {
+ var asnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(w => w.IsDel == "0" && w.ASNNo == asnInfo.ASNNo && w.OrderDetailCode == item.lineNo && w.SkuNo == item.skuNo && w.LotNo == item.lotNo);
+ if (asnDetail == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌{item.lineNo}瀵瑰簲鐨勫叆搴撳崟鏄庣粏淇℃伅");
+ }
+ asnDetail.InspectStatus = item.IsQualified;
+ //鏇存柊鍏ュ簱鍗曟槑缁嗚川妫�鐘舵��
+ Db.Updateable(asnDetail).ExecuteCommand();
+
+ //鑾峰彇鐗╂枡淇℃伅
+ var sku = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.SkuNo == item.skuNo);
+ if (sku == null)
+ {
+ throw new Exception($"鐗╂枡缂栫爜涓簕item.skuNo}鐨勭墿鏂欎俊鎭笉瀛樺湪锛岃鏍告煡锛�");
+ }
+
+ string toDayTime = DateTime.Now.ToString("yyyyMMdd");
+ var maxInspectNo = Db.Queryable<BllQualityInspect>().Where(m => m.IsDel == "0" && m.InspectNo.Contains("SAP")).Max(m => m.InspectNo);
+ if (string.IsNullOrWhiteSpace(maxInspectNo))
+ {
+ maxInspectNo = "SAP" + toDayTime + "0001";
+ }
+ else
+ {
+ var lotStr = maxInspectNo.Substring(3, 8);
+ if (lotStr == toDayTime)
+ {
+ maxInspectNo = "SAP" + toDayTime + (int.Parse(maxInspectNo.Replace("SAP","").Substring(8, 4)) + 1).ToString().PadLeft(4, '0');
+ }
+ else
+ {
+ maxInspectNo = "SAP" + toDayTime + "0001";
+ }
+ }
+ var qualityModel = new BllQualityInspect
+ {
+ ASNNo = asnDetail.ASNNo,
+ InspectNo = maxInspectNo,
+ SkuNo = item.skuNo,
+ SkuName = item.skuName,
+ Standard = sku.Standard,
+ LotNo = item.lotNo,
+ IsQualified = item.IsQualified,
+ Origin = "SAP",
+ FailQty = 0,
+ PassQty = 0
+ };
+
+ //鏌ユ壘搴撳瓨淇℃伅
+ var stockDetailList = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.SkuNo == item.skuNo && w.LotNo == item.lotNo).ToList();
+ foreach(var datailItem in stockDetailList)
+ {
+ List<DataBoxInfo> boxList = Db.Queryable<DataBoxInfo>().Where(a => a.IsDel == "0" && a.SkuNo == item.skuNo && a.LotNo == item.lotNo && a.PalletNo == datailItem.PalletNo).ToList();
+ foreach (var boxItem in boxList)
+ {
+ if (item.IsQualified == "0")//涓嶅悎鏍�
+ {
+ boxItem.InspectStatus = "2";
+ }
+ else//鍚堟牸
+ {
+ boxItem.InspectStatus = "1";
+ }
+ }
+ //鏇存柊绠辩爜鏄庣粏璐ㄦ鐘舵��
+ Db.Updateable(boxList).ExecuteCommand();
+
+ if (item.IsQualified == "0")//涓嶅悎鏍�
+ {
+ datailItem.InspectStatus = "2";
+ //涓嶅悎鏍兼暟閲�
+ qualityModel.FailQty += datailItem.Qty;
+ }
+ else//鍚堟牸
+ {
+ datailItem.InspectStatus = "1";
+ //鍚堟牸鏁伴噺
+ qualityModel.PassQty += datailItem.Qty;
+ }
+ //鏇存柊搴撳瓨鏄庣粏璐ㄦ鐘舵��
+ Db.Updateable(datailItem).ExecuteCommand();
+ }
+ //娣诲姞璐ㄦ鍙樻洿璁板綍
+ Db.Insertable(qualityModel).ExecuteCommand();
+ }
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
+
+ return "0";
+ }
+ catch (Exception ex)
+ {
+ //鍥炴粴浜嬪姟
+ Db.RollbackTran();
+ //鎶涘嚭寮傚父
+ throw new Exception("鎺ユ敹SAP涓嬪彂搴撳瓨璋冩暣鍗曞紓甯�:", ex);
+ }
+ }*/
+
+ public string InsertQualitySap(SendQualityVm model)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(model.orderNo) || model.adjustmentDList.Count <= 0)
+ {
+ throw new Exception("鍙傛暟閿欒");
+ }
+ //var asnInfo = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.OrderCode == model.orderNo);
+ //if (asnInfo == null)
+ //{
+ // throw new Exception($"鏈煡璇㈠埌{model.orderNo}瀵瑰簲鐨勫叆搴撳崟淇℃伅");
+ //}
+ //寮�鍚簨鍔�
+ Db.BeginTran();
+
+ foreach (var item in model.adjustmentDList)
+ {
+ //var asnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(w => w.IsDel == "0" && w.ASNNo == asnInfo.ASNNo && w.OrderDetailCode == item.lineNo && w.SkuNo == item.skuNo && w.LotNo == item.lotNo);
+ //if (asnDetail == null)
+ //{
+ // throw new Exception($"鏈煡璇㈠埌{item.lineNo}瀵瑰簲鐨勫叆搴撳崟鏄庣粏淇℃伅");
+ //}
+ //asnDetail.InspectStatus = item.IsQualified;
+ ////鏇存柊鍏ュ簱鍗曟槑缁嗚川妫�鐘舵��
+ //Db.Updateable(asnDetail).ExecuteCommand();
+
+ //鑾峰彇鐗╂枡淇℃伅
+ var sku = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.SkuNo == item.skuNo);
+ if (sku == null)
+ {
+ throw new Exception($"鐗╂枡缂栫爜涓簕item.skuNo}鐨勭墿鏂欎俊鎭笉瀛樺湪锛岃鏍告煡锛�");
+ }
+
+ string toDayTime = DateTime.Now.ToString("yyyyMMdd");
+ var maxInspectNo = model.orderNo;
+ //var maxInspectNo = Db.Queryable<BllQualityInspect>().Where(m => m.IsDel == "0" && m.InspectNo.Contains("SAP")).Max(m => m.InspectNo);
+ //if (string.IsNullOrWhiteSpace(maxInspectNo))
+ //{
+ // maxInspectNo = "SAP" + toDayTime + "0001";
+ //}
+ //else
+ //{
+ // var lotStr = maxInspectNo.Substring(3, 8);
+ // if (lotStr == toDayTime)
+ // {
+ // maxInspectNo = "SAP" + toDayTime + (int.Parse(maxInspectNo.Replace("SAP", "").Substring(8, 4)) + 1).ToString().PadLeft(4, '0');
+ // }
+ // else
+ // {
+ // maxInspectNo = "SAP" + toDayTime + "0001";
+ // }
+ //}
+ var qualityModel = new BllQualityInspect
+ {
+ ASNNo = "",
+ InspectNo = maxInspectNo,
+ SkuNo = item.skuNo,
+ SkuName = item.skuName,
+ Standard = sku.Standard,
+ LotNo = item.lotNo,
+ IsQualified = item.IsQualified,
+ Origin = "SAP",
+ FailQty = 0,
+ PassQty = 0
+ };
+
+ //鏌ユ壘搴撳瓨淇℃伅
+ var stockDetailList = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.SkuNo == item.skuNo && w.LotNo == item.lotNo).ToList();
+ foreach (var datailItem in stockDetailList)
+ {
+ List<DataBoxInfo> boxList = Db.Queryable<DataBoxInfo>().Where(a => a.IsDel == "0" && a.SkuNo == item.skuNo && a.LotNo == item.lotNo && a.PalletNo == datailItem.PalletNo).ToList();
+ foreach (var boxItem in boxList)
+ {
+ if (item.IsQualified == "0")//涓嶅悎鏍�
+ {
+ boxItem.InspectStatus = "2";
+ }
+ else//鍚堟牸
+ {
+ boxItem.InspectStatus = "1";
+ }
+ }
+ //鏇存柊绠辩爜鏄庣粏璐ㄦ鐘舵��
+ Db.Updateable(boxList).ExecuteCommand();
+
+ if (item.IsQualified == "0")//涓嶅悎鏍�
+ {
+ datailItem.InspectStatus = "2";
+ //涓嶅悎鏍兼暟閲�
+ qualityModel.FailQty += datailItem.Qty;
+ }
+ else//鍚堟牸
+ {
+ datailItem.InspectStatus = "1";
+ //鍚堟牸鏁伴噺
+ qualityModel.PassQty += datailItem.Qty;
+ }
+ //鏇存柊搴撳瓨鏄庣粏璐ㄦ鐘舵��
+ Db.Updateable(datailItem).ExecuteCommand();
+ }
+ //娣诲姞璐ㄦ鍙樻洿璁板綍
+ Db.Insertable(qualityModel).ExecuteCommand();
+ }
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
+
+ return "0";
+ }
+ catch (Exception ex)
+ {
+ //鍥炴粴浜嬪姟
+ Db.RollbackTran();
+ //鎶涘嚭寮傚父
+ throw new Exception($"鎺ユ敹SAP涓嬪彂搴撳瓨璋冩暣鍗曞紓甯�:{ex}");
+ }
+ }
#endregion
}
--
Gitblit v1.8.0