using JinianNet.JNTemplate;
using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Text.Json;
using ZR.Admin.WebApi.Extensions;
using ZR.Model.mes.md;
using ZR.Model.mes.pro;
using ZR.Model.MES.pro.DTO;
using ZR.Service.mes.pro;
using ZR.Service.mes.pro.IService;
using ZR.Service.MES.md;
namespace ZR.Admin.WebApi.Controllers.MES.pro
{
[Route("mes/pro/workorder")]
public class ProWorkorderController : BaseController
{
private readonly IProWorkorderService proWorkorderService;
public ProWorkorderController(IProWorkorderService proWorkorderService)
{
this.proWorkorderService = proWorkorderService;
}
///
/// 获取所有非排产工单
///
///
///
///
///
///
///
[HttpGet("getworkorderListwithoutschedule")]
public IActionResult GetWorkorderListWithoutSchedule(int pageNum, int pageSize, int year = -1, int week = -1, int date = -1)
{
(List, int) data = proWorkorderService.GetWorkorderList(pageNum, pageSize, year, week, date, "0");
return ToResponse(new ApiResult(200, "success", data));
}
///
/// 获取所有排产工单
///
///
///
///
///
///
///
[HttpGet("getworkorderListwithschedule")]
public IActionResult GetWorkorderListWithSchedule(int pageNum, int pageSize, int year = -1, int week = -1, int date = -1)
{
(List, int) data = proWorkorderService.GetWorkorderList(pageNum, pageSize, year, week, date, "1");
return ToResponse(new ApiResult(200, "success", data));
}
///
/// 根据工单ID,设置为排产状态
///
/// 工单ID
/// 预计开始时间
/// 预计结束时间
///
[HttpGet("setschedule")]
public IActionResult SetSchedule(string id, string arrange_starttime, string arrange_endtime)
{
DateTime bgDateTime = DateTime.Now;
DateTime edDateTime = DateTime.Now;
try
{
bgDateTime = Convert.ToDateTime(arrange_starttime);
edDateTime = Convert.ToDateTime(arrange_endtime);
}
catch { }
int data = proWorkorderService.SetWorkorderSechedule(id, bgDateTime, edDateTime);
return ToResponse(new ApiResult(200, "success", data));
}
///
/// 根据工单ID,设置为非排产状态
///
/// 工单ID
///
[HttpGet("resetschedule")]
public IActionResult ResetSchedule(string id)
{
int data = proWorkorderService.ResetWorkorderSechedule(id);
return ToResponse(new ApiResult(200, "success", data));
}
///
///
///
///
///
[HttpPost("sortschedule")]
public IActionResult SortSchedule([FromBody] List parameter)
{
//JsonElement t = (JsonElement)parameter;
//JsonElement.
//parameter.Adapt(t);
//string t = parameter["listKeyValue"];
//Dictionary KV_ID_Sort = new Dictionary();
//JArray ja = (JArray)JsonConvert.DeserializeObject(t);
//foreach (JToken item in ja.ToList())
//{
// KV_ID_Sort.Add(item["id"].ToString(), item["value"].ToString());
//}
return ToResponse(new ApiResult(200, "success", 1));
}
}
}