| | |
| | | using static Gs.Toolbox.UtilityHelper; |
| | | |
| | | |
| | | namespace Gs.Wom.WorkService; |
| | | |
| | | [ApiGroup(ApiGroupNames.BaseInfo)] |
| | | public class WorkProController : IRomteService |
| | | namespace Gs.Wom.WorkService |
| | | { |
| | | private readonly IHttpContextAccessor _http; |
| | | private readonly string _userCode, _userGuid, _orgFids; |
| | | |
| | | |
| | | public WorkProController(IHttpContextAccessor httpContextAccessor) |
| | | [ApiGroup(ApiGroupNames.BaseInfo)] |
| | | public class WorkProController : IRomteService |
| | | { |
| | | _http = httpContextAccessor; |
| | | (_userCode, _userGuid, _orgFids) = |
| | | GetUserGuidAndOrgGuid(_http); |
| | | } |
| | | private readonly IHttpContextAccessor _http; |
| | | private readonly string _userCode, _userGuid, _orgFids; |
| | | |
| | | #region |
| | | |
| | | /// <summary> |
| | | /// 读取列表,支持分页 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<PageList<dynamic>> GetListPage([FromBody] PageQuery model) |
| | | { |
| | | var currentPage = model.currentPage; |
| | | var everyPageSize = model.everyPageSize; |
| | | var sortName = string.IsNullOrEmpty(model.sortName) |
| | | ? "a.hNo" |
| | | : model.sortName; |
| | | var keyWhere = model.keyWhere; |
| | | var sbSql = new StringBuilder(); |
| | | sbSql.Append("select * from "); |
| | | sbSql.Append("( "); |
| | | sbSql.Append("select top 100000 ROW_NUMBER() over(order by " + |
| | | sortName + " " + model.sortOrder + |
| | | ") as rowIndex,cast(0 as bit) as chkInt,a.*,(a.processNo+':'+a.processName) as processNoAndName,(case a.isStatus when 1 then '正常' when -1 then '禁用' else cast(a.isStatus as nvarchar(4)) end) as isStatusTxt from WORK_PROCESS a where 1=1" + |
| | | keyWhere); |
| | | 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 from WORK_PROCESS a where 1=1 " + |
| | | keyWhere); |
| | | var dset = new DataSet(); |
| | | try |
| | | public WorkProController(IHttpContextAccessor httpContextAccessor) |
| | | { |
| | | dset = DbHelperSQL.Query(sbSql.ToString()); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "GetListPage error:" + ex.Message); |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn( |
| | | default(PageList<dynamic>), ReturnCode.Exception, ex.Message); |
| | | _http = httpContextAccessor; |
| | | (_userCode, _userGuid, _orgFids) = |
| | | GetUserGuidAndOrgGuid(_http); |
| | | } |
| | | |
| | | var _pglist = new PageList<dynamic> |
| | | #region |
| | | /// <summary> |
| | | /// 读取列表,支持分页 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<PageList<dynamic>> GetListPage([FromBody] PageQuery model) |
| | | { |
| | | total = 0, |
| | | everyPageSize = 0, |
| | | pages = 0, |
| | | list = new List<dynamic>() |
| | | }; |
| | | 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; |
| | | } |
| | | |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, |
| | | ReturnCode.Success, "读取成功"); |
| | | } |
| | | //(case a.isStatus when 1 then '正常' when - 1 then '禁用' else cast(a.isStatus as nvarchar(4)) end) as isStatusTxt |
| | | |
| | | |
| | | /// <summary> |
| | | /// 删除 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<int?> DeleteModel([FromBody] JArray guidList) |
| | | { |
| | | var intArray = guidList.ToObject<string[]>(); |
| | | var sbGuid = new StringBuilder(); |
| | | foreach (var val in intArray) |
| | | { |
| | | if (sbGuid.Length > 0) sbGuid.Append(", "); |
| | | sbGuid.Append(val); |
| | | } |
| | | |
| | | var rtnInt = (int)ReturnCode.Default; |
| | | var cont = 0; |
| | | try |
| | | { |
| | | cont = isChkOrUnChk(sbGuid.ToString(), 1); |
| | | if (cont > 0) |
| | | return ReturnDto<int>.QuickReturn(default(int?), |
| | | ReturnCode.Exception, "删除失败,该信息已被审核!"); |
| | | var currentPage = model.currentPage; |
| | | var everyPageSize = model.everyPageSize; |
| | | var sortName = string.IsNullOrEmpty(model.sortName) |
| | | ? "a.hNo" |
| | | : model.sortName; |
| | | var keyWhere = model.keyWhere; |
| | | var sbSql = new StringBuilder(); |
| | | sbSql.Append("delete from WORK_PROCESS "); |
| | | sbSql.Append(" where guid in (select line from dbo.fn_split('" + |
| | | sbGuid + "',','))"); |
| | | var rows = DbHelperSQL.ExecuteSql(sbSql.ToString()); |
| | | rtnInt = rows; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "DeleteModel error:" + ex.Message); |
| | | rtnInt = (int)ReturnCode.Exception; |
| | | return ReturnDto<int>.QuickReturn(default(int?), |
| | | ReturnCode.Exception, "删除失败," + ex.Message); |
| | | } |
| | | |
| | | if (rtnInt > 0) |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, |
| | | "操作成功,共删除" + rtnInt + "条数据!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, |
| | | "删除失败,请重试!"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 增加 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<string?> EditModel([FromBody] dynamic model) |
| | | { |
| | | string guid = model.guid; |
| | | string processNo = model.processNo; |
| | | string processName = model.processName; |
| | | string remark = model.remark; |
| | | string isBack = model.isBack; |
| | | string isStatus = model.isStatus; |
| | | string isZsm = model.isZsm; |
| | | string isTbm = model.isTbm; |
| | | string description = model.description; |
| | | int? rtnInt = (int)ReturnCode.Default; |
| | | var sbSql = new StringBuilder(); |
| | | if (!CheckGuid(guid)) |
| | | { |
| | | guid = Guid.NewGuid().ToString(); |
| | | sbSql.Append("select * from "); |
| | | sbSql.Append("( "); |
| | | sbSql.Append("select top 100000 ROW_NUMBER() over(order by " + |
| | | sortName + " " + model.sortOrder + |
| | | ") as rowIndex,cast(0 as bit) as chkInt, a.*,(a.PROC_NO+':'+a.PROC_NAME) as processNoAndName from MES_PROC_INFO a where 1=1" + |
| | | keyWhere); |
| | | 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( |
| | | "INSERT INTO [dbo].[WORK_PROCESS] ([guid] ,[processNo] ,[processName] ,[remark] ,[isBack] ,[isStatus] ,[description] ,[createBy] ,[createDate] ,[lastUpdateBy] ,[lastUpdateDate],isZsm,isTbm)"); |
| | | sbSql.Append(" values( '" + guid + |
| | | "',@processNo,@processName,@remark,@isBack,@isStatus,@description,'" + |
| | | _userCode + "',getdate(),'" + _userCode + |
| | | "',getdate(),@isZsm,@isTbm)"); |
| | | } |
| | | else |
| | | { |
| | | sbSql.Append( |
| | | "UPDATE [dbo].[WORK_PROCESS] SET [processNo] =@processNo,[processName] =@processName,[remark] =@remark,[isBack] =@isBack,[isStatus] =@isStatus,[description] =@description,[lastUpdateBy] ='" + |
| | | _userCode + |
| | | "',[lastUpdateDate] =getdate(),isZsm=@isZsm,isTbm=@isTbm where guid='" + |
| | | guid + "'"); |
| | | } |
| | | |
| | | SqlParameter[] parameters = |
| | | { |
| | | new("@processNo", processNo), |
| | | new("@processName", processName), |
| | | new("@remark", remark), |
| | | new("@isBack", isBack), |
| | | new("@isStatus", isStatus), |
| | | new("@description", description), |
| | | new("@isZsm", isZsm), |
| | | new("@isTbm", isTbm) |
| | | }; |
| | | try |
| | | { |
| | | rtnInt = DbHelperSQL.ExecuteSql(sbSql.ToString(), parameters); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "EditModel error:" + ex.Message); |
| | | rtnInt = (int)ReturnCode.Exception; |
| | | return ReturnDto<string>.QuickReturn("", ReturnCode.Exception, |
| | | ex.Message); |
| | | } |
| | | |
| | | if (rtnInt > 0) |
| | | return ReturnDto<string>.QuickReturn(guid, ReturnCode.Success, |
| | | "操作成功!"); |
| | | return ReturnDto<string>.QuickReturn("", ReturnCode.Exception, |
| | | "增加失败,请重试!"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读取 |
| | | /// </summary> |
| | | /// <param name="guid"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | [AllowAnonymous] |
| | | public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model) |
| | | { |
| | | dynamic m = new ExpandoObject(); |
| | | var sbSql = new StringBuilder(); |
| | | sbSql.Append("select top 1 * from WORK_PROCESS where 1=1 and guid='" + |
| | | model.guid.ToString() + "' "); |
| | | try |
| | | { |
| | | " select count(1) as intTotal from MES_PROC_INFO a where 1=1 " + |
| | | keyWhere); |
| | | var dset = new DataSet(); |
| | | dset = DbHelperSQL.Query(sbSql.ToString()); |
| | | if (dset != null && dset.Tables.Count > 0 && |
| | | dset.Tables[0].Rows.Count > 0) |
| | | try |
| | | { |
| | | var dr = dset.Tables[0].Rows[0]; |
| | | m = dr.RowToDynamic(); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, |
| | | "读取成功!"); |
| | | dset = DbHelperSQL.Query(sbSql.ToString()); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "GetListPage error:" + ex.Message); |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn(default(PageList<dynamic>), ReturnCode.Exception, ex.Message); |
| | | } |
| | | 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) //有数据 |
| | | { |
| | | 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; |
| | | } |
| | | 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) |
| | | { |
| | | string[] intArray = guidList.ToObject<string[]>(); |
| | | System.Text.StringBuilder sbGuid = new StringBuilder(); |
| | | foreach (string val in intArray) |
| | | { |
| | | if (sbGuid.Length > 0) sbGuid.Append(", "); |
| | | sbGuid.Append(val); |
| | | } |
| | | var rtnInt = (int)ReturnCode.Default; |
| | | var cont = 0; |
| | | try |
| | | { |
| | | cont = isChkOrUnChk(sbGuid.ToString(), 1); |
| | | if (cont > 0) |
| | | return ReturnDto<int>.QuickReturn(default(int?), |
| | | ReturnCode.Exception, "删除失败,该信息已被审核!"); |
| | | System.Text.StringBuilder sbSql = new StringBuilder(); |
| | | sbSql.Append("delete from MES_PROC_INFO "); |
| | | sbSql.Append(" where guid in (select line from dbo.fn_split('" + sbGuid.ToString() + "',','))"); |
| | | var rows = DbHelperSQL.ExecuteSql(sbSql.ToString()); |
| | | rtnInt = rows; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "DeleteModel error:" + ex.Message); |
| | | rtnInt = (int)ReturnCode.Exception; |
| | | return ReturnDto<int>.QuickReturn(default(int?), |
| | | ReturnCode.Exception, "删除失败," + ex.Message); |
| | | } |
| | | if (rtnInt > 0) |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, |
| | | "操作成功,共删除" + rtnInt + "条数据!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, |
| | | "删除失败,请重试!"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 增加 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<string?> EditModel([FromBody] dynamic model) |
| | | { |
| | | string guid = model.guid; |
| | | string processNo = model.processNo; |
| | | string processName = model.processName; |
| | | string remark = model.remark; |
| | | string isBack = model.isBack; |
| | | string isStatus = model.isStatus; |
| | | string description = model.description; |
| | | int? rtnInt = (int)ReturnCode.Default; |
| | | System.Text.StringBuilder sbSql = new StringBuilder(); |
| | | if (!CheckGuid(guid)) |
| | | { |
| | | guid= Guid.NewGuid().ToString(); |
| | | sbSql.Append("INSERT INTO [dbo].[WORK_PROCESS] ([guid] ,[processNo] ,[processName] ,[remark] ,[isBack] ,[isStatus] ,[description] ,[createBy] ,[createDate] ,[lastUpdateBy] ,[lastUpdateDate])"); |
| | | sbSql.Append(" values( '"+ guid + "',@processNo,@processName,@remark,@isBack,@isStatus,@description,'" + _userCode + "',getdate(),'" + _userCode + "',getdate())"); |
| | | } |
| | | else |
| | | { |
| | | sbSql.Append("UPDATE [dbo].[WORK_PROCESS] SET [processNo] =@processNo,[processName] =@processName,[remark] =@remark,[isBack] =@isBack,[isStatus] =@isStatus,[description] =@description,[lastUpdateBy] ='" + _userCode + "',[lastUpdateDate] =getdate() where guid='"+guid.ToString()+"'"); |
| | | } |
| | | SqlParameter[] parameters = |
| | | { |
| | | new("@processNo", processNo), |
| | | new("@processName", processName), |
| | | new("@remark", remark), |
| | | new("@isBack", isBack), |
| | | new("@isStatus", isStatus), |
| | | new("@description", description), |
| | | }; |
| | | try |
| | | { |
| | | rtnInt = DbHelperSQL.ExecuteSql(sbSql.ToString(), parameters); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "EditModel error:" + ex.Message); |
| | | rtnInt = (int)ReturnCode.Exception; |
| | | return ReturnDto<string>.QuickReturn("", ReturnCode.Exception, ex.Message); |
| | | } |
| | | |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, |
| | | "读取失败!"); |
| | | if (rtnInt > 0) |
| | | return ReturnDto<string>.QuickReturn(guid, ReturnCode.Success, "操作成功!"); |
| | | return ReturnDto<string>.QuickReturn("", ReturnCode.Exception, "增加失败,请重试!"); |
| | | } |
| | | catch (Exception ex) |
| | | |
| | | /// <summary> |
| | | /// 读取 |
| | | /// </summary> |
| | | /// <param name="guid"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | [AllowAnonymous] |
| | | public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model) |
| | | { |
| | | LogHelper.Debug(ToString(), "GetModel error:" + ex.Message); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, |
| | | "读取失败!"); |
| | | dynamic m = new ExpandoObject(); |
| | | var sbSql = new StringBuilder(); |
| | | sbSql.Append("select top 1 * from WORK_PROCESS where 1=1 and guid='" + |
| | | model.guid.ToString() + "' "); |
| | | try |
| | | { |
| | | var dset = new DataSet(); |
| | | dset = DbHelperSQL.Query(sbSql.ToString()); |
| | | if (dset != null && dset.Tables.Count > 0 && |
| | | dset.Tables[0].Rows.Count > 0) |
| | | { |
| | | var dr = dset.Tables[0].Rows[0]; |
| | | m = dr.RowToDynamic(); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, |
| | | "读取成功!"); |
| | | } |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, |
| | | "读取失败!"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "GetModel error:" + ex.Message); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, |
| | | "读取失败!"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private int isChkOrUnChk(string guidList, int status) |
| | | { |
| | | var cont = 0; |
| | | //cont = int.Parse(DbHelperSQL |
| | | // .GetSingle("select count(1) from mes_Holiday where guid='" + |
| | | // guidList + "' and isnull(check_status,0)=" + status + "") |
| | | // .ToString()); |
| | | return cont; |
| | | private int isChkOrUnChk(string guidList, int status) |
| | | { |
| | | var cont = 0; |
| | | //cont = int.Parse(DbHelperSQL |
| | | // .GetSingle("select count(1) from mes_Holiday where guid='" + |
| | | // guidList + "' and isnull(check_status,0)=" + status + "") |
| | | // .ToString()); |
| | | return cont; |
| | | } |
| | | #endregion |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |