80 lines
2.5 KiB
C#
80 lines
2.5 KiB
C#
using DataCheck;
|
|
using System.Collections.Generic;
|
|
using WcsMain.ApiServe.Controllers.Dto;
|
|
using WcsMain.ApiServe.Controllers.Dto.WcsDto.PLC;
|
|
using WcsMain.ApiServe.Factory;
|
|
using WcsMain.DataBase.Dao;
|
|
using WcsMain.DataBase.TableEntity;
|
|
using WcsMain.WcsAttribute.AutoFacAttribute;
|
|
|
|
namespace WcsMain.ApiServe.Service.WcsService;
|
|
|
|
[Service]
|
|
public class PlcService(AppPLCDao pLCDao)
|
|
{
|
|
public WcsApiResponse<List<AppPLC>> GetPlc()
|
|
{
|
|
List<AppPLC>? plcs = pLCDao.Query();
|
|
if (plcs == default)
|
|
{
|
|
return WcsApiResponseFactory.DataBaseErr<List<AppPLC>>();
|
|
}
|
|
return WcsApiResponseFactory.Success(plcs, "查询成功");
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 添加修改plc
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
public WcsApiResponse EditePlc(EditePLCRequest request)
|
|
{
|
|
bool checkData = CheckData.CheckDataRules(request);
|
|
if (!checkData)
|
|
{
|
|
return WcsApiResponseFactory.RequestErr<List<AppPLC>>();
|
|
}
|
|
AppPLC plc = new()
|
|
{
|
|
PLCId = Convert.ToInt32(request.PlcId),
|
|
PLCIp = request.PlcIp,
|
|
PLCName = request.PlcName,
|
|
PLCKind = request.PlcKind,
|
|
PLCRack = request.Rack,
|
|
PLCSlot = request.Slot,
|
|
PLCStatus = request.PlcStatus,
|
|
Remark = request.Remark
|
|
};
|
|
/* 判断这个编号是否存在 */
|
|
List <AppPLC>? appPLCs = pLCDao.Query(new AppPLC { PLCId = request.PlcId});
|
|
if (appPLCs == default)
|
|
{
|
|
return WcsApiResponseFactory.DataBaseErr();
|
|
}
|
|
if (appPLCs.Count > 0)
|
|
{
|
|
// 修改信息
|
|
var result = pLCDao.Update(plc);
|
|
return result > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr();
|
|
}
|
|
else
|
|
{
|
|
// 添加信息
|
|
var result = pLCDao.Insert(plc);
|
|
return result > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除一条数据
|
|
/// </summary>
|
|
/// <param name="plcId"></param>
|
|
/// <returns></returns>
|
|
public WcsApiResponse DeletePlc(int? plcId)
|
|
{
|
|
if(plcId == default) return WcsApiResponseFactory.RequestErr();
|
|
var result = pLCDao.Delete(new AppPLC { PLCId = plcId });
|
|
return result > 0 ? WcsApiResponseFactory.Success() : WcsApiResponseFactory.DataBaseErr();
|
|
}
|
|
} |