master
markma 4 years ago
parent 21fd53fc3c
commit 65c4313316

@ -1,7 +1,11 @@
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.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.*;
@ -17,6 +21,8 @@ import java.util.Locale;
public class LeaveDetailHandler {
@Autowired
private LeaveDetailRepository leaveDetailRepository;
@Autowired
private UserDetailRepository userDetailRepository;
public static long dateToMs(String _date, String pattern) {
SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.getDefault());
@ -151,5 +157,29 @@ public class LeaveDetailHandler {
}
}
@GetMapping("findFromSID/{school_id}")
public List<LeaveDetail> findFromSID(@PathVariable("school_id") int school_id) {
List<LeaveDetail> LDs = leaveDetailRepository.findAll();
List<UserDetail> UDs = userDetailRepository.findAll();
UserDetail UD = null;
LeaveDetail LD = null;
List<LeaveDetail> result = new ArrayList<LeaveDetail>();
for (int i = 0; i < UDs.size(); i++) {
UD = UDs.get(i);
if (UD.getSchool_id().equals(school_id)) {
break;
}
}
Integer UDid = UD.getId();
for (int i = 0; i < LDs.size(); i++) {
LD = LDs.get(i);
if (LD.getUserid().equals(UDid)) {
result.add(LD);
}
}
return result;
}
}

@ -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…
Cancel
Save