1、禅道bug#1595修复;2、订单分页接口增加部件状态过滤mycat环境异常修复;

This commit is contained in:
gaoqr
2026-06-01 15:40:00 +08:00
parent c3e3cfd898
commit d6c51bc220
2 changed files with 28 additions and 50 deletions
@@ -1848,8 +1848,14 @@ public class PlanServiceImpl implements PlanService {
.set(OrderDO::getVersion, version + 1); .set(OrderDO::getVersion, version + 1);
Integer orderDOStatus = orderDO.getStatus(); Integer orderDOStatus = orderDO.getStatus();
// 更新订单排单状态 // 更新订单排单状态
if (ObjectUtil.equals(orderDOStatus, OrderStatusEnum.SORTED.getStatus())) { if (ObjectUtil.equals(orderDOStatus, OrderStatusEnum.NEW_ORDER.getStatus())) {
// 如果订单下已经没有排单板件,更新订单为新单 // 如果订单下已经没有排单板件,更新订单为新单
if (num > 0) {
updateWrapper.set(OrderDO::getStatus, OrderStatusEnum.SORTED.getStatus());
}
}
// 如果订单下已经没有排单板件,更新订单为新单
if (ObjectUtil.equals(orderDOStatus, OrderStatusEnum.SORTED.getStatus())) {
if (num == 0) { if (num == 0) {
updateWrapper.set(OrderDO::getStatus, OrderStatusEnum.NEW_ORDER.getStatus()); updateWrapper.set(OrderDO::getStatus, OrderStatusEnum.NEW_ORDER.getStatus());
} }
@@ -1859,6 +1865,9 @@ public class PlanServiceImpl implements PlanService {
throw new ServiceException(ErrorCodeConstants.CREATE_PLAN_ORDER_UPDATE_CONCURRENCY_ERROR, orderId); throw new ServiceException(ErrorCodeConstants.CREATE_PLAN_ORDER_UPDATE_CONCURRENCY_ERROR, orderId);
} }
} }
// if (1 == 1) {
// throw new ServiceException(null);
// }
} }
/** /**
@@ -30,23 +30,25 @@
<select id="selectMainPage" resultType="com.cf.imes.module.executor.dal.dataobject.order.OrderDO"> <select id="selectMainPage" resultType="com.cf.imes.module.executor.dal.dataobject.order.OrderDO">
SELECT SELECT o.*
o.*
FROM orders o FROM orders o
JOIN ( JOIN (
SELECT DISTINCT
SELECT
root_id
FROM (
SELECT
IF(t.parent_id = 0, t.id, t.parent_id) AS root_id IF(t.parent_id = 0, t.id, t.parent_id) AS root_id
FROM orders t FROM orders t
<!-- ✅ 只有需要 processStatus 才 join oc -->
<if test="reqVO.processStatus != null">
JOIN order_component oc
ON oc.order_id = t.id
AND oc.deleted = 0
AND oc.pid = 0
AND oc.organ_id = 1
</if>
WHERE 1 = 1 WHERE 1 = 1
<!-- ===== 订单条件 ===== -->
<if test="reqVO.id != null and reqVO.id != ''"> <if test="reqVO.id != null and reqVO.id != ''">
AND CAST(t.id AS CHAR) LIKE CONCAT('%', #{reqVO.id}, '%') AND CAST(t.id AS CHAR) LIKE CONCAT('%', #{reqVO.id}, '%')
</if> </if>
@@ -127,69 +129,36 @@
AND t.create_time BETWEEN #{reqVO.createTime[0]} AND #{reqVO.createTime[1]} AND t.create_time BETWEEN #{reqVO.createTime[0]} AND #{reqVO.createTime[1]}
</if> </if>
<!-- 部件装配状态过滤(单选):加在子订单的过滤条件中 --> <!-- ===== 只有存在 processStatus 才加过滤 ===== -->
<if test="reqVO.processStatus != null"> <if test="reqVO.processStatus != null">
<choose> <choose>
<!-- 0. 不加工 -->
<when test="reqVO.processStatus == 0"> <when test="reqVO.processStatus == 0">
AND EXISTS (
SELECT 1
FROM order_component oc
WHERE oc.order_id = t.id
AND oc.deleted = 0
AND oc.pid = 0
AND oc.extra_process_status = 0 AND oc.extra_process_status = 0
)
</when> </when>
<!-- 1. 未加工 -->
<when test="reqVO.processStatus == 1"> <when test="reqVO.processStatus == 1">
AND EXISTS (
SELECT 1
FROM order_component oc
WHERE oc.order_id = t.id
AND oc.deleted = 0
AND oc.pid = 0
AND oc.process_status = 1 AND oc.process_status = 1
AND oc.extra_process_status IS NULL AND oc.extra_process_status IS NULL
)
</when> </when>
<!-- 2. 已加工 -->
<when test="reqVO.processStatus == 2"> <when test="reqVO.processStatus == 2">
AND EXISTS (
SELECT 1
FROM order_component oc
WHERE oc.order_id = t.id
AND oc.deleted = 0
AND oc.pid = 0
AND oc.process_status = 2 AND oc.process_status = 2
)
</when> </when>
<!-- 3. 部分加工 -->
<when test="reqVO.processStatus == 3"> <when test="reqVO.processStatus == 3">
AND EXISTS (
SELECT 1
FROM order_component oc
WHERE oc.order_id = t.id
AND oc.deleted = 0
AND oc.pid = 0
AND oc.extra_process_status = 3 AND oc.extra_process_status = 3
)
</when> </when>
</choose> </choose>
</if> </if>
AND t.deleted = #{reqVO.deleted} AND t.deleted = #{reqVO.deleted}
) tmp ) tmp
ON tmp.root_id = o.id
GROUP BY root_id
) root_order
ON root_order.root_id = o.id
WHERE o.parent_id = 0 WHERE o.parent_id = 0