From 02b26bfaca24386f7b4f4a5e9f336812370ed49b Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期一, 22 十二月 2025 09:45:46 +0800
Subject: [PATCH] 获取BOM参数调整
---
service/Warehouse/TransferOutManager.cs | 131 +++++++++++++++++++++++++++++++------------
1 files changed, 93 insertions(+), 38 deletions(-)
diff --git a/service/Warehouse/TransferOutManager.cs b/service/Warehouse/TransferOutManager.cs
index 473982e..5420cba 100644
--- a/service/Warehouse/TransferOutManager.cs
+++ b/service/Warehouse/TransferOutManager.cs
@@ -19,34 +19,33 @@
/// 鑾峰彇鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃
/// </summary>
/// <returns>鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃</returns>
- public List<string> GetTransferOutNoList()
+ public List<string> GetTransferOutNoList(WarehouseQuery query, dynamic RequestInfo)
{
- // 鍏堜粠鏁版嵁搴撹幏鍙朤ransfer_Out_ETAIL琛ㄧ殑鏁版嵁
- var transferOutDetails = Db.Queryable<MesDbckDetail>().ToList();
+ var orgId = RequestInfo.OrgId;
- // 浣跨敤LINQ瀵硅幏鍙栫殑鏁版嵁杩涜鍒嗙粍鍜岀瓫閫�
- // 绛涢�夋潯浠�:鐢宠鏁伴噺(sq)涓嶇瓑浜庡凡鎵暟閲�(ys)鐨勮褰�
- var result = transferOutDetails
- .GroupBy(x => x.Pid)
- .Select(g => new
- {
- pid = g.Key,
- sq = g.Sum(x => x.FQty), // 鐢宠鏁伴噺鍚堣
- ys = g.Sum(x => x.SQty), // 璋冨嚭宸叉壂鏁伴噺鍚堣
- rs = g.Sum(x => x.RQty), // 璋冨叆宸叉壂鏁伴噺鍚堣
- })
- .Where(x => !((x.sq ?? 0) == (x.ys ?? 0) && (x.sq ?? 0) == (x.rs ?? 0)))
- .Select(x => x.pid)
- .ToList();
+ if (orgId == null)
+ throw new Exception("缁勭粐涓嶅瓨鍦紒");
- // 鏍规嵁pid鏌ヨ瀵瑰簲鐨勫嚭搴撳崟鍙�
- var billNos = Db.Queryable<MesDbck>()
- .Where(x => result.Contains(x.Id) && x.FApproveStatus == 1)
- .OrderBy(x => x.FCreateDate)
- .Select(x => x.FBillNo)
- .ToList();
-
- return billNos;
+ // 鑾峰彇鏈畬鎴愮殑閫�鏂欏崟鍙峰垪琛�
+ var parameters = new[]
+ {
+ new SugarParameter("@pi_orgId", orgId),
+ new SugarParameter("@inP1", null),
+ new SugarParameter("@inP2", null),
+ new SugarParameter("@inP3", null),
+ new SugarParameter("@inP4", null)
+ };
+ try
+ {
+ // 杩斿洖鍗曞彿瀛楃涓插垪琛℅et_Qt_ck_List
+ var list = Db.Ado.SqlQuery<string>(
+ "EXEC prc_pda_dbck_list @pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters);
+ return list;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception($"{ex.Message}");
+ }
}
/// <summary>
@@ -54,7 +53,61 @@
/// </summary>
/// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
/// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
- public ProductionPickDto GetTransferOutDetailListByBillNo(
+ public dynamic GetTransferOutDetailListByBillNo(WarehouseQuery query, dynamic RequestInfo)
+ {
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊崟鎹彿锛�");
+
+ if (query == null)
+ throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓簄ull");
+
+ if (string.IsNullOrEmpty(query.billNo?.ToString()))
+ throw new ArgumentException("鍗曟嵁鍙蜂笉鑳戒负绌�", nameof(query.billNo));
+
+ var orgId = RequestInfo.OrgId;
+
+ if (orgId == null)
+ throw new Exception("缁勭粐涓嶅瓨鍦紒");
+
+ // 鑾峰彇鏈畬鎴愮殑鍙戣揣閫氱煡鍗曟槑缁�
+ var parameters = new[]
+{
+ new SugarParameter("@billNo", query.billNo),
+ new SugarParameter("@pi_orgId",orgId),
+ new SugarParameter("@inP1", null),
+ new SugarParameter("@inP2", null),
+ new SugarParameter("@inP3", null),
+ new SugarParameter("@inP4", null)
+ };
+ try
+ {
+ List<dynamic>? blDetails = Db.Ado.SqlQuery<dynamic>(
+ "EXEC prc_pda_dbck_detailList @billNo,@pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters);
+ var items = blDetails.Where(x => x.DSQty > 0).ToList(); // 寰呮壂鐗╂枡
+ var ysitems = blDetails.Where(x => x.SQty > 0).ToList(); // 宸叉壂鐗╂枡
+
+ return new
+ {
+ //tbBillList = result,
+ blDetails = blDetails.Where(x => x.DSQty > 0).ToList(),
+ ysDetails = blDetails.Where(x => x.SQty > 0).ToList(),
+ Count = items.Count + ysitems.Count
+ };
+ }
+ catch (Exception ex)
+ {
+ // 淇濈暀鍘熸湁寮傚父澶勭悊閫昏緫
+ throw new Exception($"{ex.Message}");
+ }
+ }
+
+
+ /// <summary>
+ /// 鏍规嵁鍗曟嵁鍙疯幏鍙栧緟澶勭悊鐨勮皟鎷ㄥ嚭搴撴槑缁嗗垪琛�
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
+ /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
+ public ProductionPickDto GetTransferInDetailListByBillNo(
WarehouseQuery query)
{
if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璋冩嫧鍗曞彿涓虹┖");
@@ -65,7 +118,7 @@
if (dbck.Count < 1) throw new Exception("璋冩嫧鍗曞彿涓嶅瓨鍦ㄦ垨鏈鏍革紒");
- var sql2 = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.FQty FQty,b.SQty SQty,b.FQty - b.SQty DSQty ,
+ var sql2 = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.FQty FQty,b.SQty SQty,b.RQty RQty,b.SQty - b.RQty DSQty ,
dbo.F_QX_GETRECODEPOTSE(B.FMATERIALID,'','','') as RecoKw
FROM MES_DBCK_DETAIL B
LEFT JOIN MES_DBCK A ON A.ID = B.pid
@@ -78,7 +131,7 @@
var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
- var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
+ var YS_list = womdabs.Where(s => s.RQty > 0).ToList();
//var p_bill_no = query.billNo;
@@ -270,14 +323,15 @@
.Where(x => x.ItemBarcode == p_item_barcode)
.First();
- // 楠岃瘉鍗曟嵁鍙�
- if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
- // 鏌ヨ鍑哄簱鍗曞苟楠岃瘉鐘舵��
- var transferOut = Db.Queryable<MesDbck>()
- .Where(x => x.FBillNo == p_bill_no && x.FApproveStatus == 1)
- .First();
- if (transferOut == null) throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
+ //// 楠岃瘉鍗曟嵁鍙�
+ //if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+
+ //// 鏌ヨ鍑哄簱鍗曞苟楠岃瘉鐘舵��
+ //var transferOut = Db.Queryable<MesDbck>()
+ // .Where(x => x.FBillNo == p_bill_no && x.FApproveStatus == 1)
+ // .First();
+ //if (transferOut == null) throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
// 鏌ヨ鏉$爜搴撳瓨淇℃伅骞堕獙璇�
var stock = Db.Queryable<MesDbckDetail>()
@@ -309,7 +363,7 @@
new("@outMsg", SqlDbType.NVarChar, 300),
new("@outSum", SqlDbType.NVarChar, 300),
new("@barcode_num", SqlDbType.NVarChar, 300),
- new("@split_num", SqlDbType.NVarChar, 300),
+ new("@outBillNo", SqlDbType.NVarChar, 300),
new("@c_user", query.userName),
new("@p_bill_no", p_bill_no),
new("@p_item_barcode", p_item_barcode),
@@ -326,14 +380,15 @@
_intSum = parameters[1].Value.ToString();
var barcodeNum = parameters[2].Value.ToString();
- var splitNum = parameters[3].Value.ToString();
+ var outBillNo = parameters[3].Value.ToString();
var result = Convert.ToInt32(_intSum);
if (result <= 0) throw new Exception(_strMsg);
query.itemNo = item.ItemNo;
query.Num = Convert.ToDecimal(barcodeNum);
- query.Fum = Convert.ToDecimal(splitNum);
+ //query.Fum = Convert.ToDecimal(splitNum);
+ query.billNo = outBillNo;
// 杩斿洖鏇存柊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏
return (query, GetDBCKDetal(query));
--
Gitblit v1.9.3