parent
21fd53fc3c
commit
65c4313316
@ -1,20 +1,99 @@
|
|||||||
package com.markma.leave_manager_spb.controller;
|
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.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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import com.markma.leave_manager_spb.repository.OutDetailRepository;
|
import com.markma.leave_manager_spb.repository.OutDetailRepository;
|
||||||
|
|
||||||
|
import java.io.IOError;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.markma.leave_manager_spb.controller.LeaveDetailHandler.dateToMs;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/outDetail")
|
@RequestMapping("/outDetail")
|
||||||
public class OutDetailHandler {
|
public class OutDetailHandler {
|
||||||
@Autowired
|
@Autowired
|
||||||
private OutDetailRepository outDetailRepository;
|
private OutDetailRepository outDetailRepository;
|
||||||
|
@Autowired
|
||||||
|
private LeaveDetailRepository leaveDetailRepository;
|
||||||
|
@Autowired
|
||||||
|
private UserDetailRepository userDetailRepository;
|
||||||
|
|
||||||
@GetMapping("/findAll")
|
@GetMapping("/findAll")
|
||||||
public List<OutDetail> findAll() {
|
public List<OutDetail> findAll() {
|
||||||
return outDetailRepository.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