264 lines
7.6 KiB
C#
264 lines
7.6 KiB
C#
using Azure;
|
|
using DOAN.Model.Mobile.ReportFlow.Dto;
|
|
using DOAN.Service.Mobile.IService;
|
|
using Infrastructure.Converter;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace DOAN.Admin.WebApi.Controllers.Mobile;
|
|
|
|
/// <summary>
|
|
/// 工序流转卡
|
|
/// </summary>
|
|
[AllowAnonymous]
|
|
[Route("mobile/reportflow")]
|
|
public class ReportFlowController : BaseController
|
|
{
|
|
//IReportFlowService
|
|
private readonly IReportFlowService _reportFlowService;
|
|
|
|
public ReportFlowController(IReportFlowService reportFlowService)
|
|
{
|
|
_reportFlowService = reportFlowService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据指定日期获取工单列表
|
|
/// </summary>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="endDate"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="CustomException"></exception>
|
|
|
|
[HttpGet("get_workorders_by_date")]
|
|
public IActionResult GetWorkOrdersByDate(DateTime startDate, DateTime endDate)
|
|
{
|
|
startDate = DOANConvertDate.ConvertLocalDate(startDate);
|
|
endDate = DOANConvertDate.ConvertLocalDate(endDate);
|
|
if (startDate == DateTime.MinValue || endDate == DateTime.MinValue)
|
|
{
|
|
throw new CustomException("date is error");
|
|
}
|
|
var response = _reportFlowService.GetWorkOrdersByDate(startDate, endDate);
|
|
return SUCCESS(response);
|
|
}
|
|
|
|
//TODO 查询工单详情
|
|
/// <summary>
|
|
/// 查询工单详情
|
|
/// </summary>
|
|
/// <param name="workOrder">工单号</param>
|
|
/// <returns></returns>
|
|
/// <exception cref="CustomException"></exception>
|
|
[HttpGet("get_workorder_detail")]
|
|
public IActionResult GetWorkOrderDetail(string workOrder)
|
|
{
|
|
if (string.IsNullOrEmpty(workOrder))
|
|
throw new CustomException("workOrderId 是空");
|
|
var response = _reportFlowService.GetWorkOrderDetail(workOrder);
|
|
if (response == null)
|
|
{
|
|
return ToResponse(ResultCode.SUCCESS, "工单不存在");
|
|
}
|
|
return SUCCESS(response);
|
|
}
|
|
|
|
//TODO 查询工序报工详情
|
|
/// <summary>
|
|
/// 查询某个工序报工详情
|
|
/// </summary>
|
|
/// <param name="workorder"></param>
|
|
/// <param name="process"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="CustomException"></exception>
|
|
[HttpGet("get_process_reportwork_detail")]
|
|
public IActionResult GetProcessReportWorkDetail(string workorder, int processId)
|
|
{
|
|
if (string.IsNullOrEmpty(workorder))
|
|
{
|
|
throw new CustomException("workorder is null");
|
|
}
|
|
return ToResponse(
|
|
ResultCode.SUCCESS,
|
|
_reportFlowService.GetProcessReportWorkDetail(workorder, processId)
|
|
);
|
|
}
|
|
|
|
//TODO 领料工序
|
|
[HttpGet("feed_process_reportwork")]
|
|
public IActionResult FeedProcessReportwork(
|
|
string workorder,
|
|
int processId,
|
|
int finish_num,
|
|
string stove_code,
|
|
string feed_order,
|
|
string process_operator
|
|
)
|
|
{
|
|
try
|
|
{
|
|
if (string.IsNullOrEmpty(workorder))
|
|
{
|
|
throw new CustomException("workorder or process is null");
|
|
}
|
|
|
|
return SUCCESS(
|
|
_reportFlowService.FeedProcessReportwork(
|
|
workorder,
|
|
processId,
|
|
finish_num,
|
|
stove_code,
|
|
feed_order,
|
|
process_operator
|
|
)
|
|
);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
|
|
return ToResponse(new ApiResult(500, e.Message));
|
|
}
|
|
|
|
}
|
|
|
|
//TODO 工序报工
|
|
/// <summary>
|
|
/// 工序报工
|
|
/// </summary>
|
|
/// <param name="workorder"></param>
|
|
/// <param name="process"></param>
|
|
/// <param name="finish_num"></param>
|
|
/// <param name="bad_num"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="CustomException"></exception>
|
|
[HttpGet("process_reportwork")]
|
|
public IActionResult ProcessReportWork([FromQuery] ProReportWorkDto proReportWorkDto)
|
|
{
|
|
try
|
|
{
|
|
if (string.IsNullOrEmpty(proReportWorkDto.workorder))
|
|
{
|
|
throw new CustomException("workorder or process is null");
|
|
}
|
|
|
|
return SUCCESS(
|
|
_reportFlowService.ProcessReportWork(
|
|
proReportWorkDto.workorder,
|
|
proReportWorkDto.processId,
|
|
proReportWorkDto.finish_num,
|
|
proReportWorkDto.bad_num,
|
|
proReportWorkDto.process_operator
|
|
)
|
|
);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
|
|
return ToResponse(new ApiResult(500, e.Message));
|
|
}
|
|
|
|
}
|
|
|
|
//TODO 出货工序
|
|
[HttpGet("shipment_process_reportwork")]
|
|
public IActionResult ShipmentProcessReportwork(
|
|
string workorder,
|
|
int processId,
|
|
int finish_num,
|
|
int bad_num,
|
|
string customer_order,
|
|
string process_operator
|
|
)
|
|
{
|
|
try
|
|
{
|
|
if (string.IsNullOrEmpty(workorder))
|
|
{
|
|
throw new CustomException("workorder or process is null");
|
|
}
|
|
int ret = _reportFlowService.ShipmentProcessReportwork(
|
|
workorder,
|
|
processId,
|
|
finish_num,
|
|
bad_num,
|
|
customer_order,
|
|
process_operator
|
|
);
|
|
string data = "";
|
|
if (ret == 0)
|
|
{
|
|
data = "系统操作失败!";
|
|
}
|
|
if (ret == 1)
|
|
{
|
|
data = "成功";
|
|
}
|
|
if (ret == 2)
|
|
{
|
|
data = "采购订单不存在,请检查订单号!";
|
|
}
|
|
if (ret == 3)
|
|
{
|
|
data = "出货数量超额!";
|
|
}
|
|
if (ret == 4)
|
|
{
|
|
data = "工单异常,该工单不存在!";
|
|
}
|
|
if (ret == 5)
|
|
{
|
|
data = "采购订单主体型号与工单不符合!";
|
|
}
|
|
return SUCCESS(data);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return ToResponse(new ApiResult(500, e.Message));
|
|
}
|
|
|
|
}
|
|
|
|
//TODO 获取工单下的报工列表
|
|
[HttpGet("get_workorder_reportwork_list")]
|
|
public IActionResult GetWorkOrderReportWorkList(string workorder)
|
|
{
|
|
if (string.IsNullOrEmpty(workorder))
|
|
{
|
|
throw new CustomException("workorder is null");
|
|
}
|
|
|
|
return SUCCESS(_reportFlowService.GetWorkOrderReportWorkList(workorder));
|
|
}
|
|
|
|
//TODO 输入姓名拼音,查询此人今日报工记录
|
|
[HttpGet("get_report_info_by_name")]
|
|
public IActionResult GetReportInfoByName([FromQuery] ProReportWorkDto2 query)
|
|
{
|
|
if (string.IsNullOrEmpty(query.name))
|
|
{
|
|
throw new CustomException("name is null");
|
|
}
|
|
var response = _reportFlowService.GetReportInfoByName(query);
|
|
return SUCCESS(response);
|
|
}
|
|
|
|
//TODO 根据工艺路线获取所有工序
|
|
[HttpGet("get_process_by_route")]
|
|
public IActionResult GetProcessByRoute(int route_id = 32)
|
|
{
|
|
var response = _reportFlowService.GetProcessByRoute(route_id);
|
|
return SUCCESS(response);
|
|
}
|
|
|
|
//TODO 输入工序id 查询今天报工记录
|
|
[HttpGet("get_report_by_processid")]
|
|
public IActionResult GetReportByProcessId([FromQuery] ProReportWorkDto3 query)
|
|
{
|
|
if (query.processId <= 0)
|
|
{
|
|
throw new CustomException("processId is error");
|
|
}
|
|
var response = _reportFlowService.GetReportByProcessId(query);
|
|
return SUCCESS(response);
|
|
}
|
|
}
|