From e286264a833fe52862690ad06d72ad04df5c77dc Mon Sep 17 00:00:00 2001
From: huawei <huawei@2214094776>
Date: 星期三, 17 十二月 2025 16:06:20 +0800
Subject: [PATCH] 看板功能
---
service/Warehouse/TransferOutManager.cs | 101 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 99 insertions(+), 2 deletions(-)
diff --git a/service/Warehouse/TransferOutManager.cs b/service/Warehouse/TransferOutManager.cs
index abee822..946dc6c 100644
--- a/service/Warehouse/TransferOutManager.cs
+++ b/service/Warehouse/TransferOutManager.cs
@@ -232,7 +232,8 @@
// 鏌ヨ鏉$爜搴撳瓨淇℃伅骞堕獙璇�
var stock = Db.Queryable<MesInvItemStocks>()
- .Where(x => x.ItemBarcode == p_item_barcode
+ .LeftJoin<MesInvItemBarcodes>((stocks, items) => stocks.ItemBarcode == items.ItemBarcode)
+ .Where((x,b) => (x.ItemBarcode == p_item_barcode || b.ItemBarcodeTb == p_item_barcode)
&& x.Quantity > 0)
.First();
if (stock == null) throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒{p_item_barcode}");
@@ -427,7 +428,8 @@
var p_item_barcode = query.barcode;
var barinfo = Db.Queryable<MesInvItemStocks>()
- .Where(x => x.ItemBarcode == p_item_barcode)
+ .LeftJoin<MesInvItemBarcodes>((stocks, items) => stocks.ItemBarcode == items.ItemBarcode)
+ .Where((x, b) => (x.ItemBarcode == p_item_barcode || b.ItemBarcodeTb == p_item_barcode))
.First();
@@ -601,4 +603,99 @@
}
}
+ //涓�閿皟鎷ㄦ媶鍒�
+ public ProductionPickDto ScanYjdbCF(WarehouseQuery query)
+ {
+ // 瀹夊叏鑾峰彇dynamic灞炴�у�硷紝閬垮厤绌哄紩鐢ㄥ紓甯�
+ var p_bill_no = query.daa001?.ToString() ?? string.Empty;
+ var p_item_barcode = query.barcode?.ToString() ?? string.Empty;
+ var p_kw = query.sectionCode?.ToString() ?? string.Empty;
+ var c_user = query.userName?.ToString() ?? string.Empty;
+
+ // 楠岃瘉鍗曟嵁鍙�
+ if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
+ // 楠岃瘉鏉$爜
+ if (string.IsNullOrEmpty(p_item_barcode)) throw new Exception("璇锋壂鎻忔潯鐮侊紒");
+ // 楠岃瘉搴撲綅
+ if (string.IsNullOrEmpty(p_kw)) throw new Exception("璇烽�夋嫨搴撲綅锛�");
+ // 楠岃瘉鐢ㄦ埛鍚�
+ if (string.IsNullOrEmpty(c_user)) 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<MesInvItemStocks>()
+ .Where(x => x.ItemBarcode == p_item_barcode
+ && x.Quantity > 0)
+ .First();
+ if (stock == null) throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒{p_item_barcode}");
+
+ // 鏌ヨ鐗╂枡淇℃伅
+ var item = Db.Queryable<MesItems>()
+ .Where(x => x.Id == stock.ItemId)
+ .First();
+ if (item == null) throw new Exception("鏈壘鍒扮墿鏂�");
+
+ var _strMsg = "";
+ var _intSum = "";
+ var _cfBar = "";
+
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("[prc_pda_YJDB_CF]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 2000),
+ new("@outSum", SqlDbType.NVarChar, 300),
+ new("@outCfBar", SqlDbType.NVarChar, 300),
+ new("@c_User", c_user),
+ new("@p_biLL_no", p_bill_no),
+ new("@p_item_barcode", p_item_barcode),
+ new("@num", query.Num),
+ new("@p_kw", p_kw)
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ parameters[2].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ _strMsg = parameters[0].Value.ToString();
+ _intSum = parameters[1].Value.ToString();
+ _cfBar = parameters[2].Value.ToString();
+
+
+ var result = Convert.ToInt32(_intSum);
+ if (result <= 0) throw new Exception(_strMsg);
+
+ var dto = new ProductionPickDto
+ {
+ daa001 = query.daa001,
+ barcode = query.barcode,//鍘熸潯鐮�
+ cfBarcode = _cfBar//鎷嗗垎鍚庢潯鐮�
+ };
+
+ return dto;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3