From 279ed1a051d4c2819509d75b8ee68d74ad2fe935 Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期二, 18 十一月 2025 10:13:19 +0800
Subject: [PATCH] agv呼叫选了产线就获取点位
---
service/Wom/WomdaaManager.cs | 191 ++++++++++++++++++++++++++---------------------
1 files changed, 107 insertions(+), 84 deletions(-)
diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs
index d6f50d5..c516c2d 100644
--- a/service/Wom/WomdaaManager.cs
+++ b/service/Wom/WomdaaManager.cs
@@ -2,6 +2,7 @@
using System.Data.SqlClient;
using System.Text;
using Masuit.Tools;
+using Masuit.Tools.Hardware;
using Microsoft.SqlServer.Server;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
@@ -49,31 +50,31 @@
{
new SugarParameter("@daa001", query.daa001),
new SugarParameter("@pi_orgId",orgId),
- new SugarParameter("@inP1", null),
+ new SugarParameter("@inP1", query.userName),
new SugarParameter("@inP2", null),
new SugarParameter("@inP3", null),
new SugarParameter("@inP4", null)
};
- var womdabs = Db.Ado.SqlQuery<ItemDetailModel>("EXEC prc_pda_scll_detailList @daa001", parameters);
+ var womdabs = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_scll_detailList @daa001,@pi_orgId,@inP1", parameters);
var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
// 淇锛氳ˉ鍏呰幏鍙� womdaa 瀵硅薄
var daa001Value = query.daa001?.ToString();
- var womdaa = Db.Queryable<Womdaa>().Where(s => s.Daa001 == daa001Value).First();
+ var womdaa = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getDaaInfo @daa001", parameters).First();
- var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid).First();
-
- if (womcaa == null)
+ if (womdaa == null)
{
- throw new Exception("鐢熶骇浠诲姟鍗曚笉瀛樺湪");
+ throw new Exception("璇ュ伐鍗曚俊鎭笉瀛樺湪锛岃鏍稿锛�");
}
- var dto = new ProductionPickDto
+ var dto = new
{
daa001 = query.daa001,
- PlanNo = womcaa.Caa020,
+ daaInfo = womdaa,
+ PlanNo = womdaa.workNo,
+ startTime = womdaa.startTime,
items = DS_list,
Ysitems = YS_list
};
@@ -396,6 +397,37 @@
}
+ /// <summary>
+ /// 鑾峰彇鐗╂枡鐩稿叧鏉$爜淇℃伅
+ /// </summary>
+ /// <param name="unity"></param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ public dynamic GetBarKwByItemCK(dynamic unity)
+ {
+ if (unity == null)
+ throw new ArgumentNullException(nameof(unity), "鍙傛暟瀵硅薄涓嶈兘涓簄ull");
+
+ if (string.IsNullOrEmpty(unity.itemId?.ToString()))
+ throw new ArgumentException("鐗╂枡ID涓嶈兘涓虹┖", nameof(unity.itemId));
+
+ try
+ {
+ var parameters = new List<SugarParameter>
+ {
+ new SugarParameter("@itemId", unity.itemId),
+ new SugarParameter("@inP1", unity.type),
+ new SugarParameter("@inP2", unity.billNo)
+ };
+
+ return Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_scll_selBarMx @itemId,@inP1,@inP2", parameters);
+ }
+ catch (Exception ex)
+ {
+ throw new Exception($"鑾峰彇鏉$爜淇℃伅澶辫触锛歿ex.Message}");
+ }
+
+ }
public dynamic ProductBinding(dynamic query)
{
@@ -468,26 +500,37 @@
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
- public dynamic getKbBarInfo(dynamic query)
+public dynamic getKbBarInfo(dynamic query)
+{
+ if (string.IsNullOrEmpty(query.Kbbarcode?.ToString()))
+ throw new ArgumentException("鍗℃澘鏉$爜涓嶅厑璁镐负绌�", nameof(query.Kbbarcode));
+
+ var parameters = new[]
{
- if (string.IsNullOrEmpty(query.Kbbarcode?.ToString()))
- throw new ArgumentException("鍗℃澘鏉$爜涓嶅厑璁镐负绌�", nameof(query.userName));
-
- var sql = string.Format(@"SELECT QUANTITY,
- ISNULL((SELECT COUNT(1) FROM MES_INV_ITEM_BARCODES_TBMX WHERE ABOUT_TB_BARCODE = '{0}'), 0) AS YSum,
- DAA001
-FROM MES_INV_ITEM_BARCODES A LEFT JOIN WOMDAA B ON A.ABOUT_GUID = B.guid
-WHERE ITEM_BARCODE = '{0}' ", query.Kbbarcode);
-
- var ZsBarInfo = Db.Ado.SqlQuery<dynamic>(sql);
-
+ new SugarParameter("@pi_kbbarcode", query.Kbbarcode),
+ new SugarParameter("@inP1", null),
+ new SugarParameter("@inP2", null),
+ new SugarParameter("@inP3", null),
+ new SugarParameter("@inP4", null)
+ };
+
+ try
+ {
+ var ZsBarInfo = Db.Ado.SqlQuery<dynamic>(
+ "EXEC prc_pda_getKbBarInfo @pi_kbbarcode,@inP1,@inP2,@inP3,@inP4", parameters);
+
if (ZsBarInfo.Count < 1)
{
- throw new Exception($"璇ュ崱鏉跨爜{query.Zsbarcode}涓嶅瓨鍦紒");
+ throw new Exception($"璇ュ崱鏉跨爜{query.Kbbarcode}涓嶅瓨鍦紒");
}
-
+
return ZsBarInfo;
}
+ catch (Exception ex)
+ {
+ throw new Exception($"{ex.Message}");
+ }
+}
/// <summary>
/// 鑾峰彇鍗℃澘鏄庣粏淇℃伅
@@ -754,7 +797,7 @@
//鏍规嵁宸ュ崟鍙疯繑鍥炰骇鍝佸瀷鍙峰拰寰呴鐗╂枡
- public XcslResultDto GetItemsXcsl(WarehouseQuery query)
+ public dynamic GetItemsXcsl(WarehouseQuery query)
{
if (string.IsNullOrEmpty(query.daa001)) throw new Exception("宸ュ崟鍙蜂负绌�");
@@ -773,73 +816,49 @@
if (womdaa?.Daa001 == null) throw new Exception("宸ュ崟鍙蜂笉瀛樺湪");
- // 浣跨敤鍙傛暟鍖栨煡璇㈤槻姝QL娉ㄥ叆
- var sqlParams = new List<SugarParameter> { new("@daa001", query.daa001) };
+ if (womdaa?.Daa001 == null) throw new Exception("宸ュ崟鍙蜂笉瀛樺湪");
- var sql1 = @"SELECT A.item_out_no,
- SUM(B.QUANTITY) AS BL_Num,
- ISNULL(Sub.JS_Sum, 0) AS JS_Num, -- 浣跨敤LEFT JOIN瀛愭煡璇㈢殑缁撴灉
- C.item_no,
- C.item_name,
- C.item_model,
- D.USER_NAME
-FROM MES_INV_ITEM_OUTS A
- LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
- LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
- LEFT JOIN SYS_USER D ON A.create_by = D.ACCOUNT
--- 鏂板LEFT JOIN鑱氬悎瀛愭煡璇�
- LEFT JOIN (SELECT B1.ITEM_ID,
- SUM(B1.QUANTITY) AS JS_Sum
- FROM MES_INV_ITEM_OUTS A1
- LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B1 ON A1.GUID = B1.ITEM_OUT_ID
- WHERE A1.out_type = '鐢熶骇棰嗘枡'
- AND A1.task_no = @daa001
- AND ISNULL(B1.IS_XCSL, '0') = 1
- GROUP BY B1.ITEM_ID -- 鎸塈TEM_ID鎻愬墠鑱氬悎
-) AS Sub ON Sub.ITEM_ID = C.item_id
-WHERE A.out_type = '鐢熶骇棰嗘枡'
- AND A.task_no = @daa001
-GROUP BY A.item_out_no,
- C.item_no,
- C.item_name,
- C.item_model,
- D.USER_NAME,
- C.item_id,
- ISNULL(Sub.JS_Sum, 0);";
+ // 浣跨敤ADO.NET鐩存帴璋冪敤瀛樺偍杩囩▼
+ var ds = new DataSet();
- var XcslItem = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams);
+ // 鍋囪鎮ㄤ娇鐢ㄧ殑鏄疭QL Server锛屽垱寤篠qlConnection
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ conn.Open();
- var sql2 = @"SELECT B.ITEM_BARCODE ,B.QUANTITY,C.item_no,C.item_name,D.USER_NAME,A.create_date
-FROM MES_INV_ITEM_OUTS A
-LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
-LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
-LEFT JOIN SYS_USER D ON A.create_by = D.ACCOUNT
-WHERE out_type = '鐢熶骇棰嗘枡'
-AND A.task_no = @daa001
-AND ISNULL(IS_XCSL,'0') = 0";
+ using (var cmd = new SqlCommand("prc_pda_xcsl_detailList", conn))
+ {
+ cmd.CommandType = CommandType.StoredProcedure;
- var XcslWjsBar = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams);
+ // 娣诲姞鍙傛暟
+ cmd.Parameters.Add(new SqlParameter("@daa001", query.daa001));
+ cmd.Parameters.Add(new SqlParameter("@pi_orgId", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP1", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP2", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
+ cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
- var sql3 = @"SELECT B.ITEM_BARCODE ,B.QUANTITY,C.item_no,C.item_name,D.USER_NAME,B.XCSL_CREATE_DATE
-FROM MES_INV_ITEM_OUTS A
-LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
-LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
-LEFT JOIN SYS_USER D ON B.XCSL_CREATE_BY = D.ACCOUNT
-WHERE out_type = '鐢熶骇棰嗘枡'
-AND A.task_no = @daa001
-AND ISNULL(IS_XCSL,'0') = 1";
+ using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
+ {
+ adapter.Fill(ds);
+ }
+ }
+ }
- var XcslYjsBar = Db.Ado.SqlQuery<dynamic>(sql3, sqlParams);
+ // 杞崲缁撴灉
+ var XcslItem = Db.Utilities.DataTableToDynamic(ds.Tables[0]);
+ var XcslWjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[1]);
+ var XcslYjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[2]);
+ var daaInfo = Db.Utilities.DataTableToDynamic(ds.Tables[3]);
-
- var dto = new XcslResultDto
+ var dto = new
{
GD_Num = womdaa.Daa008,
workNo = womdaa.Daa021,
XcslItemList = XcslItem,
XcslWjsBarList = XcslWjsBar,
- XcslYjsBarList = XcslYjsBar
-
+ XcslYjsBarList = XcslYjsBar,
+ DaaInfoList = daaInfo
};
return dto;
@@ -1012,11 +1031,13 @@
{
new SugarParameter("@selectKey", unity.selectKey),
new SugarParameter("@inP1", orgId), // 鍙�夊弬鏁�
- new SugarParameter("@inP2", null), // 鍙�夊弬鏁�
+ new SugarParameter("@inP2", unity.selDaaType), // 鍙�夊弬鏁�
+ new SugarParameter("@inP3", null), // 鍙�夊弬鏁�
+ new SugarParameter("@inP4", null), // 鍙�夊弬鏁�
// ...鍏朵粬鍙�夊弬鏁�
};
- var result = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getWorkOrderInfo @selectKey, @inP1, @inP2", parameters);
+ var result = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getWorkOrderInfo @selectKey, @inP1, @inP2, @inP3, @inP4", parameters);
return result;
@@ -1402,7 +1423,7 @@
var sqlParams = new List<SugarParameter> { };
var sql2 = new StringBuilder(@"
-SELECT NAME,line_no FROM MES_WORKSHOP_LINE WHERE isAgv = 1 ORDER BY line_no");
+SELECT NAME,line_no,agvPostion FROM MES_WORKSHOP_LINE WHERE isAgv = 1 ORDER BY line_no");
var XtItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams);
@@ -1442,6 +1463,7 @@
{
new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userAccount },
new("@pi_kb_barcode", SqlDbType.NVarChar, 100) { Value = query.KbBar },
+ new("@in1", SqlDbType.NVarChar, 100) { Value = query.AgvDw },
new("@outMsg", SqlDbType.NVarChar, 2500) { Direction = ParameterDirection.Output },
new("@outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }
};
@@ -1452,8 +1474,8 @@
var result = new
{
- message = parameters[2].Value?.ToString(),
- status = Convert.ToInt32(parameters[3].Value)
+ message = parameters[3].Value?.ToString(),
+ status = Convert.ToInt32(parameters[4].Value)
};
if (result.status <= 0)
@@ -1483,6 +1505,7 @@
{
new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userAccount },
new("@pi_xtNum", SqlDbType.NVarChar, 100) { Value = query.XtNum },
+ new("@in1", SqlDbType.NVarChar, 100) { Value = query.AgvDw },
new("@outMsg", SqlDbType.NVarChar, 2500) { Direction = ParameterDirection.Output },
new("@outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }
};
--
Gitblit v1.9.3