renkang
2025-02-07 6ad07bc0ea2f00bc676fd6a724de630760544a50
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;
@@ -15,6 +16,9 @@
import com.doumee.dao.business.YwPatrolTaskMapper;
import com.doumee.dao.business.YwPatrolTaskRecordMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.join.NoticesJoinMapper;
import com.doumee.dao.system.model.Notices;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.YwPatrolSchemeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -49,7 +53,11 @@
    @Autowired
    private YwPatrolTaskRecordMapper ywPatrolTaskRecordMapper;
    @Autowired
    private SystemUserMapper systemUserMapper;
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
    @Autowired
    private NoticesJoinMapper noticesJoinMapper;
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -203,6 +211,39 @@
            ywPatrolTaskRecordList.add(ywPatrolTaskRecord);
        }
        ywPatrolTaskRecordMapper.insert(ywPatrolTaskRecordList);
        if(StringUtils.isNotBlank(ywPatrolScheme.getUserIds())){
            String [] userIds = ywPatrolScheme.getUserIds().split(",");
            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);
                }
            }
        }
    }
@@ -315,8 +356,8 @@
        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)
//                .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())
@@ -333,10 +374,24 @@
        IPage<YwPatrolScheme> iPage = ywPatrolSchemeMapper.selectJoinPage(page,YwPatrolScheme.class,queryWrapper);
        for (YwPatrolScheme ywPatrolScheme:iPage.getRecords()) {
            this.getSchemeStatus(ywPatrolScheme);
            //巡检人员
            this.getUserNames(ywPatrolScheme);
        }
        return PageData.from(iPage);
    }
    public void getUserNames(YwPatrolScheme ywPatrolScheme){
        if(Objects.nonNull(ywPatrolScheme)&&StringUtils.isNotBlank(ywPatrolScheme.getUserIds())){
            List<SystemUser>  systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda()
                    .apply(" find_in_set(id,'"+ywPatrolScheme.getUserIds()+"') ")
            );
            String userName = String.join(",",systemUserList.stream().map(i->i.getRealname()).collect(Collectors.toList()));
            ywPatrolScheme.setUserName(userName);
        }
    }
    //获取状态
    public void getSchemeStatus(YwPatrolScheme ywPatrolScheme){
        List<YwPatrolTask> ywPatrolTaskList = ywPatrolTaskMapper.selectList(new QueryWrapper<YwPatrolTask>().lambda()