mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
订单管理、装配清单 配件分页展示条目和数量错误修复
This commit is contained in:
+11
-12
@@ -1056,11 +1056,6 @@ public class PlateServiceImpl implements PlateService {
|
|||||||
.eq(OrderItemDO::getOrderId, pageReqVO.getOrderId())
|
.eq(OrderItemDO::getOrderId, pageReqVO.getOrderId())
|
||||||
.inIfPresent(OrderItemDO::getBodyId, bodyIds)
|
.inIfPresent(OrderItemDO::getBodyId, bodyIds)
|
||||||
.inIfPresent(OrderItemDO::getGroupId, groupIds)
|
.inIfPresent(OrderItemDO::getGroupId, groupIds)
|
||||||
.and(wrapper ->
|
|
||||||
wrapper.ne(OrderItemDO::getGroupId, 0L)
|
|
||||||
.or()
|
|
||||||
.isNull(OrderItemDO::getGroupId)
|
|
||||||
)
|
|
||||||
.in(OrderItemDO::getPartsId, partsIds)
|
.in(OrderItemDO::getPartsId, partsIds)
|
||||||
.select(OrderItemDO::getPartsId, OrderItemDO::getBodyId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId, OrderItemDO::getNum)
|
.select(OrderItemDO::getPartsId, OrderItemDO::getBodyId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId, OrderItemDO::getNum)
|
||||||
);
|
);
|
||||||
@@ -1069,11 +1064,6 @@ public class PlateServiceImpl implements PlateService {
|
|||||||
.eq(OrderItemTempDO::getOrderId, pageReqVO.getOrderId())
|
.eq(OrderItemTempDO::getOrderId, pageReqVO.getOrderId())
|
||||||
.inIfPresent(OrderItemTempDO::getBodyId, bodyIds)
|
.inIfPresent(OrderItemTempDO::getBodyId, bodyIds)
|
||||||
.inIfPresent(OrderItemTempDO::getGroupId, groupIds)
|
.inIfPresent(OrderItemTempDO::getGroupId, groupIds)
|
||||||
.and(wrapper ->
|
|
||||||
wrapper.ne(OrderItemTempDO::getGroupId, 0L)
|
|
||||||
.or()
|
|
||||||
.isNull(OrderItemTempDO::getGroupId)
|
|
||||||
)
|
|
||||||
.in(OrderItemTempDO::getPartsId, partsIds)
|
.in(OrderItemTempDO::getPartsId, partsIds)
|
||||||
.select(OrderItemTempDO::getPartsId, OrderItemTempDO::getBodyId, OrderItemTempDO::getCadViewId, OrderItemTempDO::getGroupId, OrderItemTempDO::getCompId, OrderItemTempDO::getNum)
|
.select(OrderItemTempDO::getPartsId, OrderItemTempDO::getBodyId, OrderItemTempDO::getCadViewId, OrderItemTempDO::getGroupId, OrderItemTempDO::getCompId, OrderItemTempDO::getNum)
|
||||||
);
|
);
|
||||||
@@ -1092,6 +1082,9 @@ public class PlateServiceImpl implements PlateService {
|
|||||||
// 暂存 partsId:bodyId
|
// 暂存 partsId:bodyId
|
||||||
Map<Pair<Long, Integer>, Long> partsBodyIdMap = new HashMap<>();
|
Map<Pair<Long, Integer>, Long> partsBodyIdMap = new HashMap<>();
|
||||||
|
|
||||||
|
// 是否加工组入口
|
||||||
|
boolean comFromGroup = CollUtil.isNotEmpty(groupIds);
|
||||||
|
|
||||||
for (OrderItemDO item : orderItemRelation) {
|
for (OrderItemDO item : orderItemRelation) {
|
||||||
|
|
||||||
Long partsId = item.getPartsId();
|
Long partsId = item.getPartsId();
|
||||||
@@ -1112,8 +1105,14 @@ public class PlateServiceImpl implements PlateService {
|
|||||||
.add(item.getCompId());
|
.add(item.getCompId());
|
||||||
}
|
}
|
||||||
|
|
||||||
// num 汇总
|
// num
|
||||||
if (item.getNum() != null) {
|
if (item.getNum() != null &&
|
||||||
|
(
|
||||||
|
(comFromGroup && ObjectUtil.isNotNull(item.getGroupId()) && ObjectUtil.notEqual(item.getGroupId(), 0L)) //加工组入口 统计groupId不是空的
|
||||||
|
||
|
||||||
|
(!comFromGroup && (ObjectUtil.equals(item.getGroupId(), 0L) || (ObjectUtil.isNull(item.getGroupId()) && ObjectUtil.isNull(item.getCompId())))) // 非加工组入口,统计groupId = 0(加工组汇总的数量) 或者 null+不是部件item的(没有加工组的数量)
|
||||||
|
)
|
||||||
|
) {
|
||||||
partsNumMap.merge(
|
partsNumMap.merge(
|
||||||
pair,
|
pair,
|
||||||
item.getNum(),
|
item.getNum(),
|
||||||
|
|||||||
+14
-7
@@ -105,7 +105,7 @@
|
|||||||
</choose>
|
</choose>
|
||||||
RIGHT JOIN `order_parts` p ON i.organ_id = p.organ_id AND i.order_id = p.order_id AND i.parts_id = p.id
|
RIGHT JOIN `order_parts` p ON i.organ_id = p.organ_id AND i.order_id = p.order_id AND i.parts_id = p.id
|
||||||
RIGHT JOIN `order_body` ob ON i.organ_id = ob.organ_id AND i.order_id = ob.order_id AND i.body_id = ob.id
|
RIGHT JOIN `order_body` ob ON i.organ_id = ob.organ_id AND i.order_id = ob.order_id AND i.body_id = ob.id
|
||||||
WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND (i.group_id is null or i.group_id = 0) AND p.category in
|
WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND ((i.group_id is null and i.comp_id is null) or i.group_id = 0) AND p.category in
|
||||||
<foreach item="type" collection="types" open="(" separator="," close=")">
|
<foreach item="type" collection="types" open="(" separator="," close=")">
|
||||||
#{type}
|
#{type}
|
||||||
</foreach>
|
</foreach>
|
||||||
@@ -695,12 +695,19 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="groupIds != null and groupIds.size() > 0">
|
<choose>
|
||||||
AND i.group_id IN
|
<when test="groupIds != null and groupIds.size() > 0">
|
||||||
<foreach item="groupId" collection="groupIds" open="(" separator="," close=")">
|
AND i.group_id IN
|
||||||
#{groupId}
|
<foreach item="groupId" collection="groupIds" open="(" separator="," close=")">
|
||||||
</foreach>
|
#{groupId}
|
||||||
</if>
|
</foreach>
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
|
<if test="componentIds == null or componentIds.size() == 0">
|
||||||
|
AND ((i.group_id is null and i.comp_id is null) or i.group_id = 0)
|
||||||
|
</if>
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
|
|
||||||
<if test="componentIds != null and componentIds.size() > 0">
|
<if test="componentIds != null and componentIds.size() > 0">
|
||||||
AND i.comp_id IN
|
AND i.comp_id IN
|
||||||
|
|||||||
Reference in New Issue
Block a user