using Microsoft.AspNetCore.Mvc; using DOAN.Admin.WebApi.Filters; using Infrastructure.Controllers; using DOAN.ServiceCore.Middleware; using Mapster; using Infrastructure.Enums; using Infrastructure; using Infrastructure.Attribute; using DOAN.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 下拉工序 //TODO 下拉工厂 //TODO 下拉产线 //TODO 下拉工站 //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); } } }