bklLiudl
2024-07-23 277bbae216debe7e6c04e8cc6ee6e1ba9763e14b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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
    {
        /// <summary>
        /// 获取任务指令数据集
        /// </summary>
        /// <param name="taskManage">查询条件</param>
        /// <param name="page">分页信息</param>
        /// <returns>指令数据集合</returns>
        public IList<TaskManageList> 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<TaskManageList>.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;
            }
        }
    }
}