SnowflakeIdWorker3rd逻辑还原

This commit is contained in:
gaoqr
2026-08-13 19:50:23 +08:00
parent 3ee87082f3
commit 42777bc7cd
11 changed files with 26 additions and 64 deletions
@@ -569,8 +569,6 @@ public class PlateServiceImpl implements PlateService {
Map<Long, OrderPlanPlateNumAndAreaRespVO> orderGoodsPlanPlateNumAndAreaRespVOMap = new HashMap<>();
Long organId = getUserOrganId();
// 组装新增数据
reqVO.forEach(f -> {
@@ -586,7 +584,8 @@ public class PlateServiceImpl implements PlateService {
.build());
// 生成板编号
String plateNo = SnowflakeIdWorker3rd.generatePlateNo(organId, idWorker.nextId());
long obtainingTime = idWorker.obtainingTime();
String plateNo = "1" + obtainingTime + Long.toString(idWorker.nextId()).substring(2);
String remake1 = f.getRemake1() == null ? "" : f.getRemake1() + ";";
@@ -603,7 +602,6 @@ public class PlateServiceImpl implements PlateService {
plateDOS.add(PlateDO.builder()
.id(plateId)
.orderId(orderId)
.organId(organId)
.name(f.getName())
.plateNo(plateNo)
.type(OrderPlateTypeEnum.SELFINCREASINGBOARD.getType())
@@ -1228,8 +1226,8 @@ public class PlateServiceImpl implements PlateService {
@Override
public OrderPlateWechatMiniProgramCadInfoRespVO getPlateInfoByPlateNo(String plateNo) {
// 1、解析组织id,查询板件信息
Long organId = parseOrganId(plateNo);
organApi.validOrgan(organId).checkError();
Integer organId = Integer.parseInt(plateNo.substring(0, 5));
organApi.validOrgan(organId.longValue()).checkError();
PlateDO plateDO = plateMapper.selectOne(new LambdaQueryWrapper<PlateDO>()
.eq(PlateDO::getOrganId, organId)
@@ -1294,8 +1292,9 @@ public class PlateServiceImpl implements PlateService {
public OrderWechatMiniProgramCadInfoRespVO getOrderInfoByPlateNo(String plateNo) {
OrderWechatMiniProgramCadInfoRespVO result = new OrderWechatMiniProgramCadInfoRespVO();
// 1、解析组织id,查询板件信息
Long organIdLong = parseOrganId(plateNo);
organApi.validOrgan(organIdLong).checkError();
Integer organId = Integer.parseInt(plateNo.substring(0, 5));
Long organIdLong = organId.longValue();
organApi.validOrgan(organId.longValue()).checkError();
PlateDO plateDO = plateMapper.selectOne(new LambdaQueryWrapper<PlateDO>()
.eq(PlateDO::getOrganId, organIdLong)
@@ -1324,8 +1323,9 @@ public class PlateServiceImpl implements PlateService {
@Override
public OrdersViewCadViewInfoRespVO getOrderDetailsByPlateNo(String plateNo, OrderWechatMiniProgramDetailReqVO reqVO) {
// 1、解析组织id,查询板件信息
Long organIdLong = parseOrganId(plateNo);
organApi.validOrgan(organIdLong).checkError();
Integer organId = Integer.parseInt(plateNo.substring(0, 5));
Long organIdLong = organId.longValue();
organApi.validOrgan(organId.longValue()).checkError();
OrganContextHolder.setIgnore(false);
OrganContextHolder.setOrganId(organIdLong);
@@ -1357,20 +1357,4 @@ public class PlateServiceImpl implements PlateService {
return orderComponentService.getOrderViewCadInfo(detailReqVO);
}
/**
* 从板件短编号解析组织编号,同时兼容旧版未增加固定前缀的编号。
*
* @param plateNo 板件短编号
* @return 组织编号
*/
private Long parseOrganId(String plateNo) {
if (plateNo.length() >= 10 && plateNo.charAt(0) == '1') {
int year = Integer.parseInt(plateNo.substring(6, 8));
int month = Integer.parseInt(plateNo.substring(8, 10));
if (year >= 20 && month >= 1 && month <= 12) {
return Long.parseLong(plateNo.substring(1, 6));
}
}
return Long.parseLong(plateNo.substring(0, 5));
}
}
@@ -966,6 +966,7 @@ public class ApiTypeRealize {
for (int i = 0; i < plateLists.size(); i++) {
long plateNo = idWorker.nextId();
long obtainingTime = idWorker.obtainingTime();
JSONObject plate = plateLists.getJSONObject(i);
@@ -983,7 +984,7 @@ public class ApiTypeRealize {
.id(plateId)
.orderId(orderId)
.name(plate.getString(ProduceApiConstants.BD_BOARD_NAME))
.plateNo(SnowflakeIdWorker3rd.generatePlateNo(organId, plateNo))
.plateNo("1" + obtainingTime + Long.toString(plateNo).substring(2))
.type(type)
.goodsId(plate.getLong(ProduceApiConstants.BD_GOODS_ID))
.splitHeight(BigDecimal.valueOf(plate.getDouble(ProduceApiConstants.BD_SPLIT_HEIGHT)))
@@ -274,6 +274,7 @@ public class ExcelTypeRealize {
for (int i = 0; i < Integer.parseInt(combination.getGoodsNumber()); i++) {
long plateNo = idWorker.nextId();
long obtainingTime = idWorker.obtainingTime();
// 计算面积
BigDecimal area = BigDecimal.valueOf(Double.parseDouble(combination.getWidth()))
@@ -292,7 +293,7 @@ public class ExcelTypeRealize {
.plateNo(combination.getPlateNo())
.goodsId(combination.getGoodId())
.width(BigDecimal.valueOf(Double.parseDouble(combination.getWidth())))
.plateNo(SnowflakeIdWorker3rd.generatePlateNo(organId, plateNo))
.plateNo("1" + obtainingTime + Long.toString(plateNo).substring(2))
.height(BigDecimal.valueOf(Double.parseDouble(combination.getHeight())))
.thickness(BigDecimal.valueOf(Double.parseDouble(combination.getThickness())))
.splitWidth(BigDecimal.valueOf(Double.parseDouble(combination.getSplitWidth())))
@@ -809,6 +809,7 @@ public class XmlTypeRealize {
for (BlockXmlVO blockXmlVO : blockXmlVOS.getBlockXmlVOList()) {
long plateNo = idWorker.nextId();
long obtainingTime = idWorker.obtainingTime();
Long plateId = (Long) identifierGenerator.nextId(null);
// 成品面积
@@ -864,7 +865,7 @@ public class XmlTypeRealize {
.organId(organId)
.orderId(orderId)
.name(blockXmlVO.getName())
.plateNo(SnowflakeIdWorker3rd.generatePlateNo(organId, plateNo))
.plateNo("1" + obtainingTime + Long.toString(plateNo).substring(2))
.type(plateType)
.goodsId(goodsId)
.width(BigDecimal.valueOf(Double.parseDouble(blockXmlVO.getWidth())))