1、新增分堆任务管理接口;2、新增扫描获取关联明细接口;3、新增订单详情、部件、装配清单配件用接口;4、cad拆单兼容新结构:cadviewid存到order_item;

This commit is contained in:
gaoqr
2026-03-19 10:18:45 +08:00
parent ebee7a2630
commit b8f0c14945
55 changed files with 2021 additions and 292 deletions
@@ -73,7 +73,7 @@ public class WebCadDataPartsReqVO {
private GroupDataDTO groupData;
// 组件id
private List<Integer> componentIds;
private List<Integer> componentIds = new ArrayList<>();
@NoArgsConstructor
@Data
@@ -79,4 +79,8 @@ public class OrderItemDO {
*/
private Long compId;
/**
* cad视图id
*/
private Integer cadViewId;
}
@@ -26,35 +26,6 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class OrderPartsDO extends BaseDO {
public OrderPartsDO(OrderPartsDO parts) {
this.id = parts.getId();
this.organId = parts.getOrganId();
this.orderId = parts.getOrderId();
this.goodsId = parts.getGoodsId();
this.name = parts.getName();
this.color = parts.getColor();
this.material = parts.getMaterial();
this.category = parts.getCategory();
this.type = parts.getType();
this.width = parts.getWidth();
this.length = parts.getLength();
this.thickness = parts.getThickness();
this.model = parts.getModel();
this.spec = parts.getSpec();
this.brand = parts.getBrand();
this.factory = parts.getFactory();
this.unit = parts.getUnit();
this.price = parts.getPrice();
this.isComposite = parts.getIsComposite();
this.subparts = parts.getSubparts();
this.remark = parts.getRemark();
this.deleted = parts.getDeleted();
this.setCreateTime(parts.getCreateTime());
this.setUpdateTime(parts.getUpdateTime());
this.setCreator(parts.getCreator());
this.setUpdater(parts.getUpdater());
}
/**
* 配件 ID
*/
@@ -30,60 +30,6 @@ import java.math.BigDecimal;
@AllArgsConstructor
public class PlateDO extends BaseDO {
public PlateDO(PlateDO plateDO) {
this.id = plateDO.getId();
this.organId = plateDO.getOrganId();
this.orderId = plateDO.getOrderId();
this.name = plateDO.getName();
this.plateNo = plateDO.getPlateNo();
this.type = plateDO.getType();
this.goodsId = plateDO.getGoodsId();
this.width = plateDO.getWidth();
this.height = plateDO.getHeight();
this.thickness = plateDO.getThickness();
this.splitWidth = plateDO.getSplitWidth();
this.splitHeight = plateDO.getSplitHeight();
this.splitThickness = plateDO.getSplitThickness();
this.sealLeft = plateDO.getSealLeft();
this.sealRight = plateDO.getSealRight();
this.sealUp = plateDO.getSealUp();
this.sealDown = plateDO.getSealDown();
this.area = plateDO.getArea();
this.texture = plateDO.getTexture();
this.holeFace = plateDO.getHoleFace();
this.holeArrange = plateDO.getHoleArrange();
this.unregularPointCount = plateDO.getUnregularPointCount();
this.frontHoleCount = plateDO.getFrontHoleCount();
this.backHoleCount = plateDO.getBackHoleCount();
this.sideHoleCount = plateDO.getSideHoleCount();
this.frontModelCount = plateDO.getFrontModelCount();
this.backModelCount = plateDO.getBackModelCount();
this.isDoor = plateDO.getIsDoor();
this.openDoorType = plateDO.getOpenDoorType();
this.offsetX = plateDO.getOffsetX();
this.offsetY = plateDO.getOffsetY();
this.isArcAcross = plateDO.getIsArcAcross();
this.moduleTypeId = plateDO.getModuleTypeId();
this.isSpecialShaped = plateDO.getIsSpecialShaped();
this.isSculpt = plateDO.getIsSculpt();
this.isRowHole = plateDO.getIsRowHole();
this.isOptimized = plateDO.getIsOptimized();
this.isCutted = plateDO.getIsCutted();
this.filterType = plateDO.getFilterType();
this.remark = plateDO.getRemark();
this.isCancel = plateDO.getIsCancel();
this.deleted = plateDO.getDeleted();
this.customPlateNo = plateDO.getCustomPlateNo();
this.roomName = plateDO.getRoomName();
this.bodyName = plateDO.getBodyName();
this.customPlateNoBuilder = plateDO.getCustomPlateNoBuilder();
this.setCreateTime(plateDO.getCreateTime());
this.setUpdateTime(plateDO.getUpdateTime());
this.setCreator(plateDO.getCreator());
this.setUpdater(plateDO.getUpdater());
this.setDeleted(plateDO.getDeleted());
}
/**
* 板件 ID
*/
@@ -292,11 +238,6 @@ public class PlateDO extends BaseDO {
*/
private Long planId;
/**
* cad图纸id
*/
private Integer cadViewId;
/**
* cad图纸数据
*/
@@ -858,7 +858,6 @@ public class WebCadOrderImportAsyncFactory {
.deleted(false)
.organId(organId)
.planId(0L)
.cadViewId(block.getID())
.build();
plateDO.setCreator(operatorName);
plateDO.setUpdater(operatorName);
@@ -902,6 +901,7 @@ public class WebCadOrderImportAsyncFactory {
private void analyzeBlockProcessGroup(OrderBodyDO orderBodyDO, WebCadDataBlockReqVO block, Long plateId) {
Long bodyId = orderBodyDO.getId();
Long roomId = orderBodyDO.getRoomId();
Integer cadViewId = block.getID();
// 获取缓存的部件id
Integer cadGroupId = block.getComponentId();
@@ -965,8 +965,9 @@ public class WebCadOrderImportAsyncFactory {
.packageId(0L)
.partsId(0L)
.num(1.0)
.organId(organId)
.compId(plateComponentId)
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
orderItemBatchInsertWithinThreshold(orderItemDOS, false);
@@ -984,8 +985,9 @@ public class WebCadOrderImportAsyncFactory {
.packageId(0L)
.partsId(0L)
.num(1.0)
.organId(organId)
.compId(plateComponentId)
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
orderItemBatchInsertWithinThreshold(orderItemDOS, false);
@@ -1547,6 +1549,7 @@ public class WebCadOrderImportAsyncFactory {
private void analyzePartProcessGroup(OrderBodyDO orderBodyDO, WebCadDataPartsReqVO.BlockObjectListDTO part) {
Long bodyId = orderBodyDO.getId();
Long roomId = orderBodyDO.getRoomId();
Integer cadViewId = part.getObjectId();
// 获取orderPart
analyzeOrderPart(part);
@@ -1615,6 +1618,7 @@ public class WebCadOrderImportAsyncFactory {
.plateId(0L)
.num(part.getNum())
.compId(partComponentId)
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
@@ -1633,6 +1637,7 @@ public class WebCadOrderImportAsyncFactory {
.packageId(0L)
.plateId(0L)
.num(part.getNum())
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
@@ -1669,6 +1674,7 @@ public class WebCadOrderImportAsyncFactory {
.plateId(0L)
.num(part.getNum())
.compId(partComponentId)
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
@@ -1686,6 +1692,7 @@ public class WebCadOrderImportAsyncFactory {
.packageId(0L)
.plateId(0L)
.num(part.getNum())
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
@@ -2036,7 +2043,7 @@ public class WebCadOrderImportAsyncFactory {
private void orderPlateBatchInsertWithinThreshold(List<PlateDO> list, boolean isLast) {
// 达到批量的阈值就做一次插入
if (CollUtil.isNotEmpty(list) && (list.size() >= BATCH_THRESHOLD_NUMBER || isLast)) {
String sql = "INSERT INTO order_plate (id,organ_id,order_id,name,plate_no,type,goods_id,width,height,thickness,split_width,split_height,split_thickness,seal_left,seal_right,seal_up,seal_down,area,texture,hole_face,hole_arrange,unregular_point_count,front_hole_count,back_hole_count,side_hole_count,front_model_count,back_model_count,is_door,open_door_type,offset_x,offset_y,is_arc_across,module_type_id,is_special_shaped,is_sculpt,is_side_sculpt,is_2v,is_side_2v,is_row_hole,is_optimized,is_cutted,filter_type,remark,is_cancel,deleted,custom_plate_no,create_time,update_time,creator,updater, cad_view_id, cad_plate_no) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
String sql = "INSERT INTO order_plate (id,organ_id,order_id,name,plate_no,type,goods_id,width,height,thickness,split_width,split_height,split_thickness,seal_left,seal_right,seal_up,seal_down,area,texture,hole_face,hole_arrange,unregular_point_count,front_hole_count,back_hole_count,side_hole_count,front_model_count,back_model_count,is_door,open_door_type,offset_x,offset_y,is_arc_across,module_type_id,is_special_shaped,is_sculpt,is_side_sculpt,is_2v,is_side_2v,is_row_hole,is_optimized,is_cutted,filter_type,remark,is_cancel,deleted,custom_plate_no,create_time,update_time,creator,updater, cad_plate_no) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int index) throws SQLException {
@@ -2091,8 +2098,7 @@ public class WebCadOrderImportAsyncFactory {
ps.setTimestamp(48, Timestamp.valueOf(item.getUpdateTime()));
ps.setString(49, item.getCreator());
ps.setString(50, item.getUpdater());
ps.setInt(51, item.getCadViewId());
ps.setString(52, item.getCadPlateNo());
ps.setString(51, item.getCadPlateNo());
}
@Override
@@ -2117,7 +2123,7 @@ public class WebCadOrderImportAsyncFactory {
// 达到批量的阈值就做一次插入
if (CollUtil.isNotEmpty(list) && (list.size() >= BATCH_THRESHOLD_NUMBER || isLast)) {
String sql = "INSERT INTO order_item (id,order_id,type,room_id,body_id,package_id,group_id,plate_id,parts_id,num,organ_id,comp_id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)";
String sql = "INSERT INTO order_item (id,order_id,type,room_id,body_id,package_id,group_id,plate_id,parts_id,num,organ_id,comp_id,cad_view_id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)";
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int index) throws SQLException {
@@ -2142,6 +2148,11 @@ public class WebCadOrderImportAsyncFactory {
} else {
ps.setNull(12, Types.BIGINT);
}
if (item.getCadViewId() != null) {
ps.setLong(13, item.getCadViewId());
} else {
ps.setNull(13, Types.INTEGER);
}
}
@Override
@@ -791,7 +791,6 @@ public class WebCadOrderImportFactory {
.deleted(false)
.organId(organId)
.planId(0L)
.cadViewId(block.getID())
.build();
plateDO.setCreator(operatorName);
plateDO.setUpdater(operatorName);
@@ -1258,6 +1257,7 @@ public class WebCadOrderImportFactory {
private void analyzeBlockProcessGroup(OrderBodyDO orderBodyDO, WebCadDataBlockReqVO block, Long plateId) {
Long bodyId = orderBodyDO.getId();
Long roomId = orderBodyDO.getRoomId();
Integer cadViewId = block.getID();
// 获取缓存的部件id
Integer cadGroupId = block.getComponentId();
@@ -1321,8 +1321,9 @@ public class WebCadOrderImportFactory {
.packageId(0L)
.partsId(0L)
.num(1.0)
.organId(organId)
.compId(plateComponentId)
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
orderItemBatchInsertWithinThreshold(orderItemDOS, false);
@@ -1340,8 +1341,9 @@ public class WebCadOrderImportFactory {
.packageId(0L)
.partsId(0L)
.num(1.0)
.organId(organId)
.compId(plateComponentId)
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
orderItemBatchInsertWithinThreshold(orderItemDOS, false);
@@ -1475,6 +1477,7 @@ public class WebCadOrderImportFactory {
private void analyzePartProcessGroup(OrderBodyDO orderBodyDO, WebCadDataPartsReqVO.BlockObjectListDTO part) {
Long bodyId = orderBodyDO.getId();
Long roomId = orderBodyDO.getRoomId();
Integer cadViewId = part.getObjectId();
// 获取orderPart
analyzeOrderPart(part);
@@ -1544,6 +1547,7 @@ public class WebCadOrderImportFactory {
.plateId(0L)
.num(part.getNum())
.compId(partComponentId)
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
@@ -1562,6 +1566,7 @@ public class WebCadOrderImportFactory {
.packageId(0L)
.plateId(0L)
.num(part.getNum())
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
@@ -1598,6 +1603,7 @@ public class WebCadOrderImportFactory {
.plateId(0L)
.num(part.getNum())
.compId(partComponentId)
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
@@ -1615,6 +1621,7 @@ public class WebCadOrderImportFactory {
.packageId(0L)
.plateId(0L)
.num(part.getNum())
.cadViewId(cadViewId)
.organId(organId)
.build();
orderItemDOS.add(orderItemDO);
@@ -1861,7 +1868,7 @@ public class WebCadOrderImportFactory {
private void orderPlateBatchInsertWithinThreshold(List<PlateDO> list, boolean isLast) {
// 达到批量的阈值就做一次插入
if (CollUtil.isNotEmpty(list) && (list.size() >= BATCH_THRESHOLD_NUMBER || isLast)) {
String sql = "INSERT INTO order_plate (id,organ_id,order_id,name,plate_no,type,goods_id,width,height,thickness,split_width,split_height,split_thickness,seal_left,seal_right,seal_up,seal_down,area,texture,hole_face,hole_arrange,unregular_point_count,front_hole_count,back_hole_count,side_hole_count,front_model_count,back_model_count,is_door,open_door_type,offset_x,offset_y,is_arc_across,module_type_id,is_special_shaped,is_sculpt,is_side_sculpt,is_2v,is_side_2v,is_row_hole,is_optimized,is_cutted,filter_type,remark,is_cancel,deleted,custom_plate_no,create_time,update_time,creator,updater, cad_view_id, cad_plate_no) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
String sql = "INSERT INTO order_plate (id,organ_id,order_id,name,plate_no,type,goods_id,width,height,thickness,split_width,split_height,split_thickness,seal_left,seal_right,seal_up,seal_down,area,texture,hole_face,hole_arrange,unregular_point_count,front_hole_count,back_hole_count,side_hole_count,front_model_count,back_model_count,is_door,open_door_type,offset_x,offset_y,is_arc_across,module_type_id,is_special_shaped,is_sculpt,is_side_sculpt,is_2v,is_side_2v,is_row_hole,is_optimized,is_cutted,filter_type,remark,is_cancel,deleted,custom_plate_no,create_time,update_time,creator,updater, cad_plate_no) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int index) throws SQLException {
@@ -1916,8 +1923,7 @@ public class WebCadOrderImportFactory {
ps.setTimestamp(48, Timestamp.valueOf(item.getUpdateTime()));
ps.setString(49, item.getCreator());
ps.setString(50, item.getUpdater());
ps.setInt(51, item.getCadViewId());
ps.setString(52, item.getCadPlateNo());
ps.setString(51, item.getCadPlateNo());
}
@Override
@@ -1942,7 +1948,7 @@ public class WebCadOrderImportFactory {
// 达到批量的阈值就做一次插入
if (CollUtil.isNotEmpty(list) && (list.size() >= BATCH_THRESHOLD_NUMBER || isLast)) {
String sql = "INSERT INTO order_item (id,order_id,type,room_id,body_id,package_id,group_id,plate_id,parts_id,num,organ_id,comp_id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)";
String sql = "INSERT INTO order_item (id,order_id,type,room_id,body_id,package_id,group_id,plate_id,parts_id,num,organ_id,comp_id,cad_view_id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)";
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int index) throws SQLException {
@@ -1967,6 +1973,11 @@ public class WebCadOrderImportFactory {
} else {
ps.setNull(12, Types.BIGINT);
}
if (item.getCadViewId() != null) {
ps.setLong(13, item.getCadViewId());
} else {
ps.setNull(13, Types.INTEGER);
}
}
@Override