You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
4.2 KiB
125 lines
4.2 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using AMESCoreStudio.WebApi;
|
|
using AMESCoreStudio.WebApi.Models.AMES;
|
|
using AMESCoreStudio.CommonTools.Result;
|
|
|
|
namespace AMESCoreStudio.WebApi.Controllers.AMES
|
|
{
|
|
/// <summary>
|
|
/// 燒機記錄資料表
|
|
/// </summary>
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class ESTorqueController : ControllerBase
|
|
{
|
|
private readonly AMESContext _context;
|
|
|
|
public ESTorqueController(AMESContext context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
// GET: api/BurnInfoe
|
|
[HttpGet]
|
|
public async Task<ActionResult<IEnumerable<Estorque>>> GetESTorques()
|
|
{
|
|
return await _context.Estorques.ToListAsync();
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// Estorque 查詢
|
|
/// </summary>
|
|
/// <param name="wipNo"></param>
|
|
/// <param name="sapNo"></param>
|
|
/// <param name="sdate"></param>
|
|
/// <param name="edate"></param>
|
|
/// <param name="page"></param>
|
|
/// <param name="limit"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("ESTorqueByQuery")]
|
|
public async Task<ResultModel<Estorque>> GetESTorqueByQuery( string wipNo, string sapNo, string sdate, string edate, int page = 0, int limit = 10)
|
|
{
|
|
|
|
ResultModel<Estorque> result = new ResultModel<Estorque>();
|
|
if (wipNo != null || sapNo != null || sdate != null || edate != null)
|
|
{
|
|
IQueryable<Estorque> q = from e in _context.Estorques
|
|
join u in _context.UserInfoes on e.DataUser equals u.UserNo into userGroup
|
|
from user in userGroup.DefaultIfEmpty()
|
|
select new Estorque
|
|
{
|
|
WipNo = e.WipNo,
|
|
SapNo = e.SapNo,
|
|
SetupValue = e.SetupValue,
|
|
TorqueValue = e.TorqueValue,
|
|
DataUser = e.DataUser,
|
|
CreateDate = e.CreateDate,
|
|
Route = e.Route,
|
|
FactorityNo = e.FactorityNo,
|
|
UserName = user.UserName, // == null ? e.DataUser : user.UserName,
|
|
FormatDate = e.CreateDate.ToString("yyyy-MM-dd")
|
|
};
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(wipNo))
|
|
q = q.Where(w => w.WipNo == wipNo);
|
|
|
|
if (!string.IsNullOrWhiteSpace(sapNo))
|
|
q = q.Where(w => w.SapNo == sapNo);
|
|
|
|
DateTime dateValue;
|
|
if (sdate != "*")
|
|
{
|
|
|
|
if (DateTime.TryParse(sdate, out dateValue))
|
|
{
|
|
q = q.Where(w => w.CreateDate >= DateTime.Parse(sdate + " 00:00:00"));
|
|
}
|
|
}
|
|
if (edate != "*")
|
|
{
|
|
if (DateTime.TryParse(edate, out dateValue))
|
|
{
|
|
q = q.Where(w => w.CreateDate <= DateTime.Parse(edate + " 23:59:59"));
|
|
}
|
|
|
|
}
|
|
|
|
|
|
//紀錄筆數
|
|
result.DataTotal = q.Count();
|
|
|
|
//Table 頁數
|
|
if (page > 0)
|
|
{
|
|
q = q.Skip((page - 1) * limit).Take(limit);
|
|
}
|
|
|
|
result.Data = await q.ToListAsync();
|
|
}
|
|
|
|
if (result.Data == null)
|
|
{
|
|
result.Data = new List<Estorque>();
|
|
result.Msg = "查無資料";
|
|
result.Success = false;
|
|
return result;
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Msg = "OK";
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|