master
markma 4 years ago
parent 65c4313316
commit b8feba5e98

@ -4,16 +4,14 @@ 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.OutDetailRepository;
import com.markma.leave_manager_spb.repository.UserDetailRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.*;
@RestController
@ -23,6 +21,8 @@ public class LeaveDetailHandler {
private LeaveDetailRepository leaveDetailRepository;
@Autowired
private UserDetailRepository userDetailRepository;
@Autowired
private OutDetailRepository outDetailRepository;
public static long dateToMs(String _date, String pattern) {
SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.getDefault());
@ -157,8 +157,8 @@ public class LeaveDetailHandler {
}
}
@GetMapping("findFromSID/{school_id}")
public List<LeaveDetail> findFromSID(@PathVariable("school_id") int school_id) {
@GetMapping("findFromSIDTimeLimit/{school_id}/{page}/{size}")
public List<LeaveDetail> findFromSID(@PathVariable("school_id") String school_id, @PathVariable("page") int page, @PathVariable("size") int size) {
List<LeaveDetail> LDs = leaveDetailRepository.findAll();
List<UserDetail> UDs = userDetailRepository.findAll();
UserDetail UD = null;
@ -171,15 +171,50 @@ public class LeaveDetailHandler {
}
}
Integer UDid = UD.getId();
int num = 0, pageNum = 0;
for (int i = 0; i < LDs.size(); i++) {
LD = LDs.get(i);
if (LD.getUserid().equals(UDid)) {
result.add(LD);
long backTimeMS = dateToMs(LD.getBack_time(), "yyyy-mm-dd hh:mm:ss");
long leaveTimeMS = dateToMs(LD.getLeave_time(), "yyyy-mm-dd hh:mm:ss");
long nowTimeMS = System.currentTimeMillis();
if (nowTimeMS > leaveTimeMS && nowTimeMS < backTimeMS && LD.getType().equals("已通过")) {
num++;
pageNum = num / size;
if (num % size != 0) pageNum++;
if (pageNum == page) result.add(LD);
}
}
}
return result;
}
@GetMapping("findByIDAndSaveOD/{leave_detail_id}")
public String findByIDAndSaveOD(@PathVariable Integer leave_detail_id) {
List<LeaveDetail> LDs = leaveDetailRepository.findAll();
LeaveDetail LD = null;
for (int i = 0; i < LDs.size(); i++) {
if (LDs.get(i).getId().equals(leave_detail_id)) {
LD = LDs.get(i);
break;
}
}
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
String now = df.format(calendar.getTime());
OutDetail OD = new OutDetail();
OD.setLeave_detail_id(leave_detail_id);
OD.setUserid(LD.getUserid());
OD.setOut_time(now);
OutDetail result = outDetailRepository.save(OD);
if (result != null) {
return "success";
} else {
return "error";
}
}
}

@ -5,13 +5,18 @@ 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.OutDetailRepository;
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 org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOError;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import static com.markma.leave_manager_spb.controller.LeaveDetailHandler.dateToMs;
@ -49,7 +54,7 @@ public class OutDetailHandler {
List<LeaveDetail> LDs = leaveDetailRepository.findAll();
LeaveDetail LD = null;
for (int j = 0; j < LDs.size(); j++) {
LD = LDs.get(i);
LD = LDs.get(j);
if (LD.getId().equals(ldi)) {
break;
}
@ -61,7 +66,7 @@ public class OutDetailHandler {
List<UserDetail> UDs = userDetailRepository.findAll();
UserDetail UD = null;
for (int j = 0; j < UDs.size(); j++) {
UD = UDs.get(i);
UD = UDs.get(j);
if (UD.getId().equals(user_id)) {
break;
}
@ -95,5 +100,37 @@ public class OutDetailHandler {
return OLDs;
}
@GetMapping("findBySIDAndSetReturnTime/{school_id}")
public String findBySIDAndSetReturnTime(@PathVariable("school_id") String school_id) {
List<OutDetail> ODs = outDetailRepository.findAll();
List<UserDetail> UDs = userDetailRepository.findAll();
UserDetail UD = null;
OutDetail result = null;
for (int i = 0; i < ODs.size(); i++) {
Integer userid = ODs.get(i).getUserid();
if (ODs.get(i).getOut_time() != null && ODs.get(i).getReturn_time() == null) {
for (int j = 0; j < UDs.size(); j++) {
if (UDs.get(j).getSchool_id().equals(school_id)) {
UD = UDs.get(j);
break;
}
}
if (userid.equals(UD.getId())) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
String now = df.format(calendar.getTime());
ODs.get(i).setReturn_time(now);
result = outDetailRepository.save(ODs.get(i));
}
}
}
if (result != null) {
return "success";
} else {
return "error";
}
}
}

Loading…
Cancel
Save