xiangpei
2024-08-01 fbc21cce86582464cc0f65e80862e54dbd034baa
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -9,9 +9,12 @@
import com.ycl.platform.domain.entity.*;
import com.ycl.platform.domain.form.*;
import com.ycl.platform.domain.query.DistributeWorkOrderQuery;
import com.ycl.platform.domain.query.ScreenQuery;
import com.ycl.platform.domain.query.WorkOrderQuery;
import com.ycl.platform.domain.vo.DistributeWorkOrderVO;
import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO;
import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
import com.ycl.platform.mapper.*;
import com.ycl.platform.service.NotifyService;
import com.ycl.platform.service.WorkOrderAuditingRecordService;
@@ -22,15 +25,14 @@
import com.ycl.utils.DateUtils;
import com.ycl.utils.SecurityUtils;
import com.ycl.utils.redis.RedisCache;
import com.ycl.utils.uuid.IdUtils;
import enumeration.general.*;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
@@ -38,7 +40,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -61,6 +62,7 @@
    private final WorkOrderDistributeRecordMapper workOrderDistributeRecordMapper;
    private final String DISTRIBUTE_LOCK_KEY = "distributeLock";
    private final static String IMPORTANT = "important";
    @Autowired
    private RedisCache redisCache;
@@ -73,10 +75,9 @@
    @Override
    public Result add(WorkOrderForm form) {
        WorkOrder entity = WorkOrderForm.getEntityByForm(form, null);
        entity.setWorkOrderNo(DateUtils.dateTimeNow());
        entity.setWorkOrderNo(IdUtils.timeAddRandomNO(5));
        entity.setCreateTime(DateUtils.getNowDate());
        entity.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE);
        entity.setDeleted("0");
        if(baseMapper.insert(entity) > 0) {
            return Result.ok("添加成功");
        }
@@ -191,21 +192,9 @@
    }
    @Override
    public Result selectYwConditionByYwId(String id) {
        return Result.ok().data(
                new LambdaQueryChainWrapper<>(workOrderYwConditionRecordMapper)
                        .eq(WorkOrderYwConditionRecord::getWorkOrderId, id)
                        .orderByAsc(WorkOrderYwConditionRecord::getCreateTime)
                        .list());
    }
    @Override
    public Result selectYwConditionListByYwId(String id) {
        return Result.ok().data(
                new LambdaQueryChainWrapper<>(workOrderYwConditionRecordMapper)
                        .eq(WorkOrderYwConditionRecord::getWorkOrderId, id)
                        .orderByAsc(WorkOrderYwConditionRecord::getCreateTime)
                        .list());
    public Result selectYwConditionByYwId(Integer id) {
        List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(id);
        return Result.ok().data(ywConditionList);
    }
    @Override
@@ -268,8 +257,12 @@
    @Override
    public Result distributePage(DistributeWorkOrderQuery query) {
        IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
        // todo 关键词搜索
        baseMapper.distributePage(page, query);
        page.getRecords().stream().forEach(workOrder -> {
            if (StringUtils.hasText(workOrder.getPointTag()) && workOrder.getPointTag().contains(IMPORTANT)) {
                workOrder.setImportant(Boolean.TRUE);
            }
        });
        return Result.ok().data(page).total(page.getTotal());
    }
@@ -424,4 +417,10 @@
                .collect(Collectors.toList());
        return Result.ok().data(vos);
    }
    @Override
    public Result screenWorkOrder(ScreenQuery query) {
        ScreenWorkOrderVO screen = baseMapper.screenWorkOrder(query);
        return Result.ok().data(screen);
    }
}