using HH.WMS.DAL; using HH.WMS.Entitys; using HH.WMS.Entitys.Common; using HH.WMS.Entitys.MoveStock; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.DAL.MoveStock { public class MoveStockTaskDAL : DapperBaseDAL { public DataTable GetDataList(string tableName, int pageIndex, int pageSize, out long total, object where = null, string orderBy = "") { tableName = "(" + tableName + ") t"; return ExecutePagingData(tableName, pageIndex, pageSize, out total, orderBy); } public TN_WM_MOVE_STOCK_TASK_MSTEntity GetMst() { var sql = @" SELECT TOP 1 * FROM TN_WM_MOVE_STOCK_TASK_MST WHERE CN_S_STATE IN ('未执行','执行中') ORDER BY CN_T_CREATE DESC"; return ExecuteSingleEntity(sql); } public TN_WM_MOVE_STOCK_TASK_MSTEntity GetMst(string guid) { var sql = @" SELECT TOP 1 * FROM TN_WM_MOVE_STOCK_TASK_MST WHERE CN_GUID = '" + guid + "' ORDER BY CN_T_CREATE DESC"; return ExecuteSingleEntity(sql); } public TN_WM_MOVE_STOCK_TASK_DTLEntity GetDtlByTaskNo(string taskNo) { var sql = @" SELECT TOP 1 * FROM TN_WM_MOVE_STOCK_TASK_DTL WHERE CN_S_TASK_NO = '" + taskNo + "' ORDER BY CN_T_CREATE DESC"; return ExecuteSingleEntity(sql); } public OperateResult AddMst(TN_WM_MOVE_STOCK_TASK_MSTEntity moveStockTaskMst, IDbTransaction tran) { var result = DALCreator.Create>().Add(moveStockTaskMst, tran); return result; } public OperateResult AddDtl(TN_WM_MOVE_STOCK_TASK_DTLEntity moveStockTaskDtl, IDbTransaction tran) { var result = DALCreator.Create>().Add(moveStockTaskDtl, tran); return result; } public OperateResult AddMoveAllocQty(string guid, string qty, IDbTransaction trans) { var sql = "UPDATE TN_WM_MOVE_STOCK_TASK_MST SET CN_F_ALLOC_QUANTITY = " + qty + " WHERE CN_GUID='" + guid + "'"; return ExecuteTranSql(sql, null, trans); } public OperateResult AddMoveQty(string guid, IDbTransaction trans) { var sql = " UPDATE TN_WM_MOVE_STOCK_TASK_MST SET CN_F_MOVE_QUANTITY=CN_F_MOVE_QUANTITY+CN_F_ALLOC_QUANTITY,CN_F_ALLOC_QUANTITY=0 "; return ExecuteTranSql(sql, null, trans); } public OperateResult ReduceMoveQty(string guid, string qty, IDbTransaction trans) { var sql = "UPDATE TN_WM_MOVE_STOCK_TASK_MST SET CN_F_MOVE_QUANTITY -= " + qty + " WHERE CN_GUID='" + guid + "'"; return ExecuteTranSql(sql, null, trans); } public OperateResult ReduceAllocQty(string guid, IDbTransaction trans) { var sql = "UPDATE TN_WM_MOVE_STOCK_TASK_MST SET CN_F_ALLOC_QUANTITY=0 WHERE CN_GUID='" + guid + "'"; return ExecuteTranSql(sql, null, trans); } public OperateResult UpdateMstState(string guid, string state, IDbTransaction trans) { var sql = string.Format(" UPDATE TN_WM_MOVE_STOCK_TASK_MST SET CN_S_STATE='{0}' WHERE CN_GUID='{1}' ", state, guid); return ExecuteTranSql(sql, null, trans); } public OperateResult DeleteDtl(string sqlWhere, IDbTransaction trans) { if (string.IsNullOrEmpty(sqlWhere)) return OperateResult.Error(); var sql = string.Format(" DELETE FROM TN_WM_MOVE_STOCK_TASK_DTL WHERE {0} ", sqlWhere); return ExecuteTranSql(sql, null, trans); } public OperateResult Cancel(string sqlwhere, IDbTransaction trans) { string sql = "UPDATE TN_WM_MOVE_STOCK_TASK_MST SET CN_S_STATE='取消' {0}"; sql = string.Format(sql, sqlwhere); return ExecuteTranSql(sql, null, trans); } } }