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