82 lines
2.0 KiB
C#
82 lines
2.0 KiB
C#
using System.DirectoryServices.Protocols;
|
|
using WmsMobileServe.Annotation;
|
|
using WmsMobileServe.DataBase.Base.Po;
|
|
|
|
namespace WmsMobileServe.DataBase.Base.Dao;
|
|
|
|
/// <summary>
|
|
/// 入库任务表操作类
|
|
/// </summary>
|
|
[Component]
|
|
public class TOnGoodsShelfDao(DataBaseClient client)
|
|
{
|
|
|
|
/// <summary>
|
|
/// 插入数据
|
|
/// </summary>
|
|
/// <param name="onGoodsShelfs"></param>
|
|
/// <returns></returns>
|
|
public int Insert(params TOnGoodsShelf[] onGoodsShelfs)
|
|
{
|
|
try
|
|
{
|
|
return client.Instance().Insertable(onGoodsShelfs).ExecuteCommand();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_ = ex;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
public bool InsertWithCux(List<TOnGoodsShelf> 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<CuxWmsPoLinesItf>().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;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 根据载具号查询任务
|
|
/// </summary>
|
|
/// <param name="vehicleNo"></param>
|
|
/// <returns></returns>
|
|
public List<TOnGoodsShelf>? SelectWithVehicleNo(string vehicleNo)
|
|
{
|
|
try
|
|
{
|
|
return client.Instance().Queryable<TOnGoodsShelf>()
|
|
.Where(w => w.Ctl == vehicleNo).ToList();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_ = ex;
|
|
return default;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|