194
		CommonRequest<Map<String, Object>> conditionMapRequest = new CommonRequest<Map<String, Object>>(requestMap,
195
				pageNumber, pageSize);
196
		CommonResponse<PageBean<Map<String, Object>>> response = employeeService
197
				.queryIndividualList(conditionMapRequest);
198
199
		if (response == null || response.getData() == null || CollectionUtils.isEmpty(response.getData().getData())) {
200
			return new ArrayList<Map<String, Object>>();
201
		}
202
203
		return response.getData().getData();
130 204
	}
131 205
132 206
}

+ 8 - 12
security-protection-service/src/main/java/com/ai/bss/security/protection/service/impl/MonitorVideoLogManageServiceImpl.java

@ -31,7 +31,7 @@ import com.ai.bss.work.safety.service.api.MonitorSceneQuery;
31 31
@Service
32 32
public class MonitorVideoLogManageServiceImpl implements MonitorVideoLogManageService {
33 33
34
	public String SPLIT_CHAR  = "_";
34
	public String SPLIT_CHAR = "_";
35 35
	@Autowired
36 36
	private MonitorSceneQuery monitorSceneQuery;
37 37
@ -42,7 +42,6 @@ public class MonitorVideoLogManageServiceImpl implements MonitorVideoLogManageSe
42 42
	@Autowired
43 43
	private UploadFileService uploadFileService;
44 44
45
46 45
	@Autowired
47 46
	private SecurityProtectionMinioConfig minioConfig;
48 47
@ -65,10 +64,9 @@ public class MonitorVideoLogManageServiceImpl implements MonitorVideoLogManageSe
65 64
		return CommonResponse.ok(list);
66 65
	}
67 66
68
69
70 67
	@Override
71
	public CommonResponse<String> queryMonitorVideoLogByTimeForM3u8(MonitorVideoLog monitorVideoLogCondition) throws Exception {
68
	public CommonResponse<String> queryMonitorVideoLogByTimeForM3u8(MonitorVideoLog monitorVideoLogCondition)
69
			throws Exception {
72 70
		CommonRequest<MonitorVideoLog> request = new CommonRequest<MonitorVideoLog>(monitorVideoLogCondition);
73 71
		CommonResponse<List<MonitorVideoLog>> response = monitorSceneQuery.queryMonitorVideoLogByTime(request);
74 72
@ -77,13 +75,12 @@ public class MonitorVideoLogManageServiceImpl implements MonitorVideoLogManageSe
77 75
			return CommonResponse.ok(null);
78 76
		}
79 77
80
81 78
		StringBuffer m3u8Str = new StringBuffer();
82 79
		m3u8Str.append("#EXTM3U").append("\n");
83 80
		m3u8Str.append("#EXT-X-VERSION:3").append("\n");
84 81
		m3u8Str.append("#EXT-X-TARGETDURATION:65").append("\n");
85 82
		m3u8Str.append("#EXT-X-MEDIA-SEQUENCE:0").append("\n");
86
		String bucketName = minioConfig.getBucketM3U8();//"m3u8-index";
83
		String bucketName = minioConfig.getBucketM3U8();// "m3u8-index";
87 84
		String fileType = ".m3u8";
88 85
		String m3u8FileName = bucketName + SPLIT_CHAR + UUID.fastUUID().toString().replace("-", "") + fileType;
89 86
@ -98,7 +95,7 @@ public class MonitorVideoLogManageServiceImpl implements MonitorVideoLogManageSe
98 95
		}
99 96
		m3u8Str.append("#EXT-X-ENDLIST").append("\n");
100 97
		InputStream is = new ByteArrayInputStream(m3u8Str.toString().getBytes());
101
		minioService.putObject(bucketName,m3u8FileName,is,fileType);
98
		minioService.putObject(bucketName, m3u8FileName, is, fileType);
102 99
103 100
		String m3u8IndexFileUrl = uploadFileService.getFileUrl(m3u8FileName);
104 101
@ -160,10 +157,9 @@ public class MonitorVideoLogManageServiceImpl implements MonitorVideoLogManageSe
160 157
		String fileType = videoUrl.substring(videoUrl.lastIndexOf(".") + 1);
161 158
162 159
		String newFileName = videoUrl.substring(videoUrl.lastIndexOf("_") + 1);
163
		int videoPrefixIndex = newFileName.lastIndexOf(EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO);
164
		String fileNameData = newFileName.substring(
165
				videoPrefixIndex + EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO.length(),
166
				videoPrefixIndex + EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO.length() + 14);
160
		int videoPrefixIndex = newFileName.lastIndexOf(EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO)
161
				+ EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO.length();
162
		String fileNameData = newFileName.substring(videoPrefixIndex, videoPrefixIndex + 14);
167 163
		Date fileDateTime = DateUtil.convertDate(fileNameData, DateUtil.PURE_DATETIME_PATTERN);
168 164
		String newFileNameData = DateUtil.formatDate(fileDateTime, "MM月dd日 HH:mm");
169 165
		String fileDateTimeStr = DateUtil.formatDate(fileDateTime);

+ 8 - 11
security-protection-service/src/main/java/com/ai/bss/security/protection/service/impl/UploadFileServiceImpl.java

@ -60,7 +60,7 @@ public class UploadFileServiceImpl implements UploadFileService {
60 60
61 61
	@Override
62 62
	public String getFileUrl(String minioFileName) throws Exception {
63
		if (StringUtils.isEmpty(minioFileName)) {
63
		if (StringUtils.isEmpty(minioFileName) || "null".equals(minioFileName)) {
64 64
			log.debug("获取文件的url为空");
65 65
			return "";
66 66
		}
@ -180,26 +180,23 @@ public class UploadFileServiceImpl implements UploadFileService {
180 180
		resultMap.put("fileType", fileType);
181 181
182 182
		if (newFileName.lastIndexOf(EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO) > 0) {
183
			int videoPrefixIndex = newFileName.lastIndexOf(EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO);
183
			int videoPrefixIndex = newFileName.lastIndexOf(EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO)
184
					+ EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO.length();
184 185
185
			String fileNameData = newFileName.substring(
186
					videoPrefixIndex + EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO.length(),
187
					videoPrefixIndex + EbcConstant.AI_MONITOR_FILE_PREFIX_VIDEO.length() + 14);
186
			String fileNameData = newFileName.substring(videoPrefixIndex, videoPrefixIndex + 14);
188 187
			Date fileDataTime = DateUtil.convertDate(fileNameData, DateUtil.PURE_DATETIME_PATTERN);
189 188
			String newFileNameData = DateUtil.formatDate(fileDataTime, "MM月dd日 HH:mm");
190 189
			resultMap.put("fileName", newFileNameData);
191 190
			resultMap.put("fileDateTimeStr", DateUtil.formatDate(fileDataTime));
192 191
193 192
		} else if (newFileName.lastIndexOf(EbcConstant.AI_MONITOR_FILE_PREFIX_PICTURE) > 0) {
194
			int picturePrefixIndex = newFileName.lastIndexOf(EbcConstant.AI_MONITOR_FILE_PREFIX_PICTURE);
193
			int picturePrefixIndex = newFileName.lastIndexOf(EbcConstant.AI_MONITOR_FILE_PREFIX_PICTURE)
194
					+ EbcConstant.AI_MONITOR_FILE_PREFIX_PICTURE.length();
195 195
196
			String fileNameData = newFileName.substring(
197
					picturePrefixIndex + EbcConstant.AI_MONITOR_FILE_PREFIX_PICTURE.length(),
198
					picturePrefixIndex + EbcConstant.AI_MONITOR_FILE_PREFIX_PICTURE.length() + 14);
196
			String fileNameData = newFileName.substring(picturePrefixIndex, picturePrefixIndex + 14);
199 197
			Date fileDataTime = DateUtil.convertDate(fileNameData, DateUtil.PURE_DATETIME_PATTERN);
200 198
			String newFileNameData = DateUtil.formatDate(fileDataTime, "MM月dd日 HH:mm:ss");
201
			String pictureSerialNum = newFileName.substring(
202
					picturePrefixIndex + EbcConstant.AI_MONITOR_FILE_PREFIX_PICTURE.length() + 14, fileNameIndex);
199
			String pictureSerialNum = newFileName.substring(picturePrefixIndex + 14, fileNameIndex);
203 200
			resultMap.put("fileName", newFileNameData + " " + pictureSerialNum);
204 201
			resultMap.put("fileDateTimeStr", DateUtil.formatDate(fileDataTime));
205 202

+ 50 - 46
security-protection-service/src/main/java/com/ai/bss/security/protection/service/impl/WorkOrderManagementServiceImpl.java

@ -7,17 +7,7 @@ import java.util.HashMap;
7 7
import java.util.List;
8 8
import java.util.Map;
9 9
10
import com.ai.abc.exception.BaseException;
11
import com.ai.bss.components.common.util.JsonUtils;
12
import com.ai.bss.user.dto.UserDto;
13
import com.ai.bss.work.attendance.dto.LeaveApprovalDto;
14
import com.ai.bss.work.attendance.model.AttendanceTask;
15
import com.ai.bss.work.attendance.service.api.ApprovalImportCommand;
16
import com.alibaba.fastjson.TypeReference;
17
import com.alibaba.fastjson.serializer.SerializerFeature;
18
import com.google.common.collect.Lists;
19 10
import org.apache.logging.log4j.util.Strings;
20
import org.junit.Assert;
21 11
import org.springframework.beans.factory.annotation.Autowired;
22 12
import org.springframework.stereotype.Service;
23 13
import org.springframework.util.CollectionUtils;
@ -25,15 +15,20 @@ import org.springframework.web.multipart.MultipartFile;
25 15
26 16
import com.ai.abc.api.model.CommonRequest;
27 17
import com.ai.abc.api.model.CommonResponse;
18
import com.ai.abc.exception.BaseException;
28 19
import com.ai.bss.characteristic.spec.model.CharacteristicSpecValue;
29 20
import com.ai.bss.components.common.model.PageBean;
21
import com.ai.bss.components.common.util.JsonUtils;
30 22
import com.ai.bss.security.protection.service.interfaces.CharSpecService;
31 23
import com.ai.bss.security.protection.service.interfaces.WorkOrderManagementService;
32 24
import com.ai.bss.security.protection.utils.EbcConstant;
33 25
import com.ai.bss.security.protection.utils.ExcelException;
34 26
import com.ai.bss.security.protection.utils.ExcelUtil;
27
import com.ai.bss.user.dto.UserDto;
35 28
import com.ai.bss.user.service.api.UserDtoQuery;
29
import com.ai.bss.work.attendance.dto.LeaveApprovalDto;
36 30
import com.ai.bss.work.attendance.model.AttendanceTaskSpec;
31
import com.ai.bss.work.attendance.service.api.ApprovalImportCommand;
37 32
import com.ai.bss.work.attendance.service.api.ApprovalTaskQuery;
38 33
import com.ai.bss.work.service.api.EventHandleCommand;
39 34
import com.ai.bss.work.service.api.WorkOrderCommand;
@ -42,6 +37,8 @@ import com.ai.bss.work.task.model.common.WorkOrder;
42 37
import com.ai.bss.work.task.model.common.WorkTask;
43 38
import com.alibaba.fastjson.JSON;
44 39
import com.alibaba.fastjson.JSONObject;
40
import com.alibaba.fastjson.serializer.SerializerFeature;
41
import com.google.common.collect.Lists;
45 42
46 43
import lombok.extern.slf4j.Slf4j;
47 44
@ -218,7 +215,7 @@ public class WorkOrderManagementServiceImpl implements WorkOrderManagementServic
218 215
219 216
		workEvent.setCharValueSet(JSON.toJSONString(params));
220 217
221
		log.debug("申请工单: "+JSON.toJSONString(workEvent));
218
		log.debug("申请工单: " + JSON.toJSONString(workEvent));
222 219
223 220
		CommonRequest<WorkEvent> eventRequest = new CommonRequest<WorkEvent>(workEvent);
224 221
		CommonResponse response = eventHandleCommand.handleEvent(eventRequest);
@ -245,7 +242,7 @@ public class WorkOrderManagementServiceImpl implements WorkOrderManagementServic
245 242
246 243
		workOrder.setCharValueSet(JSON.toJSONString(charValueMap));
247 244
248
		log.debug("审核工单: "+JSON.toJSONString(workOrder));
245
		log.debug("审核工单: " + JSON.toJSONString(workOrder));
249 246
250 247
		CommonRequest<WorkOrder> workOrderRequest = new CommonRequest<WorkOrder>(workOrder);
251 248
		CommonResponse<WorkTask> response = workOrderCommand.reportWorkOrderResult(workOrderRequest);
@ -258,37 +255,46 @@ public class WorkOrderManagementServiceImpl implements WorkOrderManagementServic
258 255
	}
259 256
260 257
	@Override
261
	public CommonResponse normalClocking(Map<String,String> map) throws Throwable {
258
	public CommonResponse normalClocking(Map<String, String> map) throws Throwable {
262 259
263 260
		String clockingType = map.get("clockingType");
264 261
		String employId = map.get("employId");
265 262
266 263
		UserDto userDto = new UserDto();
267 264
		userDto.setId(employId);
268
		CommonRequest<UserDto> request = CommonRequest.<UserDto>builder().data(userDto).pageNumber(1).pageSize(1).build();
269
		CommonResponse<PageBean<UserDto>>  result = userDtoQuery.queryWorkEmployee(request);
270
		String employOrgId = "";
265
		CommonRequest<UserDto> request = CommonRequest.<UserDto>builder().data(userDto).pageNumber(1).pageSize(1)
266
				.build();
267
		CommonResponse<PageBean<Map<String, Object>>> resultResponse = userDtoQuery.queryWorkEmployee(request);
268
269
		/*String employOrgId = "";
271 270
		try {
272
			employOrgId = result.getData().getData().get(0).getOrgId();
271
			employOrgId = result.getData().getData().get(0).get("id");
273 272
		}catch (Exception e){
274 273
			log.error("员工不存在");
275 274
			new BaseException("员工不存在");
275
		}*/
276
		if (resultResponse == null || resultResponse.getData() == null
277
				|| CollectionUtils.isEmpty(resultResponse.getData().getData())
278
				|| CollectionUtils.isEmpty(resultResponse.getData().getData().get(0))
279
				|| resultResponse.getData().getData().get(0).get("id") == null) {
280
			log.error("员工不存在");
281
			new BaseException("员工不存在");
276 282
		}
277
		log.info("输出参数:{}",JSON.toJSONString(result , SerializerFeature.PrettyFormat));
278
283
		String employOrgId = String.valueOf(resultResponse.getData().getData().get(0).get("id"));
284
		log.info("输出参数:{}", JSON.toJSONString(resultResponse, SerializerFeature.PrettyFormat));
279 285
280
		String clockingTime	 = map.get("clockingTime");
286
		String clockingTime = map.get("clockingTime");
281 287
		WorkEvent workEvent = new WorkEvent();
282 288
283 289
		workEvent.setWorkEmployeeRoleId(employId);
284 290
		workEvent.setWorkOrgRoleId(employOrgId);
285 291
		workEvent.setEventSpecId(clockingType);
286 292
287
		Map<String,String> charValueSet = new HashMap<>();
288
		charValueSet.put("clockingTime",clockingTime);
289
		charValueSet.put("clockingType","NORMAL");
290
		charValueSet.put("clockingLongitude","121.545500");
291
		charValueSet.put("clockingLatitude","31.281153");
293
		Map<String, String> charValueSet = new HashMap<>();
294
		charValueSet.put("clockingTime", clockingTime);
295
		charValueSet.put("clockingType", "NORMAL");
296
		charValueSet.put("clockingLongitude", "121.545500");
297
		charValueSet.put("clockingLatitude", "31.281153");
292 298
		workEvent.setCharValueSet(JSONObject.toJSONString(charValueSet));
293 299
//		"clockingTime": "2020-10-15 08:00:00",
294 300
//				"clockingType": "NORMAL",
@ -302,12 +308,9 @@ public class WorkOrderManagementServiceImpl implements WorkOrderManagementServic
302 308
//				JSON.parseObject(JSONObject.toJSONString(workEvent), new TypeReference<CommonRequest<WorkEvent>>() {
303 309
//				});
304 310
305
306 311
//		CommonRequest<WorkEvent> requestWorkEvent = new CommonRequest<WorkEvent>(workEvent);
307 312
		CommonRequest<WorkEvent> requestWorkEvent = CommonRequest.<WorkEvent>builder().data(workEvent).build();
308 313
309
310
311 314
		log.info("WorkEvent: \n{}", JSON.toJSONString(requestWorkEvent, true));
312 315
		CommonResponse runningResult = eventHandleCommand.handleEvent(requestWorkEvent);
313 316
		log.info("success: \n{}", JsonUtils.toJSONStringByDateFormat(runningResult, true));
@ -325,24 +328,24 @@ public class WorkOrderManagementServiceImpl implements WorkOrderManagementServic
325 328
326 329
		String orgCode = "0000";
327 330
		CommonRequest<String> request = CommonRequest.<String>builder().data(Strings.EMPTY).build();
328
		CommonResponse<Map<String,Map<String,Object>>>  userMapresult = userDtoQuery.queryUserCodeWithId(request);
331
		CommonResponse<Map<String, Map<String, Object>>> userMapresult = userDtoQuery.queryUserCodeWithId(request);
329 332
		log.info(JSON.toJSONString(userMapresult));
330 333
331 334
		List<LeaveApprovalDto> list = Lists.newArrayList();
332 335
		// "approvalResult": "APPROVED",
333 336
		// "approvalComment": "下次注意"
334
  /* "workEmployeeRoleId": "201057520856",
335
      "workOrgRoleId": "99",
336
      "charValueSet": {
337
        "approvalType": "ASK_LEAVE",
338
        "approvalSubType": "ASK_LEAVE-YEA",
339
        "approvalReason": "zt-test",
340
        "approvalEmployeeRoleId": "1113",
341
        "beginTime": "2020-10-12",
342
        "endTime": "2020-10-13",
343
        "duration": "2",
344
        "leaveType": "YEA"
345
        */
337
		/* "workEmployeeRoleId": "201057520856",
338
		    "workOrgRoleId": "99",
339
		    "charValueSet": {
340
		"approvalType": "ASK_LEAVE",
341
		"approvalSubType": "ASK_LEAVE-YEA",
342
		"approvalReason": "zt-test",
343
		"approvalEmployeeRoleId": "1113",
344
		"beginTime": "2020-10-12",
345
		"endTime": "2020-10-13",
346
		"duration": "2",
347
		"leaveType": "YEA"
348
		*/
346 349
		LeaveApprovalDto dto = new LeaveApprovalDto();
347 350
		dto.setApprovalComment("同意");
348 351
@ -357,13 +360,14 @@ public class WorkOrderManagementServiceImpl implements WorkOrderManagementServic
357 360
		dto.setApprovalReason(" no reason ");
358 361
		dto.setApplyTime("2020-10-12 12:00:00");
359 362
		dto.setBeginTime("2020-10-12");
360
		dto.setEndTime( "2020-10-13");
363
		dto.setEndTime("2020-10-13");
361 364
		dto.setDuration("2");
362 365
		dto.setLeaveType("YEA");
363
		list.add( dto);
364
		CommonRequest<List<LeaveApprovalDto>> conditionMapRequest = CommonRequest.<List<LeaveApprovalDto>>builder().data(list).build();
365
		Object importResult =  approvalImportCommand.leaveApprovalImport(conditionMapRequest);
366
		log.info(JSON.toJSONString( importResult));
366
		list.add(dto);
367
		CommonRequest<List<LeaveApprovalDto>> conditionMapRequest = CommonRequest.<List<LeaveApprovalDto>>builder()
368
				.data(list).build();
369
		Object importResult = approvalImportCommand.leaveApprovalImport(conditionMapRequest);
370
		log.info(JSON.toJSONString(importResult));
367 371
368 372
//        saveAskLeaveOrder(listTerminal, file.getOriginalFilename());
369 373
		return CommonResponse.OK_VOID;

+ 71 - 0
security-protection-service/src/main/java/com/ai/bss/security/protection/service/interfaces/AiIdenLogManageService.java

@ -0,0 +1,71 @@
1
package com.ai.bss.security.protection.service.interfaces;
2
3
import java.util.List;
4
import java.util.Map;
5
6
import com.ai.abc.api.model.CommonResponse;
7
import com.ai.bss.components.common.model.PageBean;
8
import com.ai.bss.work.safety.model.AiIdenLog;
9
10
/**
11
 * AI执行结果
12
 * @author konghl@asiainfo.com
13
 * 2020-12-24
14
 */
15
public interface AiIdenLogManageService {
16
17
	/**
18
	 * 分页查询AI执行结果信息
19
	 * @param params
20
	 * @param pageNumber
21
	 * @param pageSize
22
	 * @return
23
	 * @throws Exception
24
	 */
25
	CommonResponse<PageBean<Map<String, Object>>> queryPageAiIdenLog(Map<String, Object> params, int pageNumber,
26
			int pageSize) throws Exception;
27
28
	/**
29
	 * 查询所有AI执行结果的图片列表
30
	 * @param params
31
	 * @param pageNumber
32
	 * @param pageSize
33
	 * @return
34
	 * @throws Exception
35
	 */
36
	CommonResponse<List<Map<String, Object>>> queryAllAiIdenLogPicture(Map<String, Object> params, int pageNumber,
37
			int pageSize) throws Exception;
38
39
	/**
40
	 * 查询单个AI执行结果详情
41
	 * @param aiIdenLogId
42
	 * @return
43
	 * @throws Exception
44
	 */
45
	CommonResponse<Map<String, Object>> queryOneAiIdenLog(Long aiIdenLogId) throws Exception;
46
47
	/**
48
	 * 创建AI执行结果
49
	 * @param aiIdenLog
50
	 * @return
51
	 * @throws Exception
52
	 */
53
	CommonResponse<AiIdenLog> createAiIdenLog(AiIdenLog aiIdenLog) throws Exception;
54
55
	/**
56
	 * 修改AI执行结果
57
	 * @param aiIdenLog
58
	 * @return
59
	 * @throws Exception
60
	 */
61
	CommonResponse<AiIdenLog> modifyAiIdenLog(AiIdenLog aiIdenLog) throws Exception;
62
63
	/**
64
	 * 删除AI执行结果
65
	 * @param aiIdenLogIdList
66
	 * @return
67
	 * @throws Exception
68
	 */
69
	CommonResponse<Void> deleteAiIdenLog(List<Long> aiIdenLogIdList) throws Exception;
70
71
}

+ 2 - 2
security-protection-service/src/main/java/com/ai/bss/security/protection/service/interfaces/AttendanceCommonService.java

@ -16,7 +16,7 @@ public interface AttendanceCommonService {
16 16
     * @return
17 17
     * @throws Exception
18 18
     */
19
    CommonResponse<PageBean<UserDto>> queryWorkEmployee(Map<String, Object> params) ;
19
    CommonResponse<PageBean<Map<String, Object>>> queryWorkEmployee(Map<String, Object> params) ;
20 20
21 21
22 22
@ -26,7 +26,7 @@ public interface AttendanceCommonService {
26 26
     * @return
27 27
     * @throws Exception
28 28
     */
29
    CommonResponse<PageBean<UserDto>> queryWorkEmployee(CommonRequest<UserDto> request) throws Exception;
29
    CommonResponse<PageBean<Map<String, Object>>> queryWorkEmployee(CommonRequest<UserDto> request) throws Exception;
30 30
31 31
    /**
32 32
     * 查询所有部门(课通过name过滤)

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

@ -21,7 +21,7 @@ public interface EmployeeManagementService {
21 21
	 * @return
22 22
	 * @throws Exception
23 23
	 */
24
	CommonResponse<PageBean<UserDto>> queryEmployeeList(UserDto userDto, int pageNumber, int pageSize) throws Exception;
24
	CommonResponse<PageBean<Map<String, Object>>> queryEmployeeList(UserDto userDto, int pageNumber, int pageSize) throws Exception;
25 25
26 26
	/**
27 27
	 * 查询单个用户信息
@ -86,4 +86,12 @@ public interface EmployeeManagementService {
86 86
	 */
87 87
	CommonResponse<List<Organization>> queryCycleChildOrg(Long orgId);
88 88
89
	/**
90
	 * 根据部门ID查询下级及下下级部门的员工列表
91
	 * @param orgId
92
	 * @param pageNumber
93
	 * @param pageSize
94
	 * @return
95
	 */
96
	List<Map<String, Object>> queryEmployeeListByOrgId(Long orgId, int pageNumber, int pageSize);
89 97
}

+ 13 - 36
security-protection-service/src/main/java/com/ai/bss/security/protection/service/task/AiResultRecordKafkaTask.java

@ -13,7 +13,7 @@ import org.springframework.util.CollectionUtils;
13 13
import com.ai.abc.api.model.CommonRequest;
14 14
import com.ai.abc.api.model.CommonResponse;
15 15
import com.ai.abc.util.JsonUtils;
16
import com.ai.bss.security.protection.service.interfaces.AiAlarmManageService;
16
import com.ai.bss.security.protection.service.interfaces.AiIdenLogManageService;
17 17
import com.ai.bss.security.protection.service.interfaces.ResourceToolManageService;
18 18
import com.ai.bss.security.protection.utils.EbcConstant;
19 19
import com.ai.bss.work.safety.model.AiIdenLog;
@ -44,7 +44,7 @@ public class AiResultRecordKafkaTask {
44 44
	private MonitorSceneQuery monitorSceneQuery;
45 45
46 46
	@Autowired
47
	private AiAlarmManageService aiAlarmManageService;
47
	private AiIdenLogManageService aiIdenLogManageService;
48 48
49 49
	@KafkaListener(containerFactory = "kafkaBatchListener6", topics = "${kafka.topic.aitask:topic_ai_task}", groupId = "ai_group")
50 50
	public void AiResultRecordListener(ConsumerRecord<String, String> records, Acknowledgment ack) throws Throwable {
@ -55,42 +55,22 @@ public class AiResultRecordKafkaTask {
55 55
			log.info("已接AI任务执行结果消息,消息为:" + message);
56 56
57 57
			JSONObject messageJson = JSONObject.parseObject(message);
58
			String resourceToolCod = messageJson.getString("resourceToolCode");
59
			String aiIdenModel = messageJson.getString("aiIdenModel");
58
			String resourceToolId = messageJson.getString("resourceToolId");
60 59
			String idenResultType = messageJson.getString("idenResultType");
61 60
62 61
			// 查询相关数据
63
			Map<String, Object> resourceToolMap = resourceToolManageService.queryResourceToolByCode(resourceToolCod);
64
			if (resourceToolMap == null) {
65
				log.error("AI任务执行结果的设备CODE不存在:  resourceToolCode=" + messageJson.getString("resourceToolCode"));
66
				throw new NullPointerException("resourceToolCode not exist");
67
			}
68
69
			String resourceToolId = resourceToolMap.get("resourceToolId") == null ? ""
70
					: String.valueOf(resourceToolMap.get("resourceToolId"));
71
72 62
			CommonResponse<List<Map<String, Object>>> sceneTerminalRelResponse = monitorSceneQuery
73 63
					.selectSceneTerminalRel(new CommonRequest<Long>(Long.valueOf(resourceToolId)));
74 64
			if (sceneTerminalRelResponse == null || CollectionUtils.isEmpty(sceneTerminalRelResponse.getData())) {
75 65
				log.error("AI任务执行结果的关联场景不存在:  resourceToolId=" + resourceToolId);
76 66
				throw new NullPointerException("sceneTerminalRel not exist");
77 67
			}
78
			Map<String, Object> sceneTerminalRelMap = sceneTerminalRelResponse.getData().get(0);
79 68
80
			CommonResponse<List<Map<String, Object>>> aiTaskResponse = aiAlarmManageService
81
					.queryAiTaskByDevice(resourceToolId, aiIdenModel);
82
			if (aiTaskResponse == null || CollectionUtils.isEmpty(aiTaskResponse.getData())) {
83
				log.error("AI任务执行结果的任务不存在:  resourceToolId=" + resourceToolId + ", aiIdenModel=" + aiIdenModel);
84
				throw new NullPointerException("aiTask not exist");
85
			}
86
			Map<String, Object> aiTaskMap = aiTaskResponse.getData().get(0);
69
			Map<String, Object> sceneTerminalRelMap = sceneTerminalRelResponse.getData().get(0);
87 70
88 71
			// 封装数据
89 72
			AiIdenLog aiIdenLog = JSON.parseObject(message, new TypeReference<AiIdenLog>() {
90 73
			});
91
			aiIdenLog.setResourceToolId(resourceToolId);
92
			aiIdenLog.setResourceToolName(resourceToolMap.get("resourceToolName") == null ? ""
93
					: String.valueOf(resourceToolMap.get("resourceToolName")));
94 74
			aiIdenLog.setMonitorSceneId(sceneTerminalRelMap.get("monitorSceneId") == null ? ""
95 75
					: String.valueOf(sceneTerminalRelMap.get("monitorSceneId")));
96 76
			aiIdenLog.setMonitorSceneName(sceneTerminalRelMap.get("monitorSceneName") == null ? ""
@ -101,30 +81,27 @@ public class AiResultRecordKafkaTask {
101 81
					sceneTerminalRelMap.get("place") == null ? "" : String.valueOf(sceneTerminalRelMap.get("place")));
102 82
			aiIdenLog.setOrganizationId(
103 83
					sceneTerminalRelMap.get("orgId") == null ? "" : String.valueOf(sceneTerminalRelMap.get("orgId")));
104
			aiIdenLog.setAiTaskId(
105
					aiTaskMap.get("aiTaskId") == null ? 0L : Long.valueOf(String.valueOf(aiTaskMap.get("aiTaskId"))));
106 84
107 85
			// TODO 人员信息暂时默认
108 86
			aiIdenLog.setRelateEmployeeRoleId("201613310867");
109 87
			aiIdenLog.setRelateEmployeeRoleName("王浩");
110 88
111 89
			// 执行操作
112
			CommonRequest<AiIdenLog> aiIdenLogRequest = new CommonRequest<AiIdenLog>(aiIdenLog);
113
114
			CommonResponse<AiIdenLog> runningResult = aiTaskCommand.createAiIdenLog(aiIdenLogRequest);
115
			log.debug("AI任务执行结果: \n{}", JsonUtils.toJSONStringByDateFormat(runningResult, true));
90
			CommonResponse<AiIdenLog> aiIdenLogRunningResult = aiIdenLogManageService.createAiIdenLog(aiIdenLog);
91
			log.debug("AI任务执行结果: \n{}", JsonUtils.toJSONStringByDateFormat(aiIdenLogRunningResult, true));
116 92
117
			if (!runningResult.isSuccess()) {
118
				log.error("AI任务执行结果异常: " + runningResult.getFail().getMessage());
93
			if (!aiIdenLogRunningResult.isSuccess()) {
94
				log.error("AI任务执行结果异常: " + aiIdenLogRunningResult.getFail().getMessage());
119 95
				return;
120 96
			}
121 97
122 98
			if (!EbcConstant.AI_IDENTIFY_RESULT_NORMAL.equals(idenResultType)) {
123
				CommonResponse runningResult1 = aiTaskCommand.aiIdenLogTriggerEvent(aiIdenLogRequest);
99
				CommonRequest<AiIdenLog> aiIdenLogRequest = new CommonRequest<AiIdenLog>(aiIdenLog);
100
				CommonResponse triggerEventRunningResult = aiTaskCommand.aiIdenLogTriggerEvent(aiIdenLogRequest);
124 101
125
				log.debug("AI任务非正常情况的执行结果: \n{}", JsonUtils.toJSONStringByDateFormat(runningResult1, true));
126
				if (!runningResult.isSuccess()) {
127
					log.error("AI任务非正常情况的执行结果异常: " + runningResult.getFail().getMessage());
102
				log.debug("AI任务触发事件的执行结果: \n{}", JsonUtils.toJSONStringByDateFormat(triggerEventRunningResult, true));
103
				if (!triggerEventRunningResult.isSuccess()) {
104
					log.error("AI任务触发事件的执行结果异常: " + triggerEventRunningResult.getFail().getMessage());
128 105
					return;
129 106
				}
130 107
			}

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

@ -57,6 +57,9 @@ public class EbcConstant {
57 57
	// 静态常量: AI任务状态
58 58
	public static final String BUSINESS_SPEC_AI_TASK_STATUS = "AI_TASK_STATUS";
59 59
	
60
	//静态常量: 职务类型
61
	public static final String BUSINESS_SPEC_EMPLOYEE_POSITION="mainJobPosition";
62
	
60 63
	// 视频监控保存视频文件固定前缀
61 64
	public static final String AI_MONITOR_FILE_PREFIX_VIDEO= "-video";
62 65
		
@ -81,6 +84,23 @@ public class EbcConstant {
81 84
	//场景关联设备的作用类别:其他
82 85
	public static final String TERMINAL_EFFECT_TYPE_OTH="OTH";
83 86
	
87
	//审核状态:待审核
88
	public static final String AUDIT_STATUS_INI="INI";
89
	
90
	//审核状态:已生效(审核通过)
91
	public static final String AUDIT_STATUS_ACC="ACC";
92
	
93
	//审核状态:未生效(未审核通过)
94
	public static final String AUDIT_STATUS_DIS="DIS";
95
	
96
	//AI匹配模型:着装违规识别
97
	public static final String AI_MODEL_CLOTHING_CODE="CLOTHING_CODE";
98
	
99
	//AI匹配模型:人脸识别
100
	public static final String AI_MODEL_FACE="FACE";
101
	
102
	//AI匹配模型:陌生人识别
103
	public static final String AI_MODEL_STRANGER="STRANGER";
84 104
	
85 105
	
86 106
	// 当前登录者的STAFF_ID

修改mainacitivty中分享的代码 · 8d43932020 - Nuosi Git Service
Explorar el Código

修改mainacitivty中分享的代码

leijie %!s(int64=8) %!d(string=hace) años
padre
commit
8d43932020
Se han modificado 1 ficheros con 7 adiciones y 3 borrados
  1. 7 3
      display-client/src/com/ai/ipu/display/MainActivity.java

+ 7 - 3
display-client/src/com/ai/ipu/display/MainActivity.java

@ -14,8 +14,8 @@ import com.ai.ipu.mobile.app.AppInfoUtil;
14 14
import com.ai.ipu.mobile.app.ApplicationManager;
15 15
import com.ai.ipu.mobile.app.MobileCheck;
16 16
import com.ai.ipu.mobile.app.MobileOperation;
17
import com.ai.ipu.mobile.res.assets.AssetsUtil;
17 18
import com.ai.ipu.mobile.util.IpuMobileLog;
18
import com.ai.ipu.share.util.ShareUtil;
19 19
//import com.baidu.mapapi.SDKInitializer;
20 20
import com.umeng.analytics.MobclickAgent;
21 21
import com.wade.mobile.app.AppRecord;
@ -205,7 +205,11 @@ public class MainActivity extends TemplateMainActivity {
205 205
	}
206 206
	
207 207
	private void initShareFile(){
208
		ShareUtil shareUtil = new ShareUtil(this);
209
		shareUtil.copyAsset();
208
		try {
209
			AssetsUtil.copyAssetsDir("share",AppInfoUtil.getSdcardPath()+"/share");
210
		} catch (Exception e) {
211
			e.printStackTrace();
212
		}
213
210 214
	}
211 215
}