From 52b61fce22f188e37a88c20740e005ff109637a7 Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期一, 17 八月 2026 15:02:27 +0800
Subject: [PATCH] dos: 新增表:mes_pro_task_pause_record

---
 yudao-module-mes/src/main/resources/mapper/pro/workorder/MesProWorkOrderMapper.xml |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/resources/mapper/pro/workorder/MesProWorkOrderMapper.xml b/yudao-module-mes/src/main/resources/mapper/pro/workorder/MesProWorkOrderMapper.xml
new file mode 100644
index 0000000..db118f3
--- /dev/null
+++ b/yudao-module-mes/src/main/resources/mapper/pro/workorder/MesProWorkOrderMapper.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.mes.dal.mysql.pro.workorder.MesProWorkOrderMapper">
+
+    <select id="selectSchedulePage" resultType="cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO">
+        SELECT
+            t.*
+        FROM
+            mes_pro_work_order t
+        <where>
+            t.deleted = 0
+            <if test="pageReqVO.code != null and pageReqVO.code != ''">
+                AND t.code LIKE CONCAT('%', #{pageReqVO.code}, '%')
+            </if>
+            <if test="pageReqVO.name != null and pageReqVO.name != ''">
+                AND t.name LIKE CONCAT('%', #{pageReqVO.name}, '%')
+            </if>
+            <if test="pageReqVO.type != null">
+                AND t.type = #{pageReqVO.type}
+            </if>
+            <if test="pageReqVO.orderSourceCode != null and pageReqVO.orderSourceCode != ''">
+                AND t.order_source_code LIKE CONCAT('%', #{pageReqVO.orderSourceCode}, '%')
+            </if>
+            <if test="pageReqVO.productId != null">
+                AND t.product_id = #{pageReqVO.productId}
+            </if>
+            <if test="pageReqVO.clientId != null">
+                AND t.client_id = #{pageReqVO.clientId}
+            </if>
+            <if test="pageReqVO.status != null">
+                AND t.status = #{pageReqVO.status}
+            </if>
+            <if test="pageReqVO.requestDate != null and pageReqVO.requestDate.length > 0">
+                AND t.request_date >= #{pageReqVO.requestDate[0]}
+                <if test="pageReqVO.requestDate.length > 1">
+                    AND t.request_date &lt;= #{pageReqVO.requestDate[1]}
+                </if>
+            </if>
+            
+            <if test="permittedClientIds != null">
+                <choose>
+                    <when test="permittedClientIds.size() > 0">
+                        AND (t.client_id IN
+                        <foreach collection="permittedClientIds" item="id" open="(" separator="," close=")">
+                            #{id}
+                        </foreach>
+                        OR t.client_id IS NULL)
+                    </when>
+                    <otherwise>
+                        AND 1 = 0
+                    </otherwise>
+                </choose>
+            </if>
+            
+            <if test="pageReqVO.scheduleStatus != null">
+                <choose>
+                    <!-- scheduleStatus: 1=宸插畬鎴� (宸ュ崟鐘舵��=4 鎴栬�� (鏈夊伐搴� 涓� 鎵�鏈夊伐搴忛兘鏈変换鍔� 涓� 鎵�鏈変换鍔″凡瀹屾垚)) -->
+                    <when test="pageReqVO.scheduleStatus == 1">
+                        AND (
+                            t.status = 2
+                            OR (
+                                t.status != 4
+                                AND EXISTS (SELECT 1 FROM mes_pro_work_order_process wp WHERE wp.work_order_id = t.id AND wp.deleted = 0)
+                                AND NOT EXISTS (
+                                    SELECT 1 FROM mes_pro_work_order_process wp 
+                                    WHERE wp.work_order_id = t.id AND wp.deleted = 0 
+                                    AND NOT EXISTS (
+                                        SELECT 1 FROM mes_pro_task task 
+                                        WHERE task.work_order_id = t.id AND task.process_id = wp.process_id AND task.deleted = 0
+                                    )
+                                )
+                                AND NOT EXISTS (
+                                    SELECT 1 FROM mes_pro_task task 
+                                    WHERE task.work_order_id = t.id AND task.deleted = 0 
+                                    AND IFNULL(task.produced_quantity, 0) &lt; IFNULL(task.quantity, 0)
+                                )
+                            )
+                        )
+                    </when>
+                    <!-- scheduleStatus: 0=鏈畬鎴� (宸ュ崟鐘舵��!=4 骞朵笖 (鏃犲伐搴� 鎴� 鏈夋煇宸ュ簭鏃犱换鍔� 鎴� 瀛樺湪鏈畬鎴愮殑浠诲姟)) -->
+                    <when test="pageReqVO.scheduleStatus == 0">
+                        AND (
+                            t.status in (1)
+                            AND (
+                                NOT EXISTS (SELECT 1 FROM mes_pro_work_order_process wp WHERE wp.work_order_id = t.id AND wp.deleted = 0)
+                                OR EXISTS (
+                                    SELECT 1 FROM mes_pro_work_order_process wp 
+                                    WHERE wp.work_order_id = t.id AND wp.deleted = 0 
+                                    AND NOT EXISTS (
+                                        SELECT 1 FROM mes_pro_task task 
+                                        WHERE task.work_order_id = t.id AND task.process_id = wp.process_id AND task.deleted = 0
+                                    )
+                                )
+                                OR EXISTS (
+                                    SELECT 1 FROM mes_pro_task task 
+                                    WHERE task.work_order_id = t.id AND task.deleted = 0 
+                                    AND IFNULL(task.produced_quantity, 0) &lt; IFNULL(task.quantity, 0)
+                                )
+                            )
+                        )
+                    </when>
+                </choose>
+            </if>
+        </where>
+        ORDER BY t.id DESC
+    </select>
+
+</mapper>

--
Gitblit v1.9.3