fix (farm): 集成测试 修复问题
- 生命周期-中文字符展示 - 面积值取整
This commit is contained in:
@@ -28,6 +28,8 @@ public class TenantInfoRespVO {
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public static class TenantInfo {
|
||||
@Schema(description = "商户名称")
|
||||
private String tenantName;
|
||||
@Schema(description = "商户所属-基地总数")
|
||||
private Integer baseCount;
|
||||
@Schema(description = "商户所属-在种作物总数")
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package cn.iocoder.yudao.module.farm.enums;
|
||||
|
||||
import io.swagger.v3.oas.models.security.SecurityScheme;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -43,6 +41,7 @@ public class CommonConstants {
|
||||
PLAN_MAP.put(PLAN_STATUS_7, "已结束");
|
||||
|
||||
LIFE_CYCLE_MAP.put("1", "一年生");
|
||||
LIFE_CYCLE_MAP.put("2", "半年生");
|
||||
LIFE_CYCLE_MAP.put("10", "多年生");
|
||||
|
||||
GRID_TYPE.put("1", "养殖类型");
|
||||
|
||||
@@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmBaseOverviewReqV
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmBaseOverviewRespVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo.*;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.companyinfo.CompanyInfoDO;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.gridinfo.GridInfoDO;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO;
|
||||
@@ -20,10 +21,12 @@ import cn.iocoder.yudao.module.farm.dal.mysql.gridinfo.GridInfoMapper;
|
||||
import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.PersonnelManagementMapper;
|
||||
import cn.iocoder.yudao.module.farm.dal.mysql.specieslibrary.SpeciesLibraryMapper;
|
||||
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
|
||||
import cn.iocoder.yudao.module.farm.service.companyinfo.CompanyInfoService;
|
||||
import cn.iocoder.yudao.module.farm.service.personnelmanagement.PersonnelManagementService;
|
||||
import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService;
|
||||
import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService;
|
||||
import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService;
|
||||
import cn.iocoder.yudao.module.farm.utils.BigDecimalUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
@@ -71,6 +74,8 @@ public class BaseInfoServiceImpl implements BaseInfoService {
|
||||
private ProductionPlanService productionPlanService;
|
||||
@Resource
|
||||
private PlotInfoService plotInfoService;
|
||||
@Resource
|
||||
private CompanyInfoService companyInfoService;
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
@@ -228,14 +233,16 @@ public class BaseInfoServiceImpl implements BaseInfoService {
|
||||
Object result = baseInfoMapper.selectObjs(wrapper).stream().findFirst().orElse(BigDecimal.ZERO);
|
||||
areaCount = (BigDecimal) result;
|
||||
}
|
||||
return new TenantInfoRespVO.TenantInfo(baseCount, cropCount, areaCount, employeeCount);
|
||||
// 租户公司名称
|
||||
CompanyInfoDO companyInfo = companyInfoService.getCompanyInfo();
|
||||
return new TenantInfoRespVO.TenantInfo(companyInfo.getName(),baseCount, cropCount, areaCount, employeeCount);
|
||||
}
|
||||
|
||||
private void packageBaseInfo(long tenantId, List<BaseInfoRespVO> respVOS, Map<String, String> employeeMap) {
|
||||
for (BaseInfoRespVO obj : respVOS) {
|
||||
String baseId = obj.getId();
|
||||
String baseName = obj.getName();
|
||||
BigDecimal baseArea = obj.getArea();
|
||||
BigDecimal baseArea = BigDecimalUtil.roundedViaMath(obj.getArea());
|
||||
List<PlotInfoDO> plotList = plotInfoService.getPlotInfos(baseId);
|
||||
|
||||
// 基地概述
|
||||
@@ -267,7 +274,7 @@ public class BaseInfoServiceImpl implements BaseInfoService {
|
||||
for (PlotInfoDO aDo : plotList) {
|
||||
String plotManager = employeeMap.getOrDefault(aDo.getEmployeeId(), "系统");
|
||||
List<BaseInfoRespVO.GridInfo> gridInfos = this.packageGridInfo(aDo.getId());
|
||||
BaseInfoRespVO.PlotInfo target = new BaseInfoRespVO.PlotInfo(aDo.getId(), aDo.getPlotName(), aDo.getPlotColor(), aDo.getPlotArea(), plotManager, aDo.getPoint(), gridInfos);
|
||||
BaseInfoRespVO.PlotInfo target = new BaseInfoRespVO.PlotInfo(aDo.getId(), aDo.getPlotName(), aDo.getPlotColor(), BigDecimalUtil.roundedViaMath( aDo.getPlotArea()), plotManager, aDo.getPoint(), gridInfos);
|
||||
targetList.add(target);
|
||||
}
|
||||
return targetList;
|
||||
|
||||
@@ -93,11 +93,7 @@ public class ModelManagementServiceImpl implements ModelManagementService {
|
||||
SpeciesLibraryDO speciesLibrary = speciesLibraryService.getSpeciesLibrary(createReqVO.getSpeciesId());
|
||||
modelManagement.setSpeciesName(speciesLibrary.getSpeciesName() + "/" + speciesLibrary.getCultivarName());
|
||||
modelManagement.setCycle(speciesLibrary.getLifeCycle().toString());
|
||||
// if (speciesLibrary.getLifeCycle() == 1) {
|
||||
// modelManagement.setCycleName("一年生");
|
||||
// } else if (speciesLibrary.getLifeCycle() == 10) {
|
||||
// modelManagement.setCycleName("多年生");
|
||||
// }
|
||||
modelManagement.setCycleName(LIFE_CYCLE_MAP.getOrDefault(speciesLibrary.getLifeCycle().toString(),""));
|
||||
modelManagement.setSpeciesImage(speciesLibrary.getImage());
|
||||
// 处理suitablePlantingAreas字段,优先使用集合
|
||||
if (createReqVO.getSuitablePlantingAreas() != null && !createReqVO.getSuitablePlantingAreas().isEmpty()) {
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package cn.iocoder.yudao.module.farm.utils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: binda
|
||||
* @date: 2025/9/9 14:43
|
||||
*/
|
||||
public class BigDecimalUtil {
|
||||
|
||||
public static BigDecimal roundedViaMath(BigDecimal num) {
|
||||
long roundedLong = Math.round(num.doubleValue());
|
||||
return new BigDecimal(roundedLong);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user