Commit d2ddaeb8a2bc083e8cddd9b71b27bee606cf1593

Authored by 邱一成
1 parent f2531697
Exists in master

考勤和下发优化完成

cloud/dahua/src/main/java/com/example/dahua/MyTask.java
... ... @@ -2,6 +2,8 @@ package com.example.dahua;
2 2  
3 3 import com.example.dahua.bean.*;
4 4 import com.example.dahua.dao.UserDao;
  5 +import com.example.dahua.enums.EnumSendFaceType;
  6 +import com.example.dahua.enums.EnumSzBusinessType;
5 7 import com.example.dahua.lib.NetSDKLib;
6 8 import com.example.dahua.lib.ToolKits;
7 9 import com.example.dahua.lib.Utils;
... ... @@ -242,8 +244,7 @@ public class MyTask implements ApplicationRunner {
242 244 if (null != deviceInfoBeans && deviceInfoBeans.size() > 0) {
243 245 for (DeviceInfoBean dev :
244 246 deviceInfoBeans) {
245   - if (lLongMap.get(dev.getDevcieId()).intValue() > 0) {
246   - NetSDKLib.LLong lLong = GateModule.realLoadPic2(0, analyzerCallback, lLongMap.get(dev.getDevcieId()),dev.getDevcieId());
  247 + if (lLongMap.get(dev.getDevcieId()).intValue() > 0) { NetSDKLib.LLong lLong = GateModule.realLoadPic2(0, analyzerCallback, lLongMap.get(dev.getDevcieId()),dev.getDevcieId());
247 248 // System.out.println("监听成功:"+dev.getDevcieId());
248 249 // if (lLong.intValue() != -1) {
249 250 // //deviceInfoBeans.remove(dev);
... ... @@ -290,7 +291,8 @@ public class MyTask implements ApplicationRunner {
290 291 ToolKits.GetPointerData(pAlarmInfo, msg);
291 292 //卡号
292 293 String card = new String(msg.szCardNo).trim();
293   -
  294 + //开门错误码
  295 + int messageCode = msg.nErrorCode;
294 296 System.out.println("sda:" + card + " 抓拍照片存储地址:");
295 297  
296 298 try {
... ... @@ -304,8 +306,11 @@ public class MyTask implements ApplicationRunner {
304 306 if (gateBufferedImage != null) {
305 307 ImageIO.write(gateBufferedImage, "png", new File(snapPicPath));
306 308 }
  309 + int schoolId=userDao.getSchoolIdbyClint_id(szSn);
307 310 //卡号取反(大写)
308   - card = cardNo(card);
  311 + if(!szSn.startsWith("ytj")&&schoolId==126&&schoolId==393){
  312 + card = cardNo(card);
  313 + }
309 314 //根据卡号获取卡身份信息
310 315 CardBean cardBean = userDao.getCards(card);
311 316 String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
... ... @@ -314,11 +319,13 @@ public class MyTask implements ApplicationRunner {
314 319 if (null != cardBean && cardBean.getType() == 0) {
315 320 //老师人脸信息,保存人脸记录表
316 321 TeacherBean teacherBean = userDao.getTeacherWithId(cardBean.getUser_id());
317   - sendRecordDao.addFaceRecoder(szSn, teacherBean.getUser_id(), teacherBean.getName(), snapPicPath, 1, time, card,"");
  322 + sendRecordDao.addFaceRecoder(szSn, teacherBean.getUser_id(), teacherBean.getName(), snapPicPath, 1,
  323 + time, card,messageCode ==32?EnumSendFaceType.TIME_INTERVAL_ERROR.message:"");
318 324 } else if (null != cardBean && cardBean.getType() == 2) {
319 325 //学生人脸信息,保存人脸记录表
320 326 UserInfoBean userInfoBean = userDao.getStudentWithid(cardBean.getUser_id());
321   - sendRecordDao.addFaceRecoder(szSn, userInfoBean.getUser_id(), userInfoBean.getName(), snapPicPath, 1, time, card,"");
  327 + sendRecordDao.addFaceRecoder(szSn, userInfoBean.getUser_id(), userInfoBean.getName(), snapPicPath, 1,
  328 + time, card,messageCode ==32?EnumSendFaceType.TIME_INTERVAL_ERROR.message:"");
322 329 }
323 330  
324 331 // TODO 考勤记录
... ... @@ -327,9 +334,10 @@ public class MyTask implements ApplicationRunner {
327 334 //门禁事件类型:1进2出
328 335 int eventType = msg.emEventType;
329 336 //刷卡时间
330   - String eventTime = msg.UTC.toStringTime();
  337 + String eventTime = DateUtils.date2String(new Date(), DateUtils.format2);
  338 +
331 339 //保存考勤记录
332   - kaoQinRecord(status,eventType,card,szSn,eventTime,snapPicPath);
  340 + kaoQinRecord(status,eventType,card,szSn,eventTime,snapPicPath,messageCode);
333 341 }
334 342  
335 343 } catch (IOException e2) {
... ... @@ -382,7 +390,7 @@ public class MyTask implements ApplicationRunner {
382 390 * @param eventTime
383 391 * @param imageUrl
384 392 */
385   - public void kaoQinRecord(int status,int eventType,String cardNo,String deviceId,String eventTime,String imageUrl) {
  393 + public void kaoQinRecord(int status,int eventType,String cardNo,String deviceId,String eventTime,String imageUrl,int messageCode) {
386 394 if (status == 1) {
387 395 //有效刷卡调考勤存储过程
388 396 CheckIn checkIn = new CheckIn();
... ... @@ -426,27 +434,32 @@ public class MyTask implements ApplicationRunner {
426 434 }
427 435 } else {
428 436 //若即不成功,也不是请假,则按刷卡异常处理
429   - User user = userDao.selectUserByCardNum(cardNo).get(0);
430   - if(user ==null ){
431   - System.out.println("卡号"+cardNo+"没找到对应学生或老师");
  437 + List<User> users = userDao.selectUserByCardNum(cardNo);
  438 + if(users.size()<1){
  439 + log.warn("考勤记录:卡号: {}没找到对应学生或老师,考勤时间: {}",cardNo,DateUtils.date2String(new Date(), DateUtils.format2));
  440 + return;
432 441 }
  442 + User user = users.get(0);
433 443 int deviceType;
434 444 if (deviceId.startsWith("ytj")){
435 445 deviceType = 29;
436 446 }else {
437 447 deviceType = 22;
438 448 }
  449 + if(messageCode==32){
  450 + return;
  451 + }
439 452 //失败记录
440 453 SendRecordBean sendRecordBean = new SendRecordBean();
441 454 sendRecordBean.setSchoolId(user.getSchoolId());
442 455 sendRecordBean.setSchoolName(userDao.getSchoolName(String.valueOf(user.getSchoolId())));
443 456 sendRecordBean.setTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
444   - sendRecordBean.setUserType(2);
  457 + sendRecordBean.setUserType(EnumSzBusinessType.EnumUserType.STUDENT.code);
445 458 sendRecordBean.setNum(cardNo);
446 459 sendRecordBean.setName(user.getName());
447 460 sendRecordBean.setImgPath(imageUrl);
448 461 sendRecordBean.setCustomerid(String.valueOf(user.getStudentId()));
449   - sendRecordBean.setFailType(8);
  462 + sendRecordBean.setFailType(messageCode);
450 463 sendRecordBean.setFailContent("人脸认证失败");
451 464 sendRecordBean.setDeviceID(deviceId);
452 465 sendRecordDao.addFaceFail(sendRecordBean.getCustomerid(), sendRecordBean.getDeviceID(), sendRecordBean.getNum(), sendRecordBean.getName(), sendRecordBean.getTime(),
... ...
cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask.java
... ... @@ -336,20 +336,16 @@ public class SendUserInfoTask {
336 336 * 若存在记录集编号,则表示用户已下发过,执行修改用户信息,反之,则新增下发用户人脸、卡信息
337 337 */
338 338  
339   - //人脸下发成功标识:false:失败 true:成功
340   - boolean bFaceFalgs = false;
341   - //卡下发成功标识:false:失败 true:成功
342   - boolean bCardFlags = false;
343   - //卡操作错误号
344   - String cardErrNum ="";
345   - //人脸操作错误号
346   - String faceErrNum ="";
  339 + //人脸操作错误号:1 为成功,其他为相应错误号
  340 + int bFaceFalgs = 0;
  341 + //卡操作错误号 :1 为成功,其他为相应错误号
  342 + int bCardFlags = 0;
347 343 //新的记录集编号
348 344 int newRecordNo = 0;
349 345 //获取记录集编号
350 346 String recordNo = userDao.getRecordNo(user_id, attendanceBean.getClint_id());
351 347 if(!StringUtils.isEmpty(recordNo)){
352   - bCardFlags = true;
  348 + bCardFlags = 1;
353 349 }
354 350 //登录设备
355 351 NetSDKLib.LLong loginHandleLong = MyTask.lLongMap.get(attendanceBean.getClint_id());
... ... @@ -373,55 +369,79 @@ public class SendUserInfoTask {
373 369 } else {
374 370 log.info("=================开始执行下发人脸及卡号任务=================");
375 371 //卡号取反
376   - String cardNum = cardNo(student_num);
  372 + String cardNum ="";
  373 + if(attendanceBean.getClint_id().startsWith("ytj")&&Integer.parseInt(attendanceBean.getSchool_id())!=126&&Integer.parseInt(attendanceBean.getSchool_id())!=393)
  374 + {cardNum = student_num;}
  375 + else
  376 + {cardNum = cardNo(student_num);}
377 377 //bCardFlags = true, 存在下发记录,则存在下发记录集编号,执行修改卡、人脸信息
378   - if (bCardFlags) {
  378 + if (bCardFlags ==1) {
379 379 //修改设备卡信息
380   - boolean isEditCard = GateModule.modifyCard(Integer.parseInt(recordNo),cardNum, user_id, name, "123456", Res.string().getCardStatusInt(1),
381   - Res.string().getCardTypeInt(1), 0, 0, 1, startTime, endTime, loginHandleLong, userType,cardErrNum,channel);
  380 + bCardFlags = GateModule.modifyCard(Integer.parseInt(recordNo),cardNum, user_id, name, "123456", Res.string().getCardStatusInt(1),
  381 + Res.string().getCardTypeInt(1), 0, 0, 1, startTime, endTime, loginHandleLong, userType,channel);
382 382  
383   - if (isEditCard) {
  383 + if (bCardFlags ==1) {
384 384 //修改卡成功, 更新下发记录集编号表
385 385 userDao.updateRecordNo(user_id, Integer.parseInt(recordNo), attendanceBean.getClint_id());
386 386 //修改卡成功, 更新设备用户人脸信息
387   - boolean isEditFace = GateModule.modifyFaceInfo(user_id, memory, loginHandleLong,faceErrNum);
  387 + bFaceFalgs = GateModule.modifyFaceInfo(user_id, memory, loginHandleLong);
388 388 //修改卡信息成功,但是人脸修改不成功的话,就需要新增人脸
389   - if (!isEditFace) {
390   - bFaceFalgs = GateModule.addFaceInfo(user_id, memory, loginHandleLong,faceErrNum);
  389 + if (bFaceFalgs !=1) {
  390 + bFaceFalgs = GateModule.addFaceInfo(user_id, memory, loginHandleLong);
  391 + //添加人脸失败,且错误号为1029 用户ID不存在,则删除下发记录集编号表记录:SZ_Student_RecoderNo,重新下发.
  392 + if(bFaceFalgs !=1 && String.valueOf(bFaceFalgs).equals(EnumSendFaceErrorType.NOT_EXIST_USER_1029.code)){
  393 + //删除记录
  394 + userDao.deleteRecordNo(user_id, Integer.parseInt(recordNo));
  395 + //重新下发卡号至设备
  396 + newRecordNo = GateModule.insertCard(cardNum, user_id, name, "123456", Res.string().getCardStatusInt(1),
  397 + Res.string().getCardTypeInt(1), 0, 1, 1, startTime, endTime, loginHandleLong,userType,channel);
  398 + //下发卡至设备,返回值不为-1为下发成功,保存下发记录集编号表
  399 + if (newRecordNo > 0) {
  400 + userDao.saveRecordNo(user_id, newRecordNo, name, attendanceBean.getClint_id());//存储记录集编号
  401 + }else{
  402 + bCardFlags = newRecordNo;
  403 + }
  404 + //添加人脸
  405 + bFaceFalgs = GateModule.addFaceInfo(user_id, memory, loginHandleLong);
  406 + }
391 407 }
392 408 }else{
393 409 //设备修改卡信息失败,则删除下发记录集编号表记录:SZ_Student_RecoderNo,重新下发.
394 410 userDao.deleteRecordNo(user_id, Integer.parseInt(recordNo));
395 411 //重新下发卡号至设备
396 412 newRecordNo = GateModule.insertCard(cardNum, user_id, name, "123456", Res.string().getCardStatusInt(1),
397   - Res.string().getCardTypeInt(1), 0, 1, 1, startTime, endTime, loginHandleLong,userType,cardErrNum,channel);
  413 + Res.string().getCardTypeInt(1), 0, 1, 1, startTime, endTime, loginHandleLong,userType,channel);
398 414  
399 415 //下发卡至设备,返回值不为-1为下发成功,保存下发记录集编号表
400   - if (newRecordNo != -1) {
  416 + if (newRecordNo > 0) {
401 417 userDao.saveRecordNo(user_id, newRecordNo, name, attendanceBean.getClint_id());//存储记录集编号
  418 + }else{
  419 + bCardFlags = newRecordNo;
402 420 }
403 421 //添加人脸
404   - bFaceFalgs = GateModule.addFaceInfo(user_id, memory, loginHandleLong,faceErrNum);
  422 + bFaceFalgs = GateModule.addFaceInfo(user_id, memory, loginHandleLong);
405 423 }
406 424  
407 425 } else {
408 426 //新增卡信息, 新增人脸信息至设备
409 427 newRecordNo = GateModule.insertCard(cardNum, user_id, name, "123456"
410 428 , Res.string().getCardStatusInt(1), Res.string().getCardTypeInt(1), 0, 1
411   - , 1, startTime, endTime, loginHandleLong,userType,cardErrNum,channel);
  429 + , 1, startTime, endTime, loginHandleLong,userType,channel);
412 430  
413 431 //下发卡至设备,返回值不为-1为下发成功,保存下发记录集编号表
414   - if (newRecordNo != -1) {
  432 + if (newRecordNo >0) {
  433 + bCardFlags = newRecordNo;
415 434 userDao.saveRecordNo(user_id, newRecordNo, name, attendanceBean.getClint_id());
416 435 }
  436 +
417 437 //添加人脸
418   - bFaceFalgs = GateModule.addFaceInfo(user_id, memory, loginHandleLong,faceErrNum);
  438 + bFaceFalgs = GateModule.addFaceInfo(user_id, memory, loginHandleLong);
419 439  
420 440 }
421 441 /**
422 442 * 人脸和卡都下发成功
423 443 */
424   - if (bCardFlags && bFaceFalgs) {
  444 + if (bCardFlags > 0 && bFaceFalgs==1) {
425 445 FileUtils.getInstance().writeLogs("下发人脸和卡号成功:" + cardNum + " " + attendanceBean.getClint_id(), FileUtils.sendUserSucTxt);
426 446 log.info("下发人脸和卡号成功, sendRecordBean: "+ JSON.toJSONString(sendRecordBean));
427 447  
... ... @@ -445,11 +465,11 @@ public class SendUserInfoTask {
445 465 /**
446 466 * 人脸和卡都下发失败
447 467 */
448   - if (!bCardFlags && !bFaceFalgs) {
  468 + if (bCardFlags < 0 && bFaceFalgs!=1) {
449 469 FileUtils.getInstance().writeLogs("下发人脸和卡号失败:" + cardNum + " user_id: " + user_id + " loginHandleLong: " + loginHandleLong, FileUtils.sendUserErrTxt);
450 470 log.info("下发人脸和卡号失败, sendRecordBean: "+ JSON.toJSONString(sendRecordBean));
451 471 //失败信息
452   - String failContent = analysisErrorMsg(cardErrNum,faceErrNum);
  472 + String failContent = analysisErrorMsg(String.valueOf(Math.abs(bCardFlags)),String.valueOf(bFaceFalgs));
453 473 sendRecordBean.setFailType(EnumSendFaceType.FACE_AND_CARD_FAIL.code);
454 474 sendRecordBean.setFailContent(failContent);
455 475 sendRecordDao.updateFace(sendRecordBean.getNum(), sendRecordBean.getDeviceID(), sendRecordBean.getFailType(), EnumSendFaceType.FACE_AND_CARD_FAIL.code);
... ... @@ -458,11 +478,11 @@ public class SendUserInfoTask {
458 478 /**
459 479 * 下发卡号成功,下发人脸失败,
460 480 */
461   - if (bCardFlags && !bFaceFalgs) {
  481 + if (bCardFlags >0 && bFaceFalgs !=1) {
462 482 FileUtils.getInstance().writeLogs("下发卡号成功,下发人脸失败:" + cardNum + " " + attendanceBean.getClint_id(), FileUtils.sendUserErrTxt);
463 483 log.info("下发卡号成功,下发人脸失败, sendRecordBean: " + JSON.toJSONString(sendRecordBean));
464 484 //失败信息
465   - String failContent = analysisErrorMsg(cardErrNum,faceErrNum);
  485 + String failContent = analysisErrorMsg(String.valueOf(bCardFlags),String.valueOf(bFaceFalgs));
466 486 sendRecordBean.setFailType(EnumSendFaceType.FACE_FAIL_CARD_SUCCESS.code);
467 487 sendRecordBean.setFailContent(failContent);
468 488 sendRecordDao.updateFace(sendRecordBean.getNum(), sendRecordBean.getDeviceID(), sendRecordBean.getFailType(), EnumSendFaceType.FACE_FAIL_CARD_SUCCESS.code);
... ... @@ -472,7 +492,7 @@ public class SendUserInfoTask {
472 492 * 下发卡号失败,下发人脸成功,
473 493 * 注:此一般不存在
474 494 */
475   - if (!bCardFlags && bFaceFalgs) {
  495 + if (bCardFlags !=1 && bFaceFalgs !=1) {
476 496 FileUtils.getInstance().writeLogs("卡信息已存在,下发人脸成功:" + cardNum + " " + attendanceBean.getClint_id(), FileUtils.sendUserSucTxt);
477 497 log.info("-----------卡信息已存在,添加人脸成功----------");
478 498 }
... ... @@ -504,6 +524,10 @@ public class SendUserInfoTask {
504 524 }
505 525 }
506 526 }
  527 + if(StringUtils.isEmpty(channel)){
  528 + log.warn("未获取到学校权限通道号!");
  529 + return 0;
  530 + }
507 531 return Integer.parseInt(channel);
508 532 }
509 533  
... ...
cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java
... ... @@ -13,6 +13,8 @@ public interface UserDao {
13 13 @Select(" select student_num from SZ_V_School_Student where school_id = #{school_id} and studentcode = #{studentcode}")
14 14 public String getStudentNum(@Param("school_id") String school_id, @Param("studentcode") String studentcode);
15 15  
  16 + @Select("select school_id from SZ_Attendance where clint_id = #{clint_id} ")
  17 + int getSchoolIdbyClint_id( @Param("clint_id") String clint_id);
16 18  
17 19 @Select("select * from SZ_Attendance where school_id = #{school_id} and clint_type = #{clint_type}")
18 20 List<AttendanceBean> getAttendanceBeans(@Param("school_id") String school_id, @Param("clint_type") String clint_type);
... ... @@ -50,7 +52,7 @@ public interface UserDao {
50 52 * @param customerid
51 53 * @return
52 54 */
53   - @Select(" select Top(1)* student_type from SZ_V_School_Student where school_id = #{school_id} and student_id = #{customerid}")
  55 + @Select(" select Top(1) student_type from SZ_V_School_Student where school_id = #{school_id} and student_id = #{customerid}")
54 56 String getStudentType(@Param("school_id") String school_id, @Param("customerid") String customerid);
55 57  
56 58 @Insert("insert into SZ_Student_RecoderNo values(#{user_id},#{recordNo},#{student_name},#{deviceId})")
... ... @@ -184,7 +186,7 @@ public interface UserDao {
184 186 * @param cardNum
185 187 * @return
186 188 */
187   - @Select(" select school_id , class_id ,name ,student_id from\n" +
  189 + @Select(" select school_id as schoolId , class_id as classId ,name ,student_id as studentId from\n" +
188 190 " (select top 1 b.school_id, b.class_id, b.name, student_id from SZ_V_Card a\n" +
189 191 " inner join SZ_V_School_Student b on a.user_id = b.student_id\n" +
190 192 " and b.role_state = 1 where a.type = 2 and a.num = #{cardNum}\n" +
... ... @@ -193,14 +195,14 @@ public interface UserDao {
193 195 " inner join SZ_V_School_Teacher b on a.user_id = b.teacher_id\n" +
194 196 " and b.role_state = 1 where a.type = 0 and a.num = #{cardNum}\n" +
195 197 " ) x ")
196   - List<User> selectUserByCardNum(@Param("studentcode") String cardNum);
  198 + List<User> selectUserByCardNum(@Param("cardNum") String cardNum);
197 199  
198 200 /**
199 201 * 获取卡号
200 202 * @param cardNo
201 203 * @return
202 204 */
203   - @Select("select Top(1) StudentNum from HS_LeaveExaminePassList where StudentNum= #{cardNo} and GETDATE() <![CDATA[ > ]]> LeaveTime and GETDATE() <![CDATA[ < ]]> ReturnTime")
  205 + @Select("select Top(1) StudentNum from HS_LeaveExaminePassList where StudentNum= #{cardNo} and GETDATE() > LeaveTime and GETDATE() < ReturnTime")
204 206 String checkLeave(@Param("cardNo") String cardNo);
205 207  
206 208 /**
... ...
cloud/dahua/src/main/java/com/example/dahua/enums/EnumSendFaceType.java
... ... @@ -12,7 +12,8 @@ public enum EnumSendFaceType {
12 12 NOT_ONLINE_DEVICE(2, "设备不在线"),
13 13 FACE_AND_CARD_FAIL(3, "人脸信息、卡信息下发失败"),
14 14 FACE_FAIL_CARD_SUCCESS(4, "人脸信息下发失败,卡信息下发成功"),
15   - FACE_SUCCESS_CARD_FAIl(5, "人脸信息下发成功,卡信息下发失败");
  15 + FACE_SUCCESS_CARD_FAIl(5, "人脸信息下发成功,卡信息下发失败"),
  16 + TIME_INTERVAL_ERROR(6, "刷卡时段验证错误");
16 17  
17 18 public final int code;
18 19 public final String message;
... ...
cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java
... ... @@ -204,7 +204,7 @@ public class GateModule {
204 204 public static synchronized int insertCard(String cardNo, String userId, String cardName, String cardPwd,
205 205 int cardStatus, int cardType, int useTimes, int isFirstEnter,
206 206 int isValid, String startValidTime, String endValidTime, LLong lLong,
207   - String userType,String cardErrNum,int channel) {
  207 + String userType,int channel) {
208 208 /**
209 209 * 门禁卡记录集信息
210 210 */
... ... @@ -290,18 +290,17 @@ public class GateModule {
290 290 String ret=ToolKits.getErrorCodePrint();
291 291 String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")"));
292 292 log.info("添加卡信息失败,错误信息:{} ,错误码:{} ",ret,number);
293   - cardErrNum = number;
294 293 //146用户已存在,21对返回数据的校验出错,1162未知错误
295 294 if(number.equals(EnumSendCardErrorType.CHECK_DATA_ERR_21.code)||number.equals(EnumSendCardErrorType.EXIST_USER_146.code)) {
296 295 //用户已存在/返回数据校验出错时,执行删除用户
297 296 deleteUser( userId, lLong);
298 297 //重新下发卡至设备
299   - cardErrNum = "";
300 298 return insertCard(cardNo, userId, cardName, cardPwd, cardStatus, cardType, useTimes, isFirstEnter,
301   - isValid, startValidTime, endValidTime, lLong, userType,cardErrNum,channel);
  299 + isValid, startValidTime, endValidTime, lLong, userType,channel);
302 300 }
303 301 //新增卡失败,错误码,返回-1
304   - return -1;
  302 + int result = 0- Integer.parseInt(number);
  303 + return result;
305 304 } else {
306 305 log.info("添加卡信息成功,卡信息记录集编号 : "+ insert.stuCtrlRecordSetResult.nRecNo);
307 306 return insert.stuCtrlRecordSetResult.nRecNo;
... ... @@ -310,6 +309,14 @@ public class GateModule {
310 309 // return true;
311 310 }
312 311  
  312 + public static void main(String[] args) {
  313 + int i =200;
  314 + int a = 0-i;
  315 + int b = Math.abs(a);
  316 + System.out.println(b);
  317 + System.out.println(a);
  318 + }
  319 +
313 320 /* public static synchronized int insertCard(String cardNo, String userId, String cardName, String cardPwd,
314 321 int cardStatus, int cardType, int useTimes, int isFirstEnter,
315 322 int isValid, String startValidTime, String endValidTime, LLong lLong,String userType) {
... ... @@ -687,10 +694,10 @@ public class GateModule {
687 694 * @param userType
688 695 * @return
689 696 */
690   - public static boolean modifyCard(int recordNo, String cardNo, String userId, String cardName, String cardPwd,
  697 + public static int modifyCard(int recordNo, String cardNo, String userId, String cardName, String cardPwd,
691 698 int cardStatus, int cardType, int useTimes, int isFirstEnter,
692 699 int isValid, String startValidTime, String endValidTime, LLong lLong,
693   - String userType,String cardErrNum,int channel) {
  700 + String userType,int channel) {
694 701 /**
695 702 * 门禁卡记录集信息
696 703 */
... ... @@ -779,13 +786,12 @@ public class GateModule {
779 786 String ret=ToolKits.getErrorCodePrint();
780 787 //结果码
781 788 String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")"));
782   - cardErrNum = number;
783 789 log.error("修改卡信息失败,错误信息:{} ,错误码:{} ",ret,number);
784 790  
785   - return false;
  791 + return Integer.parseInt(number);
786 792 }
787 793 log.info("修改卡信息成功!");
788   - return true;
  794 + return 1;
789 795 }
790 796  
791 797 /**
... ... @@ -1141,7 +1147,7 @@ public class GateModule {
1141 1147 return true;
1142 1148 }
1143 1149  
1144   - public static synchronized boolean addFaceInfo(String userId, Memory memory, LLong lLong,String faceErrNum) {
  1150 + public static synchronized int addFaceInfo(String userId, Memory memory, LLong lLong) {
1145 1151 int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_ADD; // 添加
1146 1152  
1147 1153 /**
... ... @@ -1176,21 +1182,18 @@ public class GateModule {
1176 1182 } else {
1177 1183 String ret=ToolKits.getErrorCodePrint();
1178 1184 String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")"));
1179   - faceErrNum = number;
1180 1185 log.error("添加信息失败,错误信息:{} ,错误码:{} ",ret,number);
1181 1186 //照片已存在
1182 1187 if(number.equals(EnumSendFaceErrorType.EXIST_IMG_1031.code)){
1183   - faceErrNum = "";
1184   - return modifyFaceInfo(userId, memory, lLong,faceErrNum);
  1188 + return modifyFaceInfo(userId, memory, lLong);
1185 1189 }
1186 1190 //用户Id不存在
1187 1191 if(number.equals(EnumSendFaceErrorType.NOT_EXIST_USER_1029.code)) {
1188   - faceErrNum = "";
1189   - return addFaceInfo( userId, memory, lLong,faceErrNum);
  1192 + return Integer.parseInt(number);
1190 1193 }
1191   - return false;
  1194 + return Integer.parseInt(number);
1192 1195 }
1193   - return true;
  1196 + return 1;
1194 1197 }
1195 1198  
1196 1199 /**
... ... @@ -1244,7 +1247,7 @@ public class GateModule {
1244 1247 }
1245 1248  
1246 1249  
1247   - public static boolean modifyFaceInfo(String userId, Memory memory, LLong lLong,String faceErrNum) {
  1250 + public static int modifyFaceInfo(String userId, Memory memory, LLong lLong) {
1248 1251 int emType = EM_FACEINFO_OPREATE_TYPE.EM_FACEINFO_OPREATE_UPDATE; // 修改
1249 1252  
1250 1253 /**
... ... @@ -1274,17 +1277,16 @@ public class GateModule {
1274 1277 boolean bRet = LoginModule.netsdk.CLIENT_FaceInfoOpreate(lLong, emType, stIn.getPointer(), stOut.getPointer(), 5000);
1275 1278 stIn.read();
1276 1279 stOut.read();
1277   -
  1280 + Map<String,String> map = new HashMap();
1278 1281 if (bRet) {
1279 1282 log.info("修改人脸成功!");
1280 1283 } else {
1281 1284 String ret=ToolKits.getErrorCodePrint();
1282 1285 String number = ret.substring(ret.indexOf("|") + 1, ret.indexOf(")"));
1283   - faceErrNum = number;
1284 1286 log.error("修改人脸失败,错误信息:{} ,错误码:{} ",ret,number);
1285   - return false;
  1287 + return Integer.parseInt(number);
1286 1288 }
1287   - return true;
  1289 + return 1;
1288 1290 }
1289 1291  
1290 1292 /**
... ...
cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java
... ... @@ -105,7 +105,8 @@ public class HttpUtils {
105 105 * @return
106 106 */
107 107 public static boolean sendPermission(PermissionBean permissionBean) {
108   - String url = "http://121.40.109.21:8991/file/sendPermission";
  108 +// String url = "http://121.40.109.21:8991/file/sendPermission";
  109 + String url = "http://localhost:8991/file/sendPermission";
109 110 RestTemplate restTemplate = new RestTemplate();
110 111  
111 112 HttpHeaders headers = new HttpHeaders();
... ...
cloud/dahua/src/main/resources/mapper/PermissionFaceMapper.xml
... ... @@ -18,6 +18,8 @@
18 18 <result column="perrmissName" property="perrmissName"/>
19 19 <result column="createTime" property="createTime"/>
20 20 <result column="updateTime" property="updateTime"/>
  21 + <result column="updateTime" property="updateTime"/>
  22 + <result column="nChannel" property="channel"/>
21 23  
22 24 </resultMap>
23 25  
... ...