mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-14 05:42:06 +08:00
订单管理、未排订单、分堆打包支持条件过滤作用到子单 mycat环境异常修复
This commit is contained in:
+1
-3
@@ -41,15 +41,13 @@ public interface PlanItemMapper extends BaseMapperX<PlanItemDO> {
|
|||||||
/**
|
/**
|
||||||
* 未排单子单查询
|
* 未排单子单查询
|
||||||
*
|
*
|
||||||
* @param page
|
|
||||||
* @param wrapper
|
* @param wrapper
|
||||||
* @param type
|
* @param type
|
||||||
* @param orderGoodsIds 商品id列表
|
* @param orderGoodsIds 商品id列表
|
||||||
* @param orderIds 父级订单数组
|
* @param orderIds 父级订单数组
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
IPage<OrderRespVOCopy> selectOrderChildList(@Param("page") IPage<OrderRespVOCopy> page,
|
List<OrderRespVOCopy> selectOrderChildList(@Param(Constants.WRAPPER) Wrapper<OrderDO> wrapper,
|
||||||
@Param(Constants.WRAPPER) Wrapper<OrderDO> wrapper,
|
|
||||||
@Param("type") int type,
|
@Param("type") int type,
|
||||||
@Param("orderGoodsIds") List<Long> orderGoodsIds,
|
@Param("orderGoodsIds") List<Long> orderGoodsIds,
|
||||||
@Param("orderIds") Long... orderIds);
|
@Param("orderIds") Long... orderIds);
|
||||||
|
|||||||
+1
-4
@@ -573,10 +573,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
if (CollUtil.isNotEmpty(mainOrderList)) {
|
if (CollUtil.isNotEmpty(mainOrderList)) {
|
||||||
// 主单id列表
|
// 主单id列表
|
||||||
Long[] mainOrderIds = mainOrderList.stream().map(OrderRespVOCopy::getOrderId).toArray(Long[]::new);
|
Long[] mainOrderIds = mainOrderList.stream().map(OrderRespVOCopy::getOrderId).toArray(Long[]::new);
|
||||||
PageDTO<OrderRespVOCopy> childPage = new PageDTO<>(pageReqVO.getPageNo(), PageParam.PAGE_SIZE_NONE);
|
List<OrderRespVOCopy> childList = planItemMapper.selectOrderChildList(queryWrapperX, type, orderGoodsIds, mainOrderIds);
|
||||||
IPage<OrderRespVOCopy> childOrderList = planItemMapper.selectOrderChildList(childPage, queryWrapperX, type, orderGoodsIds, mainOrderIds);
|
|
||||||
|
|
||||||
List<OrderRespVOCopy> childList = childOrderList.getRecords();
|
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(childList)) {
|
if (CollUtil.isNotEmpty(childList)) {
|
||||||
// 按 parentId 分组
|
// 按 parentId 分组
|
||||||
|
|||||||
+48
-24
@@ -29,17 +29,22 @@
|
|||||||
|
|
||||||
|
|
||||||
<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 *
|
|
||||||
FROM orders o
|
|
||||||
WHERE o.parent_id = 0
|
|
||||||
AND o.id IN (
|
|
||||||
|
|
||||||
SELECT DISTINCT
|
SELECT
|
||||||
CASE
|
o.*
|
||||||
WHEN t.parent_id = 0 THEN t.id
|
|
||||||
ELSE t.parent_id
|
FROM orders o
|
||||||
END AS root_id
|
|
||||||
|
JOIN (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
root_id
|
||||||
|
FROM (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
IF(t.parent_id = 0, t.id, t.parent_id) AS root_id
|
||||||
FROM orders t
|
FROM orders t
|
||||||
|
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
|
|
||||||
<if test="reqVO.id != null and reqVO.id != ''">
|
<if test="reqVO.id != null and reqVO.id != ''">
|
||||||
@@ -124,7 +129,15 @@
|
|||||||
|
|
||||||
AND t.deleted = #{reqVO.deleted}
|
AND t.deleted = #{reqVO.deleted}
|
||||||
|
|
||||||
)
|
) tmp
|
||||||
|
|
||||||
|
GROUP BY root_id
|
||||||
|
|
||||||
|
) root_order
|
||||||
|
|
||||||
|
ON root_order.root_id = o.id
|
||||||
|
|
||||||
|
WHERE o.parent_id = 0
|
||||||
|
|
||||||
<choose>
|
<choose>
|
||||||
|
|
||||||
@@ -197,6 +210,7 @@
|
|||||||
</otherwise>
|
</otherwise>
|
||||||
|
|
||||||
</choose>
|
</choose>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectChildList"
|
<select id="selectChildList"
|
||||||
@@ -812,7 +826,6 @@
|
|||||||
|
|
||||||
<select id="selectPackOrderList" resultMap="PackMap" parameterType="map">
|
<select id="selectPackOrderList" resultMap="PackMap" parameterType="map">
|
||||||
|
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
o.id,
|
o.id,
|
||||||
o.order_type AS orderType,
|
o.order_type AS orderType,
|
||||||
@@ -836,14 +849,14 @@
|
|||||||
|
|
||||||
FROM orders o
|
FROM orders o
|
||||||
|
|
||||||
WHERE o.id IN (
|
JOIN (
|
||||||
|
|
||||||
SELECT DISTINCT
|
SELECT
|
||||||
|
root_id
|
||||||
|
FROM (
|
||||||
|
|
||||||
CASE
|
SELECT
|
||||||
WHEN x.parent_id = 0 THEN x.id
|
IF(x.parent_id = 0, x.id, x.parent_id) AS root_id
|
||||||
ELSE x.parent_id
|
|
||||||
END
|
|
||||||
|
|
||||||
FROM orders x
|
FROM orders x
|
||||||
|
|
||||||
@@ -856,7 +869,8 @@
|
|||||||
AND x.status IN (1,2,3,4)
|
AND x.status IN (1,2,3,4)
|
||||||
|
|
||||||
<if test="pageReqVO.orderId != null and pageReqVO.orderId != ''">
|
<if test="pageReqVO.orderId != null and pageReqVO.orderId != ''">
|
||||||
AND CAST(x.id AS CHAR) LIKE CONCAT('%', #{pageReqVO.orderId}, '%')
|
AND CAST(x.id AS CHAR)
|
||||||
|
LIKE CONCAT('%', #{pageReqVO.orderId}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="pageReqVO.status != null">
|
<if test="pageReqVO.status != null">
|
||||||
@@ -864,26 +878,36 @@
|
|||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="pageReqVO.customOrderNo != null and pageReqVO.customOrderNo != ''">
|
<if test="pageReqVO.customOrderNo != null and pageReqVO.customOrderNo != ''">
|
||||||
AND x.custom_order_no LIKE CONCAT('%', #{pageReqVO.customOrderNo}, '%')
|
AND x.custom_order_no
|
||||||
|
LIKE CONCAT('%', #{pageReqVO.customOrderNo}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="pageReqVO.customer != null and pageReqVO.customer != ''">
|
<if test="pageReqVO.customer != null and pageReqVO.customer != ''">
|
||||||
AND x.customer LIKE CONCAT('%', #{pageReqVO.customer}, '%')
|
AND x.customer
|
||||||
|
LIKE CONCAT('%', #{pageReqVO.customer}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="pageReqVO.address != null and pageReqVO.address != ''">
|
<if test="pageReqVO.address != null and pageReqVO.address != ''">
|
||||||
AND x.address LIKE CONCAT('%', #{pageReqVO.address}, '%')
|
AND x.address
|
||||||
|
LIKE CONCAT('%', #{pageReqVO.address}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="pageReqVO.dealer != null and pageReqVO.dealer != ''">
|
<if test="pageReqVO.dealer != null and pageReqVO.dealer != ''">
|
||||||
AND x.dealer LIKE CONCAT('%', #{pageReqVO.dealer}, '%')
|
AND x.dealer
|
||||||
|
LIKE CONCAT('%', #{pageReqVO.dealer}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
)
|
) tmp
|
||||||
|
|
||||||
AND o.parent_id = 0
|
GROUP BY root_id
|
||||||
|
|
||||||
|
) root_order
|
||||||
|
|
||||||
|
ON root_order.root_id = o.id
|
||||||
|
|
||||||
|
WHERE o.parent_id = 0
|
||||||
|
|
||||||
ORDER BY o.create_time DESC
|
ORDER BY o.create_time DESC
|
||||||
|
|
||||||
|
|||||||
+34
-10
@@ -19,6 +19,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="selectOrderList" resultMap="OrderPageMap">
|
<select id="selectOrderList" resultMap="OrderPageMap">
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
o.id AS orderId,
|
o.id AS orderId,
|
||||||
|
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
SUM(og.plate_num - og.planned_plate_num) AS num,
|
SUM(og.plate_num - og.planned_plate_num) AS num,
|
||||||
SUM(og.area - og.planned_plate_area) AS area
|
SUM(og.area - og.planned_plate_area) AS area
|
||||||
FROM order_goods og
|
FROM order_goods og
|
||||||
|
|
||||||
WHERE og.plate_num - og.planned_plate_num > 0
|
WHERE og.plate_num - og.planned_plate_num > 0
|
||||||
|
|
||||||
<if test="orderGoodsIds != null and orderGoodsIds.size() > 0">
|
<if test="orderGoodsIds != null and orderGoodsIds.size() > 0">
|
||||||
@@ -70,22 +72,44 @@
|
|||||||
|
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
WHERE o.id IN (
|
JOIN (
|
||||||
|
|
||||||
SELECT DISTINCT
|
SELECT
|
||||||
|
root_id
|
||||||
|
FROM (
|
||||||
|
|
||||||
CASE
|
SELECT
|
||||||
WHEN x.parent_id = 0 THEN x.id
|
IF(x.parent_id = 0, x.id, x.parent_id) AS root_id
|
||||||
ELSE x.parent_id
|
|
||||||
END
|
|
||||||
|
|
||||||
FROM orders x
|
FROM orders x
|
||||||
|
|
||||||
${ew.customSqlSegment.replace('o.', 'x.')}
|
<choose>
|
||||||
and IFNULL(x.plate_num,0) - IFNULL(x.planned_plate_num,0) > 0
|
|
||||||
)
|
|
||||||
|
|
||||||
AND o.parent_id = 0
|
<when test="ew != null and ew.customSqlSegment != null and ew.customSqlSegment != ''">
|
||||||
|
|
||||||
|
${ew.customSqlSegment.replace('o.', 'x.')}
|
||||||
|
|
||||||
|
AND IFNULL(x.plate_num,0) - IFNULL(x.planned_plate_num,0) > 0
|
||||||
|
|
||||||
|
</when>
|
||||||
|
|
||||||
|
<otherwise>
|
||||||
|
|
||||||
|
WHERE IFNULL(x.plate_num,0) - IFNULL(x.planned_plate_num,0) > 0
|
||||||
|
|
||||||
|
</otherwise>
|
||||||
|
|
||||||
|
</choose>
|
||||||
|
|
||||||
|
) tmp
|
||||||
|
|
||||||
|
GROUP BY root_id
|
||||||
|
|
||||||
|
) root_order
|
||||||
|
|
||||||
|
ON root_order.root_id = o.id
|
||||||
|
|
||||||
|
WHERE o.parent_id = 0
|
||||||
|
|
||||||
AND IFNULL(o.plate_num,0) - IFNULL(o.planned_plate_num,0) > 0
|
AND IFNULL(o.plate_num,0) - IFNULL(o.planned_plate_num,0) > 0
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user