From 2b4019cdae3d1abbd47bb2524a620e23cd8806e3 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期六, 23 八月 2025 16:17:54 +0800 Subject: [PATCH] 1增加了通用控件选择库位 2增加撤回报工,自动入库维护功能 --- WebApi/Gs.Warehouse/Services/MesAutoRkController.cs | 352 +++++++++++++++++++++++++++++++++----------------- WebApi/Gs.Wom/Service/MesScrksqDjManager.cs | 16 +- WebApi/Gs.Warehouse/Services/MesDepotSectionsManager.cs | 42 ++--- 3 files changed, 259 insertions(+), 151 deletions(-) diff --git a/WebApi/Gs.Warehouse/Services/MesAutoRkController.cs b/WebApi/Gs.Warehouse/Services/MesAutoRkController.cs index f83ea1c..0c0f480 100644 --- a/WebApi/Gs.Warehouse/Services/MesAutoRkController.cs +++ b/WebApi/Gs.Warehouse/Services/MesAutoRkController.cs @@ -1,4 +1,5 @@ 锘縰sing System.Data; +using System.Data.SqlClient; using System.Dynamic; using System.Text; using Gs.Toolbox; @@ -27,138 +28,174 @@ #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_auto_rk_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_auto_rk_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_auto_rk_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("@depotlocid", string.IsNullOrEmpty(depotlocid) ? DBNull.Value : (object)depotlocid), + new SqlParameter("@remark", ""), + new SqlParameter("@inEdtUserGuid", _userGuid), + new SqlParameter("@inLineList", DBNull.Value), // 璁剧疆涓篋BNull.Value + new SqlParameter("@inLineList2", DBNull.Value) // 璁剧疆涓篋BNull.Value + }; + 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_item_tbl_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 +203,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_auto_rk_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_auto_rk_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 } diff --git a/WebApi/Gs.Warehouse/Services/MesDepotSectionsManager.cs b/WebApi/Gs.Warehouse/Services/MesDepotSectionsManager.cs index d3bcde8..4895098 100644 --- a/WebApi/Gs.Warehouse/Services/MesDepotSectionsManager.cs +++ b/WebApi/Gs.Warehouse/Services/MesDepotSectionsManager.cs @@ -1,4 +1,5 @@ -锘縰sing Gs.Entity.BaseInfo; +锘縰sing AngleSharp.Text; +using Gs.Entity.BaseInfo; using Gs.Entity.Sys; using Gs.Toolbox; using Gs.Toolbox.ApiCore.Abstract.Mvc; @@ -29,27 +30,24 @@ var _sbWhere = new StringBuilder(" 1=1" + query.keyWhere); var _sbBy = new StringBuilder(query.sortName + " " + query.sortOrder); var totalCount = 0; - var itemsList = Db.Queryable<MesDepots,MesDepotSections, SysOrganization, MesStaff, MesCustomer, MesSupplier, SysDepartment>( - (a, b,Org, c, d, f, g) => new object[] - { - JoinType.Left, a.Guid == b.DepotGuid, - JoinType.Left, a.FSubsidiary == Org.Fid, - JoinType.Left, a.CreateBy == c.Id.ToString(), - JoinType.Left,d.Id.ToString()==a.ClientId.ToString(), - JoinType.Left,f.Id.ToString()==a.SuppLierId.ToString(), - JoinType.Left,g.Id.ToString()==a.department.ToString(), - }).Select((a, b, Org, c, d, f, g) => new MesDepotSections - { - Guid=b.Guid, - DepotSectionCode=b.DepotSectionCode.ToString(), - DepotSectionName=b.DepotSectionName.ToString(), - CreateBy = c.StaffName.ToString() - - }, true) - .Where(_sbWhere.ToString()) - .OrderBy(_sbBy.ToString()) - .ToPageList(query.currentPage, query.everyPageSize, - ref totalCount); + // 鍏堟瀯寤哄熀纭�鏌ヨ + var queryBase = Db.Queryable<MesDepots>() + .LeftJoin<MesDepotSections>((a, b) => a.Guid == b.DepotGuid); + //.LeftJoin<SysOrganization>((a, b, c) => a.FSubsidiary == c.Fid) + //.LeftJoin<MesStaff>((a, b, c, d) => a.CreateBy == d.Id.ToString()) + //.LeftJoin<MesCustomer>((a, b, c, d, e) => e.Id.ToString() == a.ClientId) + //.LeftJoin<MesSupplier>((a, b, c, d, e, f) => f.Id.ToString() == a.SuppLierId) + //.LeftJoin<SysDepartment>((a, b, c, d, e, f, g) => g.Id.ToString() == a.department); + // 鐒跺悗杩涜閫夋嫨鍜屽垎椤� + var itemsList = queryBase.Select((a, b) => new MesDepotSections + { + Guid = b.Guid, + DepotSectionCode = b.DepotSectionCode, + DepotSectionName = b.DepotSectionName + }) + .Where(_sbWhere.ToString()) + .OrderBy(_sbBy.ToString()) + .ToPageList(query.currentPage, query.everyPageSize, ref totalCount); pageList = new PageList<MesDepotSections>(itemsList, totalCount, query.everyPageSize); diff --git a/WebApi/Gs.Wom/Service/MesScrksqDjManager.cs b/WebApi/Gs.Wom/Service/MesScrksqDjManager.cs index 5e0934a..3b18c66 100644 --- a/WebApi/Gs.Wom/Service/MesScrksqDjManager.cs +++ b/WebApi/Gs.Wom/Service/MesScrksqDjManager.cs @@ -229,14 +229,14 @@ cmd.CommandType = CommandType.StoredProcedure; SqlParameter[] parameters = { - new("@outMsg", SqlDbType.NVarChar, 2500), - new("@outSum", SqlDbType.Int), - new("@inEdtUserGuid", userGuid), - new("@inOrderGuid", orderGuid), - new("@pi_inventoryAppBillNo",_billNo), - new("@in1", ""), - new("@in2", ""), - new("@in3", "") + new SqlParameter("@outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, + new SqlParameter("@outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }, + new SqlParameter("@inEdtUserGuid", SqlDbType.UniqueIdentifier) { Value = userGuid }, + new SqlParameter("@inOrderGuid", SqlDbType.UniqueIdentifier) { Value = orderGuid }, + new SqlParameter("@pi_inventoryAppBillNo", SqlDbType.NVarChar, 100) { Value = _billNo ?? (object)DBNull.Value }, + new SqlParameter("@in1", ""), + new SqlParameter("@in2", ""), + new SqlParameter("@in3", "") }; parameters[0].Direction = ParameterDirection.Output; parameters[1].Direction = ParameterDirection.Output; -- Gitblit v1.9.3