From 5707781039b9d902ce1d2d6727fba65bbab14574 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期六, 13 九月 2025 17:02:06 +0800 Subject: [PATCH] 异常单回滚 --- WebApi/Gs.Ww/WWBlDJManager.cs | 319 ++++++++++++++++++++++++++--------------------------- 1 files changed, 157 insertions(+), 162 deletions(-) diff --git a/WebApi/Gs.Ww/WWBlDJManager.cs b/WebApi/Gs.Ww/WWBlDJManager.cs index 24f722d..4c36f5e 100644 --- a/WebApi/Gs.Ww/WWBlDJManager.cs +++ b/WebApi/Gs.Ww/WWBlDJManager.cs @@ -1,44 +1,44 @@ -锘縰sing System.Data; +锘縰sing Gs.Toolbox.ApiCore.Common.Mvc; +using Gs.Toolbox; +using System.Data; using System.Data.SqlClient; using System.Dynamic; -using 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 static Gs.Toolbox.UtilityHelper; -namespace Gs.Ww; - -[ApiGroup(ApiGroupNames.WW)] -public class WWBlDJManager : IRomteService +namespace Gs.Ww { - private readonly IHttpContextAccessor _http; - private readonly string _userCode, _userGuid, _orgFids; - - public WWBlDJManager(IHttpContextAccessor httpContextAccessor) + [ApiGroup(ApiGroupNames.WW)] + public class WWBlDJManager : IRomteService { - _http = httpContextAccessor; - (_userCode, _userGuid, _orgFids) = - GetUserGuidAndOrgGuid(_http); - } + private readonly IHttpContextAccessor _http; + private readonly string _userCode, _userGuid, _orgFids; - /// <summary> - /// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤� - /// </summary> - /// <param name="model"></param> - /// <returns></returns> - [RequestMethod(RequestMethods.POST)] - public ReturnDto<PageList<dynamic>> GetListPage([FromBody] dynamic model) - { - int currentPage = model.currentPage; - int everyPageSize = model.everyPageSize; - string sortName = model.sortName; - string keyWhere = model.keyWhere; - SqlParameter[] parameters = + public WWBlDJManager(IHttpContextAccessor httpContextAccessor) { + _http = httpContextAccessor; + (_userCode, _userGuid, _orgFids) = + GetUserGuidAndOrgGuid(_http); + } + + /// <summary> + /// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤� + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [RequestMethod(RequestMethods.POST)] + public ReturnDto<PageList<dynamic>> GetListPage([FromBody] dynamic model) + { + int currentPage = model.currentPage; + int everyPageSize = model.everyPageSize; + string sortName = model.sortName; + string keyWhere = model.keyWhere; + SqlParameter[] parameters = + { new("@inCurrentPage", currentPage), new("@inEveryPageSize", everyPageSize), new("@inSortName", sortName), @@ -50,107 +50,107 @@ new("@inP3", ""), new("@inP4", "") }; - var dset = new DataSet(); - var _pglist = new PageList<dynamic> - { - total = 0, - everyPageSize = 0, - pages = 0, - list = new List<dynamic>() - }; - try - { - dset = DbHelperSQL.RunProcedure("prc_ww_bldj_lst", parameters, "0"); - if (dset != null && dset.Tables.Count > 0 && - dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹� + var dset = new DataSet(); + var _pglist = new PageList<dynamic> { - 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; + total = 0, + everyPageSize = 0, + pages = 0, + list = new List<dynamic>() + }; + try + { + dset = DbHelperSQL.RunProcedure("prc_ww_bldj_lst", parameters, "0"); + 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; + } } - } - catch (Exception ex) - { - LogHelper.Debug(ToString(), ex.Message); + catch (Exception ex) + { + LogHelper.Debug(ToString(), ex.Message); + return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, + ReturnCode.Exception, ex.Message); + } + return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, - ReturnCode.Exception, ex.Message); + ReturnCode.Success, "璇诲彇鎴愬姛"); } - return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, - ReturnCode.Success, "璇诲彇鎴愬姛"); - } - - /// <summary> - /// 璇诲彇 - /// </summary> - /// <param name="guid"></param> - /// <returns></returns> - [RequestMethod(RequestMethods.POST)] - public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model) - { - string guid = model.guid.ToString(); - dynamic m = new ExpandoObject(); - m.list = new List<dynamic>(); - m.list2 = new List<dynamic>(); - SqlParameter[] parameters = + /// <summary> + /// 璇诲彇 + /// </summary> + /// <param name="guid"></param> + /// <returns></returns> + [RequestMethod(RequestMethods.POST)] + public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model) { + string guid = model.guid.ToString(); + dynamic m = new ExpandoObject(); + m.list = new List<dynamic>(); + m.list2 = new List<dynamic>(); + SqlParameter[] parameters = + { new("@inMainGuid", guid), new("@inP1", ""), new("@inP2", ""), new("@inP3", ""), new("@inP4", "") }; - var dset = new DataSet(); - try - { - dset = DbHelperSQL.RunProcedure("[prc_ww_bldj_mx]", parameters, - "0"); - if (dset != null && dset.Tables.Count > 0 && - dset.Tables[0].Rows.Count > 0) - { - var dr = dset.Tables[0].Rows[0]; - m = dr.RowToDynamic(); - var _tb = dset.Tables[1].TableToDynamicList(); - m.list = _tb; - var _tb2 = dset.Tables[2].TableToDynamicList(); - m.list2 = _tb2; - } - } - catch (Exception ex) - { - LogHelper.Debug(ToString(), ex.Message); - } - - if (m != null) - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, - "璇诲彇鎴愬姛锛�"); - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�"); - } - - /// <summary> - /// </summary> - /// <param name="mode"></param> - /// <returns></returns> - [RequestMethod(RequestMethods.POST)] - public ReturnDto<ExpandoObject> EditModelSubmit([FromBody] dynamic mode) - { - string _guid = mode.guid; - string _inFieldValue = mode.inFieldValue; - dynamic m = new ExpandoObject(); - m.outSum = -1; - m.outMsg = ""; - // 褰撳鏍告椂锛坃inFieldValue涓�"1"鏃讹級妫�鏌ヤ粨搴� - if (_inFieldValue == "1") + var dset = new DataSet(); try { - var warehouseCheckSql = @" + dset = DbHelperSQL.RunProcedure("[prc_ww_bldj_mx]", parameters, "0"); + if (dset != null && dset.Tables.Count > 0 && + dset.Tables[0].Rows.Count > 0) + { + var dr = dset.Tables[0].Rows[0]; + m = dr.RowToDynamic(); + var _tb = dset.Tables[1].TableToDynamicList(); + m.list = _tb; + var _tb2 = dset.Tables[2].TableToDynamicList(); + m.list2 = _tb2; + } + } + catch (Exception ex) + { + LogHelper.Debug(ToString(), ex.Message); + } + if (m != null) + return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, + "璇诲彇鎴愬姛锛�"); + return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�"); + } + + /// <summary> + /// + /// </summary> + /// <param name="mode"></param> + /// <returns></returns> + [RequestMethod(RequestMethods.POST)] + public ReturnDto<ExpandoObject> EditModelSubmit([FromBody] dynamic mode) + { + string _guid = mode.guid; + string _inFieldValue = mode.inFieldValue; + dynamic m = new ExpandoObject(); + m.outSum = -1; + m.outMsg = ""; + // 褰撳鏍告椂锛坃inFieldValue涓�"1"鏃讹級妫�鏌ヤ粨搴� + if (_inFieldValue == "1") + { + try + { + string warehouseCheckSql = @" SELECT COUNT(1) FROM MES_INV_ITEM_OUT_C_DETAILS b LEFT JOIN MES_INV_ITEM_OUTS h ON h.GUID = b.ITEM_OUT_ID @@ -162,42 +162,37 @@ WHERE b.item_out_id = @inFieldValue AND (d.WAREHOUSE IS NULL OR d.WAREHOUSE = '' OR d.WAREHOUSE = '0')"; - var parameters = new[] - { - new SqlParameter("@inFieldValue", _guid) - }; + var parameters = new[] { + new SqlParameter("@inFieldValue", _guid) + }; - var emptyWarehouseCount = - DbHelperSQL.GetSingle(warehouseCheckSql, parameters); + var emptyWarehouseCount = DbHelperSQL.GetSingle(warehouseCheckSql, parameters); - if (emptyWarehouseCount != null && - Convert.ToInt32(emptyWarehouseCount) > 0) + if (emptyWarehouseCount != null && Convert.ToInt32(emptyWarehouseCount) > 0) + { + m.outSum = -1; + m.outMsg = "瀵瑰簲鐨勫澶栧崟鐨勪粨搴撲负绌猴紝鏃犳硶瀹℃牳锛�"; + return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception, m.outMsg); + } + } + catch (Exception ex) { + LogHelper.Debug(ToString(), "浠撳簱妫�鏌ュけ璐ワ細" + ex.Message); m.outSum = -1; - m.outMsg = "瀵瑰簲鐨勫澶栧崟鐨勪粨搴撲负绌猴紝鏃犳硶瀹℃牳锛�"; - return ReturnDto<dynamic>.QuickReturn(m, - ReturnCode.Exception, m.outMsg); + m.outMsg = "浠撳簱妫�鏌ュけ璐ワ細" + ex.Message; + return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception, m.outMsg); } } - catch (Exception ex) + using (var conn = new SqlConnection(DbHelperSQL.strConn)) { - LogHelper.Debug(ToString(), "浠撳簱妫�鏌ュけ璐ワ細" + ex.Message); - m.outSum = -1; - m.outMsg = "浠撳簱妫�鏌ュけ璐ワ細" + ex.Message; - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception, - m.outMsg); - } - - using (var conn = new SqlConnection(DbHelperSQL.strConn)) - { - using (var cmd = new SqlCommand("prc_ww_bldj_submit", conn)) - { - try + using (var cmd = new SqlCommand("prc_ww_bldj_submit", conn)) { - conn.Open(); - cmd.CommandType = CommandType.StoredProcedure; - SqlParameter[] parameters = + try { + conn.Open(); + cmd.CommandType = CommandType.StoredProcedure; + SqlParameter[] parameters = + { new("@outMsg", SqlDbType.NVarChar, 2500), new("@outSum", SqlDbType.Int), new("@inEdtUserGuid", _userGuid), @@ -206,28 +201,28 @@ new("@in1", ""), new("@in2", "") }; - parameters[0].Direction = ParameterDirection.Output; - parameters[1].Direction = ParameterDirection.Output; - foreach (var parameter in parameters) - cmd.Parameters.Add(parameter); - cmd.ExecuteNonQuery(); - m.outMsg = parameters[0].Value.ToString(); - m.outSum = int.Parse(parameters[1].Value.ToString()); - } - catch (Exception ex) - { - LogHelper.Debug(ToString(), - "prc_ww_bldj_submit error锛�" + ex.Message); - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, - ex.Message); - } - finally - { - conn.Close(); + parameters[0].Direction = ParameterDirection.Output; + parameters[1].Direction = ParameterDirection.Output; + foreach (var parameter in parameters) + cmd.Parameters.Add(parameter); + cmd.ExecuteNonQuery(); + m.outMsg = parameters[0].Value.ToString(); + m.outSum = int.Parse(parameters[1].Value.ToString()); + } + catch (Exception ex) + { + LogHelper.Debug(ToString(), + "prc_ww_bldj_submit error锛�" + ex.Message); + return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, + ex.Message); + } + finally + { + conn.Close(); + } } } + return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�"); } - - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�"); } } \ No newline at end of file -- Gitblit v1.9.3