wuhb 10 месяцев назад
Родитель
Сommit
082eb0c7e1

+ 6 - 3
src/main/hr/com/yw/hr/attendance/service/AttendanceRecordServiceImpl.java

@@ -799,14 +799,17 @@ public class AttendanceRecordServiceImpl implements AttendanceRecordService {
 			ar.setCreate_date(new Date());
 			attendanceRecordDao.addAttendanceRecord(ar);
 		}
-		if(ar.getAtt_user_id()!=null){
+		if(ar.getAtt_user_id()!=null && faceRec.getId() == null){
 			String accNo = faceRec.getPersonCode();
 			FaceEquipmentXUser faceEquipmentXUser = new FaceEquipmentXUser();
-			faceEquipmentXUser.setId(StringUtil.getSeq());
 			faceEquipmentXUser.setUserId(ar.getSys_user_id());
 			faceEquipmentXUser.setSerialno(faceRec.getSerialNo());
 			faceEquipmentXUser.setAttendanceId(accNo);
-			faceEquipmentConfigService.insertFaceEquipmentXUser(faceEquipmentXUser);
+			List<FaceEquipmentXUser> faceEquipmentXUsers = faceEquipmentConfigService.getFaceXUserList(faceEquipmentXUser);
+			if(faceEquipmentXUsers.size() == 0){
+				faceEquipmentXUser.setId(StringUtil.getSeq());
+				faceEquipmentConfigService.insertFaceEquipmentXUser(faceEquipmentXUser);
+			}
 		}
 	}
 

+ 5 - 2
src/main/oa/com/yw/oa/face/service/RecordServiceImpl.java

@@ -148,7 +148,7 @@ public class RecordServiceImpl extends BaseDao implements RecordService {
 				face = setCompanyFace(userSearch);
 			}
 		}
-		setRecord(accName, face, obj);
+		setRecord(accName, face, userSearch, obj);
 	}
 
 	private String setCompanyFace(User userSearch) throws Exception {
@@ -163,7 +163,7 @@ public class RecordServiceImpl extends BaseDao implements RecordService {
 		return face;
 	}
 
-	private void setRecord(String accName, String face, JSONObject record) throws Exception {
+	private void setRecord(String accName, String face, User userSearch, JSONObject record) throws Exception {
 		//System.out.println("准备打卡");
 		FaceRecord faceRec = new FaceRecord();
 		String reqSeqNo = record.getString("reqSeqNo");
@@ -183,6 +183,9 @@ public class RecordServiceImpl extends BaseDao implements RecordService {
 		faceRec.setPass(record.getInt("passStatus"));
 		faceRec.setSerialNo(record.getString("deviceKey"));
 		faceRec.setPersonCode(id);
+		if(userSearch!=null){
+			faceRec.setId(userSearch.getUseId());
+		}
 		String passTime = record.getString("passTime");
 		Date passDate= DateUtil.stringToDate(passTime,Constant.DATETIME_FORMATE);
 		faceRec.setCreateTime(passDate);