using Microsoft.AspNetCore.Mvc; using DOAN.Admin.WebApi.Filters; using DOAN.Model; using DOAN.Model.MES.mm.Dto; using DOAN.Model.MES.mm; using System.Collections.Generic; using DOAN.Service.group.IService; using Aliyun.OSS; using JinianNet.JNTemplate; using DOAN.Service.MES.mm.IService; //创建时间:2024-08-30 namespace DOAN.WebApi.Controllers.MES.mm { /// /// 物料需求计划 /// [Verify] [Route("mes/materialManagement/PreparantTask")] public class MmPreparantTaskController : BaseController { private readonly IMmPreparantTaskService preparantTaskService; public MmPreparantTaskController(IMmPreparantTaskService preparantTaskService) { this.preparantTaskService = preparantTaskService; } //TODO 获取产线 [HttpGet("get_route")] public IActionResult GetProcessRouteList() { var response = preparantTaskService.GetProcessRouteList(); return SUCCESS(response); } //TODO 获取工单 [HttpGet("get_workoder")] public IActionResult GetWorkOrder(DateTime searchDate, string route_code) { if (searchDate == DateTime.MinValue ) { return SUCCESS(null); } var response = preparantTaskService.GetWorkOrder(searchDate, route_code); return SUCCESS(response); } //TODO 获取任务 [HttpGet("get_task")] public IActionResult GetTaskList(string workorder) { if (string.IsNullOrEmpty(workorder)) { return SUCCESS(null); } var response = preparantTaskService.GetTaskList(workorder); return SUCCESS(response); } //TODO 获取任务 配置详情 清单 [HttpGet("get_task_material")] public IActionResult GetTaskMaterialInfo(string task_code) { if (string.IsNullOrEmpty(task_code)) { return SUCCESS(null); } var response = preparantTaskService.GetTaskMaterialInfo(task_code); return SUCCESS(response); } //TODO 获取任务与Bom配料要求对照 [HttpGet("get_task_material_bom_contrast")] public IActionResult GetTaskMaterialBOMContrast(string task_code) { if (string.IsNullOrEmpty(task_code)) { return SUCCESS(null); } var response = preparantTaskService.GetTaskMaterialBOMContrast(task_code); return SUCCESS(response); } //TODO 新增任务 [HttpGet("new_task")] public IActionResult AddNewTask(string workorder) { if (string.IsNullOrEmpty(workorder)) { return SUCCESS(null); } int response = preparantTaskService.AddNewTask(workorder,HttpContext.GetName()); return SUCCESS(response); } //TODO 删除任务 [HttpGet("delete_task")] public IActionResult DeleteTask(string task_code) { if (string.IsNullOrEmpty(task_code)) { return SUCCESS(null); } int response = preparantTaskService.DeleteTask(task_code); return SUCCESS(response); } //TODO 修改任务数量 [HttpPost("ModifyTask_num")] public IActionResult ModifyTaskNum([FromBody] MmTaskMaterialInfoDto2 parm) { if(parm == null) { return SUCCESS(null); }; int response = preparantTaskService.ModifyTaskNum(parm,HttpContext.GetName()); return SUCCESS(response); } //TODO 表格形式查询工单 任务及其详情 [HttpPost("table_task")] public IActionResult TableQuerytaskInfo([FromBody] FormsWorkoderAndTaskQuery parm) { if (parm == null) { return SUCCESS(null); }; var response = preparantTaskService.TableQuerytaskInfo(parm); return SUCCESS(response); } //TODO 表格形式查询工单 任务及其详情 (按线别备料) [HttpPost("table_task_byline")] public IActionResult TableQuerytaskInfoBYline([FromBody] FormsWorkoderAndTaskQuery2 parm) { if (parm == null) { return SUCCESS(null); }; var response = preparantTaskService.TableQuerytaskInfoBYline(parm); return SUCCESS(response); } //TODO 任务备料状态切换 [HttpGet("switch_task_preparation")] public IActionResult SwitchTaskPreparation(string task_code,int preparation_status) { if(string.IsNullOrEmpty(task_code)) { return SUCCESS(null); }; var response = preparantTaskService.SwitchTaskPreparation(task_code, preparation_status); return SUCCESS(response); } //TODO 备料大屏接口 [HttpGet("Preparationscreen")] public IActionResult MaterialPreparationLargeScreen(DateTime toHandelDate) { if(toHandelDate==DateTime.MinValue) { return SUCCESS(null); }; var response = preparantTaskService.MaterialPreparationLargeScreen(toHandelDate); return SUCCESS(response); } //TODO 导出excel 备料任务 /// /// 导出excel 备料任务 /// /// /// [HttpGet("export")] [Log(Title = "导出excel", BusinessType = BusinessType.EXPORT)] [AllowAnonymous] public IActionResult ExportPreparantTask(DateTime searchDate1,DateTime searchDate2,string route_code) { FormsWorkoderAndTaskQuery2 parm=new FormsWorkoderAndTaskQuery2(); parm.searchDate = new []{searchDate1,searchDate2}; parm.route_code = route_code; var list = preparantTaskService.ExportPreparantTask(parm); var result = ExportExcelMini(list, "PreparantTask", "备料任务列表"); return ExportExcel(result.Item2, result.Item1); } } }