| WebApi/GS.QC/Service/MesQcExceptionalManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| WebApi/Gs.HostIIS/appsettings.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| WebApi/Gs.Warehouse/Services/VArrivalBarcodeManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
WebApi/GS.QC/Service/MesQcExceptionalManager.cs
@@ -1,6 +1,7 @@ using System.Data; using System.Data.SqlClient; using System.Dynamic; using System.Text; using Gs.Toolbox; using Gs.Toolbox.ApiCore.Abstract.Mvc; using Gs.Toolbox.ApiCore.Common.Mvc; @@ -17,6 +18,7 @@ private readonly IHttpContextAccessor _http; private readonly string _userCode, _userGuid, _orgFids; public MesQcExceptionalManager(IHttpContextAccessor httpContextAccessor) { _http = httpContextAccessor; @@ -129,7 +131,7 @@ } /// <summary> /// /// 审核 /// </summary> /// <param name="mode"></param> /// <returns></returns> @@ -182,7 +184,118 @@ } } } return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "操作成功!"); } /// <summary> /// 增加或编辑实体-仅处理明细数据的编辑操作 /// </summary> /// <param name="model">包含明细列表的模型</param> /// <returns>处理结果</returns> [RequestMethod(RequestMethods.POST)] public ReturnDto<ExpandoObject> EditModel([FromBody] dynamic model) { // 初始化字符串构建器处理明细数据 Guid? guid = model.guid; //主键 var _sb = new StringBuilder(); var _split = "|"; // 字段分隔符 var _lineSeparator = "~"; // 行分隔符 // 处理明细列表,转换为存储过程所需格式 foreach (var m in model.list) { // 获取明细项主键(可为空,新增时为空) string _guid = m.Guid?.ToString() ?? Guid.Empty.ToString(); // 拼接单行明细数据:|申请数量|备注|明细GUID var _line = m.BatchQty + _split + m.GfRkqty + _split + m.LfRkqtyz + _split + m.HandResult + _split + m.ChooseType + _split + m.Process + _split + (CheckGuid(_guid) ? _guid : Guid.Empty.ToString()); // 多条明细间添加分隔符 if (_sb.Length > 0) _sb.Append(_lineSeparator); _sb.Append(_line); } // 准备返回结果对象 dynamic mObj = new ExpandoObject(); mObj.outMsg = ""; // 操作消息 mObj.outSum = -1; // 操作结果状态(-1表示失败) mObj.outGuid = ""; // 可保留用于返回明细相关的GUID mObj.outNo = ""; // 可保留用于返回明细相关的编号 // 调用存储过程处理明细数据 using (var conn = new SqlConnection(DbHelperSQL.strConn)) { using (var cmd = new SqlCommand("[prc_Qcyc_edt]", conn)) // 建议修改存储过程名为明细专用 { try { conn.Open(); cmd.CommandType = CommandType.StoredProcedure; // 定义存储过程参数(仅保留与明细相关的参数) SqlParameter[] parameters = { new("@outMsg", SqlDbType.NVarChar, 300), // 输出:操作消息 new("@outSum", SqlDbType.Int), // 输出:结果状态(>0表示成功) new("@outGuid", SqlDbType.UniqueIdentifier), // 输出:可返回处理后的明细关联ID new("@outNo", SqlDbType.NVarChar, 300), // 输出:可返回明细相关编号 new("@inOrderGuid", CheckGuid(guid) ? guid : DBNull.Value), //主表GUID new("@inEdtUserGuid", _userGuid), // 输入:操作用户GUID new("@inLineList", _sb.ToString()) // 输入:处理后的明细字符串 }; // 设置输出参数方向 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.TryParse(parameters[1].Value?.ToString(), out int sum) ? sum : -1; mObj.outGuid = parameters[2].Value?.ToString() ?? ""; mObj.outNo = parameters[3].Value?.ToString() ?? ""; } catch (Exception ex) { // 记录异常日志 LogHelper.Debug(ToString(), $"处理明细时出错:{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); return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg); } @@ -246,7 +359,7 @@ } } } return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "操作成功!"); } } WebApi/Gs.HostIIS/appsettings.json
@@ -6,8 +6,9 @@ } }, "AllowedHosts": "*", "ConnectionStrings": "Data Source=172.100.1.114,12468;Initial Catalog=TEST_MES;User ID=sa;Password =FuDa@2025", //"ConnectionStrings": "Data Source=172.100.1.114,12468;Initial Catalog=GS_MES;User ID=sa;Password =FuDa@2025", // "ConnectionStrings": "Data Source=172.100.1.114,12468;Initial Catalog=TEST_MES;User ID=sa;Password =FuDa@2025", "ConnectionStrings": "Data Source=172.16.2.238,12468;Initial Catalog=TEST_MES;User ID=sa;Password =FuDa@2025", "TestErpUrl": "http://192.168.1.149:8066/WebService1.asmx/MesToErpinfoTest", "TestErpUrl2": "http://192.168.1.149:8066/WebService1.asmx/MesToErpUpdateFlag", "ProductionErpUrl": "http://192.168.1.149:8066/WebService1.asmx/mesToErpinfoFormal", WebApi/Gs.Warehouse/Services/VArrivalBarcodeManager.cs
@@ -115,6 +115,7 @@ m = dr.RowToDynamic(); m.list1 = dset.Tables[1].TableToDynamicList(); m.list2 = dset.Tables[2].TableToDynamicList(); m.list3 = dset.Tables[3].TableToDynamicList(); } } catch (Exception ex) @@ -131,7 +132,7 @@ /// <param name="model"></param> /// <returns></returns> [RequestMethod(RequestMethods.POST)] public ReturnDto<int?> DeleteBarcode([FromBody] dynamic model) /* public ReturnDto<int?> DeleteBarcode([FromBody] dynamic model) { int? rtnInt = (int)ReturnCode.Default; string guidList = model.guidList; @@ -183,6 +184,68 @@ _outMsg); return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg); } */ public ReturnDto<int?> DeleteBarcode([FromBody] dynamic model) { int? rtnInt = (int)ReturnCode.Default; string guidList = model.guidList; string aboutType = model.aboutType; string aboutGuid = model.aboutGuid; var _outMsg = ""; var _outSum = -1; // 判断aboutGuid是否为有效的uniqueidentifier bool is_validGuid = Guid.TryParse(aboutGuid, out _); // 根据验证结果选择对应的存储过程 string storedProcedureName = is_validGuid ? "[prc_barcode_del]" : "[prc_barcode_del_hb]"; using (var conn = new SqlConnection(DbHelperSQL.strConn)) { using (var cmd = new SqlCommand(storedProcedureName, conn)) { try { conn.Open(); cmd.CommandType = CommandType.StoredProcedure; SqlParameter[] parameters = { new("@outMsg", SqlDbType.NVarChar, 300), new("@outSum", SqlDbType.Int), new("@inOrderGuid", aboutGuid), new("@inEdtUserGuid", _userGuid), new("@guidList", guidList), new("@aboutType", aboutType) }; 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(), $"{storedProcedureName} 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> /// 选择条码 @@ -258,68 +321,4 @@ return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, ReturnCode.Success, "读取成功"); } /// <summary> /// 打印报表 /// </summary> /// <param name="model"></param> /// <returns></returns> [RequestMethod(RequestMethods.POST)] public ReturnDto<PageList<dynamic>> GetListPageReport([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), 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>() }; try { dset = DbHelperSQL.RunProcedure("prc_dhtm_report", 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); return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, ReturnCode.Exception, ex.Message); } return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, ReturnCode.Success, "读取成功"); } }