服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-08-05 ff636d822e327602f0c9a609d5f6d01cc22e5e86
Tiger.Api/Controllers/MES/MESController.Route.cs
@@ -139,17 +139,139 @@
        }
        /// <summary>
        /// 删除产品绑定的工艺路线
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> DeleteProdRoute([FromBody] ApiAction<DelProdRotInput> action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IRoute>().DeleteProdRoute(action.Data));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 保存工单工艺节点岗位资源
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> SaveWoRouteNodePost([FromBody] ApiAction<List<MES_WO_NODE_POST>> action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IRoute>().SaveWoRouteNodePost(action.Data));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 保存工单工艺路线图形数据
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> SaveWoRouteData([FromBody] ApiAction<WoRouteData> action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IRoute>().SaveWoRouteData(action.Data));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 获取工单工艺路线图形数据
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> GetWoRouteData([FromBody] ApiAction action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IRoute>().GetWoRouteData(action.Data?.ToString()));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 删除工单绑定的工艺路线
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> DeleteWoRoute([FromBody] ApiAction<DelWoRotInput> action)
        {
            ApiAction response = new();
            try
            {
                response = response.GetResponse(await DI.Resolve<IRoute>().DeleteWoRoute(action.Data));
            }
            catch (System.Exception ex)
            {
                response = response.GetResponse().CatchExceptionWithLog(ex);
            }
            return Ok(response);
        }
        /// <summary>
        /// 获取工艺路线树形结构
        /// </summary>
        /// <param name="param"></param>
        /// <param name="prodCode"></param>
        /// <param name="orgCode"></param>
        /// <returns></returns>
        [HttpGet]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> GetRoutePTreeAsync(string param) {
            var data = Biz.Db.Ado.UseStoredProcedure().SqlQuery<V_MES_ROUTE_PTREE>("SP_MES_GET_ROUTE_PTREE", new SugarParameter("@PROD_CODE", param));//返回List
        public async Task<IActionResult> GetRoutePTreeAsync(string prodCode, string orgCode) {
            SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { PROD_CODE = prodCode,ORG_CODE = orgCode });
            var data = Biz.Db.Ado.UseStoredProcedure().SqlQuery<V_MES_ROUTE_PTREE>("SP_MES_GET_ROUTE_PTREE", pars);//返回List
            return Ok(data);
        }
        [HttpGet]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> GetWoPTreeAsync(string wo)
        {
            SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = wo });
            var data = Biz.Db.Ado.UseStoredProcedure().SqlQuery<V_MES_WO_PTREE>("SP_MES_GET_WO_PTREE", pars);//返回List
            return Ok(data);
        }
        /// <summary>
        /// 添加生产工艺路线
        /// </summary>
        /// <param name="rotId"></param>
        /// <param name="prodCode"></param>
        /// <returns></returns>
        [HttpGet]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> RouteToProd(string rotId, string prodCode)
@@ -157,8 +279,97 @@
            ApiAction response = new();
            try
            {
                SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { ROT_ID = rotId, PROD_CODE = prodCode });
                Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_ROUTE2PROD", pars); ;
                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);
        }
        /// <summary>
        /// 添加客户工艺路线
        /// </summary>
        /// <param name="rotId"></param>
        /// <param name="prodCode"></param>
        /// <param name="custCode"></param>
        /// <returns></returns>
        [HttpGet]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> 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);
        }
        /// <summary>
        /// 添加工单工艺路线
        /// </summary>
        /// <param name="rotId"></param>
        /// <param name="wo"></param>
        /// <returns></returns>
        [HttpGet]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> 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);
        }
        /// <summary>
        /// 添加工单的客户的工艺路线
        /// </summary>
        /// <param name="wo"></param>
        /// <returns></returns>
        [HttpGet]
        [Route("api/[controller]/[action]")]
        public async Task<IActionResult> 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)
            {