洪城义警-正式版后台
zengh
2022-03-09 b125a6f7f1d9003372fda1bfb86d01454ae1762f
增加任务拦截
2 files modified
80 ■■■■ changed files
src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java 78 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/taskqd/controller/TaskqdController.java
@@ -42,6 +42,8 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -144,7 +146,39 @@
     */
    @PostMapping("/Graborder")
    public R Graborder(@Valid @RequestBody Taskqd taskqd) {
        //要接的任务
        List<Taskqd> list = taskqdService.selectList(taskqd.getId());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //转换
        try {
            //获取要接任务的时间戳 + 两个小时
            Date timea = sdf.parse(list.get(0).getTime());
            Long start = timea.getTime() + 2 * 60 * 60;
            System.out.println(sdf.format(start));
            //判断是否有同时间段的任务
            //已接的任务
            List<TaskqdVO> yjlist = taskqdService.getlist(taskqd.getSerid().toString(), null);
            for (int i = 0; i < yjlist.size(); i++) {
                //获取已接任务的时间戳
                Date timeb = sdf.parse(yjlist.get(i).getEndtime());
                Long end = timeb.getTime();
                if (end > start) {
                    return R.fail("已有正在进行的同时段任务");
                }
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        //总数
        Integer jnum = list.get(0).getJnum();
        //人数
@@ -328,7 +362,7 @@
            if (flage) {
                if (!name.equals(nameList[i])) {
                    newteam += nameList[i] + ",";
                }else{
                } else {
                    flage = false;
                }
            } else {
@@ -353,14 +387,42 @@
    }
    @GetMapping("/taskCount")
    public R cancelTask(String id,String type) {
        List<Map<String,Object>> cout =  taskqdService.taskCount(id,type);
        List<TaskqdVO> list = taskqdService.getlist(id,type);
        Map<String,Object> res = new HashMap<>();
        res.put("ywc",cout.get(0).get("count"));
        res.put("wwc",cout.get(1).get("count"));
        res.put("data",list);
    public R cancelTask(String id, String type) {
        List<Map<String, Object>> cout = taskqdService.taskCount(id, type);
        List<TaskqdVO> list = taskqdService.getlist(id, type);
        Map<String, Object> res = new HashMap<>();
        res.put("ywc", cout.get(0).get("count"));
        res.put("wwc", cout.get(1).get("count"));
        res.put("data", list);
        return R.data(res);
    }
    /**
     * @param nowTime   当前时间
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @return
     * @author sunran   判断当前时间在时间区间内
     */
    public static boolean isEffectiveDate(Date nowTime, Date startTime, Date endTime) {
        if (nowTime.getTime() == startTime.getTime()
            || nowTime.getTime() == endTime.getTime()) {
            return true;
        }
        Calendar date = Calendar.getInstance();
        date.setTime(nowTime);
        Calendar begin = Calendar.getInstance();
        begin.setTime(startTime);
        Calendar end = Calendar.getInstance();
        end.setTime(endTime);
        if (date.after(begin) && date.before(end)) {
            return true;
        } else {
            return false;
        }
    }
}
src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -73,7 +73,7 @@
    <!--任务统计-->
    <select id="selectList" resultMap="taskResultMap">
        select jnum, num, serid, team
        select jnum, num, serid, team ,time
        from sys_taskqd
        where id = #{id}
    </select>