wanshenmean
2025-04-10 102502a8dfeeee728db99758c4443b7824bbe232
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
#region << 版 本 注 释 >>
 
/*----------------------------------------------------------------
 * 命名空间:WIDESEAWCS_TaskInfoService
 * 创建者:胡童庆
 * 创建时间:2024/8/2 16:13:36
 * 版本:V1.0.0
 * 描述:
 *
 * ----------------------------------------------------------------
 * 修改人:
 * 修改时间:
 * 版本:V1.0.1
 * 修改说明:
 *
 *----------------------------------------------------------------*/
 
#endregion << 版 本 注 释 >>
 
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
 
namespace WIDESEAWCS_TaskInfoService
{
    public class TaskCZService : ServiceBase<DtCZTask, ITaskCZRepository>, ITaskCZService
    {
        public TaskCZService(ITaskCZRepository BaseDal) : base(BaseDal)
        {
        }
 
        public Task<WebResponseContent> AddTaskCZAsync(CZTaskDto dto)
        {
            var response = new WebResponseContent();
            try
            {
                var task = BaseDal.QueryFirst(x => (x.TaskTaskID == dto.DTaskId) || (x.TaskEndAddress == dto.InputValue) || (x.TaskType == dto.TaskType));
                if (task != null)
                {
                    response.Error("任务已存在,请勿重复添加!");
                }
                var taskModel = new DtCZTask()
                {
                    TaskTaskID = dto.DTaskId,
                    //TaskType = dto.TaskType,
                    TaskEndAddress = dto.InputValue,
                    TaskStatus = TaskInStatusEnum.InNew.ToString(),
                    CreateDate = DateTime.Now,
                    TaskStartDate = DateTime.Now,
                    TaskEndDate = DateTime.Now.AddDays(1),
                    //TaskName = dto.TaskType.ToString(),
                    TaskNumber = dto.Number,
                    TaskExecutor = "CZ",
                    TaskOrderNo = dto.OrderNo,
                    TaskOwner = "KH",
                    TaskProductCode = dto.ProductCode,
                    Creater = "KH"
                };
                var isTrue = BaseDal.AddData(taskModel) > 0;
                if (isTrue)
                    response.OK("任务添加成功!");
                else
                    response.Error("任务添加失败!");
            }
            catch (System.Exception ex)
            {
                response.Error(ex.Message);
            }
            return Task.FromResult(response);
        }
 
        /// <summary>
        /// 完成任务
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public Task<WebResponseContent> FinishTask(CZTaskFinshDto dto)
        {
            WebResponseContent response = new WebResponseContent();
            try
            {
                var czTask = BaseDal.QueryFirst(x => x.TaskTaskID == dto.TaskId);
                if (czTask == null)
                {
                    response.Error("任务不存在!");
                    return Task.FromResult(response);
                }
                if (dto.Tags.Contains("正极"))
                {
                    czTask.TaskZJFinishNumber += 1;
                }
                else
                {
                    czTask.TaskFJFinishNumber += 1;
                }
                if (czTask.TaskZJFinishNumber == czTask.TaskNumber || czTask.TaskFJFinishNumber == czTask.TaskNumber)
                {
                    czTask.TaskStatus = TaskInStatusEnum.InFinish.ToString();
                    czTask.TaskEndDate = DateTime.Now;
                }
                else
                {
                    czTask.TaskStatus = TaskInStatusEnum.Line_InExecuting.ToString();
                }
                var isTrue = BaseDal.UpdateData(czTask);
                if (isTrue)
                {
                    response.OK("任务完成成功!");
                }
                else
                {
                    response.Error("任务完成失败!");
                }
            }
            catch (Exception ex)
            {
                response.Error(ex.Message);
            }
            return Task.FromResult(response);
        }
    }
}