jiangping
2025-06-06 a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
import com.alibaba.fastjson.JSONObject;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -122,7 +123,7 @@
        );
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolSchemeList)){
            for (YwPatrolScheme ywPatrolScheme:ywPatrolSchemeList) {
                this.createTask(new Date(),ywPatrolScheme);
                this.createTask(DateUtil.getXDayAfterDate(new Date(),2),ywPatrolScheme);
            }
        }
    }
@@ -213,22 +214,35 @@
        if(StringUtils.isNotBlank(ywPatrolScheme.getUserIds())){
            String [] userIds = ywPatrolScheme.getUserIds().split(",");
            for (String userId:userIds) {
                //添加待办信息
                Notices notices = new Notices();
                notices.setCreateDate(new Date());
                notices.setCreator(ywPatrolScheme.getCreator());
                notices.setIsdeleted(Constants.ZERO);
                notices.setParam1(DateUtil.formatDate(ywPatrolTask.getStartDate(),"yyyy-MM-dd"));
                notices.setTitle("巡检任务待办");
                notices.setContent("["+ywPatrolTask.getCode()+"]将在["+notices.getParam1()+"]进行巡检,请按时执行");
                notices.setObjId(ywPatrolTask.getId());
                notices.setObjType(Constants.ONE);
                notices.setType(notices.getObjType());
                notices.setUserId(Integer.valueOf(userId));
                notices.setStatus(Constants.ZERO);
                noticesJoinMapper.insert(notices);
            List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda().in(SystemUser::getId,userIds));
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)){
                List<String> names = systemUserList.stream().filter(i->StringUtils.isNotBlank(i.getRealname())).map(i->i.getRealname()).collect(Collectors.toList());
                for (SystemUser systemUser:systemUserList) {
                    //添加待办信息
                    Notices notices = new Notices();
                    notices.setCreateDate(new Date());
                    notices.setCreator(ywPatrolScheme.getCreator());
                    notices.setIsdeleted(Constants.ZERO);
                    notices.setParam1(DateUtil.formatDate(ywPatrolTask.getStartDate(),"yyyy-MM-dd"));
                    notices.setTitle("巡检任务待办");
                    notices.setContent("["+ywPatrolTask.getCode()+"]将在["+notices.getParam1()+"]进行巡检,请按时执行");
                    notices.setObjId(ywPatrolTask.getId());
                    notices.setObjType(Constants.ONE);
                    notices.setType(notices.getObjType());
                    notices.setUserId(Integer.valueOf(systemUser.getId()));
                    notices.setStatus(Constants.ZERO);
                    //整理json数据
                    Map<String,Object> jsonMap = new HashMap<>();
                    jsonMap.put("key1", ywPatrolScheme.getTitle());
                    jsonMap.put("key2", DateUtil.getFomartDate(ywPatrolTask.getStartDate(),"yyyy-MM-dd"));
                    jsonMap.put("key3", DateUtil.getFomartDate(ywPatrolTask.getStartDate(),"HH:mm") + "-" + DateUtil.getFomartDate(ywPatrolTask.getEndDate(),"HH:mm"));
                    jsonMap.put("key4", StringUtils.join(names , "、"));
                    notices.setParam2(JSONObject.toJSONString(jsonMap));
                    notices.setParam3(Constants.ZERO+"");
                    noticesJoinMapper.insert(notices);
                }
            }
        }
    }
@@ -287,6 +301,7 @@
        ywPatrolScheme.setEditDate(new Date());
        ywPatrolScheme.setEditor(loginUserInfo.getId());
        ywPatrolSchemeMapper.updateById(ywPatrolScheme);
        this.createThreeDaysData(ywPatrolScheme);
    }
    @Override
@@ -342,15 +357,9 @@
        YwPatrolScheme model = pageWrap.getModel();
        queryWrapper.selectAll(YwPatrolScheme.class)
                .select(" t2.realName as createUserName ")
//                .select(" t1.realName as userName ")
//                .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolScheme::getUserIds)
                .leftJoin(" system_user t2 on t.creator =  t2.id  ")
                .eq(YwPatrolScheme::getIsdeleted,Constants.ZERO)
                .like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle())
                //查询有时段交集的数据
              /*  .apply(Objects.nonNull(model.getStartDate())&&Objects.nonNull(model.getEndDate()),
                        " t.START_DATE <= '"+pageWrap.getModel().getEndDate()+"' or t.END_DATE >= '"+pageWrap.getModel().getStartDate()+"' "
                )*/
                .ge( model.getStartDate()!=null,YwPatrolScheme::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
                .le(Objects.nonNull(model.getEndDate()),YwPatrolScheme::getStartDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
                .ge(Objects.nonNull(model.getStartDateSec()),YwPatrolScheme::getEndDate, Utils.Date.getStart(pageWrap.getModel().getStartDateSec()))
@@ -391,21 +400,24 @@
            ywPatrolScheme.setTimeOutTaskNum(Constants.ZERO);
            return;
        }
        //过滤数据是不是全部未开始
        if(Constants.equalsInteger(ywPatrolTaskList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO))
                .collect(Collectors.toList()).size(),ywPatrolTaskList.size())){
            ywPatrolScheme.setSchemeStatus(Constants.ZERO);
            ywPatrolScheme.setTimeOutTaskNum(ywPatrolTaskList.stream().filter(i->i.getEndDate().getTime()>System.currentTimeMillis())
                    .collect(Collectors.toList()).size());
            return;
        }
        //过滤数据是否存在进行中的
        if(ywPatrolTaskList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size()>Constants.ZERO){
        if(ywPatrolTaskList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)||Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size()>Constants.ZERO){
            ywPatrolScheme.setSchemeStatus(Constants.ONE);
            ywPatrolScheme.setTimeOutTaskNum(ywPatrolTaskList.stream().filter(i->i.getEndDate().getTime()>System.currentTimeMillis())
                    .collect(Collectors.toList()).size());
            return;
        }
        //过滤数据是不是全部未开始
        if(Constants.equalsInteger(ywPatrolTaskList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size(),ywPatrolTaskList.size())){
            ywPatrolScheme.setSchemeStatus(Constants.ZERO);
            ywPatrolScheme.setTimeOutTaskNum(ywPatrolTaskList.stream().filter(i->i.getEndDate().getTime()>System.currentTimeMillis())
                    .collect(Collectors.toList()).size());
            return;
        }
        //过滤数据是不是全部已完成
        if(Constants.equalsInteger(ywPatrolTaskList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.THREE)).collect(Collectors.toList()).size()
                ,ywPatrolTaskList.size())){