@@ -41,8 +41,8 @@ const getDateRequestReceived = (
41
41
let dateRequestReceived = null ;
42
42
firstTenRowLetters . forEach ( ( letter ) => {
43
43
if (
44
- claimsRequestFormSheet [ index ] [ letter ] !== null &&
45
- typeof claimsRequestFormSheet [ index ] [ letter ] === 'number'
44
+ claimsRequestFormSheet [ index ] [ letter ] &&
45
+ convertExcelDateToJSDate ( claimsRequestFormSheet [ index ] [ letter ] )
46
46
) {
47
47
dateRequestReceived = claimsRequestFormSheet [ index ] [ letter ] ;
48
48
}
@@ -54,13 +54,12 @@ const getBcProjectNumber = (
54
54
claimsRequestFormSheet : Array < any > ,
55
55
index : number
56
56
) => {
57
- let bcProjectNumber = null ;
57
+ let bcProjectNumber ;
58
58
firstTenRowLetters . forEach ( ( letter ) => {
59
59
if (
60
- claimsRequestFormSheet [ index ] [ letter ]
61
- ?. toLowerCase ( )
62
- ?. trim ( )
63
- ?. includes ( 'ccbc' )
60
+ claimsRequestFormSheet [ index ] [ letter ] &&
61
+ typeof claimsRequestFormSheet [ index ] [ letter ] === 'string' &&
62
+ / ^ C C B C - \d { 6 } $ / . test ( claimsRequestFormSheet [ index ] [ letter ] . trim ( ) )
64
63
) {
65
64
bcProjectNumber = claimsRequestFormSheet [ index ] [ letter ] ;
66
65
}
@@ -75,7 +74,7 @@ const getIsedProjectNumber = (
75
74
let isedProjectNumber = null ;
76
75
firstTenRowLetters . forEach ( ( letter ) => {
77
76
if (
78
- claimsRequestFormSheet [ index ] [ letter ] !== null &&
77
+ claimsRequestFormSheet [ index ] [ letter ] &&
79
78
typeof claimsRequestFormSheet [ index ] [ letter ] === 'number'
80
79
) {
81
80
isedProjectNumber = claimsRequestFormSheet [ index ] [ letter ] ;
@@ -85,11 +84,12 @@ const getIsedProjectNumber = (
85
84
} ;
86
85
87
86
const getClaimNumber = ( claimsRequestFormSheet : Array < any > , index : number ) => {
88
- let claimNumber = null ;
87
+ let claimNumber ;
89
88
firstTenRowLetters . forEach ( ( letter ) => {
90
89
if (
91
- claimsRequestFormSheet [ index ] [ letter ] !== null &&
92
- typeof claimsRequestFormSheet [ index ] [ letter ] === 'number'
90
+ claimsRequestFormSheet [ index ] [ letter ] &&
91
+ typeof claimsRequestFormSheet [ index ] [ letter ] === 'number' &&
92
+ ! claimNumber
93
93
) {
94
94
claimNumber = claimsRequestFormSheet [ index ] [ letter ] ;
95
95
}
@@ -104,9 +104,11 @@ const getEligibleCostsIncurredFromDate = (
104
104
let eligibleCostsIncurredFromDate = null ;
105
105
firstTenRowLetters . forEach ( ( letter ) => {
106
106
if (
107
- claimsRequestFormSheet [ index ] [ letter ] !== null &&
107
+ claimsRequestFormSheet [ index ] [ letter ] &&
108
108
// excel date is of type number
109
- typeof claimsRequestFormSheet [ index ] [ letter ] === 'number'
109
+ typeof claimsRequestFormSheet [ index ] [ letter ] === 'number' &&
110
+ // we only want the first value since there are others after
111
+ eligibleCostsIncurredFromDate === null
110
112
) {
111
113
eligibleCostsIncurredFromDate = claimsRequestFormSheet [ index ] [ letter ] ;
112
114
}
@@ -121,9 +123,11 @@ const getEligibleCostsIncurredToDate = (
121
123
let eligibleCostsIncurredToDate = null ;
122
124
firstTenRowLetters . forEach ( ( letter ) => {
123
125
if (
124
- claimsRequestFormSheet [ index ] [ letter ] !== null &&
126
+ claimsRequestFormSheet [ index ] [ letter ] &&
125
127
// excel date is of type number
126
- typeof claimsRequestFormSheet [ index ] [ letter ] === 'number'
128
+ typeof claimsRequestFormSheet [ index ] [ letter ] === 'number' &&
129
+ // we only want the first value since there are others after
130
+ eligibleCostsIncurredToDate === null
127
131
) {
128
132
eligibleCostsIncurredToDate = claimsRequestFormSheet [ index ] [ letter ] ;
129
133
}
@@ -135,11 +139,12 @@ const getEligibleCostsIncurredToDate = (
135
139
136
140
const isValidProgressReportInput = ( input ) => {
137
141
const validInputs = [
138
- 'Please select' ,
139
142
'Not Started' ,
140
143
'In Progress' ,
141
144
'Completed' ,
142
145
'N/A' ,
146
+ 'Yes' ,
147
+ 'No' ,
143
148
] ;
144
149
145
150
return (
@@ -158,7 +163,7 @@ const getProgressOnPermits = (
158
163
let progressOnPermits = null ;
159
164
firstTenRowLetters . forEach ( ( letter ) => {
160
165
if (
161
- progressReportSheet [ index ] [ letter ] !== null &&
166
+ progressReportSheet [ index ] [ letter ] &&
162
167
isValidProgressReportInput ( progressReportSheet [ index ] [ letter ] )
163
168
) {
164
169
progressOnPermits = progressReportSheet [ index ] [ letter ] ;
@@ -174,7 +179,7 @@ const getHasConstructionBegun = (
174
179
let hasConstructionBegun = null ;
175
180
firstTenRowLetters . forEach ( ( letter ) => {
176
181
if (
177
- progressReportSheet [ index ] [ letter ] !== null &&
182
+ progressReportSheet [ index ] [ letter ] &&
178
183
isValidProgressReportInput ( progressReportSheet [ index ] [ letter ] )
179
184
) {
180
185
hasConstructionBegun = progressReportSheet [ index ] [ letter ] ;
@@ -190,7 +195,7 @@ const getHaveServicesBeenOffered = (
190
195
let haveServicesBeenOffered = null ;
191
196
firstTenRowLetters . forEach ( ( letter ) => {
192
197
if (
193
- progressReportSheet [ index ] [ letter ] !== null &&
198
+ progressReportSheet [ index ] [ letter ] &&
194
199
isValidProgressReportInput ( progressReportSheet [ index ] [ letter ] )
195
200
) {
196
201
haveServicesBeenOffered = progressReportSheet [ index ] [ letter ] ;
@@ -206,7 +211,7 @@ const getProjectScheduleRisks = (
206
211
let projectScheduleRisks = null ;
207
212
firstTenRowLetters . forEach ( ( letter ) => {
208
213
if (
209
- progressReportSheet [ index ] [ letter ] !== null &&
214
+ progressReportSheet [ index ] [ letter ] &&
210
215
isValidProgressReportInput ( progressReportSheet [ index ] [ letter ] )
211
216
) {
212
217
projectScheduleRisks = progressReportSheet [ index ] [ letter ] ;
@@ -222,7 +227,7 @@ const getThirdPartyPassiveInfrastructure = (
222
227
let thirdPartyPassiveInfrastructure = null ;
223
228
firstTenRowLetters . forEach ( ( letter ) => {
224
229
if (
225
- progressReportSheet [ index ] [ letter ] !== null &&
230
+ progressReportSheet [ index ] [ letter ] &&
226
231
isValidProgressReportInput ( progressReportSheet [ index ] [ letter ] )
227
232
) {
228
233
thirdPartyPassiveInfrastructure = progressReportSheet [ index ] [ letter ] ;
@@ -238,7 +243,7 @@ const getCommunicationMaterials = (
238
243
let communicationMaterials = null ;
239
244
firstTenRowLetters . forEach ( ( letter ) => {
240
245
if (
241
- progressReportSheet [ index ] [ letter ] !== null &&
246
+ progressReportSheet [ index ] [ letter ] &&
242
247
isValidProgressReportInput ( progressReportSheet [ index ] [ letter ] )
243
248
) {
244
249
communicationMaterials = progressReportSheet [ index ] [ letter ] ;
@@ -254,7 +259,7 @@ const getProjectBudgetRisks = (
254
259
let projectBudgetRisks = null ;
255
260
firstTenRowLetters . forEach ( ( letter ) => {
256
261
if (
257
- progressReportSheet [ index ] [ letter ] !== null &&
262
+ progressReportSheet [ index ] [ letter ] &&
258
263
isValidProgressReportInput ( progressReportSheet [ index ] [ letter ] )
259
264
) {
260
265
projectBudgetRisks = progressReportSheet [ index ] [ letter ] ;
@@ -270,7 +275,7 @@ const getChangesToOverallBudget = (
270
275
let changesToOverallBudget = null ;
271
276
firstTenRowLetters . forEach ( ( letter ) => {
272
277
if (
273
- progressReportSheet [ index ] [ letter ] !== null &&
278
+ progressReportSheet [ index ] [ letter ] &&
274
279
isValidProgressReportInput ( progressReportSheet [ index ] [ letter ] )
275
280
) {
276
281
changesToOverallBudget = progressReportSheet [ index ] [ letter ] ;
@@ -691,7 +696,7 @@ const ValidateData = async (data, req) => {
691
696
}
692
697
}
693
698
694
- if ( dateRequestReceived === undefined ) {
699
+ if ( dateRequestReceived === undefined || dateRequestReceived === null ) {
695
700
errors . push ( {
696
701
level : 'cell' ,
697
702
error : 'Invalid data: Date request received' ,
0 commit comments