Browse Source

增加考勤打卡服务

wangdong6 4 years ago
parent
commit
526e01161f

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

@ -28,25 +28,20 @@ public class MonitorManageConsts {
28 28
29 29
30 30
31
    //着装违规识别
31
    //着装违规识别(是否带头盔)
32 32
    public static String AI_MODEL_CLOTHING_CODE = "CLOTHING_CODE";
33 33
    //人脸识别
34 34
    public static String AI_MODEL_FACE = "FACE";
35 35
    //陌生人识别
36 36
    public static String AI_MODEL_STRANGER = "STRANGER";
37 37
38
    public static String AI_MODEL_OTHER = "OTHER";
39 38
39
    //AI识别结果:正常
40
    public static final String AI_IDENTIFY_RESULT= "NOM";
40 41
41
    public static final String PROCESS_FAIL_STATUS = "FAI";
42
    public static final String PROCESS_SUCCESS_STATUS = "SUC";
42
    //AI识别结果:违规
43
    public static final String AI_IDENTIFY_RESULT_ALARM= "ALA";
43 44
44
//    //AI识别结果:正常
45
//    public static final String AI_IDENTIFY_RESULT= "AI_IDENTIFY_RESULT";
46
//
47
//    //AI识别结果:违规
48
//    public static final String AI_IDENTIFY_RESULT_ALARM= "AI_IDENTIFY_RESULT_ALARM";
49
//
50
//    //AI识别结果:考勤
51
//    public static final String AI_IDENTIFY_RESULT_ATTENDANCE= "AI_IDENTIFY_RESULT_ATTENDANCE";
45
    //AI识别结果:考勤
46
    public static final String AI_IDENTIFY_RESULT_ATTENDANCE= "ATT";
52 47
}

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

@ -208,7 +208,7 @@ public class MonitorManageServiceImpl implements MonitorManageService {
208 208
//										safety_hat表示安全帽;ordinart_hat表示普通帽子;chef_hat表示厨师帽;none表示未戴帽子
209 209
					if(aiClassName.equals("none")){
210 210
						aiIdenLogDto.setIdenResult("未戴帽子");
211
						aiIdenLogDto.setIdenResultType(MonitorManageConsts.PROCESS_SUCCESS_STATUS);
211
						aiIdenLogDto.setIdenResultType(MonitorManageConsts.AI_IDENTIFY_RESULT_ALARM);
212 212
						aiIdenLogDto.setAiIdenModel(MonitorManageConsts.AI_MODEL_CLOTHING_CODE);
213 213
					}else{
214 214
						if(aiClassName.equals("safety_hat")){
@ -218,8 +218,8 @@ public class MonitorManageServiceImpl implements MonitorManageService {
218 218
						}else if(aiClassName.equals("chef_hat")){
219 219
							aiIdenLogDto.setIdenResult("厨师帽");
220 220
						}
221
						aiIdenLogDto.setIdenResultType(MonitorManageConsts.PROCESS_SUCCESS_STATUS);
222
						aiIdenLogDto.setAiIdenModel(MonitorManageConsts.AI_MODEL_OTHNG_CODER);
221
						aiIdenLogDto.setIdenResultType(MonitorManageConsts.AI_IDENTIFY_RESULT);
222
						aiIdenLogDto.setAiIdenModel(MonitorManageConsts.AI_MODEL_CLOTHING_CODNG_CODE);
223 223
					}
224 224
				}
225 225
			}

+ 1 - 1
monitor-manage-service/src/main/resources/application.properties

@ -1,6 +1,6 @@
1 1
spring.application.name=WorkTaskSpec
2 2
3
server.port=8018
3
server.port=8028
4 4
5 5
server.servlet.context-path=/sp
6 6

+ 17 - 0
security-protection-service/src/main/java/com/ai/bss/security/protection/controller/WorkOrderManagementController.java

@ -132,6 +132,23 @@ public class WorkOrderManagementController {
132 132
		return workOrderManagementService.checkWorkOrder(params);
133 133
	}
134 134
135
	/**
136
	 * 工单审核
137
	 *
138
	 * @param params
139
	 * @return
140
	 * @throws Exception
141
	 */
142
	@ResponseBody
143
	@RequestMapping("/normalClocking")
144
	public CommonResponse normalClocking(@RequestBody Map<String,String> params) throws Throwable {
145
//		if (params == null || StringUtils.isEmpty(params.get("orderId"))|| StringUtils.isEmpty(params.get("result"))) {
146
//			return CommonResponse.fail("500", "审核失败");
147
//		}
148
149
		return workOrderManagementService.normalClocking(params);
150
	}
151
135 152
136 153
	@RequestMapping("/importAskLeaveOrder")
137 154
	public CommonResponse importAskLeaveOrder(@RequestParam("file") MultipartFile file) {

+ 62 - 0
security-protection-service/src/main/java/com/ai/bss/security/protection/service/impl/WorkOrderManagementServiceImpl.java

@ -7,10 +7,16 @@ import java.util.HashMap;
7 7
import java.util.List;
8 8
import java.util.Map;
9 9
10
import com.ai.bss.components.common.util.JsonUtils;
11
import com.ai.bss.user.dto.UserDto;
10 12
import com.ai.bss.work.attendance.dto.LeaveApprovalDto;
13
import com.ai.bss.work.attendance.model.AttendanceTask;
11 14
import com.ai.bss.work.attendance.service.api.ApprovalImportCommand;
15
import com.alibaba.fastjson.TypeReference;
16
import com.alibaba.fastjson.serializer.SerializerFeature;
12 17
import com.google.common.collect.Lists;
13 18
import org.apache.logging.log4j.util.Strings;
19
import org.junit.Assert;
14 20
import org.springframework.beans.factory.annotation.Autowired;
15 21
import org.springframework.stereotype.Service;
16 22
import org.springframework.util.CollectionUtils;
@ -251,6 +257,62 @@ public class WorkOrderManagementServiceImpl implements WorkOrderManagementServic
251 257
	}
252 258
253 259
	@Override
260
	public CommonResponse normalClocking(Map<String,String> map) throws Throwable {
261
262
		String clockingType = map.get("clockingType");
263
		String employId = map.get("employId");
264
265
		UserDto userDto = new UserDto();
266
		userDto.setId(employId);
267
		CommonRequest<UserDto> request = CommonRequest.<UserDto>builder().data(userDto).pageNumber(1).pageSize(1).build();
268
		CommonResponse<PageBean<UserDto>>  result = userDtoQuery.queryWorkEmployee(request);
269
		String  employOrgId = result.getData().getData().get(0).getOrgId();
270
		log.info("输出参数:{}",JSON.toJSONString(result , SerializerFeature.PrettyFormat));
271
272
273
		String clockingTime	 = map.get("clockingTime");
274
		WorkEvent workEvent = new WorkEvent();
275
276
		workEvent.setWorkEmployeeRoleId(employId);
277
		workEvent.setWorkOrgRoleId(employOrgId);
278
		workEvent.setEventSpecId(clockingType);
279
280
		Map<String,String> charValueSet = new HashMap<>();
281
		charValueSet.put("clockingTime",clockingTime);
282
		charValueSet.put("clockingType","NORMAL");
283
		charValueSet.put("clockingLongitude","121.545500");
284
		charValueSet.put("clockingLatitude","31.281153");
285
		workEvent.setCharValueSet(JSONObject.toJSONString(charValueSet));
286
//		"clockingTime": "2020-10-15 08:00:00",
287
//				"clockingType": "NORMAL",
288
//				"clockingLongitude": "",
289
//				"clockingLatitude": ""
290
291
//		String jsonString = JsonUtils.loadStringFromResourceFile("/test/newClocking_NormalClocking.json");
292
//		log.info("jsonString: {}", jsonString);
293
294
//		CommonRequest<WorkEvent> requestWorkEvent =
295
//				JSON.parseObject(JSONObject.toJSONString(workEvent), new TypeReference<CommonRequest<WorkEvent>>() {
296
//				});
297
298
299
//		CommonRequest<WorkEvent> requestWorkEvent = new CommonRequest<WorkEvent>(workEvent);
300
		CommonRequest<WorkEvent> requestWorkEvent = CommonRequest.<WorkEvent>builder().data(workEvent).build();
301
302
303
304
		log.info("WorkEvent: \n{}", JSON.toJSONString(requestWorkEvent, true));
305
		CommonResponse runningResult = eventHandleCommand.handleEvent(requestWorkEvent);
306
		log.info("success: \n{}", JsonUtils.toJSONStringByDateFormat(runningResult, true));
307
//		// 业务结果应该是成功
308
//		Assert.assertTrue(runningResult != null && (runningResult instanceof CommonResponse) && runningResult.isSuccess());
309
		// 打卡状态应该是正常
310
//		AttendanceTask attendanceTask = (AttendanceTask) runningResult.getData();
311
//		Assert.assertEquals("NOR", attendanceTask.getGoToWorkStatus());
312
		return runningResult;
313
	}
314
315
	@Override
254 316
	public CommonResponse importAskLeaveOrder(MultipartFile file) {
255 317
//        List<String> listTerminal = getFileData(file);
256 318

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

@ -1,6 +1,5 @@
1 1
package com.ai.bss.security.protection.service.interfaces;
2 2
3
import com.ai.abc.api.model.CommonRequest;
4 3
import com.ai.abc.api.model.CommonResponse;
5 4
import com.ai.bss.work.safety.model.MonitorSceneTerminalRel;
6 5

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

@ -54,6 +54,8 @@ public interface WorkOrderManagementService {
54 54
	 */
55 55
	CommonResponse<Void> checkWorkOrder(Map<String, String> params) throws Throwable;
56 56
57
	CommonResponse normalClocking(Map<String,String> map) throws Throwable;
58
57 59
	 CommonResponse importAskLeaveOrder(MultipartFile file) ;
58 60
59 61
}