From 8f28ca63dde584e5fefe51a07e69fd9b1af76fd2 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期一, 09 六月 2025 12:28:27 +0800
Subject: [PATCH] 1.生产补料/超领优化 2.委外补料/超领优化 3.巡检检验新增工单查询选择 4.巡检优化新增时间段字段
---
service/Warehouse/MesItemBlManager.cs | 69 ++++++++++++++++++++++
service/QC/IpqcService.cs | 32 ++++++++++
service/Wom/WwGdManager.cs | 4
Controllers/Warehouse/MesItemBlController.cs | 36 ++++++++++++
entity/VIpqcXj.cs | 12 ++++
Controllers/QC/IpqcController.cs | 27 ++++++++
6 files changed, 176 insertions(+), 4 deletions(-)
diff --git a/Controllers/QC/IpqcController.cs b/Controllers/QC/IpqcController.cs
index ed93146..5d5eb0d 100644
--- a/Controllers/QC/IpqcController.cs
+++ b/Controllers/QC/IpqcController.cs
@@ -323,5 +323,30 @@
}
}
-
+
+ /// <summary>
+ /// 鐜板満鏀舵枡鑾峰彇鍙�夊伐鍗曚俊鎭�
+ /// </summary>
+ /// <param name="query"></param>
+ /// <returns></returns>
+ [HttpPost("GetIpqcXjDaa")]
+ public ResponseResult GetIpqcXjDaa([FromBody] dynamic query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetIpqcXjDaa(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
}
\ No newline at end of file
diff --git a/Controllers/Warehouse/MesItemBlController.cs b/Controllers/Warehouse/MesItemBlController.cs
index 2800b1f..ee7123a 100644
--- a/Controllers/Warehouse/MesItemBlController.cs
+++ b/Controllers/Warehouse/MesItemBlController.cs
@@ -459,5 +459,41 @@
}
}
+
+ /// <summary>
+ /// 鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁�
+ /// </summary>
+ /// <param name="query">鏌ヨ鍙傛暟锛屽繀椤诲寘鍚玝illNo</param>
+ /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns>
+ /// <remarks>
+ /// 璇锋眰绀轰緥:
+ /// POST /api/MesItemBl/GetMesItemBlDetailByBillNo
+ /// {
+ /// "billNo": "BL202401010001"
+ /// }
+ /// </remarks>
+ /// <response code="200">鎴愬姛鑾峰彇琛ユ枡鍗曟槑缁�</response>
+ /// <response code="400">鑾峰彇澶辫触锛屽彲鑳芥槸鍗曟嵁鍙蜂笉瀛樺湪鎴栧凡瀹屾垚</response>
+ [HttpPost("GetMesItemWWBlDetailByBillNo")]
+ public ResponseResult GetMesItemWWBlDetailByBillNo(
+ [FromBody] WarehouseQuery query)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = _manager.GetMesItemWWBlDetailByBillNo(query);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
#endregion
}
\ No newline at end of file
diff --git a/entity/VIpqcXj.cs b/entity/VIpqcXj.cs
index 8fc4c7a..e22fbd5 100644
--- a/entity/VIpqcXj.cs
+++ b/entity/VIpqcXj.cs
@@ -157,4 +157,16 @@
/// </summary>
[SugarColumn(ColumnName = "CREATE_DATE")]
public string CreateDate { get; set; }
+
+ /// <summary>
+ /// 浜х嚎id
+ /// </summary>
+ [SugarColumn(ColumnName = "line_id")]
+ public string lineId { get; set; }
+
+ /// <summary>
+ /// 鏃堕棿娈�
+ /// </summary>
+ [SugarColumn(ColumnName = "check_time_slot")]
+ public string checkTimeSlot { get; set; }
}
\ No newline at end of file
diff --git a/service/QC/IpqcService.cs b/service/QC/IpqcService.cs
index 8964b18..d6c87f0 100644
--- a/service/QC/IpqcService.cs
+++ b/service/QC/IpqcService.cs
@@ -7,6 +7,7 @@
using SqlSugar;
using System.Data;
using System.Data.SqlClient;
+using System.Text;
using static Azure.Core.HttpHeader;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
@@ -152,6 +153,7 @@
a => a.Guid == parsedGuid.ToString())
.Where(a => (a.FSubmit ?? 0) == 0)
.OrderByDescending(a => a.CreateDate)
+ .OrderBy(a => a.checkTimeSlot)
.ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
return (pageList, totalCount);
@@ -337,4 +339,34 @@
return Db.Ado.ExecuteCommand(sql, sqlParams);
}
+
+
+ public dynamic GetIpqcXjDaa(dynamic unity)
+ {
+
+ var sqlParams = new List<SugarParameter> { };
+ sqlParams.Add(new("@xt", unity.xt));
+
+ var sql2 = new StringBuilder(@"
+ SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021
+ FROM WOMDAA
+ WHERE DAA015 = @xt AND daa018 NOT IN ('W:瀹屽伐', 'D:寰呭紑宸�')");
+
+ if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString()))
+ {
+ sqlParams.Add(new("@selectKey", unity.selectKey));
+ sql2.Append(@"
+ AND (DAA001 LIKE '%' + @selectKey + '%'
+ OR DAA021 LIKE '%' + @selectKey + '%')");
+ }
+
+ var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams);
+
+ if (XcslItem == null)
+ {
+ throw new Exception("璇ユ潯浠朵笅鏃犲搴斿伐鍗曚俊鎭紝璇烽噸鏂拌緭鍏ワ紒");
+ }
+
+ return XcslItem;
+ }
}
\ No newline at end of file
diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
index 762d934..0f0b52d 100644
--- a/service/Warehouse/MesItemBlManager.cs
+++ b/service/Warehouse/MesItemBlManager.cs
@@ -323,7 +323,7 @@
ErpAutoid = womdab.Erpid,
PbillNo = query.billNo,
ItemId = blDetail.Bld012,
- DepotId = stockBarcode.DepotsId.ToString(),
+ DepotId = stockBarcode.DepotId.ToString(),
ItemDabid = blDetail.Id,
// Unit = blDetail.Bld009,
// DepotId = (int)stockBarcode.DepotsId
@@ -1815,5 +1815,72 @@
return (true, pendingList);
}
+
+ /// <summary>
+ /// 鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁� prc_rf_pda_scan_zout_showbl
+ /// </summary>
+ /// <param name="billNo">琛ユ枡鍗曞彿</param>
+ /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns>
+ public ProductionPickDto
+ GetMesItemWWBlDetailByBillNo(
+ WarehouseQuery query)
+ {
+ if (string.IsNullOrEmpty(query.billNo))
+ throw new Exception("璇烽�夊崟鎹彿锛�");
+
+ // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷
+ var mesItemBl = Db.Queryable<MesItemBl>()
+ .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true)
+ .First();
+
+ if (mesItemBl == null)
+ throw new Exception("鍗曟嵁鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛�");
+
+ //if (mesItemBl.Bl019 == true)
+ // throw new Exception("鍗曟嵁鍙峰凡瀹屾垚锛�");
+
+ //// 鑾峰彇鏈畬鎴愮殑琛ユ枡鍗曟槑缁�
+ //var blDetails = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+ // new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+ // .Where((a, b) => a.BlNo == query.billNo
+ // && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+ // .Select((a, b) => new MesItemBlDetail
+ // {
+ // Bld012 = b.Bld012,
+ // Bld002 = b.Bld002,
+ // Bld003 = b.Bld003,
+ // Bld004 = b.Bld004,
+ // Bld007 = b.Bld007,
+ // Bld008 = b.Bld008
+ // })
+ // .ToList();
+
+ //return (mesItemBl.Bl001, blDetails);
+ var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty,
+ dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001
+fROM MES_ITEM_BL_DETAIL A
+ LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID
+ LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50))
+ LEFT JOIN WW_GD D ON B.about_guid = D.ID
+WHERE B.bl_no = '{0}'", query.billNo);
+
+ var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql);
+
+
+ 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 = womdabs[0].DAA001,
+ //PlanNo = womcaa.Caa020,
+ items = DS_list,
+ Ysitems = YS_list
+ };
+
+ return dto;
+ }
+
#endregion
}
\ No newline at end of file
diff --git a/service/Wom/WwGdManager.cs b/service/Wom/WwGdManager.cs
index 09de0e9..777d7dc 100644
--- a/service/Wom/WwGdManager.cs
+++ b/service/Wom/WwGdManager.cs
@@ -939,7 +939,7 @@
ErpAutoid = womdab.Erpid,
PbillNo = query.billNo,
ItemId = blDetail.Bld012,
- DepotId = stockBarcode.DepotsId.ToString(),
+ DepotId = stockBarcode.DepotId.ToString(),
ItemDabid = blDetail.Id,
//AboutGuid = womdab.Id
// Unit = blDetail.Bld009,
@@ -1071,7 +1071,7 @@
// 鍒涘缓 鎻掑叆鏃ュ織
var logService = new LogService();
- var LogMsg = "[PDA]"+query.Type + "銆傛潯鐮併��" +query.barcode+"銆� 鍑哄簱鍗曞彿銆�"+ outNo +"銆�";
+ var LogMsg = "[PDA]"+query.Type + "銆傛潯鐮併��" +query.barcode+"銆� 鏁伴噺銆�"+ stockBarcode.Quantity.ToString() + "銆� 鍑哄簱鍗曞彿銆�"+ outNo +"銆�";
logService.CreateLog(db,query.userName,wwgd.Id.ToString(), "WW_GD", LogMsg,wwgd.Daa001);
return 1;
--
Gitblit v1.9.3