renkang
2025-01-03 ccf28d1fed1aa2e5437dbe64b5133ba1cbde6ec7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
@@ -81,7 +81,24 @@
    @Override
    public YwPatrolTask findById(Integer id) {
        return ywPatrolTaskMapper.selectById(id);
        YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectJoinOne(YwPatrolTask.class,new MPJLambdaWrapper<YwPatrolTask>()
                .selectAll(YwPatrolTask.class)
                .selectAs(YwPatrolScheme::getCode,YwPatrolTask::getPlanCode)
                .selectAs(YwPatrolScheme::getTitle,YwPatrolTask::getPlanTitle)
                .selectAs(SystemUser::getRealname,YwPatrolTask::getUserName)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and ytr.ISDELETED = 0  ) ",YwPatrolTask::getPatrolNum)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and ytr.STATUS = 1 and ytr.ISDELETED = 0) ",YwPatrolTask::getFinishNum)
                .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTask::getDealUserId)
                .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
                .eq(YwPatrolTask::getIsdeleted, Constants.ZERO)
                .eq(YwPatrolTask::getId,id)
                .last(" limit 1 "))
        ;
        if((Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO) || Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ONE) ) &&
                ywPatrolTask.getEndDate().getTime()<System.currentTimeMillis()){
            ywPatrolTask.setStatus(Constants.TWO);
        }
        return ywPatrolTask;
    }
    @Override
@@ -121,18 +138,29 @@
        YwPatrolTask model = pageWrap.getModel();
        queryWrapper.selectAll(YwPatrolTask.class)
                .selectAs(YwPatrolScheme::getCode,YwPatrolTask::getPlanCode)
                .selectAs(YwPatrolScheme::getTitle,YwPatrolTask::getPlanTitle)
                .selectAs(SystemUser::getRealname,YwPatrolTask::getUserName)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and ytr.ISDELETED = 0  ) ",YwPatrolTask::getPatrolNum)
                .select(" ( select count(1) from yw_patrol_task_record ytr where ytr.TASK_ID = t.id  and ytr.STATUS = 1 and ytr.ISDELETED = 0) ",YwPatrolTask::getFinishNum)
                .leftJoin(SystemUser.class,SystemUser::getId,YwPatrolTask::getDealUserId)
                .leftJoin(YwPatrolScheme.class,YwPatrolScheme::getId,YwPatrolTask::getSchemeId)
                .eq(YwPatrolTask::getIsdeleted, Constants.ZERO)
                .eq(Objects.nonNull(model.getStatus()) && !Constants.equalsInteger(model.getStatus(),Constants.TWO),YwPatrolTask::getStatus, model.getStatus())
                .eq(Objects.nonNull(model.getDealUserId()),YwPatrolScheme::getUserIds, model.getDealUserId())
                .apply(Objects.nonNull(model.getStatus()) && Constants.equalsInteger(model.getStatus(),Constants.TWO)," t.status = 1 and t.END_DATE > now() ")
                .apply(StringUtils.isNotBlank(model.getQueryStatus())," find_in_set(t.status ,'"+model.getQueryStatus()+"') ")
                .like(StringUtils.isNotBlank(model.getPlanTitle()),YwPatrolScheme::getTitle,model.getPlanTitle())
                .ge(Objects.nonNull(model.getStartDate()), YwPatrolTask::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
                .le(Objects.nonNull(model.getEndDate()),YwPatrolTask::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()))
                .orderByDesc(YwPatrolTask::getId)
        ;
        IPage<YwPatrolTask> iPage = ywPatrolTaskMapper.selectJoinPage(page,YwPatrolTask.class,queryWrapper);
        for (YwPatrolTask ywPatrolTask:iPage.getRecords()) {
            if((Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO) || Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ONE) ) &&
                    ywPatrolTask.getEndDate().getTime()<System.currentTimeMillis()){
                ywPatrolTask.setStatus(Constants.TWO);
            }
        }
        return PageData.from(iPage);
    }