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.
 
 
 
 
 

159 lines
6.3 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;
using System.Text.RegularExpressions;
using Dapper;
using AMESCoreStudio.WebApi.Extensions;
namespace AMESCoreStudio.WebApi.Controllers.AMES
{
/// <summary>
/// FQC檢驗項目群組指定料號設定檔
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class FqcItemGroupMaterialController : ControllerBase
{
private readonly AMESContext _context;
public FqcItemGroupMaterialController(AMESContext context)
{
_context = context;
}
[HttpGet]
public async Task<ActionResult<IEnumerable<FqcItemGroupMaterial>>> GetFqcItemGroupMaterials()
{
return await _context.FqcItemGroupMaterials.ToListAsync();
}
/// <summary>
/// By GroupId 查詢
/// </summary>
/// <param name="id">GroupId</param>
/// <returns></returns>
[HttpGet("ByGroupId/{id}")]
public async Task<ActionResult<IEnumerable<FqcItemGroupMaterial>>> GetFqcItemGroupMaterialByGroupId(int id)
{
var query = @" SELECT
F.GROUP_ID AS groupId ,
M.ITEM_ID AS itemId ,
M.ITEM_NO AS itemNo ,
M.ITEM_DESC AS itemDesc ,
F.CREATE_USERID AS createUserID ,
F.CREATE_DATE AS createDate ,
F.UPDATE_USERID AS updateUserID ,
F.UPDATE_DATE AS updateDate
FROM JHAMES.FQC_ITEM_GROUP_MATERIAL F
INNER JOIN JHAMES.MATERIAL_ITEM M ON F.ITEM_ID = M.ITEM_ID
WHERE F.GROUP_ID = :GroupId";
DynamicParameters p = new DynamicParameters();
p.Add("GroupId", id);
var result = await _context.Database.DapperQueryAsync<FqcItemGroupMaterial>(query, p);
return result.ToList();
}
/// <summary>
/// By ItemId 查詢
/// </summary>
/// <param name="id">ItemId</param>
/// <returns></returns>
[HttpGet("ByItemId/{id}")]
public async Task<ActionResult<IEnumerable<FqcItemGroupMaterial>>> GetFqcItemGroupMaterialByItemId(int id)
{
var query = @" SELECT
F.GROUP_ID AS groupId ,
M.ITEM_ID AS itemId ,
M.ITEM_NO AS itemNo ,
M.ITEM_DESC AS itemDesc ,
F.CREATE_USERID AS createUserID ,
F.CREATE_DATE AS createDate ,
F.UPDATE_USERID AS updateUserID ,
F.UPDATE_DATE AS updateDate
FROM JHAMES.FQC_ITEM_GROUP_MATERIAL F
INNER JOIN JHAMES.MATERIAL_ITEM M ON F.ITEM_ID = M.ITEM_ID
WHERE F.ITEM_ID = :ItemId";
DynamicParameters p = new DynamicParameters();
p.Add("ItemId", id);
var result = await _context.Database.DapperQueryAsync<FqcItemGroupMaterial>(query, p);
return result.ToList();
}
/// <summary>
/// 更新檢驗群組指定料號設定檔
/// </summary>
/// <param name="fqcItemGroupMaterial"></param>
/// <returns></returns>
[HttpPut]
public async Task<ResultModel<FqcItemGroupMaterial>> PutFqcItemGroupMaterial(FqcItemGroupMaterial fqcItemGroupMaterial)
{
ResultModel<FqcItemGroupMaterial> result = new ResultModel<FqcItemGroupMaterial>();
_context.Entry(fqcItemGroupMaterial).State = EntityState.Modified;
_context.Entry<FqcItemGroupMaterial>(fqcItemGroupMaterial).Property("CreateDate").IsModified = false;
_context.Entry<FqcItemGroupMaterial>(fqcItemGroupMaterial).Property("CreateUserID").IsModified = false;
fqcItemGroupMaterial.UpdateDate = DateTime.Now;
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.InnerException.Message;
}
return result;
}
/// <summary>
/// 新增檢驗群組指定料號設定檔
/// </summary>
/// <param name="fqcItemGroupMaterial"></param>
/// <returns></returns>
[HttpPost]
public async Task<ResultModel<FqcItemGroupMaterial>> PostFqcItemGroupMaterial(FqcItemGroupMaterial fqcItemGroupMaterial)
{
ResultModel<FqcItemGroupMaterial> result = new ResultModel<FqcItemGroupMaterial>();
_context.FqcItemGroupMaterials.Add(fqcItemGroupMaterial);
try
{
await _context.SaveChangesAsync();
result.Success = true;
result.Msg = "OK";
}
catch (Exception ex)
{
result.Success = false;
result.Msg = ex.InnerException.Message;
}
return result;
}
/// <summary>
/// 刪除 檢驗群組指定料號設定檔
/// </summary>
/// <param name="id">GroupId</param>
/// <param name="id1">itemId</param>
/// <returns></returns>
[HttpDelete("{id}/{id1}")]
public async Task<ActionResult<int>> DeleteFqcItemGroupMaterial(int id, int id1)
{
var query = @" DELETE JHAMES.FQC_ITEM_GROUP_MATERIAL WHERE GROUP_ID =:id
AND ITEM_ID = :id1";
DynamicParameters p = new DynamicParameters();
p.Add("id", id);
p.Add("id1", id1);
var result = await _context.Database.DapperExecuteAsync(query, p);
return result;
}
}
}