From 20dda69cad210c3b40d643e52ba1cbccec24b392 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期一, 14 七月 2025 15:23:32 +0800
Subject: [PATCH] 1.携客云获取送货单默认组织写死 2.采购入库优化
---
service/Warehouse/MesItemQtManager.cs | 95 +++++++++++++++++++++++++++--------------------
1 files changed, 54 insertions(+), 41 deletions(-)
diff --git a/service/Warehouse/MesItemQtManager.cs b/service/Warehouse/MesItemQtManager.cs
index 9cec852..50c0199 100644
--- a/service/Warehouse/MesItemQtManager.cs
+++ b/service/Warehouse/MesItemQtManager.cs
@@ -1,6 +1,7 @@
锘縰sing NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
+using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using SqlSugar;
@@ -15,12 +16,15 @@
/// <returns>閫�鏂欏崟鍙峰垪琛�</returns>
public List<string> GetPendingQtList()
{
- return Db.Queryable<MesItemQt>()
- .Where(it =>
- (it.Qt015 ?? false) == true && (it.Qt014 ?? false) == false)
- .OrderByDescending(it => it.Qtck)
- .Select(it => it.Qtck)
- .ToList();
+ const string sql = @"SELECT qtck
+ FROM MES_ITEM_QT
+ WHERE qt015 = 1
+ AND qt026 = 1
+ AND QT029 = 1
+ AND qt032 = 1
+ AND QT014 = 0 ";
+
+ return Db.Ado.SqlQuery<string>(sql);
}
/// <summary>
@@ -28,7 +32,7 @@
/// </summary>
/// <param name="query">浠撳簱鏌ヨ鍙傛暟锛屽寘鍚敤鎴峰悕鍜屽崟鎹彿</param>
/// <returns>寰呭鐞嗙殑閫�鏂欏崟鏄庣粏鍒楄〃</returns>
- public List<MesItemQtDatall> GetPendingQtList(WarehouseQuery query)
+ public ProductionPickDto GetPendingQtList(WarehouseQuery query)
{
// 浠庢煡璇㈠弬鏁颁腑鑾峰彇鐢ㄦ埛鍚嶅拰鍗曟嵁鍙�
var c_User = query.userName;
@@ -42,41 +46,45 @@
// 濡傛灉鏈壘鍒伴��鏂欏崟锛屾姏鍑哄紓甯�
if (mesItemQt == null) throw new Exception($"鏈煡璇㈠埌姝ゅ叾浠栧叆搴撶敵璇峰崟 {p_bill_no}");
- // 妫�鏌ラ��鏂欏崟鐨勫鏍哥姸鎬�(Qt015)锛屾湭瀹℃牳鍒欐姏鍑哄紓甯�
- if (mesItemQt.Qt015 == false)
- throw new Exception($"鍏朵粬鍑哄簱鐢宠鍗� {p_bill_no} 鏈鏍革紝璇风‘璁わ紒");
+ //// 妫�鏌ラ��鏂欏崟鐨勫鏍哥姸鎬�(Qt015)锛屾湭瀹℃牳鍒欐姏鍑哄紓甯�
+ //if (mesItemQt.Qt015 == false)
+ // throw new Exception($"鍏朵粬鍑哄簱鐢宠鍗� {p_bill_no} 鏈鏍革紝璇风‘璁わ紒");
// 妫�鏌ラ��鏂欏崟鐨勫畬缁撶姸鎬�(Qt014)锛屽凡瀹岀粨鍒欐姏鍑哄紓甯�
if (mesItemQt.Qt014 == true)
throw new Exception($"鍏朵粬鍑哄簱鐢宠鍗� {p_bill_no} 宸插畬缁擄紝璇风‘璁わ紒");
- // 鑱旇〃鏌ヨ鑾峰彇鏈畬鎴愮殑鏄庣粏鍒楄〃
- // 鍏宠仈琛細
- // - MesItemQt: 閫�鏂欏崟涓昏〃(a)
- // - MesItemQtDatall: 閫�鏂欏崟鏄庣粏琛�(b)
- // - MesItems: 鐗╂枡鍩虹淇℃伅琛�(c)
- var pendingList = Db.Queryable<MesItemQt, MesItemQtDatall, MesItems>(
- (a, b, c) =>
- new JoinQueryInfos(
- JoinType.Left, a.Guid == b.QtGuid, // 涓昏〃鍜屾槑缁嗚〃閫氳繃Guid鍏宠仈
- JoinType.Left,
- b.ItemId == c.Id.ToString())) // 鏄庣粏琛ㄥ拰鐗╂枡琛ㄩ�氳繃ItemId鍏宠仈
- .Where((a, b, c) =>
- a.Qtck == p_bill_no && // 鍖归厤鍗曟嵁鍙�
- (b.Qd007 ?? 0) - (b.Qd008 ?? 0) >
- 0) // 璁″垝鏁伴噺鍑忓幓宸插畬鎴愭暟閲忓ぇ浜�0鐨勮褰�(鍗虫湭瀹屾垚鐨勮褰�)
- .OrderBy((a, b, c) => c.ItemNo) // 鎸夌墿鏂欑紪鍙锋帓搴�
- .Select((a, b, c) => new MesItemQtDatall
- {
- Qd002 = b.Qd002, // 鏄庣粏琛屽彿
- Qt011 = a.Qt011, // 閫�鏂欏師鍥�
- ItemNo = c.ItemNo, // 鐗╂枡缂栧彿
- Qd007 = b.Qd007 ?? 0, // 璁″垝鏁伴噺
- Qd008 = b.Qd008 ?? 0 // 宸插畬鎴愭暟閲�
- })
- .ToList();
+ var sql = @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,
+ ISNULL(A.qd007,0) FQty,ISNULL(A.qd008,0) SQty,ISNULL(A.qd007,0) - ISNULL(A.qd008,0) DSQty,
+ dbo.F_QX_GETRECODEPOTSE(A.itemId,'','','') as RecoKw
+ FROM MES_ITEM_QT_DATALL A
+ LEFT JOIN MES_ITEM_QT B ON A.qtGuid = B.guid
+ LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id
+ WHERE B.qtck = @billNo AND (qt015 = 1 AND qt026 =1 AND QT029 = 1 AND qt032 = 1)";
- return pendingList;
+ var sqlParams = new List<SugarParameter> {
+ new("@billNo", query.billNo)
+ };
+
+ var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql, sqlParams);
+
+ // 妫�鏌ラ��鏂欏崟鐨勫畬缁撶姸鎬�(Qt014)锛屽凡瀹岀粨鍒欐姏鍑哄紓甯�
+ if (womdabs.Count < 1)
+ throw new Exception($"璇ュ叾浠栧嚭搴撶敵璇峰崟 {p_bill_no} 鏈叏閮ㄥ鏍革紝璇风‘璁わ紒");
+
+ var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
+
+ var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
+
+ var dto = new ProductionPickDto
+ {
+ //daa001 = womdaa.Daa001,
+ //PlanNo = womcaa.Caa020,
+ items = DS_list,
+ Ysitems = YS_list
+ };
+
+ return dto;
}
public (WarehouseQuery form, List<MesItemQtDatall> item, string message)
@@ -135,7 +143,7 @@
// 鑾峰彇鍏朵粬鍑哄簱鍗曚俊鎭�
var mesItemQt = Db.Queryable<MesItemQt>()
- .Where(it => it.Qtck == p_bill_no)
+ .Where(it => it.Qtck == p_bill_no && it.Qt015 == true && it.Qt026 == true && it.Qt029 == true && it.Qt032 == true)
.First();
if (mesItemQt == null)
@@ -235,8 +243,8 @@
BillTypeId = p_bill_type_id,
TransactionNo = p_transaction_no,
DepotCode = stock.DepotsCode,
- DepotId = stock.DepotsId.HasValue
- ? (int)stock.DepotsId
+ DepotId = stock.DepotId.HasValue
+ ? (int)stock.DepotId
: null,
OutPart = mesItemQt.Qt012,
FType = 0,
@@ -330,8 +338,8 @@
LastupdateBy = c_user,
LastupdateDate = DateTime.Now,
DepotCode = stock.DepotsCode,
- DepotId = stock.DepotsId.HasValue
- ? (int)stock.DepotsId
+ DepotId = stock.DepotId.HasValue
+ ? (int)stock.DepotId
: null,
// DepotsCode = stock.DepotsCode,
// DepotSectionsCode = stock.DepotSectionsCode,
@@ -435,6 +443,11 @@
query.Num = stock.Quantity;
query.Fum = null;
+ // 鍒涘缓 鎻掑叆鏃ュ織
+ var logService = new LogService();
+ var LogMsg = "銆怭DA銆戝叾浠栧嚭搴撱�傛潯鐮併��" + query.barcode + "銆戞暟閲忋��"+ stock.Quantity.ToString() + "銆� 鍑哄簱鍗曞彿銆�" + outNo + "銆�";
+ logService.CreateLog(db, query.userName, mesItemQt.Guid.ToString(), "MES_ITEM_QT", LogMsg, mesItemQt.Qtck);
+
if (commit < 5) throw new Exception("鏇存柊澶辫触");
return commit;
--
Gitblit v1.9.3