xiangpei
2024-03-13 10df3eebf12aa53fe2f66af2dc75fcd0ef12251c
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -1,21 +1,19 @@
package com.ycl.platform.service.impl;
import com.ycl.platform.domain.entity.WorkOrder;
import com.ycl.platform.domain.entity.YwPeople;
import com.ycl.platform.domain.entity.YwUnit;
import com.ycl.platform.mapper.WorkOrderMapper;
import com.ycl.platform.mapper.YwPeopleMapper;
import com.ycl.platform.mapper.YwUnitMapper;
import com.ycl.exception.ServiceException;
import com.ycl.platform.domain.entity.*;
import com.ycl.platform.domain.form.*;
import com.ycl.platform.mapper.*;
import com.ycl.platform.service.WorkOrderService;
import com.ycl.system.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.form.WorkOrderForm;
import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.domain.query.WorkOrderQuery;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.system.page.PageUtil;
import com.ycl.utils.DateUtils;
import org.springframework.stereotype.Service;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.beans.BeanUtils;
@@ -42,6 +40,8 @@
    private final WorkOrderMapper workOrderMapper;
    private final YwUnitMapper ywUnitMapper;
    private final YwPeopleMapper ywPeopleMapper;
    private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper;
    private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper;
    /**
@@ -77,6 +77,59 @@
        return Result.error("修改失败");
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result auditing(WorkOrderAuditingForm form) {
        WorkOrder workOrder = baseMapper.selectById(form.getId());
        if (Objects.isNull(workOrder)) {
            throw new ServiceException("工单不存在");
        }
        // 工单状态
        if ("pass".equals(form.getAuditingResult())) {
            workOrder.setStatus("finish");
        } else {
            workOrder.setStatus("auditing");
        }
        baseMapper.updateById(workOrder);
        // 添加一条审核记录
        WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord();
        workOrderAuditingRecord.setWorkOrderId(workOrder.getId());
        workOrderAuditingRecord.setAuditingUser(1);
        workOrderAuditingRecord.setResult(form.getAuditingResult());
        workOrderAuditingRecord.setRemark(form.getAuditingRemark());
        workOrderAuditingRecordMapper.insert(workOrderAuditingRecord);
        return Result.ok("操作成功");
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result ywCondition(WorkOrderYWConditionForm form) {
        WorkOrder workOrder = baseMapper.selectById(form.getId());
        if (Objects.isNull(workOrder)) {
            throw new ServiceException("工单不存在");
        }
        // 工单状态
        workOrder.setStatus("commit-condition");
        baseMapper.updateById(workOrder);
        // 添加一条运维情况记录
        WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord();
        workOrderYwConditionRecord.setWorkOrderId(workOrder.getId());
        workOrderYwConditionRecord.setCommitUser(1);
        workOrderYwConditionRecord.setYwCondition(form.getYwCondition());
        workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord);
        return Result.ok("操作成功");
    }
    @Override
    public Result ywResult(WorkOrderYWResultForm form) {
        return null;
    }
    @Override
    public Result checkResult(WorkOrderCheckResultForm form) {
        return null;
    }
    /**
     * 批量删除
     * @param ids
@@ -110,10 +163,12 @@
     */
    @Override
    public Result page(WorkOrderQuery query) {
        IPage<WorkOrder> page = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(StringUtils.hasText(query.getWorkOrderNo()), WorkOrder::getWorkOrderNo, query.getWorkOrderNo())
                .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()),WorkOrder::getYwHandleTime, query.getStart(), query.getEnd())
                .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()),
                        WorkOrder::getYwHandleTime,
                        DateUtils.getDayStart(query.getStart()),
                        DateUtils.getDayEnd(query.getEnd()))
                .orderByDesc(WorkOrder::getCreateTime)
                .page(PageUtil.getPage(query, WorkOrder.class));