using DOAN.Admin.WebApi.Filters; using DOAN.Model.MES.product; using DOAN.Model.MES.product.Dto; using DOAN.Service.Mobile; using Microsoft.AspNetCore.Mvc; using DOAN.Service.Mobile.IService; using DOAN.Model.Mobile.Dto; using DOAN.Service.MES.product.IService; using Infrastructure.Converter; namespace DOAN.Admin.Mobile.Controllers { /// /// 移动端 报工 /// [Route("mes/Mobile/ReportWork")] public class PADReportWorkController : BaseController { /// /// 报工表接口 /// private readonly IPADReportWorkService padReportWorkService; public PADReportWorkController(IPADReportWorkService padReportWorkService) { this.padReportWorkService = padReportWorkService; } //TODO 无需防错就报工 /// /// 无需防错就报工 /// /// 工单 /// 报工数 /// [HttpGet("no_errorProofingAndReportingReport")] public IActionResult NoErrorProofingAndReportingReport(string workorder,int reportNum) { if (string.IsNullOrEmpty(workorder) || reportNum<=0) throw new CustomException("workorder或者报工数为0"); var response = padReportWorkService.NoErrorProofingAndReportingReport(workorder, reportNum); return SUCCESS(response); } //TODO 获取全部工艺路线 [HttpGet("get_all_route")] public IActionResult GetAllRoute() { var response = padReportWorkService.GetAllRoute(); return SUCCESS(response); } //TODO 获取全部组 [HttpGet("get_groups")] public IActionResult GetGroupList() { var response = padReportWorkService.GetGroupList(); return SUCCESS(response); } //TODO 获取报工工单列表 [HttpPost("list")] [ActionPermissionFilter(Permission = "productManagement:proreportwork:list")] public IActionResult QueryProReportwork([FromBody] ProReportworkQueryDto parm) { if(parm==null&&string.IsNullOrEmpty(parm.FkWorkorder)) { SUCCESS(null); } var response = padReportWorkService.GetList(parm); return SUCCESS(response); } //获取工单列表PDA //TODO 获取不同状态的工单 (PDA用) //TODO 根据班组,日期 [HttpGet("get_workorder_status_list")] public IActionResult GetWorkOrderStatusList(string group_code,int status, DateTime handleDate) { handleDate=DOANConvertDateTime.ConvertLocalDate(handleDate); if (string.IsNullOrEmpty(group_code) || handleDate == DateTime.MinValue) throw new CustomException("传入空值异常"); var response = padReportWorkService.GetWorkOrderStatusList(group_code, status, handleDate); return SUCCESS(response); } /// /// 更新报工表 /// /// [HttpPut] [Log(Title = "报工表", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateProReportwork([FromBody] ProReportworkDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = padReportWorkService.UpdateProReportwork(modal); return ToResponse(response); } //TODO 获取工单详情 // 获取工单详情 [HttpGet("get_workorder_detail")] public IActionResult GetWorkOrderDetail(string workorder) { if (string.IsNullOrEmpty(workorder)) return SUCCESS(null); var response = padReportWorkService.GetWorkOrderDetail(workorder); return SUCCESS(response); } //TODO 开始某个工单 [HttpGet("start_workorder")] public IActionResult StartWorkOrder(string workorder) { if (string.IsNullOrEmpty(workorder)) return SUCCESS(null); var response = padReportWorkService.StartWorkOrder(workorder); return SUCCESS(response); } //TODO 完成某一个工单 [HttpGet("finish_workorder")] public IActionResult FinishWorkOrder(string workorder) { if (string.IsNullOrEmpty(workorder)) return SUCCESS(null); var response = padReportWorkService.FinishWorkOrder(workorder); return SUCCESS(response); } // TODO 如果没有id 传入工单 手动生成报工记录 沿用之前路由 /mes/productManagement/ProReportwork/manual_generation_reportwork } }