From d72f763545c8e292f805c4f9e3d69a86f7b06437 Mon Sep 17 00:00:00 2001 From: lcj <2331845269@qq.com> Date: Mon, 22 Sep 2025 22:10:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/java/org/dromara/test/DemoTest.java | 11 +++++ .../ProjectBigScreenController.java | 48 +++++++++++++------ .../IFacPhotovoltaicPanelColumnService.java | 4 +- .../IFacPhotovoltaicPanelPartsService.java | 4 +- .../IFacPhotovoltaicPanelPointService.java | 4 +- .../service/IFacPhotovoltaicPanelService.java | 4 +- .../IFacPhotovoltaicPanelSupportService.java | 4 +- ...FacPhotovoltaicPanelColumnServiceImpl.java | 23 +++++---- .../FacPhotovoltaicPanelPartsServiceImpl.java | 24 +++++----- .../FacPhotovoltaicPanelPointServiceImpl.java | 23 +++++---- .../impl/FacPhotovoltaicPanelServiceImpl.java | 25 +++++----- ...acPhotovoltaicPanelSupportServiceImpl.java | 23 +++++---- .../PgsProgressCategoryController.java | 44 ++++++++++++++--- .../PgsProgressCategoryCreatePriceReq.java | 1 - .../PgsProgressPlanDetailServiceImpl.java | 29 +++++++---- .../QltQualityInspectionGis.java | 4 -- .../vo/teammeeting/HseTeamMeetingGis.java | 4 +- 17 files changed, 170 insertions(+), 109 deletions(-) diff --git a/xinnengyuan/ruoyi-admin/src/test/java/org/dromara/test/DemoTest.java b/xinnengyuan/ruoyi-admin/src/test/java/org/dromara/test/DemoTest.java index f132da5a..52b1b709 100644 --- a/xinnengyuan/ruoyi-admin/src/test/java/org/dromara/test/DemoTest.java +++ b/xinnengyuan/ruoyi-admin/src/test/java/org/dromara/test/DemoTest.java @@ -16,6 +16,8 @@ import org.dromara.design.service.IDesTechnicalStandardService; import org.dromara.facility.domain.FacMatrix; import org.dromara.facility.service.IFacMatrixService; import org.dromara.facility.service.IFacPhotovoltaicPanelPartsService; +import org.dromara.facility.service.IFacPhotovoltaicPanelService; +import org.dromara.manager.recognizermanager.vo.RecognizeConvertCoordinateResult; import org.dromara.progress.service.IPgsProgressCategoryService; import org.dromara.progress.service.IPgsProgressCategoryTemplateService; import org.dromara.progress.service.IPgsProgressPlanDetailService; @@ -73,6 +75,9 @@ public class DemoTest { @Resource private IdCardEncryptorUtil idCardEncryptorUtil; + @Resource + private IFacPhotovoltaicPanelService photovoltaicPanelService; + @Test void testConstructionValue() { progressPlanDetailService.syncPlanDetail2ConstructionValue(LocalDate.now().minusDays(1), null); @@ -170,4 +175,10 @@ public class DemoTest { } } + @Test + void testImport(){ + photovoltaicPanelService.updateFinishNumberByCoordinate(List.of(1968510961294921730L), + List.of(new RecognizeConvertCoordinateResult("107.124334530","23.830557974"))); + } + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/ProjectBigScreenController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/ProjectBigScreenController.java index 50286a02..e0f6119f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/ProjectBigScreenController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/ProjectBigScreenController.java @@ -1,21 +1,19 @@ package org.dromara.bigscreen.controller; import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; -import org.dromara.bigscreen.domain.*; -import org.dromara.bigscreen.domain.vo.*; -import org.dromara.bigscreen.mapper.ProjectBigScreenMapper; +import org.dromara.bigscreen.domain.vo.ProjectImageProgressVo; +import org.dromara.bigscreen.domain.vo.ProjectLandVo; +import org.dromara.bigscreen.domain.vo.ProjectPeopleVo; +import org.dromara.bigscreen.domain.vo.ProjectSafetyInspectionVo; import org.dromara.bigscreen.service.ProjectBigScreenService; import org.dromara.common.core.domain.R; -import org.dromara.common.core.utils.DateUtils; import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.utils.BigDecimalUtil; import org.dromara.gps.domain.bo.GpsEquipmentBo; import org.dromara.gps.domain.vo.GpsEquipmentSonVo; import org.dromara.gps.service.IGpsEquipmentService; @@ -26,16 +24,20 @@ import org.dromara.land.service.IBusLandTransferLedgerService; import org.dromara.manager.weathermanager.vo.WeatherVo; import org.dromara.other.domain.OthYs7Device; import org.dromara.other.service.IOthYs7DeviceService; -import org.dromara.project.domain.BusProject; import org.dromara.project.domain.vo.project.BusProjectSafetyDayVo; import org.dromara.project.domain.vo.projectnews.BusProjectNewsVo; import org.dromara.project.service.IBusProjectNewsService; import org.dromara.project.service.IBusProjectService; +import org.dromara.quality.domain.dto.qualityinspection.QltQualityInspectionGisReq; +import org.dromara.quality.domain.vo.qualityinspection.QltQualityInspectionListGisVo; +import org.dromara.quality.service.IQltQualityInspectionService; +import org.dromara.safety.domain.dto.safetyinspection.HseSafetyInspectionGisReq; +import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionListGisVo; +import org.dromara.safety.service.IHseSafetyInspectionService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; -import java.time.LocalDate; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -65,12 +67,14 @@ public class ProjectBigScreenController { private final IOthYs7DeviceService othYs7DeviceService; - private final ProjectBigScreenMapper projectBigScreenMapper; - private final IBusProjectService projectService; private final IBusProjectNewsService projectNewsService; + private final IQltQualityInspectionService qualityInspectionService; + + private final IHseSafetyInspectionService safetyInspectionService; + /** * 查询项目土地统计 */ @@ -323,7 +327,7 @@ public class ProjectBigScreenController { gpsMap.put("children", gpsChildrenMap); sxtMap.put("id", 2); sxtMap.put("label", "摄像头"); - sxtMap.put("children",sxtChildrenMap); + sxtMap.put("children", sxtChildrenMap); // sxtMap.put("children", maps1); wrjMap.put("id", 3); wrjMap.put("label", "无人机"); @@ -337,6 +341,21 @@ public class ProjectBigScreenController { return R.ok(maps); } + /** + * 查询质量信息 + */ + @GetMapping("/getQualityList/gis") + public R queryGisList(QltQualityInspectionGisReq req) { + return R.ok(qualityInspectionService.queryGisList(req)); + } + + /** + * 查询大屏安全信息 + */ + @GetMapping("/getSafetyList/gis") + public R queryGisList(HseSafetyInspectionGisReq req) { + return R.ok(safetyInspectionService.queryGisList(req)); + } /** * 查询GPS设备用户列表 @@ -363,18 +382,17 @@ public class ProjectBigScreenController { */ // @SaCheckPermission("project:bigScreen:getProjectMapList") @GetMapping("/getProjectMapList") - public R>>> getProjectMapList() { + public R>>> getProjectMapList() { return R.ok(projectService.getProjectMapList()); } - /** * 查询项目地域分散图 */ // @SaCheckPermission("project:bigScreen:getProjectMapList") @GetMapping("/getProjectDiYv") - public R> getProjectDiYv() { + public R> getProjectDiYv() { return R.ok(projectService.getProjectDiYv()); } @@ -383,7 +401,7 @@ public class ProjectBigScreenController { */ // @SaCheckPermission("project:bigScreen:getProjectMapList") @GetMapping("/getProjectCapacity") - public R>> getProjectCapacity() { + public R>> getProjectCapacity() { return R.ok(projectService.getProjectCapacity()); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelColumnService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelColumnService.java index c79cbd5c..59c339fc 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelColumnService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelColumnService.java @@ -120,8 +120,8 @@ public interface IFacPhotovoltaicPanelColumnService extends IService matchPoints); + void updateFinishNumberByCoordinate(List projectIds, List matchPoints); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPartsService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPartsService.java index ec563245..a1c7bb42 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPartsService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPartsService.java @@ -104,10 +104,10 @@ public interface IFacPhotovoltaicPanelPartsService { /** * 根据识别结果更新光伏板点完成数量 * - * @param projectId 项目id + * @param projectIds 项目id列表 * @param coordinateList 识别结果 * @param type 类型 */ - void updateFinishNumberByCoordinate(Long projectId, List coordinateList, String type); + void updateFinishNumberByCoordinate(List projectIds, List coordinateList, String type); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPointService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPointService.java index e64853c1..0523ca06 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPointService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelPointService.java @@ -120,8 +120,8 @@ public interface IFacPhotovoltaicPanelPointService extends IService matchPoints); + void updateFinishNumberByCoordinate(List projectIds, List matchPoints); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelService.java index 577f80b9..fa1659b3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelService.java @@ -132,8 +132,8 @@ public interface IFacPhotovoltaicPanelService extends IService coordinateList); + void updateFinishNumberByCoordinate(List projectIds, List coordinateList); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelSupportService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelSupportService.java index 8e480406..9f0ac41c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelSupportService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/IFacPhotovoltaicPanelSupportService.java @@ -120,8 +120,8 @@ public interface IFacPhotovoltaicPanelSupportService extends IService matchPoints); + void updateFinishNumberByCoordinate(List projectIds, List matchPoints); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelColumnServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelColumnServiceImpl.java index 8b0f6c41..cc42a487 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelColumnServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelColumnServiceImpl.java @@ -416,12 +416,12 @@ public class FacPhotovoltaicPanelColumnServiceImpl extends ServiceImpl matchPoints) { + public void updateFinishNumberByCoordinate(List projectIds, List matchPoints) { // 获取数据 List finishList = this.listByIds(matchPoints); // 更新完成状态 @@ -437,11 +437,12 @@ public class FacPhotovoltaicPanelColumnServiceImpl extends ServiceImpl> entry : mapByCategory.entrySet()) { Long categoryId = entry.getKey(); + PgsProgressCategory category = progressCategoryService.getById(categoryId); List categoryList = entry.getValue(); // 计算数量 BigDecimal size = BigDecimal.valueOf(categoryList.size()); PgsProgressPlanDetail planDetail = progressPlanDetailService.lambdaQuery() - .eq(PgsProgressPlanDetail::getProjectId, projectId) + .in(PgsProgressPlanDetail::getProjectId, projectIds) .eq(PgsProgressPlanDetail::getProgressCategoryId, categoryId) .eq(PgsProgressPlanDetail::getDate, now) .one(); @@ -476,19 +477,17 @@ public class FacPhotovoltaicPanelColumnServiceImpl extends ServiceImpl projectIds, List coordinateList, String type) { if (CollUtil.isEmpty(coordinateList)) { return; } - List idCoordinatePointList = getIdCoordinatePointList(projectId, type); + List idCoordinatePointList = getIdCoordinatePointList(projectIds, type); if (CollUtil.isEmpty(idCoordinatePointList)) { return; } @@ -846,25 +846,25 @@ public class FacPhotovoltaicPanelPartsServiceImpl implements IFacPhotovoltaicPan } // 根据类型,更新对应数据 if (type.equals(RecognizerTypeEnum.HOLE.getValue())) { - photovoltaicPanelPointService.updateFinishNumberByCoordinate(projectId, matchPoints); + photovoltaicPanelPointService.updateFinishNumberByCoordinate(projectIds, matchPoints); } else if (type.equals(RecognizerTypeEnum.PILE.getValue())) { - photovoltaicPanelColumnService.updateFinishNumberByCoordinate(projectId, matchPoints); + photovoltaicPanelColumnService.updateFinishNumberByCoordinate(projectIds, matchPoints); } else if (type.equals(RecognizerTypeEnum.SHELVES.getValue())) { - photovoltaicPanelSupportService.updateFinishNumberByCoordinate(projectId, matchPoints); + photovoltaicPanelSupportService.updateFinishNumberByCoordinate(projectIds, matchPoints); } } /** * 获取指定项目指定类型数据 * - * @param projectId 项目id - * @param type 类型 + * @param projectIds 项目id列表 + * @param type 类型 * @return id、坐标 */ - private List getIdCoordinatePointList(Long projectId, String type) { + private List getIdCoordinatePointList(List projectIds, String type) { if (type.equals(RecognizerTypeEnum.HOLE.getValue())) { List list = photovoltaicPanelPointService.lambdaQuery() - .eq(FacPhotovoltaicPanelPoint::getProjectId, projectId) + .in(FacPhotovoltaicPanelPoint::getProjectId, projectIds) .ne(FacPhotovoltaicPanelPoint::getStatus, FacFinishStatusEnum.FINISH.getValue()) .list(); if (CollUtil.isNotEmpty(list)) { @@ -873,7 +873,7 @@ public class FacPhotovoltaicPanelPartsServiceImpl implements IFacPhotovoltaicPan } } else if (type.equals(RecognizerTypeEnum.PILE.getValue())) { List list = photovoltaicPanelColumnService.lambdaQuery() - .eq(FacPhotovoltaicPanelColumn::getProjectId, projectId) + .in(FacPhotovoltaicPanelColumn::getProjectId, projectIds) .ne(FacPhotovoltaicPanelColumn::getStatus, FacFinishStatusEnum.FINISH.getValue()) .list(); if (CollUtil.isNotEmpty(list)) { @@ -882,7 +882,7 @@ public class FacPhotovoltaicPanelPartsServiceImpl implements IFacPhotovoltaicPan } } else if (type.equals(RecognizerTypeEnum.SHELVES.getValue())) { List list = photovoltaicPanelSupportService.lambdaQuery() - .eq(FacPhotovoltaicPanelSupport::getProjectId, projectId) + .in(FacPhotovoltaicPanelSupport::getProjectId, projectIds) .ne(FacPhotovoltaicPanelSupport::getStatus, FacFinishStatusEnum.FINISH.getValue()) .list(); if (CollUtil.isNotEmpty(list)) { diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPointServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPointServiceImpl.java index a9ba74d7..b5d10de2 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPointServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/facility/service/impl/FacPhotovoltaicPanelPointServiceImpl.java @@ -416,12 +416,12 @@ public class FacPhotovoltaicPanelPointServiceImpl extends ServiceImpl matchPoints) { + public void updateFinishNumberByCoordinate(List projectIds, List matchPoints) { // 获取数据 List finishList = this.listByIds(matchPoints); // 更新完成状态 @@ -437,11 +437,12 @@ public class FacPhotovoltaicPanelPointServiceImpl extends ServiceImpl> entry : mapByCategory.entrySet()) { Long categoryId = entry.getKey(); + PgsProgressCategory category = progressCategoryService.getById(categoryId); List categoryList = entry.getValue(); // 计算数量 BigDecimal size = BigDecimal.valueOf(categoryList.size()); PgsProgressPlanDetail planDetail = progressPlanDetailService.lambdaQuery() - .eq(PgsProgressPlanDetail::getProjectId, projectId) + .in(PgsProgressPlanDetail::getProjectId, projectIds) .eq(PgsProgressPlanDetail::getProgressCategoryId, categoryId) .eq(PgsProgressPlanDetail::getDate, now) .one(); @@ -476,19 +477,17 @@ public class FacPhotovoltaicPanelPointServiceImpl extends ServiceImpl coordinateList) { + public void updateFinishNumberByCoordinate(List projectIds, List coordinateList) { // 获取项目下的所有未完成的光伏板 List panelList = this.lambdaQuery() - .eq(FacPhotovoltaicPanel::getProjectId, projectId) + .in(FacPhotovoltaicPanel::getProjectId, projectIds) .ne(FacPhotovoltaicPanel::getStatus, FacFinishStatusEnum.FINISH.getValue()) .list(); if (CollUtil.isEmpty(panelList)) { @@ -791,11 +791,12 @@ public class FacPhotovoltaicPanelServiceImpl extends ServiceImpl> entry : mapByCategory.entrySet()) { Long categoryId = entry.getKey(); + PgsProgressCategory category = progressCategoryService.getById(categoryId); List categoryList = entry.getValue(); // 计算数量 BigDecimal size = BigDecimal.valueOf(categoryList.size()); PgsProgressPlanDetail planDetail = progressPlanDetailService.lambdaQuery() - .eq(PgsProgressPlanDetail::getProjectId, projectId) + .eq(PgsProgressPlanDetail::getProjectId, category.getProjectId()) .eq(PgsProgressPlanDetail::getProgressCategoryId, categoryId) .eq(PgsProgressPlanDetail::getDate, now) .one(); @@ -830,19 +831,17 @@ public class FacPhotovoltaicPanelServiceImpl extends ServiceImpl matchPoints) { + public void updateFinishNumberByCoordinate(List projectIds, List matchPoints) { // 获取数据 List finishList = this.listByIds(matchPoints); // 更新完成状态 @@ -437,11 +437,12 @@ public class FacPhotovoltaicPanelSupportServiceImpl extends ServiceImpl> entry : mapByCategory.entrySet()) { Long categoryId = entry.getKey(); + PgsProgressCategory category = progressCategoryService.getById(categoryId); List categoryList = entry.getValue(); // 计算数量 BigDecimal size = BigDecimal.valueOf(categoryList.size()); PgsProgressPlanDetail planDetail = progressPlanDetailService.lambdaQuery() - .eq(PgsProgressPlanDetail::getProjectId, projectId) + .in(PgsProgressPlanDetail::getProjectId, projectIds) .eq(PgsProgressPlanDetail::getProgressCategoryId, categoryId) .eq(PgsProgressPlanDetail::getDate, now) .one(); @@ -476,19 +477,17 @@ public class FacPhotovoltaicPanelSupportServiceImpl extends ServiceImpl projects = projectService.lambdaQuery() + .eq(BusProject::getPId, 1897160897167638529L) + .list(); + List ids = projects.stream().map(BusProject::getId).toList(); + try { // 使用EasyExcel读取所有sheet List allData = new ArrayList<>(); @@ -199,15 +211,30 @@ public class PgsProgressCategoryController extends BaseController { EasyExcel.read(file.getInputStream(), PgsProgressCategoryVo.class, sheetListener) .sheet(readSheet.getSheetNo()) .doRead(); - + List list = sheetListener.getExcelResult().getList(); + List newList = list.stream().filter(vo -> vo.getId() == null).toList(); + List oldList = list.stream().filter(vo -> vo.getId() != null).toList(); // 将当前sheet的数据添加到总数据中 - allData.addAll(sheetListener.getExcelResult().getList()); + allData.addAll(oldList); + if (CollUtil.isNotEmpty(newList)) { + if (CollUtil.isNotEmpty(oldList)) { + PgsProgressCategoryVo first = oldList.getFirst(); + PgsProgressCategory category = pgsProgressCategoryService.getById(first.getId()); + newList.forEach(vo -> { + vo.setParentId(category.getParentId()); + vo.setProjectId(category.getProjectId()); + vo.setMatrixId(category.getMatrixId()); + vo.setAncestors(category.getAncestors()); + vo.setRelevancyStructure(category.getRelevancyStructure()); + }); + allData.addAll(newList); + } + } } // 关闭读取器 excelReader.finish(); - return R.ok(); - /*if (allData.isEmpty()) { + if (allData.isEmpty()) { return R.fail("未读取到有效数据"); } // 处理导入的数据 @@ -228,15 +255,18 @@ public class PgsProgressCategoryController extends BaseController { pgsProgressCategory.setConstructionOutputValue(constructionPrice.multiply(total).setScale(4, RoundingMode.HALF_UP)); } } - + // 关联数据不更新数量 + if (pgsProgressCategory.getRemark() != null && pgsProgressCategory.getRemark().equals("关联数据")) { + pgsProgressCategory.setTotal(null); + } }); - boolean b = pgsProgressCategoryService.updateBatchById(list); + boolean b = pgsProgressCategoryService.saveOrUpdateBatch(list); if (!b) { return R.fail("更新失败"); } - return R.ok("导入成功,共更新 " + list.size() + " 条数据");*/ + return R.ok("导入成功,共更新 " + list.size() + " 条数据"); } catch (Exception e) { log.error("导入Excel文件失败", e); return R.fail("导入失败: " + e.getMessage()); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/dto/progresscategory/PgsProgressCategoryCreatePriceReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/dto/progresscategory/PgsProgressCategoryCreatePriceReq.java index 1a889410..aa52f7f9 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/dto/progresscategory/PgsProgressCategoryCreatePriceReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/domain/dto/progresscategory/PgsProgressCategoryCreatePriceReq.java @@ -1,6 +1,5 @@ package org.dromara.progress.domain.dto.progresscategory; -import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java index 377e3ac2..829e5006 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProgressPlanDetailServiceImpl.java @@ -108,6 +108,9 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl projects = projectService.lambdaQuery() + .eq(BusProject::getPId, projectId) + .list(); + if (CollUtil.isEmpty(projects)) { + return true; + } + List projectIds = projects.stream().map(BusProject::getId).distinct().toList(); // 识别类型:洞、桩、架、架子 List enumList = List.of(RecognizerTypeEnum.HOLE, RecognizerTypeEnum.PHO, RecognizerTypeEnum.PILE, RecognizerTypeEnum.SHELVES); @@ -965,13 +978,11 @@ public class PgsProgressPlanDetailServiceImpl extends ServiceImpl