mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
新增webcad生产单导入:cad拆单数据补充异形、造型、排孔的数据判断赋值
This commit is contained in:
+44
-16
@@ -436,12 +436,26 @@ public class WebCadOrderImportFactory {
|
||||
// 基于房间名分组
|
||||
Map<String, List<WebCadDataBlockReqVO>> roomCollect = blockList.stream()
|
||||
.collect(Collectors.groupingBy(WebCadDataBlockReqVO::getRoomName, Collectors.toList()));
|
||||
roomCollect.forEach((roomName, listRoom) -> {
|
||||
for (Map.Entry<String, List<WebCadDataBlockReqVO>> roomEntry : roomCollect.entrySet()) {
|
||||
String roomName = roomEntry.getKey();
|
||||
List<WebCadDataBlockReqVO> listRoom = roomEntry.getValue();
|
||||
|
||||
Long roomId = (Long) snowFlakeGenerator.nextId(null);
|
||||
// 检查当前单子中是否已有房间,是则使用相同房间id
|
||||
List<OrderBodyDO> existRoomNameBodys = orderBodyMapper.selectList(new LambdaUpdateWrapper<OrderBodyDO>()
|
||||
.eq(OrderBodyDO::getOrderId, orderId)
|
||||
.eq(OrderBodyDO::getRoomName, roomName)
|
||||
.eq(OrderBodyDO::getOrganId, organId));
|
||||
if (CollUtil.isNotEmpty(existRoomNameBodys)) {
|
||||
roomId = existRoomNameBodys.get(0).getRoomId();
|
||||
}
|
||||
// 基于柜体名分组
|
||||
Map<String, List<WebCadDataBlockReqVO>> bodyCollect = listRoom.stream()
|
||||
.collect(Collectors.groupingBy(WebCadDataBlockReqVO::getCabinetName, Collectors.toList()));
|
||||
bodyCollect.forEach((bodyName, listBody) -> {
|
||||
for (Map.Entry<String, List<WebCadDataBlockReqVO>> bodyEntry : bodyCollect.entrySet()) {
|
||||
String bodyName = bodyEntry.getKey();
|
||||
List<WebCadDataBlockReqVO> listBody = bodyEntry.getValue();
|
||||
|
||||
String roomBodyKey = roomName + bodyName;
|
||||
WebCadDataDoubleRoomTreeReqVO.ChildrenDTO cadBody = roomBodyMap.get(roomBodyKey);
|
||||
|
||||
@@ -470,8 +484,8 @@ public class WebCadOrderImportFactory {
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
// 所有自定义板编号生成完成后更新配置到生产单
|
||||
customPlateNoGenerateService.updateCustomPlateNoGenerateConfig(plateNoGenerateConfigVO, orderDO);
|
||||
// 批量插入板件
|
||||
@@ -517,9 +531,16 @@ public class WebCadOrderImportFactory {
|
||||
* @param block
|
||||
*/
|
||||
private void createPlate(OrderBodyDO orderBodyDO, WebCadDataBlockReqVO block) {
|
||||
WebCadDataBlockReqVO.InfoDTO blockInfo = block.getInfo();
|
||||
// 是否矩形,不是矩形那就是异形
|
||||
Boolean unRegular = !blockInfo.getIsRect();
|
||||
// 是否造型
|
||||
boolean isModel = (block.getFrontModelCount() + block.getBackModelCount()) > 0;
|
||||
// 是否排孔
|
||||
boolean isRawHole = (block.getFrontHoleCount() + block.getBackHoleCount()) > 0;
|
||||
|
||||
orderBodyDO.setPlateNum(orderBodyDO.getPlateNum() + 1);
|
||||
orderBodyDO.setUnregularNum(orderBodyDO.getUnregularNum() + BooleanUtil.toInt(block.getIsSpecialShape()));
|
||||
Boolean isSpecialShape = block.getIsSpecialShape();
|
||||
orderBodyDO.setUnregularNum(orderBodyDO.getUnregularNum() + BooleanUtil.toInt(unRegular));
|
||||
|
||||
// 柜体长宽深
|
||||
orderBodyDO.setWidth(block.getCabinetWidth());
|
||||
@@ -530,8 +551,6 @@ public class WebCadOrderImportFactory {
|
||||
long plateNo = idWorker.nextId();
|
||||
long obtainingTime = idWorker.obtainingTime();
|
||||
|
||||
WebCadDataBlockReqVO.InfoDTO blockInfo = block.getInfo();
|
||||
|
||||
|
||||
String splitHeight = blockInfo.getSpliteHeight();
|
||||
String spliteWidth = blockInfo.getSpliteWidth();
|
||||
@@ -554,8 +573,9 @@ public class WebCadOrderImportFactory {
|
||||
.holeFace(block.getHoleFace())
|
||||
.isDoor(block.getIsDoor())
|
||||
.openDoorType(block.getOpenDoorType())
|
||||
.isSculpt(false)
|
||||
.isSpecialShaped(isSpecialShape)
|
||||
.isSpecialShaped(unRegular)
|
||||
.isSculpt(isModel)
|
||||
.isRowHole(isRawHole)
|
||||
.customPlateNoBuilder(new StringBuilder())
|
||||
.holeArrange(block.getHoleArrange())
|
||||
.unregularPointCount(block.getUnregularPointCount())
|
||||
@@ -568,7 +588,6 @@ public class WebCadOrderImportFactory {
|
||||
.offsetY(BigDecimal.valueOf(block.getOffsetY()))
|
||||
.isArcAcross(block.getIsArcBase())
|
||||
.moduleTypeId(0L)
|
||||
.isRowHole(false)
|
||||
.isOptimized(false)
|
||||
.isCutted(0)
|
||||
.isCancel(false)
|
||||
@@ -616,7 +635,7 @@ public class WebCadOrderImportFactory {
|
||||
orderModelsBatchInsertWithinThreshold(false);
|
||||
|
||||
// 遍历加工组信息,生成对应的加工组和item
|
||||
analyzeBlockProcessGroup(orderBodyDO, block, plateId);
|
||||
analyzeBlockProcessGroup(orderBodyDO, block, blockInfo, plateId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -664,10 +683,11 @@ public class WebCadOrderImportFactory {
|
||||
* @param block
|
||||
* @param plateId
|
||||
*/
|
||||
private void analyzeBlockProcessGroup(OrderBodyDO orderBodyDO, WebCadDataBlockReqVO block, Long plateId) {
|
||||
private void analyzeBlockProcessGroup(OrderBodyDO orderBodyDO, WebCadDataBlockReqVO block, WebCadDataBlockReqVO.InfoDTO infoDTO, Long plateId) {
|
||||
Long bodyId = orderBodyDO.getId();
|
||||
Long roomId = orderBodyDO.getRoomId();
|
||||
Boolean isSpecialShape = block.getIsSpecialShape();
|
||||
// 是否矩形,不是矩形那就是异形
|
||||
Boolean unRegular = !infoDTO.getIsRect();
|
||||
|
||||
List<WebCadDataBlockReqVO.GroupInfo> groupInfos = block.getGroupInfos();
|
||||
if (CollUtil.isNotEmpty(groupInfos)) {
|
||||
@@ -691,7 +711,7 @@ public class WebCadOrderImportFactory {
|
||||
.depth(groupInfo.getDepth())
|
||||
.multiNum(0)
|
||||
.plateNum(1)
|
||||
.unregularNum(BooleanUtil.toInt(isSpecialShape))
|
||||
.unregularNum(BooleanUtil.toInt(unRegular))
|
||||
.filename("无")
|
||||
.remark("无")
|
||||
.deleted(false)
|
||||
@@ -705,7 +725,7 @@ public class WebCadOrderImportFactory {
|
||||
orderGroupDOS.add(orderGroupDO);
|
||||
} else {
|
||||
orderGroupDO.setPlateNum(orderGroupDO.getPlateNum() + 1);
|
||||
orderGroupDO.setUnregularNum(orderGroupDO.getUnregularNum() + BooleanUtil.toInt(isSpecialShape));
|
||||
orderGroupDO.setUnregularNum(orderGroupDO.getUnregularNum() + BooleanUtil.toInt(unRegular));
|
||||
}
|
||||
|
||||
OrderItemDO orderItemDO = OrderItemDO
|
||||
@@ -770,6 +790,14 @@ public class WebCadOrderImportFactory {
|
||||
.collect(Collectors.groupingBy(WebCadDataPartsReqVO.BlockObjectListDTO::getRoomName, Collectors.toList()));
|
||||
roomCollect.forEach((roomName, listRoom) -> {
|
||||
Long roomId = (Long) snowFlakeGenerator.nextId(null);
|
||||
// 检查当前单子中是否已有房间,是则使用相同房间id
|
||||
List<OrderBodyDO> existRoomNameBodys = orderBodyMapper.selectList(new LambdaUpdateWrapper<OrderBodyDO>()
|
||||
.eq(OrderBodyDO::getOrderId, orderId)
|
||||
.eq(OrderBodyDO::getRoomName, roomName)
|
||||
.eq(OrderBodyDO::getOrganId, organId));
|
||||
if (CollUtil.isNotEmpty(existRoomNameBodys)) {
|
||||
roomId = existRoomNameBodys.get(0).getRoomId();
|
||||
}
|
||||
|
||||
// 基于柜体名分组
|
||||
Map<String, List<WebCadDataPartsReqVO.BlockObjectListDTO>> bodyCollect = listRoom.stream()
|
||||
|
||||
Reference in New Issue
Block a user