修改bug

This commit is contained in:
lcj
2025-10-14 20:24:17 +08:00
parent b9507e1fd7
commit 98f23e2c02
3 changed files with 92 additions and 27 deletions

View File

@ -1,5 +1,6 @@
package org.dromara.drone.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -151,7 +152,9 @@ public class DroProjectDroneServiceImpl extends ServiceImpl<DroProjectDroneMappe
List<DroProjectDrone> list = this.lambdaQuery()
.eq(DroProjectDrone::getProjectId, projectId)
.list();
if (CollUtil.isNotEmpty(list)) {
droneManager.addAirportInfoByProject(list.stream().map(DroProjectDrone::getDroneSn).toList(), projectId);
}
return true;
}

View File

@ -166,13 +166,19 @@ public class PgsProgressCategoryServiceImpl extends ServiceImpl<PgsProgressCateg
throw new ServiceException("进度类别信息不存在", HttpStatus.NOT_FOUND);
}
// 获取当前进度数量和完成数量总和
BigDecimal allNumber = progressPlanService.getCurrentPlanAndFinishedNumber(progressCategory);
BigDecimal total = progressCategory.getTotal();
PgsProgressCategoryLastTimeVo lastTimeVo = new PgsProgressCategoryLastTimeVo();
BigDecimal total = PgsProgressUnitTypeEnum.PERCENTAGE.getValue().equals(progressCategory.getUnitType()) ?
new BigDecimal(100) : progressCategory.getTotal();
;
if (total.compareTo(BigDecimal.ZERO) > 0) {
BigDecimal allNumber = progressPlanService.getCurrentPlanAndFinishedNumber(progressCategory);
total = PgsProgressUnitTypeEnum.PERCENTAGE.getValue().equals(progressCategory.getUnitType()) ?
new BigDecimal(100) : total;
// 剩余数量
BigDecimal planTotal = total.subtract(allNumber);
lastTimeVo.setLeftNum(planTotal);
} else {
lastTimeVo.setLeftNum(BigDecimal.ZERO);
}
PgsProgressPlan progressPlan = progressPlanService.lambdaQuery()
.eq(PgsProgressPlan::getProgressCategoryId, id)
.orderByDesc(PgsProgressPlan::getEndDate)

View File

@ -5,7 +5,6 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.PhoneUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -41,8 +40,6 @@ import org.dromara.facility.service.IFacMatrixService;
import org.dromara.manager.weathermanager.WeatherConstant;
import org.dromara.manager.weathermanager.WeatherManager;
import org.dromara.manager.weathermanager.vo.WeatherVo;
import org.dromara.other.domain.OthYs7Device;
import org.dromara.other.service.IOthYs7DeviceService;
import org.dromara.progress.domain.PgsProgressCategory;
import org.dromara.progress.domain.enums.PgsRelevancyStructureEnum;
import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryStructureVo;
@ -60,6 +57,7 @@ import org.dromara.safety.service.IHseKnowledgeDocumentService;
import org.dromara.system.domain.vo.SysDictDataVo;
import org.dromara.system.service.ISysDictDataService;
import org.dromara.workflow.service.IFlwDefinitionService;
import org.dromara.xzd.utilS.IdWorker;
import org.springframework.beans.BeanUtils;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.context.annotation.Lazy;
@ -1137,6 +1135,43 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
if (projectVos == null || projectVos.isEmpty()) {
return Collections.emptyMap();
}
projectVos.add(create("北京市", "北京", 39.9042, 116.4074, 1));
projectVos.add(create("天津市", "天津", 39.3434, 117.36162, 2));
projectVos.add(create("河北省", "石家庄", 38.0428, 114.5149, 3));
projectVos.add(create("山西省", "太原", 37.8706, 112.5493, 1));
projectVos.add(create("内蒙古自治区", "呼和浩特", 40.8426, 111.7492, 2));
projectVos.add(create("辽宁省", "沈阳", 41.8057, 123.4315, 2));
projectVos.add(create("吉林省", "长春", 43.8171, 125.3235, 3));
projectVos.add(create("黑龙江省", "哈尔滨", 45.8038, 126.5349, 1));
projectVos.add(create("上海市", "上海", 31.2304, 121.4737, 3));
projectVos.add(create("江苏省", "南京", 32.0603, 118.7969, 1));
projectVos.add(create("浙江省", "杭州", 30.2741, 120.1551, 1));
projectVos.add(create("安徽省", "合肥", 31.8206, 117.2272, 2));
projectVos.add(create("福建省", "福州", 26.0745, 119.2965, 2));
projectVos.add(create("江西省", "南昌", 28.6820, 115.8579, 2));
projectVos.add(create("山东省", "济南", 36.6512, 117.1201, 1));
projectVos.add(create("河南省", "郑州", 34.7473, 113.6249, 1));
projectVos.add(create("湖北省", "武汉", 30.5928, 114.3055, 1));
projectVos.add(create("湖南省", "长沙", 28.2278, 112.9389, 2));
projectVos.add(create("广东省", "广州", 23.1291, 113.2644, 3));
projectVos.add(create("广西壮族自治区", "南宁", 22.8170, 108.3669, 1));
projectVos.add(create("海南省", "海口", 20.0440, 110.1999, 1));
projectVos.add(create("四川省", "成都", 30.6595, 104.0657, 2));
projectVos.add(create("贵州省", "贵阳", 26.6470, 106.6302, 1));
projectVos.add(create("云南省", "昆明", 25.0406, 102.7123, 3));
projectVos.add(create("西藏自治区", "拉萨", 29.6469, 91.1172, 1));
projectVos.add(create("陕西省", "西安", 34.3416, 108.9398, 3));
projectVos.add(create("甘肃省", "兰州", 36.0614, 103.8343, 1));
projectVos.add(create("青海省", "西宁", 36.6232, 101.7782, 2));
projectVos.add(create("宁夏回族自治区", "银川", 38.4872, 106.2309, 2));
projectVos.add(create("新疆维吾尔自治区", "乌鲁木齐", 43.8266, 87.6168, 3));
projectVos.add(create("香港特别行政区", "香港", 22.3193, 114.1694, 1));
projectVos.add(create("澳门特别行政区", "澳门", 22.1987, 113.5439, 1));
projectVos.add(create("台湾省", "台北", 25.0330, 121.5654, 1));
// 老挝 - 万象
projectVos.add(create("老挝", "万象", 17.9757, 102.6331, 1));
// 老挝 - 琅勃拉邦
projectVos.add(create("老挝", "琅勃拉邦", 19.8856, 102.1350, 2));
Map<String, Map<String, Map<String, String>>> map = new HashMap<>();
for (SysDictDataVo projectType : projectTypes) {
Map<String, Map<String, String>> map1 = new HashMap<>();
@ -1250,4 +1285,25 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj
.one();
return project != null ? project.getProjectName() : null;
}
/**
* 创建项目信息
*
* @param name 项目名称
* @param lat 纬度
* @param lng 经度
* @param projectType 项目类型
* @return 项目信息
*/
private static BusProjectVo create(String province, String name, double lat, double lng, Integer projectType) {
BusProjectVo vo = new BusProjectVo();
vo.setId(IdWorker.getID());
vo.setProvince(province);
vo.setProjectName(name);
vo.setLat(String.valueOf(lat));
vo.setLng(String.valueOf(lng));
vo.setProjectType(projectType.toString());
return vo;
}
}