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; using Gs.Toolbox.ApiCore.Group; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using static Gs.Toolbox.UtilityHelper; namespace Gs.JJGZ; [ApiGroup(ApiGroupNames.JJGZ)] public class MesDeToLineController : IRomteService { private readonly IHttpContextAccessor _http; private readonly string _userCode, _userGuid, _orgFids; public MesDeToLineController(IHttpContextAccessor httpContextAccessor) { _http = httpContextAccessor; (_userCode, _userGuid, _orgFids) = GetUserGuidAndOrgGuid(_http); } /// /// 读取列表,支持分页 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto> GetListPage([FromBody] dynamic model) { int currentPage = model.currentPage; int everyPageSize = model.everyPageSize; string sortName = model.sortName; string keyWhere = model.keyWhere; var _pglist = new PageList { total = 0, everyPageSize = 0, pages = 0, list = new List() }; try { // 构建分页查询SQL string whereClause = string.IsNullOrEmpty(keyWhere) ? "" : keyWhere; string orderBy = string.IsNullOrEmpty(sortName) ? "CREATE_DATE DESC" : $"{sortName} ASC"; // 查询总数 string countSql = $"SELECT COUNT(1) FROM Mes_DepartmentToLine a WHERE 1=1 {whereClause}"; var countResult = DbHelperSQL.GetSingle(countSql); int intTotal = countResult != null ? Convert.ToInt32(countResult) : 0; if (intTotal > 0) { // 分页查询数据 int offset = (currentPage - 1) * everyPageSize; string dataSql = $@" SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY {orderBy}) AS RowNum, A.*, b.Name as OrgName FROM Mes_DepartmentToLine A LEFT JOIN SYS_ORGANIZATION B ON A.OrgId = B.FID WHERE 1=1 {whereClause} ) AS T WHERE T.RowNum BETWEEN {offset + 1} AND {offset + everyPageSize}"; var dsMain = DbHelperSQL.Query(dataSql); if (dsMain != null && dsMain.Tables.Count > 0 && dsMain.Tables[0].Rows.Count > 0) { var pages = intTotal % everyPageSize != 0 ? intTotal / everyPageSize + 1 : intTotal / everyPageSize; _pglist.total = intTotal; _pglist.everyPageSize = everyPageSize; _pglist.pages = pages; var _dy = dsMain.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(); dynamic m = new ExpandoObject(); string mainTable = "Mes_DepartmentToLine"; try { string sqlMain = $"SELECT * FROM {mainTable} WHERE GUID='{guid}'"; var dsMain = DbHelperSQL.Query(sqlMain); if (dsMain != null && dsMain.Tables.Count > 0 && dsMain.Tables[0].Rows.Count > 0) { var dr = dsMain.Tables[0].Rows[0]; m = dr.RowToDynamic(); } } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); } if (m != null) return ReturnDto.QuickReturn(m, ReturnCode.Success, "读取成功!"); return ReturnDto.QuickReturn(m, ReturnCode.Default, "读取失败!"); } /// /// 提交审核反审核 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto EditModelSubmit([FromBody] dynamic mode) { string _guid = mode.guid; string _inFieldValue = mode.inFieldValue; dynamic m = new ExpandoObject(); m.outSum = -1; m.outMsg = ""; try { string sql = $"UPDATE Mes_DepartmentToLine SET CHECK_STATUS='{_inFieldValue}',CHECK_DATE = getdate(), CHECK_USER='{_userGuid}' WHERE GUID='{_guid}'"; int rows = DbHelperSQL.ExecuteSql(sql); m.outSum = rows; m.outMsg = rows > 0 ? "操作成功!" : "未更新任何数据"; } catch (Exception ex) { LogHelper.Debug(ToString(), "EditModelSubmit error:" + ex.Message); m.outMsg = ex.Message; m.outSum = -1; return ReturnDto.QuickReturn(m, ReturnCode.Default, ex.Message); } return ReturnDto.QuickReturn(m, ReturnCode.Success, "操作成功!"); } /// /// 增加或编辑实体 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto EditModel([FromBody] dynamic model) { Guid? guid = model.guid; //主键 string departmentId = model.departmentId; string departmentName = model.departmentName; string lineNo = model.lineNo; string lineName = model.lineName; string orgId = model.orgId; dynamic mObj = new ExpandoObject(); mObj.outMsg = ""; mObj.outSum = -1; mObj.outGuid = ""; mObj.outNo = ""; try { string sql; if (CheckGuid(guid)) { sql = $"UPDATE Mes_DepartmentToLine SET DepartmentId='{departmentId}', DepartmentName='{departmentName}', Line_No='{lineNo}', Line_Name='{lineName}',OrgId = '{orgId}' WHERE GUID='{guid}'"; } else { guid = Guid.NewGuid(); sql = $" declare @userBy nvarchar(20); select top 1 @userBy=[ACCOUNT] from [dbo].[SYS_USER] where guid='{_userGuid}' " + $"INSERT INTO Mes_DepartmentToLine (GUID, CREATE_BY, CREATE_DATE, DepartmentId, DepartmentName, Line_No, Line_Name,OrgId, CHECK_STATUS) VALUES ('{guid}',@userBy,GETDATE(), '{departmentId}', '{departmentName}', '{lineNo}', '{lineName}','{orgId}', 0)"; } int rows = DbHelperSQL.ExecuteSql(sql); mObj.outSum = rows; mObj.outGuid = guid.ToString(); mObj.outMsg = rows > 0 ? "操作成功!" : "未更新任何数据"; } catch (Exception ex) { LogHelper.Debug(ToString(), "EditModel error:" + ex.Message); mObj.outMsg = ex.Message; mObj.outSum = -1; } if (mObj.outSum <= 0) return ReturnDto.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg); return ReturnDto.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg); } /// /// 删除主表或明细 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto DeleteModel([FromBody] dynamic model) { int? rtnInt = (int)ReturnCode.Default; Guid? guid = model.guid; var _outMsg = ""; var _outSum = -1; try { if (CheckGuid(guid)) { string sql = $"DELETE FROM Mes_DepartmentToLine WHERE GUID='{guid}'"; _outSum = DbHelperSQL.ExecuteSql(sql); _outMsg = _outSum > 0 ? "删除成功!" : "未删除任何数据"; } else { _outMsg = "主键不能为空!"; _outSum = -1; } } catch (Exception ex) { LogHelper.Debug(ToString(), "DeleteModel error:" + ex.Message); _outMsg = ex.Message; _outSum = -1; } if (_outSum <= 0) return ReturnDto.QuickReturn(rtnInt, ReturnCode.Exception, _outMsg); return ReturnDto.QuickReturn(rtnInt, ReturnCode.Success, _outMsg); } /// /// 获取部门下拉列表数据 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto GetDepartmentList([FromBody] dynamic model) { dynamic m = new ExpandoObject(); try { string sql = "SELECT id AS 部门Id, name AS 部门名称 FROM OA_Department"; var ds = DbHelperSQL.Query(sql); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { var list = ds.Tables[0].TableToDynamicList(); m.list = list; } else { m.list = new List(); } } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); m.list = new List(); } return ReturnDto.QuickReturn(m, ReturnCode.Success, "读取成功!"); } /// /// 获取产线下拉列表数据 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto GetLineList([FromBody] dynamic model) { dynamic m = new ExpandoObject(); try { string sql = "SELECT line_no AS 产线编号, name AS 产线名称 FROM MES_WORKSHOP_LINE"; var ds = DbHelperSQL.Query(sql); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { var list = ds.Tables[0].TableToDynamicList(); m.list = list; } else { m.list = new List(); } } catch (Exception ex) { LogHelper.Debug(ToString(), ex.Message); m.list = new List(); } return ReturnDto.QuickReturn(m, ReturnCode.Success, "读取成功!"); } }