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.Wom.WorkService { [ApiGroup(ApiGroupNames.WOM)] public class WorkRepairController : IRomteService { private readonly IHttpContextAccessor _http; private readonly string _userCode, _userGuid, _orgFids; public WorkRepairController(IHttpContextAccessor httpContextAccessor) { _http = httpContextAccessor; (_userCode, _userGuid, _orgFids) = GetUserGuidAndOrgGuid(_http); } /// /// 读取列表,支持分页 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto> GetListPage([FromBody] PageQuery 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 { total = 0, everyPageSize = 0, pages = 0, list = new List() }; try { dset = DbHelperSQL.RunProcedure("work_repair_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); return ReturnDto>.QuickReturn(_pglist, ReturnCode.Exception, ex.Message); } return ReturnDto>.QuickReturn(_pglist, ReturnCode.Success, "读取成功"); } /// /// 读取 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto GetModel([FromBody] dynamic model) { string guid = model.guid.ToString(); string barCode = model.barCode.ToString(); string badXx = model.badXx; //不良现像 string badYy = model.badYy; //不良原因 string badDc = model.badDc; //不良对策 string checkResult = model.checkResult; //检测结果 dynamic m = new ExpandoObject(); m.list = new List(); m.list2 = new List(); m.list3 = new List(); m.outMsg = ""; m.outSum = -1; string _strMsg = ""; int _sum = 0; SqlParameter[] parameters = { new("@inP1", badXx), new("@inP2", badYy), new("@inP3",checkResult), new("@inP4", barCode),//这是追溯码 barCode, new("@inP5",badDc), new("@inEdtUserGuid", _userGuid), new("@inMainGuid", guid), }; var dset = new DataSet(); try { dset = DbHelperSQL.RunProcedure("[work_repair_mx]", parameters, "0"); if (dset != null && dset.Tables.Count > 0 && dset.Tables[0].Rows.Count > 0) { //0返回消息和返回值 _strMsg = dset.Tables[0].Rows[0]["outMsg"].ToString(); _sum = int.Parse(dset.Tables[0].Rows[0]["outSum"].ToString()); //1统计和头表 if (dset.Tables.Count > 1 && dset.Tables[1].Rows.Count > 0) { var dr = dset.Tables[1].Rows[0]; m = dr.RowToDynamic(); } m.outMsg = _strMsg; m.outSum = _sum; //2良品列表 if (dset.Tables.Count > 2) { var _tb = dset.Tables[2].TableToDynamicList(); m.list = _tb; } //3不良品列表 if (dset.Tables.Count > 3) { var _tb2 = dset.Tables[3].TableToDynamicList(); m.list2 = _tb2; } } else { m.outMsg = "没有找到该条码!"; m.outSum = -1; } } catch (Exception ex) { LogHelper.Debug(this.ToString(), ex.Message); m.outMsg = ex.Message; m.outSum = -1; } if (m.outSum > 0) return ReturnDto.QuickReturn(m, ReturnCode.Success, m.outMsg); return ReturnDto.QuickReturn(m, ReturnCode.Exception, m.outMsg); } } }