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

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