From 7fba202f59f6a663132bde8bffd5c933884e1d8b Mon Sep 17 00:00:00 2001 From: lym <1994302445@qq.com> Date: Mon, 2 Sep 2024 17:37:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=8D=95=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/order/OrderController.java | 5 +- .../executor/dal/mysql/order/OrderMapper.java | 4 +- .../dal/mysql/orderBody/OrderBodyMapper.java | 5 +- .../mysql/orderGroup/OrderGroupMapper.java | 24 +++- .../mysql/orderParts/OrderPartsMapper.java | 2 +- .../executor/dal/mysql/plate/PlateMapper.java | 5 +- .../executor/service/order/OrderService.java | 3 +- .../service/order/OrderServiceImpl.java | 104 +++++++++--------- .../resources/mapper/order/OrderMapper.xml | 15 +-- .../mapper/orderParts/OrderPartsMapper.xml | 17 ++- .../resources/mapper/plate/PlateMapper.xml | 19 ++-- 11 files changed, 106 insertions(+), 97 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index ab9164f8c..7f29d5344 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -2,6 +2,7 @@ package com.cf.imes.module.executor.controller.admin.order; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; +import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.framework.web.config.WebProperties; import com.cf.imes.module.executor.controller.admin.order.vo.order.*; @@ -411,8 +412,8 @@ public class OrderController { @GetMapping("/getOrderWarn") @Operation(summary = "生产单超期/到期告警 (工作台)") @PreAuthorize("@ss.hasPermission('productManager:List')") - public CommonResult>> getOrderOverdue() { - return success(orderService.getOrderWarn()); + public CommonResult>> getOrderOverdue(@Valid PageParam pageParam) { + return success(orderService.getOrderWarn(pageParam)); } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index a015267b6..0b3c344de 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -147,10 +147,10 @@ public interface OrderMapper extends BaseMapperX { IPage selectOrderIds(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); // 生产单预警统计 - List selectOrderNear(@Param("orderDate") LocalDate orderDate, @Param("organId") Long organId); + IPage selectOrderNear(@Param("orderDate") LocalDate orderDate, @Param("organId") Long organId, @Param("page") IPage page); // 生产单逾期统计 - List selectOrderOverdue(@Param("today") LocalDate today, @Param("organId") Long organId); + IPage selectOrderOverdue(@Param("today") LocalDate today, @Param("organId") Long organId, @Param("page") IPage page); /** * 生产单数量统计 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderBody/OrderBodyMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderBody/OrderBodyMapper.java index 2d20bd53a..5a2ef5d79 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderBody/OrderBodyMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderBody/OrderBodyMapper.java @@ -46,10 +46,10 @@ public interface OrderBodyMapper extends BaseMapperX { } // 单个修改删除状态 by id - default int updateDeletedById(Long id, Integer deleted, Long organId, Long orderId) { + default int updateDeletedById(Collection ids, Integer deleted, Long organId, Long orderId) { return update(new LambdaUpdateWrapper() .set(OrderBodyDO::getDeleted, deleted) - .eq(OrderBodyDO::getId, id) + .in(OrderBodyDO::getId, ids) .eq(OrderBodyDO::getOrganId, organId) .eq(OrderBodyDO::getOrderId, orderId)); } @@ -119,6 +119,7 @@ public interface OrderBodyMapper extends BaseMapperX { .eq(OrderBodyDO::getOrganId, organId) .eqIfPresent(OrderBodyDO::getOrderId, orderId)); } + // 批量删除 default int deleteBatch(Collection orderId) { return delete(new LambdaQueryWrapperX() diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderGroup/OrderGroupMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderGroup/OrderGroupMapper.java index 489387b43..23fc88e06 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderGroup/OrderGroupMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderGroup/OrderGroupMapper.java @@ -40,12 +40,15 @@ public interface OrderGroupMapper extends BaseMapperX { } // 单个修改删除状态 by bodyId - default int updateDeletedById(Long id, Integer deleted, Long organId, Long orderId) { - return update(new LambdaUpdateWrapper() - .set(OrderGroupDO::getDeleted, deleted) - .eq(OrderGroupDO::getBodyId, id) - .eq(OrderGroupDO::getOrganId, organId) - .eq(OrderGroupDO::getOrderId, orderId)); + default int updateDeletedById(Collection bodyIds, Integer deleted, Long organId, Long orderId) { + if (bodyIds != null && !bodyIds.isEmpty()) { + return update(new LambdaUpdateWrapper() + .set(OrderGroupDO::getDeleted, deleted) + .in(OrderGroupDO::getBodyId, bodyIds) + .eq(OrderGroupDO::getOrganId, organId) + .eq(OrderGroupDO::getOrderId, orderId)); + } + return 0; } default int deletedById(Long id, Long organId) { @@ -92,9 +95,18 @@ public interface OrderGroupMapper extends BaseMapperX { .eq(OrderGroupDO::getOrganId, organId) .eqIfPresent(OrderGroupDO::getOrderId, orderId)); } + // 批量删除 default int deleteBatch(Collection orderId) { return delete(new LambdaQueryWrapperX() .in(OrderGroupDO::getOrderId, orderId)); } + + // 批量查询 + default List selectListByBodyId(Collection bodyIds, Long orderId, Long organId, Integer deleted) { + return selectList(new LambdaQueryWrapperX() + .eq(OrderGroupDO::getOrderId, orderId) + .eq(OrderGroupDO::getOrganId, organId) + .in(OrderGroupDO::getBodyId, bodyIds)).stream().map(OrderGroupDO::getId).collect(Collectors.toList()); + } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java index 7e1c86377..97d3252a6 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java @@ -70,7 +70,7 @@ public interface OrderPartsMapper extends BaseMapperX { List selectPartList( @Param("orderIds") List orderIds,@Param("organId") Long organId); - List selectPartsIdListByBodyId(@Param("bodyId") Long bodyId, @Param("organId") Long organId, @Param("orderId") Long orderId); + List selectPartsIdListByBodyId(@Param("bodyIds") Collection bodyIds, @Param("organId") Long organId, @Param("orderId") Long orderId); int countPartsByOrderId(@Param("orderId") Long orderId, @Param("organId") Long organId, @Param("deleted") Integer deleted); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java index fc8a1637e..efb2cf30f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java @@ -150,9 +150,8 @@ public interface PlateMapper extends BaseMapperX { } // 房间id查小板的开料状态 - List selectPlateTypeByRoomId(@Param("orderId") Long orderId, @Param("roomId") Set roomId, - @Param("bodyId") Long bodyId, @Param("organId") Long organId, - @Param("deleted") Integer deleted); + List selectPlateTypeByRoomId(@Param("orderId") Long orderId, @Param("bodyIds") Collection bodyIds, + @Param("organId") Long organId, @Param("deleted") Integer deleted); // 根据生产单id删除 default int deleteByOrderId(Long orderId, Long organId) { diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java index d80108b66..fca9fc315 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java @@ -4,6 +4,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.*; import com.alibaba.fastjson.JSONObject; +import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.module.executor.controller.admin.order.vo.order.*; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO; @@ -143,7 +144,7 @@ public interface OrderService { /** * 生产单超期告警分析统计 */ - Map> getOrderWarn(); + Map> getOrderWarn(PageParam pageParam); /** diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index 1d3c66fa1..52195de5c 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; +import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.organ.core.context.OrganContextHolder; @@ -242,68 +243,69 @@ public class OrderServiceImpl implements OrderService { public void updateBodyDeletedByOrderId(Long orderId, Set roomIds, Long bodyId, Integer status) { // 要删除传1,还原传0 validateOrderStatus(orderId, getUserOrganId(), OrderDeletedEnum.NOT_DELETED.getStatus()); - List plateDOList; - List bodyIds = null; + List bodyIds = new ArrayList<>(); Integer index = status == 1 ? 0 : 1; if (roomIds != null && roomIds.size() != 0) { -// 查询当前房间下的所有板材 - plateDOList = plateMapper.selectPlateTypeByRoomId(orderId, roomIds, null, getUserOrganId(), index); bodyIds = orderBodyMapper.selectBodyIdByRoomId(orderId, roomIds, getUserOrganId(), index); } else if (bodyId != null && bodyId != 0) { -// 校验柜体存在 validateOrderBodyExists(orderId, bodyId, getUserOrganId(), index); -// 查询当前房间下的所有板材 - plateDOList = plateMapper.selectPlateTypeByRoomId(orderId, null, bodyId, getUserOrganId(), index); - bodyIds = new ArrayList<>(); bodyIds.add(bodyId); - } else { - plateDOList = null; } - if (CollectionUtils.isNotEmpty(bodyIds)) { - bodyIds.forEach(id -> { - // 逻辑删除 - orderBodyMapper.updateDeletedById(id, status, getUserOrganId(), orderId);// 柜体 - orderGroupMapper.updateDeletedById(id, status, getUserOrganId(), orderId);// 加工组 + if (bodyIds.size() != 0){ + List plateDOList = plateMapper.selectPlateTypeByRoomId(orderId, bodyIds, getUserOrganId(), index); +// List groupIds = orderGroupMapper.selectListByBodyId(bodyIds, orderId, getUserOrganId(), index); - if (CollectionUtils.isNotEmpty(plateDOList) ){ - // (删除小板) 小板变为删除状态 - plateMapper.updateDeletedById(plateDOList, status, getUserOrganId(), orderId); - // 删除大板 - List goodsIdList = plateMapper.selectPlateNum(orderId, getUserOrganId()); - Map> goodsIdMap = goodsIdList.stream() - .collect(Collectors.groupingBy(PlateDO::getGoodsId)); + orderBodyMapper.updateDeletedById(bodyIds, status, getUserOrganId(), orderId);// 柜体 + orderGroupMapper.updateDeletedById(bodyIds, status, getUserOrganId(), orderId);// 加工组 + plateMapper.updateDeletedById(plateDOList, status, getUserOrganId(), orderId);// 删小板 + // 删除大板 + List goodsIdList = plateMapper.selectPlateNum(orderId, getUserOrganId()); + Map> goodsIdMap = goodsIdList.stream() + .collect(Collectors.groupingBy(PlateDO::getGoodsId)); - List goodsIdDeleted = new ArrayList<>(); + List goodsIdDeleted = new ArrayList<>(); + goodsIdMap.forEach((goodsId, plates) -> { + if (plates.isEmpty()) { + goodsIdDeleted.add(goodsId); + return; + } + boolean allDeleted = true; + for (PlateDO plateDO : plates) { if (status == 1) { - goodsIdMap.forEach((k, v) -> { - boolean allDeleted = true; - for (PlateDO plateDO : v) { - if (!plateDO.getDeleted()) { - allDeleted = false; - break; - } - } - if (allDeleted) { - goodsIdDeleted.add(k); - } - }); - } - - if (goodsIdDeleted.size() > 0) { - goodsMapper.updateDeletedById(goodsIdDeleted, status, getUserOrganId()); + if (!plateDO.getDeleted()) { + allDeleted = false; + break; + } + } else { + if (plateDO.getDeleted()) { + break; + } } } - - List partsList = orderPartsMapper.selectPartsIdListByBodyId(id, getUserOrganId(), orderId); // 配件 - orderPartsMapper.updateDeletedById(partsList, status, getUserOrganId()); + if (allDeleted) { + goodsIdDeleted.add(goodsId); + } }); + + if (goodsIdDeleted.size() > 0) { + goodsMapper.updateDeletedById(goodsIdDeleted, status, getUserOrganId()); + } + + List partsList = orderPartsMapper.selectPartsIdListByBodyId(bodyIds, getUserOrganId(), orderId); // 配件 + if (partsList != null && partsList.size() != 0){ + orderPartsMapper.updateDeletedById(partsList, status, getUserOrganId()); + } } + + // 生产单柜体数量判断 if (orderBodyMapper.selectCountByOrderId(orderId, getUserOrganId(), OrderDeletedEnum.NOT_DELETED.getStatus()) == 0) { orderMapper.updateOrderStatus(orderId, OrderStatusEnum.EMPTY.getStatus(), getUserOrganId()); + }else { + orderMapper.updateOrderStatus(orderId, OrderStatusEnum.NEW_ORDER.getStatus(), getUserOrganId()); } } @@ -561,20 +563,18 @@ public class OrderServiceImpl implements OrderService { } @Override - public Map> getOrderWarn() { - Map> map = new HashMap<>(); - - LocalDate yesterday = LocalDate.now().minus(1, ChronoUnit.DAYS); + public Map> getOrderWarn(PageParam pageParam) { + Map> map = new HashMap<>(); LocalDate todayDate = LocalDate.now(); LocalDate tomorrow = LocalDate.now().plus(1, ChronoUnit.DAYS); - + PageDTO page = new PageDTO<>(pageParam.getPageNo(), pageParam.getPageSize()); // 查询预警单 - List orderNearVOS = orderMapper.selectOrderNear(tomorrow, OrganContextHolder.getOrganId()); - map.put("orderNearVOS", orderNearVOS); + IPage orderNearVOS = orderMapper.selectOrderNear(tomorrow, OrganContextHolder.getOrganId(), page); + map.put("orderNearVOS", new PageResult(orderNearVOS.getRecords(), orderNearVOS.getTotal())); // 查询超时单 - List orderOverdueVOS = orderMapper.selectOrderOverdue(todayDate, OrganContextHolder.getOrganId()); - map.put("orderOverdueVOS", orderOverdueVOS); + IPage orderOverdueVOS = orderMapper.selectOrderOverdue(todayDate, OrganContextHolder.getOrganId(), page); + map.put("orderOverdueVOS", new PageResult(orderOverdueVOS.getRecords(), orderOverdueVOS.getTotal())); return map; } @@ -806,7 +806,7 @@ public class OrderServiceImpl implements OrderService { // 判断生产单状态是否符合(开料之前状态判断) private void validateOrderStatus(Long orderId, Long organId, Integer status) { // 校验存在 - OrderDO orderDO = orderMapper.selectOrderOne(orderId, organId, status); + OrderDO orderDO = orderMapper.selectOrderOne(orderId, organId); if (orderDO == null) throw exception(ORDER_NOT_EXISTS); // 状态排除 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index 4ab9e9d62..a34317358 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -148,13 +148,7 @@ o.dealer_phone_number, o.salesman, o.splitter, - o.remark, - CONCAT( - LPAD(FLOOR(TIMESTAMPDIFF(SECOND, #{orderDate}, o.delivery_date ) / (24 * 60 * 60)), 2, '0'), '天 ', - LPAD(FLOOR(MOD(TIMESTAMPDIFF(SECOND, #{orderDate}, o.delivery_date), (24 * 60 * 60)) / (60 * 60)), 2, '0'), ':', - LPAD(FLOOR(MOD(MOD(TIMESTAMPDIFF(SECOND, #{orderDate}, o.delivery_date), (24 * 60 * 60)), (60 * 60)) / 60), 2, '0'), ':', - LPAD(MOD(MOD(TIMESTAMPDIFF(SECOND, #{orderDate}, o.delivery_date), (24 * 60 * 60)), (60 * 60)) % 60, 2, '0') - ) AS becomeDue + o.remark from orders o where o.organ_id = #{organId} and o.deleted = 0 @@ -183,12 +177,7 @@ o.salesman, o.splitter, o.remark, - CONCAT( - LPAD(FLOOR(TIMESTAMPDIFF(SECOND, o.delivery_date, #{today}) / (24 * 60 * 60)), 2, '0'), '天 ', - LPAD(FLOOR(MOD(TIMESTAMPDIFF(SECOND, o.delivery_date, #{today}), (24 * 60 * 60)) / (60 * 60)), 2, '0'), ':', - LPAD(FLOOR(MOD(MOD(TIMESTAMPDIFF(SECOND, o.delivery_date, #{today}), (24 * 60 * 60)), (60 * 60)) / 60), 2, '0'), ':', - LPAD(MOD(MOD(TIMESTAMPDIFF(SECOND, o.delivery_date, #{today}), (24 * 60 * 60)), (60 * 60)) % 60, 2, '0') - ) AS beOverdue + LPAD(FLOOR(TIMESTAMPDIFF(DAY, o.delivery_date, #{today})), 2, '0') AS beOverdue from orders o where o.organ_id = #{organId} and o.deleted = 0 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml index 10c3a644f..4923ffdce 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml @@ -69,10 +69,13 @@ UPDATE order_parts SET deleted = #{deleted} - WHERE id IN - - #{partsId} - AND organ_id = #{organId} + WHERE + id IN + + #{partsId} + + AND + organ_id = #{organId} DELETE FROM order_parts @@ -112,7 +115,11 @@ diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml index 6d732e567..5c802998f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml @@ -401,10 +401,12 @@ UPDATE order_plate SET deleted = #{deleted} WHERE id IN - - #{plateId} - - AND organ_id = #{organId} and order_id = #{orderId} + + + #{plateId} + + + AND organ_id = #{organId} and order_id = #{orderId} @@ -687,15 +689,12 @@ FROM order_plate p LEFT JOIN order_item i ON p.id = i.plate_id WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND p.deleted = #{deleted} - - AND i.room_id IN - + + AND i.body_id IN + #{roomIdItem} - - AND i.body_id = #{bodyId} -