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; } } } }