From 3a8747c5de05ebe7751fcb0a6f0f58301392e271 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期三, 27 八月 2025 14:02:31 +0800 Subject: [PATCH] 到冲改成调存储过程,ck添加补料筛掉可补数量为0 的数据 --- WebApi/Gs.Wom/WorkService/MesBackFlashController.cs | 349 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 228 insertions(+), 121 deletions(-) diff --git a/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs b/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs index 287814d..81d079c 100644 --- a/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs +++ b/WebApi/Gs.Wom/WorkService/MesBackFlashController.cs @@ -1,4 +1,5 @@ 锘縰sing System.Data; +using System.Data.SqlClient; using System.Dynamic; using System.Text; using Gs.Toolbox; @@ -27,138 +28,171 @@ #region /// <summary> - /// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤� + /// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤� /// </summary> /// <param name="model"></param> /// <returns></returns> [RequestMethod(RequestMethods.POST)] - public ReturnDto<PageList<dynamic>> GetListPage([FromBody] PageQuery model) + public ReturnDto<PageList<dynamic>> GetListPage([FromBody] dynamic model) { int currentPage = model.currentPage; int everyPageSize = model.everyPageSize; - string sortName = string.IsNullOrEmpty(model.sortName) ? "org.FNumber" : model.sortName; + string sortName = model.sortName; string keyWhere = model.keyWhere; - System.Text.StringBuilder _w = new StringBuilder(); - _w.Append(" from [dbo].[MES_BACK_FLASH] a"); - _w.Append(" left join MES_ITEMS i on a.ItemID=i.item_id "); - _w.Append(" left join MES_DEPOTS d on a.depotId=d.depot_id "); - _w.Append(" left join SYS_DEPARTMENT m on a.departmentId=m.departmentid "); - _w.Append(" left join SYS_ORGANIZATION org on i.FSubsidiary=org.FID"); - _w.Append(" where 1=1 " + keyWhere); - System.Text.StringBuilder sbSql = new StringBuilder(); - sbSql.Append("select * from "); - sbSql.Append("( "); - sbSql.Append("select top 100000 ROW_NUMBER() over(order by " + sortName + " " + model.sortOrder + ") as rowIndex,a.*,'('+org.FNumber+')'+org.NAME as orgName "); - sbSql.Append(",i.item_no as itemNo,i.item_name as itemName,i.item_model as itemModel,d.depot_name as depotName,m.departmentname as bmName"); - sbSql.Append(_w); - sbSql.Append(") as T "); - sbSql.Append(" where T.rowindex>(" + currentPage + "-1)*" + everyPageSize + " and T.rowindex<=" + currentPage + "*" + everyPageSize); - sbSql.Append(" order by rowindex asc "); - sbSql.Append(" select count(1) as intTotal "); - sbSql.Append(_w); - DataSet dset = new DataSet(); - try + SqlParameter[] parameters = { - dset = Gs.Toolbox.DbHelperSQL.Query(sbSql.ToString()); - } - catch (Exception ex) - { - Gs.Toolbox.LogHelper.Debug(this.ToString(), "GetListPage error锛�" + ex.Message); - return ReturnDto<PageList<dynamic>>.QuickReturn(default(PageList<dynamic>), ReturnCode.Exception, "璇诲彇澶辫触"); - } - PageList<dynamic> _pglist = new PageList<dynamic> + new("@inCurrentPage", currentPage), + new("@inEveryPageSize", everyPageSize), + new("@inSortName", sortName), + new("@inSortOrder", ""), + new("@inQueryWhere", keyWhere), + new("@inFid", ""), + new("@inP1", ""), + new("@inP2", ""), + new("@inP3", ""), + new("@inP4", "") + }; + var dset = new DataSet(); + 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)//鏈夋暟鎹� - { - int intTotal = int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString()); - int pages = (intTotal % everyPageSize != 0) ? (intTotal / everyPageSize + 1) : (intTotal / everyPageSize); - _pglist.total = intTotal; - _pglist.everyPageSize = everyPageSize; - _pglist.pages = pages; - List<dynamic> _dy = dset.Tables[0].TableToDynamicList(); - _pglist.list = _dy; - } - return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, ReturnCode.Success, "璇诲彇鎴愬姛"); - } - - - /// <summary> - /// 鍒犻櫎瀹炰綋 - /// </summary> - /// <param name="model"></param> - /// <returns></returns> - [RequestMethod(RequestMethods.POST)] - public ReturnDto<int?> DeleteModel([FromBody] JArray guidList) - { - var intArray = guidList.ToObject<string[]>(); - string guid = intArray[0]; - int rtnInt = (int)ReturnCode.Default; - int cont = 0; try { - cont = isChkOrUnChk(guid, 1); - if (cont > 0) - return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "鍒犻櫎澶辫触锛岃淇℃伅宸茶瀹℃牳锛�"); - StringBuilder strSql = new StringBuilder(); - strSql.Append(" delete from MES_BACK_FLASH "); - strSql.Append(" where guid='" + guid + "'"); - int rows = DbHelperSQL.ExecuteSql(strSql.ToString()); - rtnInt = rows; + dset = DbHelperSQL.RunProcedure("prc_back_flash_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(this.ToString(), "DeleteModel error锛�" + ex.Message); - rtnInt = (int)ReturnCode.Exception; - return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "鍒犻櫎澶辫触锛�" + ex.Message); + LogHelper.Debug(ToString(), ex.Message); + return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, + ReturnCode.Exception, ex.Message); } - if (rtnInt > 0) - return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, "鎿嶄綔鎴愬姛锛屽叡鍒犻櫎" + rtnInt.ToString() + "鏉℃暟鎹紒"); - else - return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "鍒犻櫎澶辫触锛岃閲嶈瘯锛�"); + 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 = + { + new("@inMainGuid", guid), + new("@inP1", ""), + new("@inP2", ""), + new("@inP3", ""), + new("@inP4", "") + }; + var dset = new DataSet(); + try + { + dset = DbHelperSQL.RunProcedure("[prc_back_flash_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(); + } + } + 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="model"></param> /// <returns></returns> [RequestMethod(RequestMethods.POST)] public ReturnDto<ExpandoObject> EditModel([FromBody] dynamic model) { + Guid? guid = model.guid; //涓婚敭 string itemId = model.itemId; string departmentId = model.departmentId; string depotId = model.depotId; - int? rtnInt = (int)ReturnCode.Default; + string depotlocid = model.depotlocid; dynamic mObj = new ExpandoObject(); mObj.outMsg = ""; mObj.outSum = -1; mObj.outGuid = ""; mObj.outNo = ""; - StringBuilder strSql = new StringBuilder(); - string guid = Guid.NewGuid().ToString(); - strSql.Append(" insert into MES_BACK_FLASH"); - strSql.Append(" ([guid] ,[ItemId] ,[departmentId] ,[depotId],createBy,createDate,checkStatus)"); - strSql.Append(" values("); - strSql.Append(" '" + guid + "','" + itemId + "','" + departmentId + "'," + depotId + ",'" + _userCode + "',getdate(),0)"); - try + using (var conn = new SqlConnection(DbHelperSQL.strConn)) { - rtnInt = DbHelperSQL.ExecuteSql(strSql.ToString()); - mObj.outMsg = "鎿嶄綔鎴愬姛锛�"; - mObj.outSum = rtnInt; - mObj.outGuid = guid; - mObj.outNo = itemId; - } - catch (Exception ex) - { - LogHelper.Debug(this.ToString(), "EditModel error锛�" + ex.Message); - rtnInt = (int)ReturnCode.Exception; - mObj.outMsg = ex.Message; - mObj.outSum = -1; + using (var cmd = new SqlCommand("[prc_back_flash_edt]", conn)) + { + try + { + conn.Open(); + cmd.CommandType = CommandType.StoredProcedure; + SqlParameter[] parameters = + { + new SqlParameter("@outMsg", SqlDbType.NVarChar, 300), + new SqlParameter("@outSum", SqlDbType.Int), + new SqlParameter("@outGuid", SqlDbType.UniqueIdentifier), + new SqlParameter("@outNo", SqlDbType.NVarChar, 300), + new SqlParameter("@inOrderGuid", CheckGuid(guid) ? guid : DBNull.Value), + new SqlParameter("@ItemId", string.IsNullOrEmpty(itemId) ? DBNull.Value : (object)long.Parse(itemId)), + new SqlParameter("@departmentId", string.IsNullOrEmpty(departmentId) ? DBNull.Value : (object)long.Parse(departmentId)), + new SqlParameter("@depotId", string.IsNullOrEmpty(depotId) ? DBNull.Value : (object)long.Parse(depotId)), + new SqlParameter("@remark", ""), + new SqlParameter("@inEdtUserGuid", _userGuid) + }; + parameters[0].Direction = ParameterDirection.Output; + parameters[1].Direction = ParameterDirection.Output; + parameters[2].Direction = ParameterDirection.Output; + parameters[3].Direction = ParameterDirection.Output; + foreach (var parameter in parameters) + cmd.Parameters.Add(parameter); + cmd.ExecuteNonQuery(); + mObj.outMsg = parameters[0].Value.ToString(); + mObj.outSum = int.Parse(parameters[1].Value.ToString()); + mObj.outGuid = parameters[2].Value.ToString(); + mObj.outNo = parameters[3].Value.ToString(); + } + catch (Exception ex) + { + LogHelper.Debug(ToString(), + "prc_back_flash_edt error锛�" + ex.Message); + mObj.outMsg = ex.Message; + mObj.outSum = -1; + } + finally + { + conn.Close(); + } + } } if (mObj.outSum <= 0) return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg); @@ -166,48 +200,121 @@ } /// <summary> - /// 璇诲彇瀹炰綋 + /// 鍒犻櫎涓昏〃鎴栨槑缁� /// </summary> - /// <param name="guid"></param> + /// <param name="model"></param> /// <returns></returns> [RequestMethod(RequestMethods.POST)] - [AllowAnonymous] - public ReturnDto<System.Dynamic.ExpandoObject> GetModel([FromBody] dynamic model) + public ReturnDto<int?> DeleteModel([FromBody] dynamic model) { - dynamic m = new System.Dynamic.ExpandoObject(); - System.Text.StringBuilder sbSql = new StringBuilder(); - sbSql.Append("select top 1 a.*,org.FID as orgId ,i.item_no as itemNo,i.item_name as itemName,i.item_model as itemModel from MES_BACK_FLASH a left join MES_ITEMS i on a.ItemID=i.item_id left join SYS_ORGANIZATION org on i.FSubsidiary=org.FID where 1=1 and a.guid='" + model.guid.ToString() + "' "); - try + int? rtnInt = (int)ReturnCode.Default; + Guid? guid = model.guid; //鍒拌揣鍗曚富閿� + var _outMsg = ""; + var _outSum = -1; + using (var conn = new SqlConnection(DbHelperSQL.strConn)) { - DataSet dset = new DataSet(); - dset = DbHelperSQL.Query(sbSql.ToString()); - if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) + using (var cmd = new SqlCommand("[prc_back_flash_del]", conn)) { - System.Data.DataRow dr = dset.Tables[0].Rows[0]; - m = dr.RowToDynamic(); - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "璇诲彇鎴愬姛锛�"); + try + { + conn.Open(); + cmd.CommandType = CommandType.StoredProcedure; + SqlParameter[] parameters = + { + new("@outMsg", SqlDbType.NVarChar, 300), + new("@outSum", SqlDbType.Int), + new("@inOrderGuid", + CheckGuid(guid) + ? guid + : DBNull.Value), + 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_auto_rk_del error锛�" + ex.Message); + _outMsg = ex.Message; + _outSum = -1; + } + finally + { + conn.Close(); + } } - else - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�"); } - catch (Exception ex) - { - LogHelper.Debug(this.ToString(), "GetModel error:" + ex.Message); - return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�"); - } + + if (_outSum <= 0) + return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception, + _outMsg); + return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg); } + /// <summary> - /// 鍒ゆ柇鏄惁瀹℃牳 + /// 鎻愪氦妫�楠� /// </summary> - /// <param name="guidList"></param> - /// <param name="status"></param> + /// <param name="mode"></param> /// <returns></returns> - private int isChkOrUnChk(string guidList, int status) + [RequestMethod(RequestMethods.POST)] + public ReturnDto<ExpandoObject> EditModelSubmit([FromBody] dynamic mode) { - int cont = 0; - cont = int.Parse(DbHelperSQL.GetSingle("select count(1) from MES_BACK_FLASH where guid='" + guidList + "' and isnull(checkstatus,0)=" + status + "").ToString()); - return cont; + string _guid = mode.guid; + string _inFieldValue = mode.inFieldValue; + string _chkOut = mode.chkOut; + string _proName = "prc_back_flash_submit"; + dynamic m = new ExpandoObject(); + m.outSum = -1; + m.outMsg = ""; + using (var conn = new SqlConnection(DbHelperSQL.strConn)) + { + using (var cmd = new SqlCommand(_proName, conn)) + { + try + { + conn.Open(); + cmd.CommandType = CommandType.StoredProcedure; + SqlParameter[] parameters = + { + new("@outMsg", SqlDbType.NVarChar, 2500), + new("@outSum", SqlDbType.Int), + new("@inEdtUserGuid", _userGuid), + new("@inOrderGuid", _guid), + new("@inFieldValue", _inFieldValue), + new("@in1", _chkOut), + 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_auto_rk_submit error锛�" + ex.Message); + m.outMsg = ex.Message; + return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, + ex.Message); + } + finally + { + conn.Close(); + } + } + } + return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�"); } #endregion } -- Gitblit v1.9.3