diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/dto/StGlassCakeOutDTO.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/dto/StGlassCakeOutDTO.java index 01257f52..6f10d53a 100644 --- a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/dto/StGlassCakeOutDTO.java +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/dto/StGlassCakeOutDTO.java @@ -26,7 +26,7 @@ public class StGlassCakeOutDTO extends StGlassCakeOut { * 是否印字(库存查询条件) */ @Schema(description = "是否印字") - private Boolean printMark; + private String printMark; /** * 粉重(库存查询条件) diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StGlassCakeOut.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StGlassCakeOut.java index 737dd48d..5c3afd14 100644 --- a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StGlassCakeOut.java +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StGlassCakeOut.java @@ -133,7 +133,7 @@ public class StGlassCakeOut extends TenantEntity { */ @TableField(exist = false) @Schema(description = "是否印字") - private Boolean printMark; + private String printMark; /** * 粉重 */ diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StOtherReceiptRecord.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StOtherReceiptRecord.java index 1a63acf0..fa8c37ed 100644 --- a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StOtherReceiptRecord.java +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StOtherReceiptRecord.java @@ -82,7 +82,7 @@ public class StOtherReceiptRecord extends TenantEntity { */ public static final Short REASON_STUB = 5; /** - * 生产入库 + * 玻璃饼入库 */ public static final Short REASON_PRODUCE = 7; diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StRealtimeStock.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StRealtimeStock.java index 1262bc6d..5b93c38a 100644 --- a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StRealtimeStock.java +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StRealtimeStock.java @@ -162,7 +162,7 @@ public class StRealtimeStock extends TenantEntity { * 是否印字 */ @Schema(description = "是否印字") - private Boolean printMark; + private String printMark; /** * 粉重 */ diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StStockInoutRecord.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StStockInoutRecord.java index 1478426d..a9549dde 100644 --- a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StStockInoutRecord.java +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StStockInoutRecord.java @@ -186,7 +186,7 @@ public class StStockInoutRecord extends TenantEntity { */ @TableField(exist = false) @Schema(description = "是否印字") - private Boolean printMark; + private String printMark; /** * 粉重 */ diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGlassCakeOutVO.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGlassCakeOutVO.java index bbb650a2..fa2b034d 100644 --- a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGlassCakeOutVO.java +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGlassCakeOutVO.java @@ -33,7 +33,7 @@ public class StGlassCakeOutVO extends StGlassCakeOut { private String goodsName; @Schema(description = "是否印字") @TableField(exist = false) - private Boolean printMark; + private String printMark; @Schema(description = "粉重") @TableField(exist = false) private String powderWeight; diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java index 62fc4577..e0ef129b 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java @@ -1935,7 +1935,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl list = new ArrayList<>(); StGlassCakeOutDTO glassDto = new StGlassCakeOutDTO(); - glassDto.setPrintMark(false); + glassDto.setPrintMark("1"); glassDto.setPowderWeight("1"); glassDto.setMaterialNo("2"); glassDto.setThickness("3"); diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherReceiptRecordServiceImpl.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherReceiptRecordServiceImpl.java index 8fbc6dfa..ece1193b 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherReceiptRecordServiceImpl.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherReceiptRecordServiceImpl.java @@ -12,7 +12,6 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.BladeUser; import org.springblade.desk.dashboard.feign.IPartClient; import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; -import org.springblade.desk.dashboard.pojo.entity.DsPartRelationEntity; import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.produce.pojo.entity.WorkOrder; import org.springblade.wms.excel.StOtherReceiptRecordExcel; @@ -21,12 +20,10 @@ import org.springblade.wms.pojo.dto.InitStockDTO; import org.springblade.wms.pojo.entity.*; import org.springblade.wms.pojo.vo.StOtherReceiptRecordVO; import org.springblade.wms.service.*; -import org.springblade.wms.wrapper.StOtherReceiptRecordWrapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.math.BigDecimal; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -289,7 +286,6 @@ public class StOtherReceiptRecordServiceImpl extends BaseServiceImpl list = baseMapper.selectByWoCode(woCode); WorkOrder workOrder = baseMapper.getByWoCode(woCode); if (workOrder == null) { @@ -310,42 +306,17 @@ public class StOtherReceiptRecordServiceImpl extends BaseServiceImpl partRelationEntityList = partClient.getSubPart(partOne.getId()); - - List glassCakePartList = new ArrayList<>(); - if (!CollectionUtils.isEmpty(partRelationEntityList)) { - // 步骤1:提取所有非空的childPartId并去重(避免null和重复ID,减少查询压力) - List childPartIdList = partRelationEntityList.stream() - .map(DsPartRelationEntity::getChildPartId) // 提取子件ID - .filter(Objects::nonNull) // 过滤null的ID - .distinct() // 去重,避免重复查询 - .collect(Collectors.toList()); - - // 步骤2:批量查询DS_PART表(一次SQL,性能最优) - if (!CollectionUtils.isEmpty(childPartIdList)) { - // 调用dsPartService的批量查询方法(根据ID列表查DS_PART) - List allChildPartList = partClient.batchParts(childPartIdList); - - // 步骤3:筛选出IS_CLASS_CAKE为"玻璃饼"的记录(核心过滤) - if (!CollectionUtils.isEmpty(allChildPartList)) { - glassCakePartList = allChildPartList.stream() - .filter(part -> Boolean.TRUE.equals(part.getIsGlassCake())) - .collect(Collectors.toList()); - } - } - } StStockInoutRecord inoutRecord = new StStockInoutRecord(); - if (!CollectionUtils.isEmpty(glassCakePartList)) { - DsPartEntity targetPart = glassCakePartList.stream() - .filter(part -> goodsCode.equals(part.getPartCode())) - .findFirst() - .orElse(null); - - inoutRecord.setPrintMark(Boolean.valueOf(targetPart.getIsPrint())); - inoutRecord.setPowderWeight(String.valueOf(targetPart.getPowderWeight())); - inoutRecord.setMaterialNo(targetPart.getMaterial()); - inoutRecord.setThickness(String.valueOf(targetPart.getFormingThickness())); + if ("1".equals(partOne.getIsGlassCake())) { + if (goodsCode.equals(partOne.getPartCode())) { + inoutRecord.setPrintMark(partOne.getIsPrint()); + inoutRecord.setPowderWeight(String.valueOf(partOne.getPowderWeight())); + inoutRecord.setMaterialNo(partOne.getMaterial()); + inoutRecord.setThickness(String.valueOf(partOne.getFormingThickness())); + } + } else { + throw new RuntimeException("零件编号【" + workOrder.getPartCode() + "】不是玻璃饼,不允许操作"); } if (ObjectUtil.isEmpty(inoutRecord)) {