using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Common;
using Model;
using NLog;
namespace BLL.DAL
{
public class DALTaskManage
{
///
/// 获取任务指令数据集
///
/// 查询条件
/// 分页信息
/// 指令数据集合
public IList GetTaskManageList(TaskManage taskManage, ref PageInfo page)
{
try
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("select CmdId,(TaskID+ISNULL(NumberNo,'')) as OrdNo,Palno,isnull(Height,0) as Height, CmdType, ");
stringBuilder.Append("case CmdType when 'in' then '入库' when 'out' then '出库' when 'to' then '回库' when 'move' then '移库'end as CmdTypeStr ,");
stringBuilder.Append("(OldAddre + case ISNULL(NowAddre,'') when '' then '' else ' > '+NowAddre end) as Addre,");
stringBuilder.Append("CmdStatu,dbo.GetCmdStatuStr(CMDType,CMDStatu) as CmdStatuStr,");
stringBuilder.Append("CreateTime,Demo,case cast(IsDel as varchar) when '0' then '未完成' when '1' then '已完成' end as IsDel,guid ");
stringBuilder.Append("from WH_CMD where 1=1 ");
if (!string.IsNullOrEmpty(taskManage.OrdNo))
{
stringBuilder.Append("and (TaskID like '%" + taskManage.OrdNo + "%' or NumberNo like '%" + taskManage.OrdNo + "%')");
}
if (!string.IsNullOrEmpty(taskManage.Addre))
{
stringBuilder.Append("and (OldAddre like '%" + taskManage.Addre + "%' or NowAddre like '%" + taskManage + "%')");
}
if (!string.IsNullOrEmpty(taskManage.Palno))
{
stringBuilder.Append("and Palno like '%" + taskManage.Palno + "%' ");
}
if (taskManage.BeginTime != DateTime.MinValue && taskManage.BeginTime != null && taskManage.BeginTime != DateTime.MaxValue)
{
stringBuilder.Append("and CreateTime >= '" + Convert.ToDateTime(taskManage.BeginTime) + "' ");
}
if (taskManage.EndTime != DateTime.MinValue && taskManage.EndTime != null && taskManage.EndTime != DateTime.MaxValue)
{
stringBuilder.Append("and CreateTime <= '" + Convert.ToDateTime(taskManage.EndTime).ToShortDateString() + " 23:59:59.999" + "' ");
}
if (!string.IsNullOrEmpty(taskManage.IsDel))
{
stringBuilder.Append("and IsDel = '" + taskManage.IsDel + "'");
}
SqlParam[] para = null;
DataTable dt = DataFactory.SqlDataBase().GetPageList(stringBuilder.ToString(), para, "CMDID", "Desc", ref page);
return ModelConvertHelper.DataTableToModel(dt);;
}
catch (Exception ex)
{
Logger logger = LogManager.GetCurrentClassLogger();
logger.Error(ex.Message, "获取任务指令集错误 ");
throw new NotImplementedException();
}
}
public bool DelCmd(string cmdId,string statu)
{
bool bl = false;
try
{
StringBuilder sqlString = new StringBuilder();
sqlString.Append("select * from WH_CMD where CMDID = '"+cmdId+"' and cmdstatu = '"+ statu + "' and isdel = '0';");
DataTable dt = DataFactory.SqlDataBase().GetDataTableBySQL(sqlString);
if (dt.Rows.Count > 0)
{
sqlString.Clear();
string cmdType = dt.Rows[0]["CMDType"].ToString();
string cmdStatu = dt.Rows[0]["CMDStatu"].ToString();
switch (cmdType)
{
case "in":
if (cmdStatu == "2")
{
///
//string palno = dt.Rows[0]["palno"].ToString();
//string ordno = dt.Rows[0]["taskID"].ToString();
string addre = dt.Rows[0]["OldAddre"].ToString();
//sqlString.Append(" update IPalletBind set Statu = '3',IsDel = '1' ");
//sqlString.Append("where PalletNo = '" + palno + "' and OrdNo = '" + ordno + "' and Statu = '2' and IsDel = '0';");
sqlString.Append("update DepotsLocation set TurnoverDemand = '02' where LocationCode = '" + addre + "'; ");
}
break;
case "out":
; break;
case "to":
; break;
case "move":
; break;
default:return bl;
}
sqlString.Append(" Update WH_CMD set IsDel = '1',demo='手动完成指令' where CMDID = '"+cmdId+ "' and cmdstatu = '" + statu + "';");
int rowCount = DataFactory.SqlDataBase().ExecuteBySql(sqlString);
if (rowCount > 0)
{
bl = true;
}
else
{
bl = false;
}
}
return bl;
}
catch (Exception ex)
{
return bl;
}
}
}
}