Product_Wms/WcsMain/ApiServe/Service/WcsService/PlcService.cs

79 lines
2.4 KiB
C#
Raw Normal View History

2024-10-07 09:51:55 +08:00
using DataCheck;
using WcsMain.ApiServe.Dto;
using WcsMain.ApiServe.Dto.WcsDto.PLC;
2024-10-07 09:51:55 +08:00
using WcsMain.ApiServe.Factory;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.Constant.WcsAttribute.AutoFacAttribute;
2024-10-07 09:51:55 +08:00
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();
}
}