From 10df3eebf12aa53fe2f66af2dc75fcd0ef12251c Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 13 三月 2024 09:21:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   89 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 83 insertions(+), 6 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index b0ef736..607e09a 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -1,27 +1,31 @@
 package com.ycl.platform.service.impl;
 
-import com.ycl.platform.domain.entity.WorkOrder;
-import com.ycl.platform.mapper.WorkOrderMapper;
+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 org.apache.commons.lang3.StringUtils;
+
 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;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 import java.util.ArrayList;
+import java.util.Objects;
 import java.util.stream.Collectors;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import lombok.RequiredArgsConstructor;
+import org.springframework.util.StringUtils;
 
 /**
  * 宸ュ崟 鏈嶅姟瀹炵幇绫�
@@ -34,6 +38,11 @@
 public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
 
     private final WorkOrderMapper workOrderMapper;
+    private final YwUnitMapper ywUnitMapper;
+    private final YwPeopleMapper ywPeopleMapper;
+    private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper;
+    private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper;
+
 
     /**
      * 娣诲姞
@@ -66,6 +75,59 @@
             return Result.ok("淇敼鎴愬姛");
         }
         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;
     }
 
     /**
@@ -101,14 +163,29 @@
      */
     @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,
+                        DateUtils.getDayStart(query.getStart()),
+                        DateUtils.getDayEnd(query.getEnd()))
                 .orderByDesc(WorkOrder::getCreateTime)
                 .page(PageUtil.getPage(query, WorkOrder.class));
 
         List<WorkOrderVO> vos = page.getRecords().stream()
                 .map(
-                        entity -> WorkOrderVO.getVoByEntity(entity, null)
+                        entity -> {
+                            WorkOrderVO vo = WorkOrderVO.getVoByEntity(entity, null);
+                            YwUnit unit = ywUnitMapper.selectById(vo.getUnitId());
+                            if (Objects.nonNull(unit)) {
+                                vo.setUnitName(unit.getUnitName());
+                            }
+                            YwPeople ywPeople = ywPeopleMapper.selectById(vo.getYwPeopleId());
+                            if (Objects.nonNull(ywPeople)) {
+                                vo.setYwPeopleName(ywPeople.getYwPersonName());
+                            }
+                            return vo;
+                        }
                 )
                 .collect(Collectors.toList());
         return Result.ok().data(vos).total(page.getTotal());

--
Gitblit v1.8.0