using Microsoft.AspNetCore.Mvc;
using DOAN.Model.Bydlms.Dto;
using DOAN.Model.Bydlms;
using DOAN.Service.Bydlms.IBydlmsService;
using DOAN.Admin.WebApi.Filters;
using Azure;
//创建时间:2025-02-19
namespace DOAN.Admin.WebApi.Controllers.Bydlms
{
///
/// 生产工单
///
[Route("bydlms/BydWorkorder")]
public class BydWorkorderController : BaseController
{
///
/// 生产工单接口
///
private readonly IBydWorkorderService _BydWorkorderService;
public BydWorkorderController(IBydWorkorderService BydWorkorderService)
{
_BydWorkorderService = BydWorkorderService;
}
///
/// BYD-MES传入生产工单
///
///
[HttpPost("accept_BYD_MES_wrokorder_list")]
[AllowAnonymousAttribute]
[Log(Title = "BYD-MES传入生产工单", BusinessType = BusinessType.INSERT)]
public IActionResult BatchAddBydWorkorder([FromBody] QueryParam parm)
{
try
{
var modalList = parm.Data.Adapt>();
var response = _BydWorkorderService.AddBydWorkorderList(modalList,parm.LineCode);
Dictionary result = new Dictionary();
if (response)
{
result.Add("code", "000000");
result.Add("mesg", "操作成功");
return Ok(result); // 返回成功的响应
}
else
{
result.Add("code", "999999");
result.Add("mesg", "传入数据为空");
return BadRequest(result); // 返回失败的响应
}
}
catch (Exception ex)
{
Dictionary errorResult = new Dictionary
{
{ "code", "999999" },
{ "mesg", ex.Message }
};
return StatusCode(500, errorResult); // 返回异常响应
}
}
///
/// 查询生产工单列表
///
///
///
[Verify]
[HttpGet("list")]
[ActionPermissionFilter(Permission = "bydworkorder:list")]
public IActionResult QueryBydWorkorder([FromQuery] BydWorkorderQueryDto parm)
{
var response = _BydWorkorderService.GetList(parm);
return SUCCESS(response);
}
///
/// 查询生产工单详情
///
///
///
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "bydworkorder:query")]
[Verify]
public IActionResult GetBydWorkorder(string Id)
{
var response = _BydWorkorderService.GetInfo(Id);
var info = response.Adapt();
return SUCCESS(info);
}
///
/// 添加生产工单
///
///
[HttpPost]
[ActionPermissionFilter(Permission = "bydworkorder:add")]
[Log(Title = "生产工单", BusinessType = BusinessType.INSERT)]
[Verify]
public IActionResult AddBydWorkorder([FromBody] BydWorkorderDto parm)
{
var modal = parm.Adapt().ToCreate(HttpContext);
var response = _BydWorkorderService.AddBydWorkorder(modal);
return SUCCESS(response);
}
///
/// 更新生产工单
///
///
[HttpPut]
[ActionPermissionFilter(Permission = "bydworkorder:edit")]
[Log(Title = "生产工单", BusinessType = BusinessType.UPDATE)]
[Verify]
public IActionResult UpdateBydWorkorder([FromBody] BydWorkorderDto parm)
{
var modal = parm.Adapt().ToUpdate(HttpContext);
var response = _BydWorkorderService.UpdateBydWorkorder(modal);
return ToResponse(response);
}
///
/// 删除生产工单
///
///
[HttpPost("delete/{ids}")]
[ActionPermissionFilter(Permission = "bydworkorder:delete")]
[Log(Title = "生产工单", BusinessType = BusinessType.DELETE)]
[Verify]
public IActionResult DeleteBydWorkorder([FromRoute]string ids)
{
var idArr = Tools.SplitAndConvert(ids);
return ToResponse(_BydWorkorderService.Delete(idArr));
}
///
/// 上移
///
///
///
[HttpGet("move_up")]
public IActionResult MOVEUP(string OrderCode)
{
var response = _BydWorkorderService.MOVEUP(OrderCode);
return SUCCESS(response);
}
///
/// 下移
///
///
///
[HttpGet("move_down")]
public IActionResult MOVEDOWN(string OrderCode)
{
var response = _BydWorkorderService.MOVEDOWN(OrderCode);
return SUCCESS(response);
}
//TODO 产线获取当前生产工单和下一个工单
[HttpGet("get_workorder_producting")]
public IActionResult GetWorkOrderProducting(string line_code)
{
var response = _BydWorkorderService.GetWorkOrderProducting(line_code);
return SUCCESS(response);
}
}
}