using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Extensions; using ZR.Model.Dto; using ZR.Service.Business.IBusinessService; //创建时间:2025-01-02 namespace ZR.Admin.WebApi.Controllers { /// /// 质量BackEnd业务模块 /// [Route("/mes/qc/BackEnd/QcBackEndController")] public class QcBackEndController : BaseController { /// /// 质量BackEnd业务模块接口 /// private readonly IQcBackEndService _QcBackEndService; public QcBackEndController(IQcBackEndService QcBackEndService) { _QcBackEndService = QcBackEndService; } /// /// 获取班组下拉 /// /// [HttpGet("GetGroupOptions")] [AllowAnonymous] public IActionResult GetGroupOptions() { var response = _QcBackEndService.GetGroupOptions(); return SUCCESS(response); } /// /// 获取站点下拉 /// /// [HttpGet("GetStieOptions")] [AllowAnonymous] public IActionResult GetStieOptions() { var response = _QcBackEndService.GetStieOptions(); return SUCCESS(response); } /// /// 获取缺陷项初始数据 /// /// [HttpGet("GetDefectInitOptions")] [AllowAnonymous] public IActionResult GetDefectInitOptions() { var response = _QcBackEndService.GetDefectInitOptions(); return SUCCESS(response); } /// /// 获取缺陷项列表初始数据 /// /// [HttpGet("GetDefectTableOptions")] [AllowAnonymous] public IActionResult GetDefectTableOptions() { var response = _QcBackEndService.GetDefectTableOptions(); return SUCCESS(response); } /// /// 解析标签 /// /// 标签内容 /// 解析方式 /// [HttpGet("AnalyzeLabel")] [AllowAnonymous] public IActionResult AnalyzeLabel(string label, int type) { var response = _QcBackEndService.AnalyzeLabelToDto(label, type); return SUCCESS(response); } /// /// 开始工单 /// /// [HttpPost("StartBackEndWorkOrder")] [AllowAnonymous] public IActionResult StartBackEndWorkOrder([FromBody] QcBackEndWorkorderDetailDto parm) { try { var modal = parm.Adapt().ToCreate(HttpContext); var response = _QcBackEndService.StartBackEndWorkOrder(modal); return SUCCESS(response); } catch (Exception e) { return ToResponse(new ApiResult(500, "开启工单异常:" + e.Message)); } } /// /// 修改缺陷项 /// /// [HttpPost("ChangeWorkOrderDefect")] [AllowAnonymous] public IActionResult StartBackEndWorkOrder([FromBody] QcBackEndWorkorderDefectDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _QcBackEndService.ChangeWorkOrderDefect(modal); return SUCCESS(response); } /// /// 获取工单缺陷项 /// /// [HttpGet("GetWorkOrderDefectList")] [AllowAnonymous] public IActionResult GetWorkOrderDefectList(string workOrder) { var response = _QcBackEndService.GetWorkOrderDefectList(workOrder); return SUCCESS(response); } /// /// 扫描内标签,添加标签记录 /// /// [HttpPost("ScanInnerLabel")] [AllowAnonymous] public IActionResult ScanInnerLabel([FromBody] QcBackEndLabelScanDto parm) { try { var modal = parm.Adapt().ToCreate(HttpContext); var response = _QcBackEndService.ScanInnerLabel(modal); return SUCCESS(response); } catch (Exception ex) { return SUCCESS("请刷新页面,错误代码:" + ex.Message); } } /// /// 扫描外箱标签,添加想标签记录 /// /// [HttpPost("ScanPackageLabel")] [AllowAnonymous] public IActionResult ScanPackageLabel([FromBody] QcBackEndLabelScanDto parm) { try { var modal = parm.Adapt().ToCreate(HttpContext); var response = _QcBackEndService.ScanPackageLabel(modal); return SUCCESS(response); } catch (Exception ex) { return SUCCESS("请刷新页面,错误代码:" + ex.Message); } } /// /// 判断是否要扫描箱标签 /// /// [HttpGet("CheckPackageIsFullAndNeedScanPackageLabel")] [AllowAnonymous] public IActionResult CheckPackageIsFullAndNeedScanPackageLabel(string workorder) { try { var response = _QcBackEndService.CheckPackageIsFullAndNeedScanPackageLabel(workorder); return SUCCESS(response); } catch (Exception ex) { return SUCCESS("检查是否要扫描箱标签功能异常:" + ex.Message); } } /// /// 结束工单,并生成质量报表 /// /// [HttpGet("EndBackEndWorkOrderAndCreateStatistics")] [AllowAnonymous] public IActionResult EndBackEndWorkOrderAndCreateStatistics(string workOrder) { var response = _QcBackEndService.EndBackEndWorkOrderAndCreateStatistics(workOrder); return SUCCESS(response); } /// /// 更新工单相关信息 /// /// [HttpGet("UpdateWorkOrderDetail")] [AllowAnonymous] public IActionResult UpdateWorkOrderDetail(string workOrder) { var response = _QcBackEndService.UpdateWorkOrderDetail(workOrder); return SUCCESS(response); } /// /// 自动生成标签记录 /// /// [HttpPost("GenerateVirtualLabel")] [AllowAnonymous] public IActionResult GenerateVirtualLabel([FromBody] QcBackEndWorkorderDetailDto parm) { try { var modal = parm.Adapt().ToCreate(HttpContext); var response = _QcBackEndService.GenerateVirtualLabel(modal); return SUCCESS(response); } catch (Exception ex) { return ToResponse(ApiResult.Error(ex.Message)); } } /// /// 打印特殊包装标签 /// /// [HttpPost("PrintSpecialPacakgeLabel")] [AllowAnonymous] public IActionResult PrintSpecialPacakgeLabel([FromBody] QcBackEndWorkorderDetailDto parm, int specialPrintType, int packageNum) { try { var modal = parm.Adapt().ToCreate(HttpContext); var response = _QcBackEndService.PrintSpecialPacakgeLabel(modal, specialPrintType, packageNum); return SUCCESS(response); } catch (Exception ex) { return ToResponse(ApiResult.Error(ex.Message)); } } /// /// 工单标签信息查询 /// /// [HttpGet("SearchWorkOrderLabelDetail")] [AllowAnonymous] public IActionResult SearchWorkOrderLabelDetail(string workOrder) { try { var response = _QcBackEndService.SearchWorkOrderLabelDetail(workOrder); return SUCCESS(response); } catch (Exception ex) { return ToResponse(ApiResult.Error(ex.Message)); } } } }