From c2ca0db5572b90d3ab8ff05dd8a82a308dd8bc42 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 16 四月 2024 17:51:05 +0800
Subject: [PATCH] 工单下发:选择下发、全部下发

---
 ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml                       |   14 +++++++
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java    |    6 +++
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java                  |    2 +
 ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java             |    6 +++
 ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java       |    6 +++
 ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java    |   25 +++++++-----
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   14 +++++++
 ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java               |    8 ++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java         |    2 
 ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java          |    8 ++++
 10 files changed, 80 insertions(+), 11 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
index 6a08556..4aca3dc 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
@@ -45,6 +45,6 @@
     /**
      * 鐘舵��
      */
-    private WorkOrderStatusEnum status = WorkOrderStatusEnum.DISTRIBUTED;
+    private WorkOrderStatusEnum status;
 }
 
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java
index 1fb5c07..ac8c3f2 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwUnitVO.java
@@ -37,6 +37,8 @@
     @Excel(name = "澶囨敞")
     private String remark;
 
+    private Integer workOrderCount;
+
     public static YwUnitVO getVoByEntity(@NonNull YwUnit entity, YwUnitVO vo) {
         if(vo == null) {
             vo = new YwUnitVO();
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
index f500572..ad73c5b 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -2,21 +2,20 @@
 
 import com.ycl.platform.domain.form.*;
 import com.ycl.platform.domain.query.DistributeWorkOrderQuery;
+import com.ycl.platform.domain.query.WorkOrderQuery;
 import com.ycl.platform.domain.vo.DistributeWorkOrderVO;
-import com.ycl.system.domain.group.Update;
-import com.ycl.system.domain.group.Add;
-import org.springframework.validation.annotation.Validated;
-import lombok.RequiredArgsConstructor;
-import java.util.List;
-import org.springframework.validation.annotation.Validated;
-import jakarta.validation.constraints.NotEmpty;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 import com.ycl.platform.service.WorkOrderService;
 import com.ycl.system.Result;
-import com.ycl.platform.domain.query.WorkOrderQuery;
+import com.ycl.system.domain.group.Add;
+import com.ycl.system.domain.group.Update;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import jakarta.validation.constraints.NotEmpty;
 import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * 宸ュ崟 鍓嶇鎺у埗鍣�
@@ -117,6 +116,12 @@
         return workOrderService.distributeFast(data);
     }
 
+    @PostMapping("/distribute/ids")
+    @ApiOperation(value = "涓嬪彂閫夋嫨", notes = "涓嬪彂閫夋嫨")
+    public Result selectedIdsDistribute(@RequestBody List<Integer> ids) {
+        return workOrderService.selectedIdsDistribute(ids);
+    }
+
     @GetMapping("/{id}")
     @ApiOperation(value = "璇︽儏", notes = "璇︽儏")
     public Result detail(@PathVariable("id") String id) {
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java b/ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java
index 0c01b88..40e2f3b 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java
@@ -75,6 +75,12 @@
         return ywUnitService.all();
     }
 
+    @GetMapping("/work/list")
+    @ApiOperation(value = "宸ュ崟鍒楄〃", notes = "宸ュ崟鍒楄〃")
+    public Result workList() {
+        return ywUnitService.workList();
+    }
+
     @PostMapping("/export")
     public void export(HttpServletResponse response, YwUnitQuery query)
     {
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
index 6211cd2..7f39ba0 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
@@ -4,7 +4,10 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 import com.ycl.platform.domain.entity.YwUnit;
+import com.ycl.platform.domain.vo.YwUnitVO;
 import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
 
 /**
  * 杩愮淮鍗曚綅 Mapper 鎺ュ彛
@@ -15,4 +18,9 @@
 @Mapper
 public interface YwUnitMapper extends BaseMapper<YwUnit> {
 
+    /**
+     * 杩愮淮鍗曚綅鍒楄〃缁熻
+     * @return 鏁版嵁
+     */
+    List<YwUnitVO> workList();
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
index b317f2b..5fa0fbb 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -127,4 +127,12 @@
      * @return 宸ュ崟杩愮淮瀹℃牳璁板綍
      */
     Result selectYwAuditingListByYwId(String id);
+
+    /**
+     * 鎵归噺涓嬪彂
+     * @param ids id
+     * @return 缁撴灉
+     */
+    Result selectedIdsDistribute(List<Integer> ids);
+
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
index ebb3a0f..2495bb6 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
@@ -73,4 +73,10 @@
      * @return
      */
     List<YwUnitVO> export(YwUnitQuery query);
+
+    /**
+     * 鍒楄〃
+     * @return
+     */
+    Result workList();
 }
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 a9cf0ec..992da03 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
@@ -13,6 +13,8 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.platform.domain.vo.WorkOrderVO;
 import com.ycl.platform.domain.query.WorkOrderQuery;
+
+import java.util.Arrays;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -22,6 +24,7 @@
 import enumeration.general.FastDistributeTypeEnum;
 import enumeration.general.NotifyTypeEnum;
 import enumeration.general.WorkOrderStatusEnum;
+import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.BeanUtils;
 import org.springframework.transaction.annotation.Transactional;
@@ -271,6 +274,17 @@
         return Result.ok("鎿嶄綔鎴愬姛");
     }
 
+    @Override
+    public Result selectedIdsDistribute(List<Integer> ids) {
+        new LambdaUpdateChainWrapper<>(baseMapper)
+                .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED)
+                .in(ArrayUtils.isNotEmpty(ids.toArray()), WorkOrder::getId, ids)
+                .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
+                // .eq(WorkOrder::getDeleted, 0)
+                .update();
+        return Result.ok("鎿嶄綔鎴愬姛");
+    }
+
     /**
      * 鏍规嵁id鏌ユ壘
      * @param id
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
index c91c0e6..a0fb489 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -211,6 +211,12 @@
     }
 
     @Override
+    public Result workList() {
+        List<YwUnitVO> entities = baseMapper.workList();
+        return Result.ok().data(entities);
+    }
+
+    @Override
     public List<YwUnitVO> export(YwUnitQuery query) {
         // 鍒嗛〉鏉′欢鏌ヨ浣�
         IPage<YwUnit> page = new LambdaQueryChainWrapper<>(baseMapper)
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
index 5c7434a..7908573 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
@@ -33,6 +33,20 @@
         where id = #{id}
     </select>
 
+    <select id="workList" resultType="com.ycl.platform.domain.vo.YwUnitVO">
+        SELECT
+            a.*,
+            COUNT(b.id) AS work_order_count
+        FROM
+            t_yw_unit a
+                LEFT JOIN
+            t_work_order b ON a.id = b.unit_id AND b.deleted = 0 AND b.status = 'WAIT_DISTRIBUTE'
+        WHERE
+            a.deleted = 0
+        GROUP BY
+            a.id;
+    </select>
+
     <insert id="insertYwUnit" parameterType="YwUnit" useGeneratedKeys="true" keyProperty="id">
         insert into t_yw_unit
         <trim prefix="(" suffix=")" suffixOverrides=",">

--
Gitblit v1.8.0