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)); } } }