using HH.WMS.DAL; using HH.WMS.Entitys; using HH.WMS.Entitys.Basic; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.DAL.CoreServer { public class WaveServiceDAL : DapperBaseDAL { #region 批量修改出库单主子表状态 /// /// 批量修改出库单主子表状态 /// /// /// /// /// public OperateResult UpdateOutState(List outMstList, IDbTransaction trans) { string sql = "UPDATE TN_WM_OUT_MST SET CN_S_STATE=@CN_S_STATE,CN_S_WAVE_CODE=@CN_S_WAVE_CODE WHERE CN_S_OP_NO =@CN_S_OP_NO"; var result = ExecuteTranSql(sql, outMstList, trans); if (result.Success) { sql = "UPDATE TN_WM_OUT_DTL SET CN_S_STATE=@CN_S_STATE WHERE CN_S_OP_NO =@CN_S_OP_NO"; List outDtlList = new List(); outMstList.ForEach(p => { if (p.OutDtlList != null && p.OutDtlList.Any()) outDtlList.AddRange(p.OutDtlList); }); if (outDtlList.Any()) result = ExecuteTranSql(sql, outDtlList, trans); } return result; } #endregion #region 修改库区分配量 /// /// 修改库区分配量 /// /// /// public OperateResult UpdateAreaAlloc(List areaQtyList, IDbTransaction trans) { string sql = @"UPDATE TN_WM_B_AREA_QTY SET CN_F_ALLOC_QTY=@CN_F_ALLOC_QTY,CN_S_TIMESTAMP='{0}' WHERE CN_GUID=@CN_GUID AND (CN_S_TIMESTAMP = @CN_S_TIMESTAMP OR CN_S_TIMESTAMP IS NULL)"; sql = string.Format(sql, DateTime.Now.ToString("yyyyMMddHHmmssffff")); return ExecuteTranSql(sql, areaQtyList, trans); } #endregion #region 缺货和取消出库单 /// /// 缺货和取消出库单 /// /// /// /// public OperateResult CancelAndAllShortageOut(List outMst, IDbTransaction trans) { string sql = "UPDATE TN_WM_OUT_MST SET CN_S_STATE=@CN_S_STATE,CN_B_CANCEL=@CN_B_CANCEL WHERE CN_S_OP_NO =@CN_S_OP_NO"; return ExecuteTranSql(sql, outMst, trans); } #endregion } }