瀏覽代碼

修改AI处理结果

wangdong6 4 年之前
父節點
當前提交
83a580112c

+ 12 - 0
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/constant/MonitorManageConsts.java

@ -1,5 +1,7 @@
1 1
package com.ai.bss.monitorManage.constant;
2 2
3
import java.io.File;
4
3 5
/**
4 6
 * 公共常量类
5 7
 *
@ -44,4 +46,14 @@ public class MonitorManageConsts {
44 46
45 47
    //AI识别结果:考勤
46 48
    public static final String AI_IDENTIFY_RESULT_ATTENDANCE= "ATT";
49
50
    public static final String alarmEmployeeRoleId= "201613310867";
51
52
    public static String getSystemSeparator(){
53
        return File.separator;
54
    }
55
56
    public static void main(String[] args){
57
        System.out.println(File.separator);
58
    }
47 59
}

+ 4 - 1
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/model/AiIdenLogDto.java

@ -2,6 +2,9 @@ package com.ai.bss.monitorManage.model;
2 2
3 3
import lombok.Data;
4 4
5
import java.util.ArrayList;
6
import java.util.List;
7
5 8
@Data
6 9
public class AiIdenLogDto {
7 10
    private static final long serialVersionUID = -1L;
@ -28,7 +31,7 @@ public class AiIdenLogDto {
28 31
    /**
29 32
     * 识别结果详情
30 33
     */
31
    private String idenResult;
34
    private List<IdenResultDto> idenResult;
32 35
    /**
33 36
     * 识别图片抓拍时间
34 37
     */

+ 12 - 0
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/model/IdenResultDto.java

@ -0,0 +1,12 @@
1
package com.ai.bss.monitorManage.model;
2
3
import lombok.Data;
4
5
@Data
6
public class IdenResultDto {
7
8
    private String alarmType;
9
    private String alarmMemo;
10
    private String alarmEmployeeRoleId;
11
12
}

+ 5 - 3
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/impl/ListeningFileDirectoryServiceImpl.java

@ -1,6 +1,7 @@
1 1
package com.ai.bss.monitorManage.service.impl;
2 2
3 3
4
import com.ai.bss.monitorManage.constant.MonitorManageConsts;
4 5
import com.ai.bss.monitorManage.service.interfaces.FileManageService;
5 6
import com.ai.bss.monitorManage.service.interfaces.ListeningFileDirectoryService;
6 7
import com.ai.bss.monitorManage.utils.FileUtils;
@ -52,11 +53,12 @@ public class ListeningFileDirectoryServiceImpl  implements ListeningFileDirector
52 53
                            int i = 0;
53 54
                            String[] fileContent = new String[3600];
54 55
                            for (WatchEvent<?> event : key.pollEvents()) {
55
                                String fileName = filePath+"\\"+event.context();
56
                                String fileName = filePath+MonitorManageConsts.getSystemSeparator()+event.context();
56 57
                                System.out.println("增加文件的文件夹路径== :"+fileName);
57 58
                                System.out.println("增加文件的名称== :"+event.context());
58
                                mapKey = filePath.replace(baseFilePath+"\\","");
59
                                mapKey = mapKey.replace("\\","~!@");
59
//                                mapKey = filePath.replace(baseFilePath+ MonitorManageConsts.getSystemSeparator(),"");
60
                                mapKey = filePath.replace(baseFilePath+ MonitorManageConsts.getSystemSeparator(),"");
61
                                mapKey = mapKey.replace(MonitorManageConsts.getSystemSeparator(),"~!@");
60 62
                                if(FileUtils.fileMap.get(mapKey)==null){
61 63
                                    fileList = new ArrayList();
62 64
                                    fileList.add(fileName);

+ 26 - 5
monitor-manage-service/src/main/java/com/ai/bss/monitorManage/service/impl/MonitorManageServiceImpl.java

@ -5,6 +5,7 @@ import com.ai.bss.components.common.util.ImageBase64Converter;
5 5
import com.ai.bss.components.ebcai.service.EbcAiService;
6 6
import com.ai.bss.monitorManage.constant.MonitorManageConsts;
7 7
import com.ai.bss.monitorManage.model.AiIdenLogDto;
8
import com.ai.bss.monitorManage.model.IdenResultDto;
8 9
import com.ai.bss.monitorManage.model.MonitorVideoLogDto;
9 10
import com.ai.bss.monitorManage.service.interfaces.FileManageService;
10 11
import com.ai.bss.monitorManage.service.interfaces.KafkaProcess;
@ -139,7 +140,7 @@ public class MonitorManageServiceImpl implements MonitorManageService {
139 140
						filePath = iterator.next();
140 141
						aiIdenLogDto = new AiIdenLogDto();
141 142
						monitorVideoLogDto = new MonitorVideoLogDto();
142
						fileName = filePath.substring(filePath.lastIndexOf("\\")+1,filePath.length());
143
						fileName = filePath.substring(filePath.lastIndexOf(MonitorManageConsts.getSystemSeparator())+1,filePath.length());
143 144
						if(fileType.equals(MonitorManageConsts.FILE_TYPE_VIDEO)){
144 145
							bucketName = minioConfig.getBucketAiVideo();
145 146
							time = fileName.substring(5,19);
@ -200,24 +201,44 @@ public class MonitorManageServiceImpl implements MonitorManageService {
200 201
			String aiResponseData = ebcAiService.helmetDetect(ImageBase64Converter.convertFileToBase64(aifilePath), Strings.EMPTY, Strings.EMPTY);
201 202
//			String aiResponseData = ebcAiService.helmetDetect(ImageBase64Converter.convertInputStreamToBase64(multipartFile.getInputStream()), Strings.EMPTY, Strings.EMPTY);
202 203
			JSONObject jsonObject = JSONObject.parseObject(aiResponseData);// JSONUtil.formatJsonStr(aiResponseData);
204
			IdenResultDto idenResultDto = null;
205
			List<IdenResultDto> idenResultDtoList = null;
203 206
			if(jsonObject.getString("Status").equals("Ok")){
207
				idenResultDtoList = new ArrayList<>();
204 208
				JSONArray jsonoArray = JSONArray.parseArray(jsonObject.getString("Result"));
205 209
				for(int i=0;i<jsonoArray.size();i++){
206 210
					JSONObject resultObj = JSONObject.parseObject(jsonoArray.get(i).toString());
207 211
					String aiClassName = resultObj.getString("class");
208 212
//										safety_hat表示安全帽;ordinart_hat表示普通帽子;chef_hat表示厨师帽;none表示未戴帽子
209 213
					if(aiClassName.equals("none")){
210
						aiIdenLogDto.setIdenResult("未戴帽子");
214
						idenResultDto =new IdenResultDto();
215
						idenResultDto.setAlarmEmployeeRoleId(MonitorManageConsts.alarmEmployeeRoleId);
216
						idenResultDto.setAlarmType("none_hat");
217
						idenResultDto.setAlarmMemo("未戴帽子");
211 218
						aiIdenLogDto.setIdenResultType(MonitorManageConsts.AI_IDENTIFY_RESULT_ALARM);
219
						idenResultDtoList.add(idenResultDto);
220
						aiIdenLogDto.setIdenResult(idenResultDtoList);
212 221
						aiIdenLogDto.setAiIdenModel(MonitorManageConsts.AI_MODEL_CLOTHING_CODE);
213 222
					}else{
214 223
						if(aiClassName.equals("safety_hat")){
215
							aiIdenLogDto.setIdenResult("安全帽");
224
							idenResultDto =new IdenResultDto();
225
							idenResultDto.setAlarmEmployeeRoleId(MonitorManageConsts.alarmEmployeeRoleId);
226
							idenResultDto.setAlarmType("safety_hat");
227
							idenResultDto.setAlarmMemo("安全帽");
216 228
						}else if(aiClassName.equals("ordinart_hat")){
217
							aiIdenLogDto.setIdenResult("普通帽子");
229
							idenResultDto =new IdenResultDto();
230
							idenResultDto.setAlarmEmployeeRoleId(MonitorManageConsts.alarmEmployeeRoleId);
231
							idenResultDto.setAlarmType("ordinart_hat");
232
							idenResultDto.setAlarmType("普通帽子");
218 233
						}else if(aiClassName.equals("chef_hat")){
219
							aiIdenLogDto.setIdenResult("厨师帽");
234
							idenResultDto =new IdenResultDto();
235
							idenResultDto.setAlarmEmployeeRoleId(MonitorManageConsts.alarmEmployeeRoleId);
236
							idenResultDto.setAlarmType("chef_hat");
237
							idenResultDto.setAlarmType("厨师帽");
220 238
						}
239
240
						idenResultDtoList.add(idenResultDto);
241
						aiIdenLogDto.setIdenResult(idenResultDtoList);
221 242
						aiIdenLogDto.setIdenResultType(MonitorManageConsts.AI_IDENTIFY_RESULT);
222 243
						aiIdenLogDto.setAiIdenModel(MonitorManageConsts.AI_MODEL_CLOTHING_CODE);
223 244
					}

+ 6 - 3
security-protection-service/src/main/java/com/ai/bss/security/protection/controller/AttendanceReportController.java

@ -49,7 +49,8 @@ public class AttendanceReportController {
49 49
50 50
		Map<String, Object> params = new HashMap<>();
51 51
		params.put("workDay",attendanceReport.getWorkDay());
52
		params.put("orgId",attendanceReport.getOrgCode());
52
		params.put("orgId",attendanceReport.getOrgId());
53
		params.put("orgCode",attendanceReport.getOrgCode());
53 54
		params.put("id",attendanceReport.getId());
54 55
		params.put("nameAsLike",attendanceReport.getNameAsLike());
55 56
		params.put("mainJobPositionId",attendanceReport.getMainJobPositionId());
@ -80,7 +81,8 @@ public class AttendanceReportController {
80 81
81 82
		Map<String, Object> params = new HashMap<>();
82 83
		params.put("month",attendanceReport.getMonth());
83
		params.put("orgId",attendanceReport.getOrgCode());
84
		params.put("orgId",attendanceReport.getOrgId());
85
		params.put("orgCode",attendanceReport.getOrgCode());
84 86
		params.put("id",attendanceReport.getId());
85 87
		params.put("nameAsLike",attendanceReport.getNameAsLike());
86 88
		params.put("mainJobPositionId",attendanceReport.getMainJobPositionId());
@ -104,7 +106,8 @@ public class AttendanceReportController {
104 106
105 107
		Map<String, Object> params = new HashMap<>();
106 108
		params.put("month",attendanceReport.getMonth());
107
		params.put("orgId",attendanceReport.getOrgCode());
109
		params.put("orgId",attendanceReport.getOrgId());
110
		params.put("orgCode",attendanceReport.getOrgCode());
108 111
		params.put("id",attendanceReport.getId());
109 112
		params.put("nameAsLike",attendanceReport.getNameAsLike());
110 113
		params.put("mainJobPositionId",attendanceReport.getMainJobPositionId());