|
using Microsoft.AspNetCore.Mvc;
|
using System;
|
using System.Collections.Generic;
|
using System.Threading.Tasks;
|
using gdbg.Models; // 引用模型命名空间
|
using gdbg.Services;
|
using Oracle.ManagedDataAccess.Client; // 引用服务命名空间
|
|
namespace gdbg.Controllers
|
{
|
[ApiController]
|
[Route("api/[controller]")]
|
public class PersonsController : ControllerBase
|
{
|
private readonly OracleDbService _oracleDbService;
|
|
public PersonsController(OracleDbService oracleDbService)
|
{
|
_oracleDbService = oracleDbService;
|
}
|
|
[HttpGet]
|
public async Task<ActionResult<IEnumerable<Person>>> GetPersons()
|
{
|
var query = "select STAFF_NO,STAFF_NAME from MES_STAFF where DEPARTMENT_NAME=115066";
|
var persons = await _oracleDbService.GetAsync(query, reader => new Person
|
{
|
PersonId = reader.GetString(0),
|
PersonName = reader.GetString(1)
|
});
|
|
return Ok(persons);
|
}
|
|
[HttpGet("{personnelCode}")]
|
public async Task<ActionResult<IEnumerable<Person>>> GetPersonnelByCode(string personnelCode)
|
{
|
var query = "select STAFF_NO,STAFF_NAME from MES_STAFF where STAFF_NO=:PersonnelCode";
|
|
// 使用 OracleParameter 来传递参数
|
var parameters = new List<OracleParameter>
|
{
|
new OracleParameter(":PersonnelCode", personnelCode)
|
};
|
|
// 使用现有的 GetAsync 方法查询数据
|
var personnelList = await _oracleDbService.GetAsync(query, reader => new Personnel
|
{
|
PersonnelCode = reader.GetString(0),
|
PersonnelName = reader.GetString(1)
|
}, parameters);
|
|
// 确保只返回单条记录
|
var personnel = personnelList.FirstOrDefault();
|
|
if (personnel == null)
|
{
|
return NotFound(new { Message = "Personnel not found" });
|
}
|
|
return Ok(personnel);
|
}
|
}
|
}
|