|
@@ -133,37 +133,6 @@ public class DataCollectController {
|
|
}
|
|
}
|
|
System.out.println("本批次总数量:"+tisList.size()+",成功插入条数:"+insertCount+",成功更新条数:"+updateCount);
|
|
System.out.println("本批次总数量:"+tisList.size()+",成功插入条数:"+insertCount+",成功更新条数:"+updateCount);
|
|
}
|
|
}
|
|
-// List<TisTimeVO> tisTimeVOS = JSONArray.parseArray(jsonarray, TisTimeVO.class);
|
|
|
|
-// if(!CollectionUtils.isEmpty(tisList)){
|
|
|
|
-// int count = 0;
|
|
|
|
-// for (TisTimeVO tisTimeVO : tisList) {
|
|
|
|
-// String sqlQuery = "select top 1 iRealCOID from ca_batchmap where cMOCode = ? and iMOSubSN = ? ";
|
|
|
|
-// try (Connection connection = sqlServerDataSource.getConnection()) {
|
|
|
|
-// PreparedStatement queryStmt = connection.prepareStatement(sqlQuery);
|
|
|
|
-// queryStmt.setString(1,tisTimeVO.getOrderId());
|
|
|
|
-// queryStmt.setInt(2,tisTimeVO.getLine());
|
|
|
|
-// ResultSet queryRs = queryStmt.executeQuery();
|
|
|
|
-// if (queryRs.next()) {
|
|
|
|
-// tisTimeVO.setCoId(queryRs.getString("iRealCOID"));
|
|
|
|
-// String sqlInsert = "insert into CA_DayTiS(cPPID,iRealWkt,dDate) values(?,?,?)";
|
|
|
|
-// PreparedStatement insertStmt = connection.prepareStatement(sqlInsert);
|
|
|
|
-// insertStmt.setString(1,tisTimeVO.getCoId());
|
|
|
|
-// insertStmt.setBigDecimal(2,tisTimeVO.getWorkTime());
|
|
|
|
-// insertStmt.setString(3,tisTimeVO.getDateStr());
|
|
|
|
-// int i = insertStmt.executeUpdate();
|
|
|
|
-// if(i>0){
|
|
|
|
-// count++;
|
|
|
|
-//// System.out.println("执行成功");
|
|
|
|
-// }else{
|
|
|
|
-// System.out.println(tisTimeVO.getCoId()+"执行失败");
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// } catch (SQLException e) {
|
|
|
|
-// System.err.println("数据库操作错误: " + e.getMessage());
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// System.out.println("本批次总数量:"+tisList.size()+",成功插入条数:"+count);
|
|
|
|
-// }
|
|
|
|
return "ok";
|
|
return "ok";
|
|
}
|
|
}
|
|
|
|
|
|
@@ -373,7 +342,20 @@ public class DataCollectController {
|
|
userFvTime.setProcinstId(resultSet.getString("id"));
|
|
userFvTime.setProcinstId(resultSet.getString("id"));
|
|
userFvTime.setUserId(resultSet.getString("emp_no"));
|
|
userFvTime.setUserId(resultSet.getString("emp_no"));
|
|
userFvTime.setWorkDate(null==resultSet.getDate("attendance_date")?null:LocalDate.parse(sdfYmd.format(resultSet.getDate("attendance_date")), DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
userFvTime.setWorkDate(null==resultSet.getDate("attendance_date")?null:LocalDate.parse(sdfYmd.format(resultSet.getDate("attendance_date")), DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
|
+ if (pageBO.getJobNumber() != null) {
|
|
|
|
+ //用户单独刷新某天的
|
|
|
|
+ List<LeaveSheet> sheetList = getUserDayLeaveSheet(sdfYmd.format(resultSet.getDate("attendance_date")), pageBO.getJobNumber());
|
|
|
|
+ if (sheetList != null && sheetList.size() > 0) {
|
|
|
|
+ //获取请假的最晚时间点作为考勤开始时间
|
|
|
|
+ LeaveSheet leaveSheet = sheetList.get(0);
|
|
|
|
+ userFvTime.setStartTime(leaveSheet.getEndTime());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
String startTime = resultSet.getString("come1");
|
|
String startTime = resultSet.getString("come1");
|
|
|
|
+ //如果有请假的结束时间,并且比打卡时间要晚,以请假结束时间作为上班时间
|
|
|
|
+ if (userFvTime.getStartTime() != null && userFvTime.getStartTime().compareTo(startTime) > 0) {
|
|
|
|
+ startTime = userFvTime.getStartTime();
|
|
|
|
+ }
|
|
//从9:05开始计算,小于9:05的以9:00为准,向上取30分钟, 比如9:09,就转换为9:30
|
|
//从9:05开始计算,小于9:05的以9:00为准,向上取30分钟, 比如9:09,就转换为9:30
|
|
if (startTime.compareTo("09:05") <= 0) {
|
|
if (startTime.compareTo("09:05") <= 0) {
|
|
startTime = "09:00";
|
|
startTime = "09:00";
|
|
@@ -549,6 +531,64 @@ public class DataCollectController {
|
|
return resList;
|
|
return resList;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private List<LeaveSheet> getUserDayLeaveSheet(String date, String empNo) {
|
|
|
|
+ String sqlQuery = "select distinct ahlo.id,ahlo.company_id,ahlo.emp_no,ahlo.emp_name " +
|
|
|
|
+ " ,ahlo.begin_date,ahlo.end_date,ahlo.begin_time,ahlo.end_time,ahlo.leave_category_name " +
|
|
|
|
+ " ,ahlo.audit_status,ahlo.reason, eic.emp_no as operator_id " +
|
|
|
|
+ " ,ahlo.total_hour,ahlo.total_day,eie.mobile " +
|
|
|
|
+ " from att_holiday_leave_order ahlo " +
|
|
|
|
+ " left join emp_info eie on ahlo.emp_origin_id = eie.origin_id " +
|
|
|
|
+ " left join emp_info eic on ahlo.create_id = eic.origin_id " +
|
|
|
|
+ " where ahlo.audit_status = 3 and ahlo.is_delete = 0 and ahlo.create_date = ? and ahlo.emp_no = ? and ahlo.end_time is not null order by ahlo.end_time desc limit 1";
|
|
|
|
+ SimpleDateFormat sdfYmd = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
+ List<LeaveSheet> resList = new ArrayList<>();
|
|
|
|
+ try (Connection connection = mysqlDataSource.getConnection()) {
|
|
|
|
+ PreparedStatement queryStmt = connection.prepareStatement(sqlQuery);
|
|
|
|
+ queryStmt.setString(1, date);
|
|
|
|
+ queryStmt.setString(2, empNo);
|
|
|
|
+ try (ResultSet resultSet = queryStmt.executeQuery()) {
|
|
|
|
+ while (resultSet.next()) {
|
|
|
|
+ LeaveSheet leaveSheet = new LeaveSheet();
|
|
|
|
+ leaveSheet.setCompanyId(companyId);
|
|
|
|
+ leaveSheet.setOwnerId(resultSet.getString("emp_no"));
|
|
|
|
+ leaveSheet.setOwnerName(resultSet.getString("emp_name"));
|
|
|
|
+ leaveSheet.setBeginTime(resultSet.getString("begin_time"));
|
|
|
|
+ leaveSheet.setEndTime(resultSet.getString("end_time"));
|
|
|
|
+ leaveSheet.setStartDate(null==resultSet.getDate("begin_date")?null:LocalDate.parse(sdfYmd.format(resultSet.getDate("begin_date")),DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
|
+ leaveSheet.setEndDate(null==resultSet.getDate("end_date")?null:LocalDate.parse(sdfYmd.format(resultSet.getDate("end_date")),DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
|
+ switch (resultSet.getString("leave_category_name")){
|
|
|
|
+ case "调休假" : leaveSheet.setLeaveType(6); break;
|
|
|
|
+ case "年假" : leaveSheet.setLeaveType(2); break;
|
|
|
|
+ case "事假" : leaveSheet.setLeaveType(0); break;
|
|
|
|
+ case "病假" : leaveSheet.setLeaveType(1);break;
|
|
|
|
+ case "婚假" : leaveSheet.setLeaveType(4);break;
|
|
|
|
+ case "产假" : leaveSheet.setLeaveType(3);break;
|
|
|
|
+ case "哺乳假" : leaveSheet.setLeaveType(3);break;
|
|
|
|
+ case "陪产假" : leaveSheet.setLeaveType(7);break;
|
|
|
|
+ case "丧假" : leaveSheet.setLeaveType(5);break;
|
|
|
|
+ case "工伤假" : leaveSheet.setLeaveType(1);break;
|
|
|
|
+ case "育儿假" : leaveSheet.setLeaveType(3);break;
|
|
|
|
+ case "福利病假" : leaveSheet.setLeaveType(1);break;
|
|
|
|
+ default: leaveSheet.setLeaveType(8);break;
|
|
|
|
+ }
|
|
|
|
+ leaveSheet.setStatus(0);
|
|
|
|
+ leaveSheet.setRemark(resultSet.getString("reason"));
|
|
|
|
+ leaveSheet.setOperatorId(resultSet.getString("operator_id"));
|
|
|
|
+ leaveSheet.setTimeHours(null==resultSet.getBigDecimal("total_hour")?null:resultSet.getBigDecimal("total_hour").setScale(1,RoundingMode.HALF_UP).floatValue());
|
|
|
|
+ leaveSheet.setTimeDays(null==resultSet.getBigDecimal("total_day")?null:resultSet.getBigDecimal("total_day").setScale(0,RoundingMode.HALF_UP).floatValue());
|
|
|
|
+ leaveSheet.setIndate(LocalDateTime.now());
|
|
|
|
+ leaveSheet.setTimeType(0);
|
|
|
|
+ leaveSheet.setTel(resultSet.getString("mobile"));
|
|
|
|
+ leaveSheet.setProcinstId(resultSet.getString("id"));
|
|
|
|
+ resList.add(leaveSheet);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } catch (SQLException e) {
|
|
|
|
+ System.err.println("数据库操作错误: " + e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ return resList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
@RequestMapping("/getBusinessTripDataSum")
|
|
@RequestMapping("/getBusinessTripDataSum")
|
|
public String getBusinessTripDataSum() {
|
|
public String getBusinessTripDataSum() {
|