|
@@ -5,6 +5,7 @@ import com.google.gson.Gson;
|
|
|
import com.google.gson.JsonArray;
|
|
import com.google.gson.JsonArray;
|
|
|
import com.google.gson.JsonElement;
|
|
import com.google.gson.JsonElement;
|
|
|
import com.google.gson.JsonObject;
|
|
import com.google.gson.JsonObject;
|
|
|
|
|
+import com.microsoft.schemas.office.office.BulletAttribute;
|
|
|
import com.xjrsoft.module.attendance.entity.AttendanceRuleDetails;
|
|
import com.xjrsoft.module.attendance.entity.AttendanceRuleDetails;
|
|
|
import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
|
|
import com.xjrsoft.module.teacher.mapper.FaceImportMapper;
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
@@ -25,17 +26,20 @@ public class OutInRecordUtil {
|
|
|
private static final Logger log = LoggerFactory.getLogger(OutInRecordUtil.class);
|
|
private static final Logger log = LoggerFactory.getLogger(OutInRecordUtil.class);
|
|
|
|
|
|
|
|
private void teacherInsertRecord(Db db, Long userId, String recordTime, String facePhoto, int status, String eventId, String attendanceStatus) throws SQLException {
|
|
private void teacherInsertRecord(Db db, Long userId, String recordTime, String facePhoto, int status, String eventId, String attendanceStatus) throws SQLException {
|
|
|
|
|
+ String photoValue = (facePhoto != null && !facePhoto.equals("null")) ? facePhoto : "";
|
|
|
|
|
|
|
|
String sql = "INSERT INTO teacher_out_in_record(create_date, user_id, record_time, face_photo, eventId, status,delete_mark,enabled_mark, attendance_status) " +
|
|
String sql = "INSERT INTO teacher_out_in_record(create_date, user_id, record_time, face_photo, eventId, status,delete_mark,enabled_mark, attendance_status) " +
|
|
|
"VALUES(now(), '" + userId + "', '" + recordTime + "', '" +
|
|
"VALUES(now(), '" + userId + "', '" + recordTime + "', '" +
|
|
|
- facePhoto + "', '" + eventId + "', '" +status + "',0,1,'" + attendanceStatus + "')";
|
|
|
|
|
|
|
+ photoValue + "', '" + eventId + "', '" +status + "',0,1,'" + attendanceStatus + "')";
|
|
|
db.execute(sql);
|
|
db.execute(sql);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void studentInsertRecord(Db db, Long userId, Long teacherId, Long classId, String facePhoto, String recordTime, int status, String eventId, String attendanceStatus) throws SQLException {
|
|
private void studentInsertRecord(Db db, Long userId, Long teacherId, Long classId, String facePhoto, String recordTime, int status, String eventId, String attendanceStatus) throws SQLException {
|
|
|
|
|
+ String photoValue = (facePhoto != null && !facePhoto.equals("null")) ? facePhoto : "";
|
|
|
|
|
+
|
|
|
String sql = "INSERT INTO student_out_in_record(create_date, user_id, teacher_id, class_id, face_photo, record_time , eventId,status,delete_mark,enabled_mark, attendance_status) " +
|
|
String sql = "INSERT INTO student_out_in_record(create_date, user_id, teacher_id, class_id, face_photo, record_time , eventId,status,delete_mark,enabled_mark, attendance_status) " +
|
|
|
"VALUES(now(), '" + userId + "', '" + teacherId + "', '" +
|
|
"VALUES(now(), '" + userId + "', '" + teacherId + "', '" +
|
|
|
- classId + "', '" + facePhoto + "', '" + recordTime + "', '" + eventId + "', '" + status + "',0,1,'" + attendanceStatus + "')";
|
|
|
|
|
|
|
+ classId + "', '" + photoValue + "', '" + recordTime + "', '" + eventId + "', '" + status + "',0,1,'" + attendanceStatus + "')";
|
|
|
db.execute(sql);
|
|
db.execute(sql);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -49,11 +53,15 @@ public class OutInRecordUtil {
|
|
|
|
|
|
|
|
private void vehicleInsertRecord(Db db, Long carMessageApplyId, String recordTime, int releaseReason, int category, String facePhoto, int status, String planNo, String crossRecordSyscode,
|
|
private void vehicleInsertRecord(Db db, Long carMessageApplyId, String recordTime, int releaseReason, int category, String facePhoto, int status, String planNo, String crossRecordSyscode,
|
|
|
int releaseResult, int releaseWay, int vehicleType, String phone, String name) throws SQLException {
|
|
int releaseResult, int releaseWay, int vehicleType, String phone, String name) throws SQLException {
|
|
|
|
|
+ String phoneValue = (phone != null && !phone.equals("null")) ? phone : "";
|
|
|
|
|
+ String nameValue = (name != null && !name.equals("null")) ? name : "";
|
|
|
|
|
+ String photoValue = (facePhoto != null && !facePhoto.equals("null")) ? facePhoto : "";
|
|
|
|
|
+
|
|
|
String sql = "INSERT INTO car_out_in_record(create_date, car_message_apply_id, record_time, face_photo, status,release_reason, plan_no, " +
|
|
String sql = "INSERT INTO car_out_in_record(create_date, car_message_apply_id, record_time, face_photo, status,release_reason, plan_no, " +
|
|
|
"cross_record_syscode, release_result, release_way, vehicle_type, phone, name, category,delete_mark,enabled_mark) " +
|
|
"cross_record_syscode, release_result, release_way, vehicle_type, phone, name, category,delete_mark,enabled_mark) " +
|
|
|
"VALUES(now(), '" + carMessageApplyId + "', '" +
|
|
"VALUES(now(), '" + carMessageApplyId + "', '" +
|
|
|
- recordTime + "', '" + facePhoto + "', '" + status + "', '" + releaseReason + "', '" + planNo + "', '" +
|
|
|
|
|
- crossRecordSyscode + "', '" + releaseResult + "', '" + releaseWay + "', '" + vehicleType + "', '" + phone + "', '" + name + "', '" + category + "',0,1)";
|
|
|
|
|
|
|
+ recordTime + "', '" + photoValue + "', '" + status + "', '" + releaseReason + "', '" + planNo + "', '" +
|
|
|
|
|
+ crossRecordSyscode + "', '" + releaseResult + "', '" + releaseWay + "', '" + vehicleType + "', '" + phoneValue + "', '" + nameValue + "', '" + category + "',0,1)";
|
|
|
db.execute(sql);
|
|
db.execute(sql);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -97,7 +105,17 @@ public class OutInRecordUtil {
|
|
|
}
|
|
}
|
|
|
if (personId == null) continue;
|
|
if (personId == null) continue;
|
|
|
|
|
|
|
|
- int status = item.get("inAndOutType").getAsInt();
|
|
|
|
|
|
|
+ int statusInt = item.get("inAndOutType").getAsInt();
|
|
|
|
|
+ int status = -1;
|
|
|
|
|
+ switch (statusInt){
|
|
|
|
|
+ case 0:
|
|
|
|
|
+ status = 1;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ status = 0;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
String uri = item.get("picUri").isJsonNull() ? null : item.get("picUri").getAsString();
|
|
String uri = item.get("picUri").isJsonNull() ? null : item.get("picUri").getAsString();
|
|
|
String recordTime = item.get("eventTime").isJsonNull() ? null : item.get("eventTime").getAsString();
|
|
String recordTime = item.get("eventTime").isJsonNull() ? null : item.get("eventTime").getAsString();
|
|
|
String eventId = item.get("eventId").isJsonNull() ? null : item.get("eventId").getAsString();
|
|
String eventId = item.get("eventId").isJsonNull() ? null : item.get("eventId").getAsString();
|
|
@@ -118,7 +136,7 @@ public class OutInRecordUtil {
|
|
|
LocalDateTime recordTimeDate = LocalDateTime.parse(recordTimeStr, formatter);
|
|
LocalDateTime recordTimeDate = LocalDateTime.parse(recordTimeStr, formatter);
|
|
|
String attendanceStatus = discernStudentStatus(use, recordTimeDate, status, personId);
|
|
String attendanceStatus = discernStudentStatus(use, recordTimeDate, status, personId);
|
|
|
studentInsertRecord(use, personId, faceImportMapper.GetTeacherIdByPersonId(personId),
|
|
studentInsertRecord(use, personId, faceImportMapper.GetTeacherIdByPersonId(personId),
|
|
|
- faceImportMapper.GetClassIdByPersonId(personId), ApiUtil.GetRedirectURL(uri), recordTimeStr, status,eventId, attendanceStatus);
|
|
|
|
|
|
|
+ faceImportMapper.GetClassIdByPersonId(personId), ApiUtil.GetRedirectURL(uri), recordTimeStr, status, eventId, attendanceStatus);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -178,7 +196,6 @@ public class OutInRecordUtil {
|
|
|
return attendanceStatus;
|
|
return attendanceStatus;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
String discernStudentStatus(Db use, LocalDateTime recordTime, int status, Long studentUserId) throws SQLException {
|
|
String discernStudentStatus(Db use, LocalDateTime recordTime, int status, Long studentUserId) throws SQLException {
|
|
|
String attendanceStatus = "";
|
|
String attendanceStatus = "";
|
|
|
String dayOfWeek = recordTime.getDayOfWeek().name();
|
|
String dayOfWeek = recordTime.getDayOfWeek().name();
|
|
@@ -361,7 +378,7 @@ public class OutInRecordUtil {
|
|
|
JsonObject item = element.getAsJsonObject();
|
|
JsonObject item = element.getAsJsonObject();
|
|
|
|
|
|
|
|
String carMessageApplyIdStr = faceImportMapper.GetCarMessageApplyIdByCarNumber(item.get("plateNo").getAsString().trim());
|
|
String carMessageApplyIdStr = faceImportMapper.GetCarMessageApplyIdByCarNumber(item.get("plateNo").getAsString().trim());
|
|
|
- Long carId = (carMessageApplyIdStr == null || carMessageApplyIdStr.isEmpty()) ? 0 : Long.parseLong(carMessageApplyIdStr);
|
|
|
|
|
|
|
+ Long carId = (carMessageApplyIdStr == null || carMessageApplyIdStr.isEmpty()) ? null : Long.parseLong(carMessageApplyIdStr);
|
|
|
String category = null;
|
|
String category = null;
|
|
|
int categoryInt = 0;
|
|
int categoryInt = 0;
|
|
|
if (item.has("carCategory")){
|
|
if (item.has("carCategory")){
|
|
@@ -417,16 +434,7 @@ public class OutInRecordUtil {
|
|
|
System.out.println(facePicUri + "haha");
|
|
System.out.println(facePicUri + "haha");
|
|
|
|
|
|
|
|
String phone = faceImportMapper.GetPhoneNumberByPlanNum(plateNo);
|
|
String phone = faceImportMapper.GetPhoneNumberByPlanNum(plateNo);
|
|
|
- if (phone == null){
|
|
|
|
|
- phone = faceImportMapper.GetPhoneNumberByPlanNumView(plateNo);
|
|
|
|
|
- if (phone == null) phone = "";
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
String name = faceImportMapper.GetNameByPlanNum(plateNo);
|
|
String name = faceImportMapper.GetNameByPlanNum(plateNo);
|
|
|
- if (name == null){
|
|
|
|
|
- name = faceImportMapper.GetNameByPlanNumView(plateNo);
|
|
|
|
|
- if (name == null) name = "";
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
if(vehicle_id_list.contains(crossRecordSyscode)) continue;
|
|
if(vehicle_id_list.contains(crossRecordSyscode)) continue;
|
|
|
|
|
|
|
@@ -467,11 +475,23 @@ public class OutInRecordUtil {
|
|
|
|
|
|
|
|
String idNum = null;
|
|
String idNum = null;
|
|
|
if (dataObject.has("ExtEventPersonNo")) {
|
|
if (dataObject.has("ExtEventPersonNo")) {
|
|
|
- idNum = dataObject.get("ExtEventPersonNo").getAsString();
|
|
|
|
|
|
|
+ String idNumStr = dataObject.get("ExtEventPersonNo").getAsString();
|
|
|
|
|
+ if (!idNumStr.isEmpty()) {
|
|
|
|
|
+ idNum = idNumStr;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
String happenTime = eventObject.get("happenTime").getAsString();
|
|
String happenTime = eventObject.get("happenTime").getAsString();
|
|
|
String extEventPictureURL = dataObject.get("ExtEventPictureURL").getAsString();
|
|
String extEventPictureURL = dataObject.get("ExtEventPictureURL").getAsString();
|
|
|
- int status = eventObject.get("status").getAsInt();
|
|
|
|
|
|
|
+ int statusInt = dataObject.get("ExtEventInOut").getAsInt();
|
|
|
|
|
+ int status = -1;
|
|
|
|
|
+ switch (statusInt){
|
|
|
|
|
+ case 0:
|
|
|
|
|
+ status = 1;
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ status = 0;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
String eventId = eventObject.get("eventId").getAsString();
|
|
String eventId = eventObject.get("eventId").getAsString();
|
|
|
String recordTimeStr = ChangeTime(happenTime);
|
|
String recordTimeStr = ChangeTime(happenTime);
|
|
|
|
|
|
|
@@ -517,16 +537,18 @@ public class OutInRecordUtil {
|
|
|
String carNum = dataObject.get("plateNo").getAsString().trim();
|
|
String carNum = dataObject.get("plateNo").getAsString().trim();
|
|
|
String eventIndex = dataObject.get("eventIndex").getAsString().trim();
|
|
String eventIndex = dataObject.get("eventIndex").getAsString().trim();
|
|
|
String carMessageApplyIdStr = faceImportMapper.GetCarMessageApplyIdByCarNumber(carNum);
|
|
String carMessageApplyIdStr = faceImportMapper.GetCarMessageApplyIdByCarNumber(carNum);
|
|
|
- Long carId = (carMessageApplyIdStr == null || carMessageApplyIdStr.isEmpty()) ? 0 : Long.parseLong(carMessageApplyIdStr);
|
|
|
|
|
|
|
+ Long carId = (carMessageApplyIdStr == null || carMessageApplyIdStr.isEmpty()) ? null : Long.parseLong(carMessageApplyIdStr);
|
|
|
String eventTime = ChangeTime(dataObject.get("time").getAsString());
|
|
String eventTime = ChangeTime(dataObject.get("time").getAsString());
|
|
|
|
|
|
|
|
- int releaseWayInt = 0;
|
|
|
|
|
- int releaseReasonInt = 0;
|
|
|
|
|
- int releaseResultInt = 0;
|
|
|
|
|
|
|
+ int releaseWayInt = -1;
|
|
|
|
|
+ int releaseReasonInt = -1;
|
|
|
|
|
+ int releaseResultInt = -1;
|
|
|
JsonObject inResultObject = dataObject.getAsJsonObject("inResult");
|
|
JsonObject inResultObject = dataObject.getAsJsonObject("inResult");
|
|
|
- if (inResultObject != null) {
|
|
|
|
|
- JsonObject rlsResultObject = inResultObject.getAsJsonObject("rlsResult");
|
|
|
|
|
- if (rlsResultObject != null && rlsResultObject.has("releaseWay") && rlsResultObject.has("releaseReason") && rlsResultObject.has("releaseResult")) {
|
|
|
|
|
|
|
+ JsonObject outResultObject = dataObject.getAsJsonObject("outResult");
|
|
|
|
|
+ JsonObject inoutResult = (inResultObject != null && !inResultObject.isJsonNull()) ? inResultObject : outResultObject;
|
|
|
|
|
+ if (inoutResult != null) {
|
|
|
|
|
+ JsonObject rlsResultObject = inoutResult.getAsJsonObject("rlsResult");
|
|
|
|
|
+ if (rlsResultObject.has("releaseWay") && rlsResultObject.has("releaseReason") && rlsResultObject.has("releaseResult")) {
|
|
|
releaseWayInt = rlsResultObject.get("releaseWay").getAsInt();
|
|
releaseWayInt = rlsResultObject.get("releaseWay").getAsInt();
|
|
|
releaseReasonInt = rlsResultObject.get("releaseReason").getAsInt();
|
|
releaseReasonInt = rlsResultObject.get("releaseReason").getAsInt();
|
|
|
releaseResultInt = rlsResultObject.get("releaseResult").getAsInt();
|
|
releaseResultInt = rlsResultObject.get("releaseResult").getAsInt();
|
|
@@ -551,28 +573,16 @@ public class OutInRecordUtil {
|
|
|
facePicUri = picUrlObject.get("vehiclePicUrl").getAsString();
|
|
facePicUri = picUrlObject.get("vehiclePicUrl").getAsString();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- int status = eventObject.get("status").getAsInt();
|
|
|
|
|
|
|
+ String statusStr = dataObject.get("roadwayName").getAsString();
|
|
|
int statusInt = 0;
|
|
int statusInt = 0;
|
|
|
- switch (status){
|
|
|
|
|
- case 0:
|
|
|
|
|
- statusInt = 1;
|
|
|
|
|
- break;
|
|
|
|
|
- case 1:
|
|
|
|
|
- statusInt = 0;
|
|
|
|
|
- break;
|
|
|
|
|
|
|
+ if (statusStr.contains("入")) {
|
|
|
|
|
+ statusInt = 0;
|
|
|
|
|
+ } else if (statusStr.contains("出")) {
|
|
|
|
|
+ statusInt = 1;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
String phone = faceImportMapper.GetPhoneNumberByPlanNum(carNum);
|
|
String phone = faceImportMapper.GetPhoneNumberByPlanNum(carNum);
|
|
|
- if (phone == null){
|
|
|
|
|
- phone = faceImportMapper.GetPhoneNumberByPlanNumView(carNum);
|
|
|
|
|
- if (phone == null) phone = "";
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
String name = faceImportMapper.GetNameByPlanNum(carNum);
|
|
String name = faceImportMapper.GetNameByPlanNum(carNum);
|
|
|
- if (name == null){
|
|
|
|
|
- name = faceImportMapper.GetNameByPlanNumView(carNum);
|
|
|
|
|
- if (name == null) name = "";
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
if (vehicle_id_list.contains(eventIndex)) continue;
|
|
if (vehicle_id_list.contains(eventIndex)) continue;
|
|
|
|
|
|