webcad拆单mycat 标准sql修复

This commit is contained in:
gaoqr
2025-05-27 18:32:42 +08:00
parent 7b957b929b
commit f708f1418b
@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.cf.imes.framework.common.exception.ErrorCode; import com.cf.imes.framework.common.exception.ErrorCode;
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.pojo.CommonResult;
@@ -334,13 +335,13 @@ public class WebCadOrderImportFactory {
// 检查生产单下是否已经有goodsId下的order_goods,有不再创建 // 检查生产单下是否已经有goodsId下的order_goods,有不再创建
materialMap = goodsMapper.selectMaps( materialMap = goodsMapper.selectMaps(
new LambdaQueryWrapper<GoodsDO>() new QueryWrapper<GoodsDO>()
.select(GoodsDO::getGoodsId, GoodsDO::getId) .select("goods_id,MIN(id) as id")
.eq(GoodsDO::getOrderId, orderId) .eq("order_id", orderId)
.eq(GoodsDO::getOrganId, organId) .eq("organ_id", organId)
.eq(GoodsDO::getDeleted, false) .eq("deleted", false)
.in(GoodsDO::getGoodsId, materialReqVOS.stream().map(WebCadDataMaterialReqVO::getGoodsId).collect(Collectors.toList())) .in("goods_id", materialReqVOS.stream().map(WebCadDataMaterialReqVO::getGoodsId).collect(Collectors.toList()))
.groupBy(GoodsDO::getGoodsId)).stream() .groupBy("goods_id")).stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
m -> String.valueOf(m.get("goods_id")), m -> String.valueOf(m.get("goods_id")),
m -> ((Number) m.get("id")).longValue() m -> ((Number) m.get("id")).longValue()
@@ -470,13 +471,13 @@ public class WebCadOrderImportFactory {
// 查询当前生产单的所有房间 // 查询当前生产单的所有房间
existRoomIdMap = orderBodyMapper.selectMaps( existRoomIdMap = orderBodyMapper.selectMaps(
new LambdaQueryWrapper<OrderBodyDO>() new QueryWrapper<OrderBodyDO>()
.select(OrderBodyDO::getRoomName, OrderBodyDO::getRoomId) .select("room_name,MIN(room_id) as room_id")
.eq(OrderBodyDO::getOrderId, orderId) .eq("order_id", orderId)
.eq(OrderBodyDO::getOrganId, organId) .eq("organ_id", organId)
.eq(OrderBodyDO::getDeleted, false) .eq("deleted", false)
.in(OrderBodyDO::getRoomName, roomNames) .in("room_name", roomNames)
.groupBy(OrderBodyDO::getRoomName)).stream() .groupBy("room_name")).stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
m -> String.valueOf(m.get("room_name")), m -> String.valueOf(m.get("room_name")),
m -> ((Number) m.get("room_id")).longValue() m -> ((Number) m.get("room_id")).longValue()
@@ -1219,13 +1220,13 @@ public class WebCadOrderImportFactory {
List<String> roomNames = parts.stream().map(WebCadDataDoubleRoomTreeReqVO::getName).collect(Collectors.toList()); List<String> roomNames = parts.stream().map(WebCadDataDoubleRoomTreeReqVO::getName).collect(Collectors.toList());
Map<String, Long> existPartsRoomIdMap = orderBodyMapper.selectMaps( Map<String, Long> existPartsRoomIdMap = orderBodyMapper.selectMaps(
new LambdaQueryWrapper<OrderBodyDO>() new QueryWrapper<OrderBodyDO>()
.select(OrderBodyDO::getRoomName, OrderBodyDO::getRoomId) .select("room_name,MIN(room_id) as room_id")
.eq(OrderBodyDO::getOrderId, orderId) .eq("order_id", orderId)
.eq(OrderBodyDO::getOrganId, organId) .eq("organ_id", organId)
.eq(OrderBodyDO::getDeleted, false) .eq("deleted", false)
.in(OrderBodyDO::getRoomName, roomNames) .in("room_name", roomNames)
.groupBy(OrderBodyDO::getRoomName)).stream() .groupBy("room_name")).stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
m -> String.valueOf(m.get("room_name")), m -> String.valueOf(m.get("room_name")),
m -> ((Number) m.get("room_id")).longValue() m -> ((Number) m.get("room_id")).longValue()