using Microsoft.AspNetCore.Mvc; using RIZO.Admin.WebApi.Filters; using Infrastructure.Controllers; using RIZO.ServiceCore.Middleware; using Mapster; using Infrastructure.Enums; using Infrastructure; using Infrastructure.Attribute; using RIZO.Common; using Infrastructure.Model; using MDM.Services.IProcessService; using MDM.Model.Process.Dto; using MDM.Model.Process; using MDM.Services.Process; //创建时间:2025-11-22 namespace MDM.Controllers.Process { /// /// 工序工站映射 /// [Verify] [Route("MasterDataManagement/Process/ProcessOperationWorkstationMapping")] public class ProcessOperationWorkstationMappingController : BaseController { /// /// 接口 /// private readonly IProcessOperationWorkstationMappingService _ProcessOperationWorkstationMappingService; public ProcessOperationWorkstationMappingController(IProcessOperationWorkstationMappingService ProcessOperationWorkstationMappingService) { _ProcessOperationWorkstationMappingService = ProcessOperationWorkstationMappingService; } /// /// 查询列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "business:processoperationworkstationmapping:list")] public IActionResult QueryProcessOperationWorkstationMapping([FromQuery] ProcessOperationWorkstationMappingQueryDto parm) { var response = _ProcessOperationWorkstationMappingService.GetList(parm); return SUCCESS(response); } /// /// 查询详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "business:processoperationworkstationmapping:query")] public IActionResult GetProcessOperationWorkstationMapping(int Id) { var response = _ProcessOperationWorkstationMappingService.GetInfo(Id); // var info = response.Adapt(); return SUCCESS(response); } /// /// 添加 /// /// [HttpPost] [ActionPermissionFilter(Permission = "business:processoperationworkstationmapping:add")] [Log(Title = "", BusinessType = BusinessType.INSERT)] public IActionResult AddProcessOperationWorkstationMapping([FromBody] ProcessOperationWorkstationMappingDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _ProcessOperationWorkstationMappingService.AddProcessOperationWorkstationMapping(modal); return SUCCESS(response); } /// /// 更新 /// /// [HttpPut] [ActionPermissionFilter(Permission = "business:processoperationworkstationmapping:edit")] [Log(Title = "", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateProcessOperationWorkstationMapping([FromBody] ProcessOperationWorkstationMappingDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _ProcessOperationWorkstationMappingService.UpdateProcessOperationWorkstationMapping(modal); return ToResponse(response); } /// /// 删除 /// /// [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "business:processoperationworkstationmapping:delete")] [Log(Title = "", BusinessType = BusinessType.DELETE)] public IActionResult DeleteProcessOperationWorkstationMapping(string ids) { int[] idsArr = Tools.SpitIntArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _ProcessOperationWorkstationMappingService.Delete(idsArr); return ToResponse(response); } //TODO 下拉工艺路线 [HttpGet("SelectRouting")] public IActionResult SelectRouting(string? routingcode) { var response = _ProcessOperationWorkstationMappingService.SelectRouting(routingcode??""); return SUCCESS(response); } //TODO 下拉工序 [HttpGet("SelectOperation")] public IActionResult SelectOperation(string? routingCode) { var response = _ProcessOperationWorkstationMappingService.SelectOperation(routingCode??""); return SUCCESS(response); } //TODO 获取工厂 /// /// 获取工厂 /// /// 工厂code /// [HttpGet("get_factory_site")] public IActionResult GetFactorySite(string? site_code) { var response = _ProcessOperationWorkstationMappingService.GetFactorySite(site_code ?? ""); return SUCCESS(response); } //获取车间 [HttpGet("get_workshop")] public IActionResult GetWorkShop(string? site_code, string? workshop_code) { var response = _ProcessOperationWorkstationMappingService.GetWorkShop(site_code??"", workshop_code??""); return SUCCESS(response); } //获取产线 [HttpGet("get_productlinebody")] public IActionResult GetProductlinebody(string? site_code, string? workshop_code, string? linecode) { var response = _ProcessOperationWorkstationMappingService.GetPlantProductlinebodies(site_code??"", workshop_code??"", linecode??""); return SUCCESS(response); } //获取产线下的工站 [HttpGet("get_workstation_list")] public IActionResult GetWorkstationList(string? site_code, string? workshop_code, string? linecode) { var response = _ProcessOperationWorkstationMappingService.GetWorkstationList(site_code??"", workshop_code??"", linecode??""); return SUCCESS(response); } //TODO 分页查询配方参数 [HttpPost("operation_search_recipe")] public IActionResult QueryProcessOperationRecipe([FromBody] ProcessOperationQuery2Dto query) { var response = _ProcessOperationWorkstationMappingService.QueryProcessOperationRecipe(query); return SUCCESS(response); } //TODO 采集参数 实体化 (同步) /// /// /// /// /// int 同步的数据条数 [HttpGet("sync_CollectParameter")] public IActionResult SyncCollectParameter(int OperationWorkstationMappingId) { var response = _ProcessOperationWorkstationMappingService.SyncCollectParameter(OperationWorkstationMappingId); return SUCCESS(response); } //TODO 添加plc点位 [HttpGet("update_plc_point")] public IActionResult UpdatePlcPoint(int ProcessOperationWorkstationFlowCollectParameterId, string? plc_point) { var response = _ProcessOperationWorkstationMappingService.UpdatePlcPoint(ProcessOperationWorkstationFlowCollectParameterId, plc_point??""); return SUCCESS(response); } } }