From 5707781039b9d902ce1d2d6727fba65bbab14574 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期六, 13 九月 2025 17:02:06 +0800 Subject: [PATCH] 异常单回滚 --- WebApi/Gs.Wom/Service/WomdaaManager.cs | 462 +++++++++++++++++++++++++------------------------------- 1 files changed, 207 insertions(+), 255 deletions(-) diff --git a/WebApi/Gs.Wom/Service/WomdaaManager.cs b/WebApi/Gs.Wom/Service/WomdaaManager.cs index d380820..392b6de 100644 --- a/WebApi/Gs.Wom/Service/WomdaaManager.cs +++ b/WebApi/Gs.Wom/Service/WomdaaManager.cs @@ -1,21 +1,21 @@ -锘縰sing System.Data; -using System.Data.SqlClient; -using System.Dynamic; -using System.Text; -using Gs.Toolbox; +锘縰sing Gs.Toolbox; using Gs.Toolbox.ApiCore.Abstract.Mvc; using Gs.Toolbox.ApiCore.Common.Mvc; using Gs.Toolbox.ApiCore.Group; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; +using System.Data; +using System.Data.SqlClient; +using System.Dynamic; +using System.Text; using static Gs.Toolbox.UtilityHelper; namespace Gs.Wom.Service; [ApiGroup(ApiGroupNames.WOM)] -public class WomdaaManager :IRomteService +public class WomdaaManager : IRomteService { private readonly IHttpContextAccessor _http; @@ -127,10 +127,16 @@ m.list2 = _tb2; var _tb3 = dset.Tables[3].TableToDynamicList(); m.list3 = _tb3; - var _tb4= dset.Tables[4].TableToDynamicList(); + var _tb4 = dset.Tables[4].TableToDynamicList(); m.list4 = _tb4; var _tb5 = dset.Tables[5].TableToDynamicList(); m.list5 = _tb5; + var _tb6 = dset.Tables[6].TableToDynamicList(); + m.list6 = _tb6; + var _tb7 = dset.Tables[7].TableToDynamicList(); + m.list7 = _tb7; + var _tb8 = dset.Tables[8].TableToDynamicList(); + m.list8 = _tb8; } } catch (Exception ex) @@ -259,63 +265,65 @@ - ///// <summary> - ///// 澧炲姞鎴栫紪杈戝疄浣� - ///// </summary> - ///// <param name="model"></param> - ///// <returns></returns> - //[RequestMethod(RequestMethods.POST)] - //public ReturnDto<string?> EditModel([FromBody] dynamic model) - //{ - // Guid? guid = model.guid; //涓婚敭 - // string sjxt = model.sjxt; //宸ュ崟鍙� - // string bz = model.bz;//浠撳簱 - // var _outMsg = ""; - // var _outSum = -1; - // using (var conn = new SqlConnection(DbHelperSQL.strConn)) - // { - // using (var cmd = new SqlCommand("[prc_wom_daa_edt]", conn)) - // { - // try - // { - // conn.Open(); - // cmd.CommandType = CommandType.StoredProcedure; - // SqlParameter[] parameters = - // { - // new("@outMsg", SqlDbType.NVarChar, 300), - // new("@outSum", SqlDbType.Int), - // new("@inOrderGuid",UtilityHelper.CheckGuid(guid)? guid : DBNull.Value), - // new("@inSjxt", sjxt), - // new("@inBz", bz), - // new("@inEdtUserGuid", _userGuid), - // }; - // parameters[0].Direction = ParameterDirection.Output; - // parameters[1].Direction = ParameterDirection.Output; - // foreach (var parameter in parameters) - // cmd.Parameters.Add(parameter); - // cmd.ExecuteNonQuery(); - // _outMsg = parameters[0].Value.ToString(); - // _outSum = int.Parse(parameters[1].Value.ToString()); - // } - // catch (Exception ex) - // { - // LogHelper.Debug(ToString(), - // "prc_wom_daa_edt error锛�" + ex.Message); - // _outMsg = ex.Message; - // _outSum = -1; - // } - // finally - // { - // conn.Close(); - // } - // } - // } - // if (_outSum <= 0) - // return ReturnDto<string>.QuickReturn(guid.ToString(), - // ReturnCode.Exception, _outMsg); - // return ReturnDto<string>.QuickReturn(guid.ToString(), - // ReturnCode.Success, _outMsg); - //} + /// <summary> + /// 澧炲姞鎴栫紪杈戝疄浣� + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [RequestMethod(RequestMethods.POST)] + public ReturnDto<string?> EditModel([FromBody] dynamic model) + { + Guid? guid = model.guid; //涓婚敭 + string sjxt = model.sjxt; //宸ュ崟鍙� + string bz = model.bz; + string sclx = model.sclx; + var _outMsg = ""; + var _outSum = -1; + using (var conn = new SqlConnection(DbHelperSQL.strConn)) + { + using (var cmd = new SqlCommand("[prc_wom_daa_edt]", conn)) + { + try + { + conn.Open(); + cmd.CommandType = CommandType.StoredProcedure; + SqlParameter[] parameters = + { + new("@outMsg", SqlDbType.NVarChar, 300), + new("@outSum", SqlDbType.Int), + new("@inOrderGuid",UtilityHelper.CheckGuid(guid)? guid : DBNull.Value), + new("@inSjxt", sjxt), + new("@inBz", bz), + new("@inSclx", sclx), + new("@inEdtUserGuid", _userGuid), + }; + parameters[0].Direction = ParameterDirection.Output; + parameters[1].Direction = ParameterDirection.Output; + foreach (var parameter in parameters) + cmd.Parameters.Add(parameter); + cmd.ExecuteNonQuery(); + _outMsg = parameters[0].Value.ToString(); + _outSum = int.Parse(parameters[1].Value.ToString()); + } + catch (Exception ex) + { + LogHelper.Debug(ToString(), + "prc_wom_daa_edt error锛�" + ex.Message); + _outMsg = ex.Message; + _outSum = -1; + } + finally + { + conn.Close(); + } + } + } + if (_outSum <= 0) + return ReturnDto<string>.QuickReturn(guid.ToString(), + ReturnCode.Exception, _outMsg); + return ReturnDto<string>.QuickReturn(guid.ToString(), + ReturnCode.Success, _outMsg); + } /// <summary> @@ -470,58 +478,56 @@ /// </summary> /// <param name="model"></param> /// <returns></returns> - [RequestMethod(RequestMethods.POST)] - public ReturnDto<int?> DeleteBarcode([FromBody] dynamic model) - { - int? rtnInt = (int)ReturnCode.Default; - string mxGuid = model.mxGuid; - string inType = model.inType; - var _outMsg = ""; - var _outSum = -1; - using (var conn = new SqlConnection(DbHelperSQL.strConn)) - { - using (var cmd = new SqlCommand("[prc_wom_daatm_del]", conn)) - { - try - { - conn.Open(); - cmd.CommandType = CommandType.StoredProcedure; - SqlParameter[] parameters = - { - new("@outMsg", SqlDbType.NVarChar, 300), - new("@outSum", SqlDbType.Int), - new("@inEdtUserGuid", _userGuid), - new("@inMxGuid", mxGuid), - new("@inType", inType) - }; - parameters[0].Direction = ParameterDirection.Output; - parameters[1].Direction = ParameterDirection.Output; - foreach (var parameter in parameters) - cmd.Parameters.Add(parameter); - cmd.ExecuteNonQuery(); - _outMsg = parameters[0].Value.ToString(); - _outSum = int.Parse(parameters[1].Value.ToString()); - } - catch (Exception ex) - { - LogHelper.Debug(ToString(), - "prc_wom_daatm_del error锛�" + ex.Message); - _outMsg = ex.Message; - _outSum = -1; - } - finally - { - conn.Close(); - } - } - } - if (_outSum <= 0) - return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception, - _outMsg); - return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg); - } - - + //[RequestMethod(RequestMethods.POST)] + //public ReturnDto<int?> DeleteBarcode([FromBody] dynamic model) + //{ + // int? rtnInt = (int)ReturnCode.Default; + // string mxGuid = model.mxGuid; + // string inType = model.inType; + // var _outMsg = ""; + // var _outSum = -1; + // using (var conn = new SqlConnection(DbHelperSQL.strConn)) + // { + // using (var cmd = new SqlCommand("[prc_wom_daatm_del]", conn)) + // { + // try + // { + // conn.Open(); + // cmd.CommandType = CommandType.StoredProcedure; + // SqlParameter[] parameters = + // { + // new("@outMsg", SqlDbType.NVarChar, 300), + // new("@outSum", SqlDbType.Int), + // new("@inEdtUserGuid", _userGuid), + // new("@inMxGuid", mxGuid), + // new("@inType", inType) + // }; + // parameters[0].Direction = ParameterDirection.Output; + // parameters[1].Direction = ParameterDirection.Output; + // foreach (var parameter in parameters) + // cmd.Parameters.Add(parameter); + // cmd.ExecuteNonQuery(); + // _outMsg = parameters[0].Value.ToString(); + // _outSum = int.Parse(parameters[1].Value.ToString()); + // } + // catch (Exception ex) + // { + // LogHelper.Debug(ToString(), + // "prc_wom_daatm_del error锛�" + ex.Message); + // _outMsg = ex.Message; + // _outSum = -1; + // } + // finally + // { + // conn.Close(); + // } + // } + // } + // if (_outSum <= 0) + // return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception, + // _outMsg); + // return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg); + //} /// <summary> @@ -580,111 +586,37 @@ } if (_outSum <= 0) - return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception,_outMsg); + return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception, _outMsg); return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg); } /// <summary> - /// 鏍规嵁绾夸綋鎴栬溅闂磇d锛岃鍙栧伐鍗� + /// 宸ヨ壓鍙樻洿 /// </summary> /// <param name="model"></param> /// <returns></returns> [RequestMethod(RequestMethods.POST)] - public ReturnDto<PageList<dynamic>> SelectDaa([FromBody] dynamic model) + public ReturnDto<ExpandoObject> EditGy([FromBody] dynamic model) { - int currentPage = model.currentPage; - int everyPageSize = model.everyPageSize; - string sortName = model.sortName; - string keyWhere = model.keyWhere; - string workId = model.workId; - string lineId = model.lineId; - var dset = new DataSet(); - try + Guid? guid = model.guid; //浜у搧涓婚敭 + var _sb = new StringBuilder(); + var _split = "|"; + foreach (var m in model.list) { - using (var conn = new SqlConnection(DbHelperSQL.strConn)) - { - using (var cmd = new SqlCommand("[prc_wom_daa_select]", conn)) - { - conn.Open(); - cmd.CommandType = CommandType.StoredProcedure; - SqlParameter[] parameters = - { - new("@inCurrentPage", currentPage), - new("@inEveryPageSize", everyPageSize), - new("@inSortName", sortName), - new("@inSortOrder", ""), - new("@inQueryWhere", keyWhere), - new("@workId", workId), - new("@inP1", lineId), - new("@inP2", "") - }; - foreach (var parameter in parameters) - cmd.Parameters.Add(parameter); - using (var dt = new SqlDataAdapter(cmd)) - { - dt.Fill(dset, "0"); - } - } - - conn.Close(); - } + var _line = m.processNo + _split + + m.frontProcessNo; + if (_sb.Length > 0) + _sb.Append("~"); + _sb.Append(_line); } - catch (Exception ex) - { - LogHelper.Debug(ToString(), "prc_wom_pba_select error锛�" + ex.Message); - return ReturnDto<PageList<dynamic>>.QuickReturn(default(PageList<dynamic>), ReturnCode.Exception, "璇诲彇澶辫触"); - } - - var _pglist = new PageList<dynamic> - { - total = 0, - everyPageSize = 0, - pages = 0, - list = new List<dynamic>() - }; - if (dset != null && dset.Tables.Count > 0 && - dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹� - { - var intTotal = - int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString()); - var pages = intTotal % everyPageSize != 0 - ? intTotal / everyPageSize + 1 - : intTotal / everyPageSize; - _pglist.total = intTotal; - _pglist.everyPageSize = everyPageSize; - _pglist.pages = pages; - var _dy = dset.Tables[0].TableToDynamicList(); - _pglist.list = _dy; - } - - return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, - ReturnCode.Success, "璇诲彇鎴愬姛"); - } - - /// <summary> - /// 鏍规嵁鐢ㄦ埛閫夋嫨鐨勯噰璐槑缁唃uid锛岃鍙栭渶瑕佷綔鍏ュ簱鍒拌揣鍗曠殑鏄庣粏 - /// </summary> - /// <param name="query"></param> - /// <returns></returns> - [RequestMethod(RequestMethods.POST)] - public ReturnDto<List<dynamic>> SelectDaaToView( - JArray guidList) - { - var intArray = guidList.ToObject<string[]>(); - var sbLine = new StringBuilder(); - foreach (var str in intArray) - { - if (sbLine.Length > 0) - sbLine.Append(","); - sbLine.Append(str); - } - - var lst = new List<dynamic>(); - var dset = new DataSet(); + dynamic mObj = new ExpandoObject(); + mObj.outMsg = ""; + mObj.outSum = -1; + mObj.outGuid = ""; + mObj.outNo = ""; using (var conn = new SqlConnection(DbHelperSQL.strConn)) { - using (var cmd = - new SqlCommand("[prc_wom_daa_select_to_grid]", conn)) + using (var cmd = new SqlCommand("[prc_wom_daa_technique]", conn)) { try { @@ -692,19 +624,26 @@ cmd.CommandType = CommandType.StoredProcedure; SqlParameter[] parameters = { - new("@inP1", sbLine.ToString()) + new("@outMsg", SqlDbType.NVarChar, 300), + new("@outSum", SqlDbType.Int), + new("@inOrderGuid", CheckGuid(guid) ? guid : DBNull.Value), + new("@inEdtUserGuid", _userGuid), + new("@inLineList", _sb.ToString()) }; + parameters[0].Direction = ParameterDirection.Output; + parameters[1].Direction = ParameterDirection.Output; foreach (var parameter in parameters) cmd.Parameters.Add(parameter); - using (var dt = new SqlDataAdapter(cmd)) - { - dt.Fill(dset, "0"); - } + cmd.ExecuteNonQuery(); + mObj.outMsg = parameters[0].Value.ToString(); + mObj.outSum = int.Parse(parameters[1].Value.ToString()); } catch (Exception ex) { LogHelper.Debug(ToString(), - "prc_wom_daa_select_to_grid error锛�" + ex.Message); + "prc_wom_daa_technique error锛�" + ex.Message); + mObj.outMsg = ex.Message; + mObj.outSum = -1; } finally { @@ -712,7 +651,34 @@ } } } + if (mObj.outSum <= 0) + return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg); + return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg); + } + + /// <summary> + /// + /// </summary> + /// <param name="query"></param> + /// <returns></returns> + [RequestMethod(RequestMethods.POST)] + public ReturnDto<List<dynamic>> GetGyList( + [FromBody] dynamic model) + { + string daaGuid = model.guid; + var lst = new List<dynamic>(); + var dset = new DataSet(); + System.Text.StringBuilder sbSql = new System.Text.StringBuilder(); + sbSql.Append(" select * from [dbo].[WOMDAA_TECHNIQUE] where daaGuid='" + daaGuid + "' order by processNo asc "); + try + { + dset = Gs.Toolbox.DbHelperSQL.Query(sbSql.ToString()); + } + catch (Exception ex) + { + LogHelper.Debug(ToString(), ex.Message); + } if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹� lst = dset.Tables[0].TableToDynamicList(); @@ -720,66 +686,49 @@ "璇诲彇鎴愬姛锛�"); } + /// <summary> - /// 鎾ゅ洖鎶ュ伐 + /// 鍙樻洿鍐呭寘瑁呮暟閲� /// </summary> - /// <param name="mode"></param> + /// <param name="model"></param> /// <returns></returns> [RequestMethod(RequestMethods.POST)] - public ReturnDto<ExpandoObject> EditModelChbg([FromBody] dynamic mode) + public ReturnDto<int?> EditTb([FromBody] dynamic model) { - string _billNo = mode.billNo; - string _inFieldValue = mode.inFieldValue; - string _proName = "prc_pda_scbg_withdraw"; - dynamic m = new ExpandoObject(); - m.outSum = -1; - m.outMsg = ""; - - if (!Guid.TryParse(_userGuid, out Guid userGuid)) - throw new ArgumentException("鏃犳晥鐨� UserGuid"); + int? rtnInt = (int)ReturnCode.Default; + Guid? guid = model.guid; + string sl = model.sl; + var _outMsg = ""; + var _outSum = -1; using (var conn = new SqlConnection(DbHelperSQL.strConn)) { - using (var cmd = new SqlCommand(_proName, conn)) + using (var cmd = new SqlCommand("[prc_wom_daa_nbz]", conn)) { try { conn.Open(); cmd.CommandType = CommandType.StoredProcedure; - // 鎸夌収瀛樺偍杩囩▼瀹氫箟鐨勯『搴忔坊鍔犲弬鏁� SqlParameter[] parameters = { - // 杈撳叆鍙傛暟锛堟寜椤哄簭锛� - new SqlParameter("@inEdtUserGuid", SqlDbType.UniqueIdentifier) { Value = userGuid }, - new SqlParameter("@inOrderGuid", SqlDbType.UniqueIdentifier) { Value = DBNull.Value }, // 浼犲叆null - new SqlParameter("@pi_inventoryAppBillNo", SqlDbType.NVarChar, 100) { Value = string.Empty }, - new SqlParameter("@inBarcodeGuids", SqlDbType.NVarChar, -1) { Value = _billNo ?? (object)DBNull.Value }, - new SqlParameter("@in1", SqlDbType.NVarChar, 100) { Value = string.Empty }, - new SqlParameter("@in2", SqlDbType.NVarChar, 100) { Value = string.Empty }, - new SqlParameter("@in3", SqlDbType.NVarChar, 100) { Value = string.Empty }, - - // 杈撳嚭鍙傛暟锛堟渶鍚庯級 - new SqlParameter("@outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, - new SqlParameter("@outSum", SqlDbType.Int) { Direction = ParameterDirection.Output } - }; - + new("@outMsg", SqlDbType.NVarChar, 300), + new("@outSum", SqlDbType.Int), + new("@inOrderGuid", UtilityHelper.CheckGuid(guid) ? guid: DBNull.Value), + new("@inEdtUserGuid", _userGuid), + new("@inSl", sl) + }; + parameters[0].Direction = ParameterDirection.Output; + parameters[1].Direction = ParameterDirection.Output; foreach (var parameter in parameters) cmd.Parameters.Add(parameter); - cmd.ExecuteNonQuery(); - - m.outMsg = parameters[7].Value?.ToString() ?? ""; // @outMsg鏄8涓弬鏁帮紙绱㈠紩7锛� - if (parameters[8].Value != DBNull.Value && parameters[8].Value != null) - { - m.outSum = Convert.ToInt32(parameters[8].Value); // @outSum鏄9涓弬鏁帮紙绱㈠紩8锛� - } + _outMsg = parameters[0].Value.ToString(); + _outSum = int.Parse(parameters[1].Value.ToString()); } catch (Exception ex) { - LogHelper.Debug(ToString(), - "prc_pda_scbg_withdraw error锛�" + ex.Message); - m.outMsg = ex.Message; - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, - ex.Message); + LogHelper.Debug(ToString(), "prc_wom_daa_nbz error锛�" + ex.Message); + _outMsg = ex.Message; + _outSum = -1; } finally { @@ -787,7 +736,10 @@ } } } - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�"); + + if (_outSum <= 0) + return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception, _outMsg); + return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg); } } \ No newline at end of file -- Gitblit v1.9.3