drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdTaskResultController.java
@@ -142,7 +142,7 @@ @ApiOperationSupport(order = 7) @ApiOperation(value = "批量新增", notes = "传入gdTaskResult") public R batchSaveExternal(@Valid @RequestBody List<GdTaskResultDTO> gdTaskResults) { return R.status(gdTaskResultService.saveBatch(GdTaskResultWrapper.build().listEntity(gdTaskResults))); return R.status(gdTaskResultService.saveBatchTaskResult(GdTaskResultWrapper.build().listEntity(gdTaskResults))); } /** drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdTaskResultService.java
@@ -51,4 +51,10 @@ */ List<GdTaskResultExcel> exportGdTaskResult(Wrapper<GdTaskResultEntity> queryWrapper); /** * * @param gdTaskResultEntities * @return */ boolean saveBatchTaskResult(List<GdTaskResultEntity> gdTaskResultEntities); } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdManageDeviceServiceImpl.java
@@ -331,6 +331,7 @@ .filter(Objects::nonNull) .map(load -> load.getName()) .filter(Objects::nonNull) .distinct() // 添加去重逻辑 .collect(Collectors.joining(",")) ); drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java
@@ -60,6 +60,28 @@ return gdTaskResultList; } @Override public boolean saveBatchTaskResult(List<GdTaskResultEntity> gdTaskResultEntities) { gdTaskResultEntities.forEach(gdTaskResult -> { String areaCode = gdTaskResult.getAreaCode(); if (areaCode != null && !areaCode.isEmpty()) { // 分割区域代码并只取最后一组 String[] codes = areaCode.split(","); if (codes.length > 0) { // 取最后一组并去除空格 String lastCode = codes[codes.length - 1].trim(); if (!lastCode.isEmpty()) { // 补零到12位 String padded = lastCode + "000000000000".substring(lastCode.length()); gdTaskResult.setAreaCode(padded); } } } }); // 执行批量保存并返回结果 return saveBatch(gdTaskResultEntities); } /** * 将URL中的HTML/XML转义字符还原为原始字符 * 主要处理 & 转换为 &