using System.DirectoryServices.Protocols;
using WmsMobileServe.Annotation;
using WmsMobileServe.DataBase.Base.Po;
namespace WmsMobileServe.DataBase.Base.Dao;
///
/// 入库任务表操作类
///
[Component]
public class TOnGoodsShelfDao(DataBaseClient client)
{
///
/// 插入数据
///
///
///
public int Insert(params TOnGoodsShelf[] onGoodsShelfs)
{
try
{
return client.Instance().Insertable(onGoodsShelfs).ExecuteCommand();
}
catch (Exception ex)
{
_ = ex;
return 0;
}
}
public bool InsertWithCux(List onGoodsShelfs, List<(string? PoHeaderId, string? PoLineId, string? LineLocationId)> values)
{
try
{
var tranResult = client.Instance().UseTran(() =>
{
client.Instance().Insertable(onGoodsShelfs).ExecuteCommand(); // 插入任务
foreach (var item in values)
{
client.Instance().Updateable().SetColumns(s => s.Status == 1)
.Where(w => w.PoHeaderId.ToString() == item.PoHeaderId && w.PoLineId.ToString() == item.PoLineId && w.LineLocationId.ToString() == item.LineLocationId).ExecuteCommand();
}
});
return tranResult.IsSuccess;
}
catch (Exception ex)
{
_ = ex;
return false;
}
}
///
/// 根据载具号查询任务
///
///
///
public List? SelectWithVehicleNo(string vehicleNo)
{
try
{
return client.Instance().Queryable()
.Where(w => w.Ctl == vehicleNo).ToList();
}
catch (Exception ex)
{
_ = ex;
return default;
}
}
public List? SelectWithVehicleNo_Empty(string vehicleNo)
{
try
{
return client.Instance().Queryable()
.Where(w => w.Ctl == vehicleNo && w.Status =="0").ToList();
}
catch (Exception ex)
{
_ = ex;
return default;
}
}
public bool DeleteWithVehicleNo(string vehicleNo)
{
try
{
// 返回删除的记录数(>0 表示成功)
return client.Instance().Deleteable()
.Where(w => w.Ctl == vehicleNo)
.ExecuteCommand() > 0;
}
catch (Exception ex)
{
_ = ex; // 可记录日志
return false;
}
}
}