diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqValidateComponentExistenceDto.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqValidateComponentExistenceDto.java index c1d7af05..22540c58 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqValidateComponentExistenceDto.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/model/dto/request/ReqValidateComponentExistenceDto.java @@ -13,4 +13,8 @@ public class ReqValidateComponentExistenceDto { * 部件类型编号 如代表电池,头盔等 */ private String componentType; + /** + * 是否新增入库 + */ + private Boolean isNew = false; } diff --git a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeComponentServiceImpl.java b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeComponentServiceImpl.java index 23842ee9..380dfed9 100644 --- a/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeComponentServiceImpl.java +++ b/ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeComponentServiceImpl.java @@ -545,14 +545,19 @@ public class EbikeComponentServiceImpl implements EbikeComponentService { return JsonResult.success(resComponentOutRecordInfoDto); } - + /** + * 根据部件编号 和部件类型验证仓库中是否已经存在 + * @params + * @return + */ @Override public JsonResult validateComponentExistence(ReqValidateComponentExistenceDto params) { try { String componentCode = params.getComponentCode(); String componentType = params.getComponentType(); + Boolean isNew = params.getIsNew(); // 检查是否存在重复记录 - boolean duplicateEntry = isDuplicateEntry(componentCode, componentType); + boolean duplicateEntry = isDuplicateEntry(componentCode, componentType,isNew); // 返回成功响应 return JsonResult.success(duplicateEntry); } catch (Exception e) { @@ -808,11 +813,13 @@ public class EbikeComponentServiceImpl implements EbikeComponentService { ebikeComponentOutRecords.setState("2"); ebikeComponentOutRecordsMapper.update(ebikeComponentOutRecords); } - public boolean isDuplicateEntry(String itemCode,String componentType) { + public boolean isDuplicateEntry(String itemCode,String componentType,Boolean isNew) { QueryWrapper query = new QueryWrapper(); query.eq("item_code", itemCode); query.eq("component_type", componentType); - query.eq("state", 1); // 假设 1 表示已已入库 + if(!isNew){ + query.eq("state", 1); // 假设 1 表示已已入库 + } long count = ebikeComponentInventoryMapper.selectCountByQuery(query); // 查询符合条件的记录数 return count > 0; // 如果记录数大于 0,说明已经存在重复入库 }