lss
2025-05-30 38eff4fc0100131b180ffa872009b502629743f5
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
using HH.WCS.JingyuNongfu.util;
using SqlSugar;
using System;
using System.Collections.Generic;
 
namespace HH.WCS.JingyuNongfu.wms
{
    /// <summary>
    /// 涉及到设备任务调度的,例如提升机、堆垛机、输送线相关表的读写
    /// </summary>
    public class WCSHelper
    {
        static WCSHelper() {
        }
 
      
       
        internal static bool AddElevatorTaskInfo(ElevatorTaskInfo info) {
            var db = new SqlHelper<ElevatorTaskInfo>().GetInstance();
            return db.Insertable(info).ExecuteCommand() > 0;
        }
        /// <summary>
        /// 获取一个执行中的电梯任务
        /// </summary>
        /// <returns></returns>
        internal static ElevatorTaskInfo GetOneWorkingElevatorTask() {
            var db = new SqlHelper<object>().GetInstance();
            return db.Queryable<ElevatorTaskInfo>().Where(a => a.state > 0).First();
 
        }
        /// <summary>
        /// 获取一个已经分配电梯缓存位的任务
        /// </summary>
        /// <returns></returns>
        internal static ElevatorTaskInfo GetOneAssignedElevatorTask() {
            var db = new SqlHelper<object>().GetInstance();
            return db.Queryable<ElevatorTaskInfo>().Where(a => !string.IsNullOrEmpty(a.elevatorCacheBit.Trim())).First();
 
        }
        /// <summary>
        /// 获取一个待处理的电梯任务
        /// </summary>
        /// <returns></returns>
        internal static ElevatorTaskInfo GetOnePendingElevatorTask() {
            var db = new SqlHelper<object>().GetInstance();
            return db.Queryable<ElevatorTaskInfo>().Where(a => a.state == 0 && string.IsNullOrEmpty(a.elevatorCacheBit.Trim())).First();
 
        }
        internal static ElevatorTaskInfo GetElevatorTaskByBit(string bit) {
            var db = new SqlHelper<object>().GetInstance();
            return db.Queryable<ElevatorTaskInfo>().Where(a => a.elevatorCacheBit.Trim() == bit.Trim()).First();
 
        }
        /// <summary>
        /// 获取同类型的电梯任务
        /// </summary>
        /// <param name="taskNo"></param>
        /// <param name="actionType"></param>
        /// <returns></returns>
        internal static List<ElevatorTaskInfo> GetOtherElevatorTask(string taskNo, int actionType) {
            var db = new SqlHelper<object>().GetInstance();
            return db.Queryable<ElevatorTaskInfo>().Where(a => a.actionType == actionType && a.sourceNo.Trim() != taskNo.Trim()).ToList();
        }
        internal static ElevatorTaskInfo GetElevatorTask(string taskNo) {
            var db = new SqlHelper<object>().GetInstance();
            return db.Queryable<ElevatorTaskInfo>().Where(a =>  a.sourceNo.Trim() != taskNo.Trim()).First();
        }
        internal static bool UpdateElevatorTask(string bit, int currState, int state) {
            var result = false;
            var db = new SqlHelper<ElevatorTaskInfo>().GetInstance();
            var model = db.Queryable<ElevatorTaskInfo>().Where(a => a.elevatorCacheBit == bit && a.state == currState).First();
            if (model != null) {
                model.state = state;
                result = db.Updateable(model).UpdateColumns(it => new { it.state }).ExecuteCommand() > 0;
            }
            return result;
 
        }
        internal static bool UpdateElevatorTask(ElevatorTaskInfo model, string cacheBit, int state) {
            var result = false;
            var db = new SqlHelper<ElevatorTaskInfo>().GetInstance();
            model.elevatorCacheBit = cacheBit;
            model.state = state;
            result = db.Updateable(model).UpdateColumns(it => new { it.elevatorCacheBit, it.state }).ExecuteCommand() > 0;
            return result;
 
        }
        internal static bool UpdateElevatorTask(string taskNo, int state) {
            var result = false;
            var db = new SqlHelper<ElevatorTaskInfo>().GetInstance();
            var model = db.Queryable<ElevatorTaskInfo>().Where(a => a.sourceNo.Trim()==taskNo).First();
            if (model != null) {
                model.state = state;
                result = db.Updateable(model).UpdateColumns(it => new { it.state }).ExecuteCommand() > 0;
            }
            return result;
 
        }
        internal static bool DeleteElevatorTaskByState(int state) {
            var db = new SqlHelper<object>().GetInstance();
            return db.Deleteable<ElevatorTaskInfo>().Where(a => a.state == state).ExecuteCommand() > 0;
 
        }
        internal static bool DeleteElevatorTask(ElevatorTaskInfo taskInfo) {
            var db = new SqlHelper<object>().GetInstance();
            return db.Deleteable<ElevatorTaskInfo>().Where(a => a.S_ID == taskInfo.S_ID).ExecuteCommand() > 0;
 
        }
        internal static bool DeleteElevatorTask(string no) {
            var db = new SqlHelper<object>().GetInstance();
            return db.Deleteable<ElevatorTaskInfo>().Where(a => a.sourceNo.Trim() == no).ExecuteCommand() > 0;
 
        }
       
 
    }
}