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);
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) {
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);
}
}
// 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
o.*
SELECT o.*
FROM orders o
JOIN (
SELECT
root_id
FROM (
SELECT
SELECT DISTINCT
IF(t.parent_id = 0, t.id, t.parent_id) AS root_id
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
<!-- ===== 订单条件 ===== -->
<if test="reqVO.id != null and reqVO.id != ''">
AND CAST(t.id AS CHAR) LIKE CONCAT('%', #{reqVO.id}, '%')
</if>
@@ -127,69 +129,36 @@
AND t.create_time BETWEEN #{reqVO.createTime[0]} AND #{reqVO.createTime[1]}
</if>
<!-- 部件装配状态过滤(单选):加在子订单的过滤条件中 -->
<!-- ===== 只有存在 processStatus 才加过滤 ===== -->
<if test="reqVO.processStatus != null">
<choose>
<!-- 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
)
</when>
<!-- 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.extra_process_status IS NULL
)
</when>
<!-- 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
)
</when>
<!-- 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
)
</when>
</choose>
</if>
AND t.deleted = #{reqVO.deleted}
) tmp
GROUP BY root_id
) root_order
ON root_order.root_id = o.id
ON tmp.root_id = o.id
WHERE o.parent_id = 0