lixiaojun
2022-11-30 ddffdb041433c275425ad682477b26723eff44e8
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
using IStation.Model.Repair;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace IStation.Application
{
    /// <summary>
    /// 
    /// </summary>
    public class MyRepairTaskFormHasFinishedDetailMobileDto
    {
        /// <summary>
        /// 
        /// </summary>
        public MyRepairTaskFormHasFinishedDetailMobileDto() { }
 
        /// <summary>
        /// 
        /// </summary>
        public MyRepairTaskFormHasFinishedDetailMobileDto 
            (
                Model.RepairTaskForm rhs,
                List<Model.RepairTaskLog> logList,
                List<Model.RepairTaskLogFile> logFileList
            )
        {
            this.ID = rhs.ID;
            this.FormNo = rhs.FormNo;
            this.FormName = rhs.FormName;
            this.FormStatus = rhs.FormStatus;
            this.Faq = rhs.Faq;
            this.Question = rhs.Question;
            this.Urgency = rhs.Urgency;
            this.Address = rhs.Address;
            this.Location = rhs.Location;
            var product = new Service.Product().GetByID(rhs.CorpID, rhs.ProductID);
            if (product != null)
            {
                this.ProductName = product.Name;
            }
            this.CreateUserName = new Service.User().GetByID(rhs.CreateUserID)?.RealName;
            this.CreateTime = rhs.CreateTime;
            var finishedLog = logList?.Find(x => x.OperateType == eTaskOperateType.Finish);
            if (finishedLog != null) 
            {
                this.FinishTime = finishedLog.OperateTime;
            }
            this.LogList = logList?.OrderBy(x => x.OperateTime).Select(x => new MyRepairTaskLogHasFinishedMobileDto(x, logFileList?.Where(y => y.LogID == x.ID).ToList())).ToList();
            if (rhs.RequestID.HasValue)
            {
                var requestForm = new Service.RepairRequestForm().GetByID(rhs.CorpID, rhs.RequestID.Value);
                if (requestForm != null)
                {
                    var requestLogList = new Service.RepairRequestLog().GetByFormID(requestForm.CorpID, requestForm.ID);
                    var requestFileList = new Service.RepairRequestFile().GetByFormID(requestForm.CorpID, requestForm.ID);
                    this.RequestForm = new MyRepairTaskRequestFromHasFinishedMobileDto(requestForm, requestLogList, requestFileList);
                }
            }
        }
 
        /// <summary>
        /// 标识
        /// </summary>
        public long ID { get; set; }
 
        /// <summary>
        /// 表单号
        /// </summary>
        public string FormNo { get; set; }
 
        /// <summary>
        /// 表单名称
        /// </summary>
        public string FormName { get; set; }
 
        /// <summary>
        /// 表单状态
        /// </summary>
        public eTaskStatus FormStatus { get; set; }
 
        /// <summary>
        /// 问题编码
        /// </summary>
        public string Faq { get; set; }
 
        /// <summary>
        /// 问题描述
        /// </summary>
        public string Question { get; set; }
 
        /// <summary>
        /// 紧急程度
        /// </summary>
        public eUrgency Urgency { get; set; }
 
        /// <summary>
        /// 地址
        /// </summary>
        public string Address { get; set; }
 
        /// <summary>
        /// 定位
        /// </summary>
        public List<Location> Location { get; set; }
 
        /// <summary>
        /// 设备名称
        /// </summary>
        public string ProductName { get; set; }
 
        /// <summary>
        /// 创建人
        /// </summary>
        public string CreateUserName { get; set; }
 
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
 
        /// <summary>
        /// 完工时间
        /// </summary>
        public DateTime FinishTime { get; set; }
 
 
        /// <summary>
        /// 日志列表
        /// </summary>
        public List<MyRepairTaskLogHasFinishedMobileDto> LogList { get; set; }
 
        /// <summary>
        /// 报修单
        /// </summary>
        public MyRepairTaskRequestFromHasFinishedMobileDto RequestForm { get; set; }
 
    }
}