using Microsoft.AspNetCore.Mvc; using Rhea.Common; using SqlSugar; using System; using System.Collections.Generic; using System.Threading.Tasks; using System.Xml.Linq; using Tiger.Api.iBiz; using Tiger.IBusiness; using Tiger.Model; namespace Tiger.Api.Controllers.MES { public partial class MESController : ControllerBase { /// /// 获取工艺路线 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task GetRoute([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().GetRoute(action.Data?.ToString())); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 获取工艺路线图形数据 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task GetRouteData([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().GetRouteData(action.Data?.ToString())); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 保存工艺路线图形数据 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task SaveRouteData([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().SaveRouteData(action.Data)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 保存工艺路线 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task SaveRoute([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().SaveRoute(action.Data)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 删除工艺路线 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task DeleteRoute([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().DeleteRoute(action.Data?.ToString())); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 保存节点岗位资源 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task SaveRouteNodePost([FromBody] ApiAction> action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().SaveRouteNodePost(action.Data)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 删除产品绑定的工艺路线 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task DeleteProdRoute([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().DeleteProdRoute(action.Data)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 保存默认工艺路线到产品 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task SetDefaultRoute([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().SetDefaultRoute(action.Data)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 保存工单工艺节点岗位资源 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task SaveWoRouteNodePost([FromBody] ApiAction> action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().SaveWoRouteNodePost(action.Data)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 保存工单工艺路线图形数据 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task SaveWoRouteData([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().SaveWoRouteData(action.Data)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 获取工单工艺路线图形数据 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task GetWoRouteData([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().GetWoRouteData(action.Data?.ToString())); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 删除工单绑定的工艺路线 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task DeleteWoRoute([FromBody] ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(await DI.Resolve().DeleteWoRoute(action.Data)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 获取工艺路线树形结构 /// /// /// /// [HttpGet] [Route("api/[controller]/[action]")] public async Task GetRoutePTreeAsync(string? prodCode, string? orgCode) { var data = await DI.Resolve().GetRoutePTree(prodCode, orgCode); return Ok(data); } [HttpGet] [Route("api/[controller]/[action]")] public async Task GetWoPTreeAsync(string? wo) { SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = wo }); var data = Biz.Db.Ado.UseStoredProcedure().SqlQuery("SP_MES_GET_WO_PTREE", pars);//返回List return Ok(data); } /// /// 添加生产工艺路线 /// /// /// /// [HttpGet] [Route("api/[controller]/[action]")] public async Task RouteToProd(string? rotId, string? prodCode) { ApiAction response = new(); try { SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { ROT_ID = rotId, PROD_CODE = prodCode, ERR_CODE = 0, ERR_MSG = "" }); pars[2].Direction = System.Data.ParameterDirection.Output; pars[3].Direction = System.Data.ParameterDirection.Output; Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_ROUTE2PROD", pars); response.Data = pars[2].Value; response.IsSuccessed = pars[2].Value.ToInt32() == 0 ? true : false; response.LocaleMsg = new(pars[3].Value.ToString()); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 添加客户工艺路线 /// /// /// /// /// [HttpGet] [Route("api/[controller]/[action]")] public async Task RouteToCust(string? rotId, string? prodCode, string? custCode) { ApiAction response = new(); try { SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { ROT_ID = rotId, PROD_CODE = prodCode, CUST_CODE = custCode, ERR_CODE=0, ERR_MSG="" }); pars[3].Direction = System.Data.ParameterDirection.Output; pars[4].Direction = System.Data.ParameterDirection.Output; Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_ROUTE2CUST", pars); response.Data = pars[3].Value; response.IsSuccessed = pars[3].Value.ToInt32() == 0? true: false; response.LocaleMsg = new(pars[4].Value.ToString()); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 添加工单工艺路线 /// /// /// /// [HttpGet] [Route("api/[controller]/[action]")] public async Task SP_MES_PROD2WO(string? rotId, string? wo) { ApiAction response = new(); try { SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { ROT_ID = rotId, WO = wo, ERR_CODE = 0, ERR_MSG = "" }); pars[2].Direction = System.Data.ParameterDirection.Output; pars[3].Direction = System.Data.ParameterDirection.Output; Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_PROD2WO", pars); response.Data = pars[2].Value; response.IsSuccessed = pars[2].Value.ToInt32() == 0 ? true : false; response.LocaleMsg = new(pars[3].Value.ToString()); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 添加工单的客户的工艺路线 /// /// /// [HttpGet] [Route("api/[controller]/[action]")] public async Task SP_MES_WO2CUST(string? wo) { ApiAction response = new(); try { SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = wo, ERR_CODE = 0, ERR_MSG = "" }); pars[1].Direction = System.Data.ParameterDirection.Output; pars[2].Direction = System.Data.ParameterDirection.Output; Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_WO2CUST", pars); response.Data = pars[1].Value; response.IsSuccessed = pars[1].Value.ToInt32() == 0 ? true : false; response.LocaleMsg = new(pars[2].Value.ToString()); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } } }