parent
21fd53fc3c
commit
65c4313316
@ -1,20 +1,99 @@
|
||||
package com.markma.leave_manager_spb.controller;
|
||||
|
||||
import com.markma.leave_manager_spb.entity.LeaveDetail;
|
||||
import com.markma.leave_manager_spb.entity.OutDetail;
|
||||
import com.markma.leave_manager_spb.entity.OutLeaveDetail;
|
||||
import com.markma.leave_manager_spb.entity.UserDetail;
|
||||
import com.markma.leave_manager_spb.repository.LeaveDetailRepository;
|
||||
import com.markma.leave_manager_spb.repository.UserDetailRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import com.markma.leave_manager_spb.repository.OutDetailRepository;
|
||||
|
||||
import java.io.IOError;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.markma.leave_manager_spb.controller.LeaveDetailHandler.dateToMs;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/outDetail")
|
||||
public class OutDetailHandler {
|
||||
@Autowired
|
||||
private OutDetailRepository outDetailRepository;
|
||||
@Autowired
|
||||
private LeaveDetailRepository leaveDetailRepository;
|
||||
@Autowired
|
||||
private UserDetailRepository userDetailRepository;
|
||||
|
||||
@GetMapping("/findAll")
|
||||
public List<OutDetail> findAll() {
|
||||
return outDetailRepository.findAll();
|
||||
}
|
||||
|
||||
@GetMapping("findAndReturnOLDs/{page}/{size}")
|
||||
public List<OutLeaveDetail> findAndReturnOLD(@PathVariable("page") int page, @PathVariable("size") int size) {
|
||||
List<OutDetail> result = outDetailRepository.findAll();
|
||||
List<OutLeaveDetail> OLDs = new ArrayList<OutLeaveDetail>();
|
||||
int num = 0, pageNum = 0;
|
||||
for (int i = 0; i < result.size(); i++) {
|
||||
num++;
|
||||
pageNum = num / size;
|
||||
if (num % size != 0) pageNum++;
|
||||
if (pageNum == page) {
|
||||
OutDetail OD = result.get(i);
|
||||
OutLeaveDetail OLD = new OutLeaveDetail();
|
||||
OLD.setId(i + 1);
|
||||
|
||||
Integer ldi = OD.getLeave_detail_id();
|
||||
List<LeaveDetail> LDs = leaveDetailRepository.findAll();
|
||||
LeaveDetail LD = null;
|
||||
for (int j = 0; j < LDs.size(); j++) {
|
||||
LD = LDs.get(i);
|
||||
if (LD.getId().equals(ldi)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
OLD.setBack_time(LD.getBack_time());
|
||||
OLD.setLeave_time(LD.getLeave_time());
|
||||
|
||||
Integer user_id = OD.getUserid();
|
||||
List<UserDetail> UDs = userDetailRepository.findAll();
|
||||
UserDetail UD = null;
|
||||
for (int j = 0; j < UDs.size(); j++) {
|
||||
UD = UDs.get(i);
|
||||
if (UD.getId().equals(user_id)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
OLD.setUsername(UD.getName());
|
||||
OLD.setSchool_id(UD.getSchool_id());
|
||||
|
||||
OLD.setOut_time(OD.getOut_time());
|
||||
OLD.setReturn_time(OD.getReturn_time());
|
||||
|
||||
if (OLD.getOut_time() == null) {
|
||||
OLD.setExceed_type("未出");
|
||||
OLDs.add(OLD);
|
||||
continue;
|
||||
}
|
||||
if (OLD.getReturn_time() == null) {
|
||||
OLD.setExceed_type("未归");
|
||||
OLDs.add(OLD);
|
||||
continue;
|
||||
}
|
||||
long backTimeMS = dateToMs(OLD.getBack_time(), "yyyy-mm-dd hh:mm:ss");
|
||||
long returnTimeMS = dateToMs(OLD.getReturn_time(), "yyyy-mm-dd hh:mm:ss");
|
||||
if (backTimeMS >= returnTimeMS) {
|
||||
OLD.setExceed_type("正常");
|
||||
} else {
|
||||
OLD.setExceed_type("超假");
|
||||
}
|
||||
OLDs.add(OLD);
|
||||
}
|
||||
}
|
||||
return OLDs;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,24 @@
|
||||
package com.markma.leave_manager_spb.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import java.util.Date;
|
||||
|
||||
@Entity
|
||||
@Data
|
||||
public class OutLeaveDetail {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Integer id;
|
||||
private String username;
|
||||
private String school_id;
|
||||
private String leave_time;
|
||||
private String back_time;
|
||||
private String out_time;
|
||||
private String return_time;
|
||||
private String exceed_type;
|
||||
}
|
Loading…
Reference in new issue