qinchulong
2024-10-12 b17d60113095491a95557f6f785cb1c0e744e8cc
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_IRepository;
using WIDESEA_IServices;
using WIDESEA_Model.Models;
 
namespace WIDESEA_Services
{
    public class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService
    {
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        private readonly IDt_OutOrderService _outOrderService;
 
        public Dt_TaskService(IDt_TaskRepository BaseDal,
                                        IUnitOfWorkManage unitOfWorkManage,
                                        IDt_OutOrderService outOrderService) : base(BaseDal)
        {
            _unitOfWorkManage = unitOfWorkManage;
            _outOrderService = outOrderService;
        }
 
        /// <summary>
        /// 创建一个新的任务
        /// </summary>
        /// <param name="model">任务模型</param>
        /// <returns>创建的任务</returns>
        public async Task<Dt_Task> Create(Dt_Task model)
        {
            return await BaseDal.Create(model);
        }
 
        /// <summary>
        /// 批量创建任务
        /// </summary>
        /// <param name="models">任务模型列表</param>
        /// <returns>是否创建成功</returns>
        public async Task<bool> Create(List<Dt_Task> models)
        {
            return await BaseDal.Create(models);
        }
 
        /// <summary>
        /// 删除一个任务
        /// </summary>
        /// <param name="id">任务ID</param>
        /// <returns>是否删除成功</returns>
        public async Task<bool> Delete(int id)
        {
            return await BaseDal.Delete(id);
        }
 
        /// <summary>
        /// 批量删除任务
        /// </summary>
        /// <param name="ids">任务ID列表</param>
        /// <returns>是否删除成功</returns>
        public async Task<bool> Delete(List<int> ids)
        {
            return await BaseDal.Delete(ids);
        }
 
        /// <summary>
        /// 通过ID获取任务
        /// </summary>
        /// <param name="id">任务ID</param>
        /// <returns>任务模型</returns>
        public async Task<Dt_Task> GetById(int id)
        {
            return await BaseDal.GetById(id);
        }
 
        /// <summary>
        /// 获取所有任务列表
        /// </summary>
        /// <returns>任务模型列表</returns>
        public async Task<List<Dt_Task>> GetList()
        {
            return await BaseDal.GetList();
        }
 
        /// <summary>
        /// 根据出库订单ID获取任务列表
        /// </summary>
        /// <param name="outOrderId">出库订单ID</param>
        /// <returns>任务模型列表</returns>
        public async Task<List<Dt_Task>> GetListByOutOrder(int outOrderId)
        {
            return await BaseDal.GetListByOutOrder(outOrderId);
        }
 
        /// <summary>
        /// 根据出库订单ID和状态获取任务列表
        /// </summary>
        /// <param name="outOrderId">出库订单ID</param>
        /// <param name="status">任务状态</param>
        /// <returns>任务模型列表</returns>
        public async Task<List<Dt_Task>> GetListByOutOrderAndStatus(int outOrderId, int status)
        {
            return await BaseDal.GetListByOutOrderAndStatus(outOrderId, status);
        }
 
        /// <summary>
        /// 根据状态获取任务列表
        /// </summary>
        /// <param name="status">任务状态</param>
        /// <returns>任务模型列表</returns>
        public async Task<List<Dt_Task>> GetListByStatus(int status)
        {
            return await BaseDal.GetListByStatus(status);
        }
 
        /// <summary>
        /// 更新一个任务
        /// </summary>
        /// <param name="model">任务模型</param>
        /// <returns>是否更新成功</returns>
        public async Task<bool> Update(Dt_Task model)
        {
            return await BaseDal.Update(model);
        }
 
        /// <summary>
        /// 批量更新任务
        /// </summary>
        /// <param name="models">任务模型列表</param>
        /// <returns>是否更新成功</returns>
        public async Task<bool> Update(List<Dt_Task> models)
        {
            return await BaseDal.Update(models);
        }
 
        /// <summary>
        /// 检查任务是否存在
        /// </summary>
        /// <param name="palletCode">托盘编码</param>
        /// <returns>任务是否存在</returns>
        public bool IsExist(string palletCode)
        {
            return Db.Queryable<Dt_Task>().Any(x => x.PalletCode == palletCode);
        }
 
        /// <summary>
        /// 根据货位ID获取任务
        /// </summary>
        /// <param name="locationID"></param>
        /// <returns></returns>
        public async Task<Dt_Task> GetByLocation(string locationID)
        {
            return await Db.Queryable<Dt_Task>().Where(x => x.SourceAddress == locationID).FirstAsync();
        }
 
        /// <summary>
        /// 根据任务号获取任务
        /// </summary>
        /// <param name="taskNum"></param>
        /// <returns></returns>
        public async Task<Dt_Task> GetByTaskNum(int taskNum)
        {
            return await Db.Queryable<Dt_Task>().Where(x => x.TaskNum == taskNum).FirstAsync();
        }
    }
}