161
                        attendanceStatusArray[0]= (String) dailyAttendance.get("goOffWorkStatus");
162
                    }else{
163
                        attendanceStatusArray[0]= (String) dailyAttendance.get("goToWorkStatus");
164
                    }
165
                    dailyAttendance.put("descr",attendanceStatusArray);
166
                }
167
            });
168
            List<Map<String, Object>> dataList = attendanceReportResponse.getData();
169
            dataList.forEach((data)->{
170
                String[] attendanceStatus = (String[]) data.get("descr");
171
                String[] attendanceStatusArray = new String[1];
172
                if(null==attendanceStatus[1]){
173
                    attendanceStatusArray[0]=attendanceStatus[0];
174
                    data.put("descr",attendanceStatusArray);
175
                }
176
            });
177
178
            HashMap<String, Object> attendanceReportMap = new HashMap<>();
179
            attendanceReportMap.put("userId",params.get("id"));
180
            attendanceReportMap.put("avatar",null);
181
            attendanceReportMap.put("detail",attendanceReportResponse.getData());
182
            if(attendanceReportResponse.isSuccess()){
183
                CommonResponse<HashMap<String, Object>> ok1 = CommonResponse.ok(attendanceReportMap);
184
                return ok1;
185
            }
186
           
58 187
        } catch (ParseException e) {
59 188
            e.printStackTrace();
60 189
        }
190
191
        
61 192
        return attendanceReportResponse;
62 193
    }
63 194
64 195
    @Override
65 196
    public CommonResponse<PageBean<Map<String,Object>>> queryDailyAttendanceReport(Map<String, Object> params, int pageNumber, int pageSize) {
197
        //在特征表获取职务值
198
        List<CharacteristicSpecValue> mainjobpositionList = charSpecService.getCharSpecList(EbcConstant.MAINJOBPOSITION);
199
200
        //在特征表获取考勤状态
201
        List<CharacteristicSpecValue> clockingStatusList = charSpecService.getCharSpecList(EbcConstant.CLOCKING_STATUS);
202
203
        //查询日报
66 204
        CommonResponse<PageBean<Map<String,Object>>>  attendanceReport = null;
67 205
        try {
68 206
            attendanceReport = attendanceStatusQuery.queryDailyAttendanceReport((new CommonRequest<>(params,pageNumber,pageSize)));
207
            List<Map<String, Object>> dailyAttendanceList = attendanceReport.getData().getData();
208
            dailyAttendanceList.forEach((dailyAttendance)->{
209
                mainjobpositionList.forEach((mainjobposition)->{
210
                    if(dailyAttendance.get("mainJobPositionId").equals(mainjobposition.getCode())){
211
                        dailyAttendance.put("mainJobPositionId", mainjobposition.getValue());
212
                    }
213
                });
214
215
                clockingStatusList.forEach((clockingStatus)->{
216
                    if(dailyAttendance.get("goToWorkStatus").equals(clockingStatus.getCode())){
217
                        dailyAttendance.put("goToWorkStatus", clockingStatus.getValue());
218
                    }
219
                    if(dailyAttendance.get("goOffWorkStatus").equals(clockingStatus.getCode())){
220
                        dailyAttendance.put("goOffWorkStatus", clockingStatus.getValue());
221
                    }
222
                });
223
224
                String[] attendanceStatusArray = new String[2];
225
226
                if(dailyAttendance.get("goToWorkStatus").equals("正常")&&dailyAttendance.get("goOffWorkStatus").equals("正常")){
227
                    //上下班都正常
228
                    attendanceStatusArray[0]="正常";
229
                    dailyAttendance.put("attendanceStatus",attendanceStatusArray);
230
                }else if(!dailyAttendance.get("goToWorkStatus").equals("正常")&&!dailyAttendance.get("goOffWorkStatus").equals("正常")){
231
                    attendanceStatusArray[0]= (String) dailyAttendance.get("goToWorkStatus");
232
                    attendanceStatusArray[1]= (String) dailyAttendance.get("goOffWorkStatus");
233
                    //上下班都不正常
234
                    if(dailyAttendance.get("goToWorkStatus").equals("迟到")){
235
                        attendanceStatusArray[0]="迟到"+dailyAttendance.get("goToWorkTime") +"分";
236
                    }
237
                    if(dailyAttendance.get("goOffWorkStatus").equals("早退")){
238
                        attendanceStatusArray[1]="早退"+dailyAttendance.get("goOffWorkTime") +"分";
239
                    }
240
                    if(dailyAttendance.get("goToWorkStatus").equals("旷工")){
241
                        attendanceStatusArray[1]=null;
242
                        attendanceStatusArray[0]="旷工"+dailyAttendance.get("goToWorkTime") +"天";
243
                    }
244
                    if(dailyAttendance.get("goToWorkStatus").equals("倒休")||dailyAttendance.get("goToWorkStatus").equals("事假")||dailyAttendance.get("goToWorkStatus").equals("年假")||dailyAttendance.get("goToWorkStatus").equals("放假")){
245
                        attendanceStatusArray[1]=null;
246
                        attendanceStatusArray[0]=(String) dailyAttendance.get("goToWorkStatus");
247
                    }
248
249
                    dailyAttendance.put("attendanceStatus",attendanceStatusArray);
250
                }else{
251
                    //上下班一个正常一个不正常
252
                    if(dailyAttendance.get("goToWorkStatus").equals("正常")){
253
                        attendanceStatusArray[0]= (String) dailyAttendance.get("goOffWorkStatus");
254
                    }else{
255
                        attendanceStatusArray[0]= (String) dailyAttendance.get("goToWorkStatus");
256
                    }
257
                    dailyAttendance.put("attendanceStatus",attendanceStatusArray);
258
                }
259
            });
69 260
        } catch (ParseException e) {
70 261
            e.printStackTrace();
71 262
        }
263
        List<Map<String, Object>> dataList = attendanceReport.getData().getData();
264
        dataList.forEach((data)->{
265
            String[] attendanceStatus = (String[]) data.get("attendanceStatus");
266
            String[] attendanceStatusArray = new String[1];
267
            if(null==attendanceStatus[1]){
268
                attendanceStatusArray[0]=attendanceStatus[0];
269
                data.put("attendanceStatus",attendanceStatusArray);
270
            }
271
        });
72 272
        return attendanceReport;
73 273
    }
74 274
}

+ 1 - 1
security-protection-service/src/main/java/com/ai/bss/security/protection/service/interfaces/AttendanceReportService.java

@ -12,7 +12,7 @@ public interface AttendanceReportService {
12 12
13 13
    CommonResponse<PageBean<Map<String,Object>>> queryPageAbnormalAttendance(Map<String, Object> params, int pageNumber, int pageSize);
14 14
15
    CommonResponse<List<Map<String, Object>>> queryAttendanceDetailReport(Map<String, Object> params);
15
    CommonResponse<? extends Object> queryAttendanceDetailReport(Map<String, Object> params);
16 16
17 17
    CommonResponse<PageBean<Map<String,Object>>> queryDailyAttendanceReport(Map<String, Object> params, int pageNumber, int pageSize);
18 18
}

+ 6 - 0
security-protection-service/src/main/java/com/ai/bss/security/protection/utils/EbcConstant.java

@ -18,6 +18,12 @@ public class EbcConstant {
18 18
	// 异常考勤查询常量正常取值normal
19 19
	public static final String ATTENDANCE_STATUSTYPE_NORMAL = "NORMAL";
20 20
21
	// 特征表获得职务code
22
	public static final String MAINJOBPOSITION = "mainJobPosition";
23
24
	// 特征表获得职务打卡状态code
25
	public static final String CLOCKING_STATUS = "CLOCKING_STATUS";
26
21 27
	// 轨迹回放单次查询条数
22 28
	public static final int TRACK_PLAYBACK_SIZE = 100;
23 29

wangdong6 - Nuosi Git Service
wangdong6
es-manage
0 0

基于com.ai.abc.persistence-es 的es数据操作服务

最後更新於 2 年之前

最後更新於 5 年之前

cmp
0 0

最後更新於 6 年之前