|
@@ -7,13 +7,12 @@ import com.sooka.sponest.data.digitalagriculture.domain.CenterdataTFarmAgricultu
|
|
import com.sooka.sponest.data.digitalagriculture.domain.bo.AgricultureBigDataBO;
|
|
import com.sooka.sponest.data.digitalagriculture.domain.bo.AgricultureBigDataBO;
|
|
import com.sooka.sponest.data.digitalagriculture.mapper.AgricultureBigDataMapper;
|
|
import com.sooka.sponest.data.digitalagriculture.mapper.AgricultureBigDataMapper;
|
|
import com.sooka.sponest.data.digitalagriculture.service.IAgricultureBigDataService;
|
|
import com.sooka.sponest.data.digitalagriculture.service.IAgricultureBigDataService;
|
|
|
|
+import com.sooka.sponest.data.utils.DeptLevelUtil;
|
|
import org.apache.commons.collections4.MapUtils;
|
|
import org.apache.commons.collections4.MapUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.LinkedHashMap;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IAgricultureBigDataService {
|
|
public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IAgricultureBigDataService {
|
|
@@ -21,6 +20,9 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
|
|
@Autowired
|
|
@Autowired
|
|
private AgricultureBigDataMapper agricultureBigDataMapper;
|
|
private AgricultureBigDataMapper agricultureBigDataMapper;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private DeptLevelUtil deptLevelUtil;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
@DataScopeMutiDept(deptAlias = "d")
|
|
@DataScopeMutiDept(deptAlias = "d")
|
|
public List<Map<String, Object>> getSixNum(AgricultureBigDataBO agricultureBigDataBO) {
|
|
public List<Map<String, Object>> getSixNum(AgricultureBigDataBO agricultureBigDataBO) {
|
|
@@ -65,10 +67,10 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
|
|
for (int a = 1; a <= 12; a++) {
|
|
for (int a = 1; a <= 12; a++) {
|
|
for (Map<String, Object> map : list) {
|
|
for (Map<String, Object> map : list) {
|
|
if (String.valueOf(a).equals(MapUtils.getString(map, "mon"))) {
|
|
if (String.valueOf(a).equals(MapUtils.getString(map, "mon"))) {
|
|
- result.put("mon"+a, map.get("num"));
|
|
|
|
|
|
+ result.put("mon" + a, map.get("num"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- result.putIfAbsent("mon"+a, 0);
|
|
|
|
|
|
+ result.putIfAbsent("mon" + a, 0);
|
|
}
|
|
}
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
@@ -159,43 +161,95 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@DataScopeMutiDept(deptAlias = "d")
|
|
@DataScopeMutiDept(deptAlias = "d")
|
|
- public List<Map<String,Object>> getResourceStatistics(AgricultureBigDataBO agricultureBigDataBO) {
|
|
|
|
|
|
+ public List<Map<String, Object>> getResourceStatistics(AgricultureBigDataBO agricultureBigDataBO) {
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
return agricultureBigDataMapper.getResourceStatistics(agricultureBigDataBO);
|
|
return agricultureBigDataMapper.getResourceStatistics(agricultureBigDataBO);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<Map<String,Object>> getSeedStock(AgricultureBigDataBO agricultureBigDataBO) {
|
|
|
|
|
|
+ @DataScopeMutiDept(deptAlias = "d")
|
|
|
|
+ public List<Map<String, Object>> getSeedStock(AgricultureBigDataBO agricultureBigDataBO) {
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
- // 查询部门所属层级
|
|
|
|
-// determineDeptLevel(deptId);
|
|
|
|
- return agricultureBigDataMapper.getSeedStock(agricultureBigDataBO);
|
|
|
|
|
|
+ List<Map<String, Object>> list = agricultureBigDataMapper.getSeedStock(agricultureBigDataBO);
|
|
|
|
+ if (list == null || list.isEmpty()) {
|
|
|
|
+ HashMap<String, Object> objectObjectHashMap = new HashMap<>();
|
|
|
|
+ objectObjectHashMap.put("ancestors", 0);
|
|
|
|
+ objectObjectHashMap.put("deptId", 0);
|
|
|
|
+ objectObjectHashMap.put("salesVolumeNum", 0);
|
|
|
|
+ objectObjectHashMap.put("stockNum", 0);
|
|
|
|
+ list.add(objectObjectHashMap);
|
|
|
|
+ }
|
|
|
|
+ return deptLevelUtil.getDeptLevel(list);
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<Map<String,Object>> getSeedStockByType(AgricultureBigDataBO agricultureBigDataBO) {
|
|
|
|
|
|
+ @DataScopeMutiDept(deptAlias = "d")
|
|
|
|
+ public List<Map<String, Object>> getSeedStockByType(AgricultureBigDataBO agricultureBigDataBO) {
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
- // 查询部门所属层级
|
|
|
|
-// determineDeptLevel(deptId);
|
|
|
|
- return agricultureBigDataMapper.getSeedStockByType(agricultureBigDataBO);
|
|
|
|
|
|
+ List<Map<String, Object>> seedStockByType = agricultureBigDataMapper.getSeedStockByType(agricultureBigDataBO);
|
|
|
|
+ if (seedStockByType == null || seedStockByType.isEmpty()) {
|
|
|
|
+ HashMap<String, Object> objectObjectHashMap = new HashMap<>();
|
|
|
|
+ objectObjectHashMap.put("ancestors", 0);
|
|
|
|
+ objectObjectHashMap.put("deptId", 0);
|
|
|
|
+ objectObjectHashMap.put("salesVolumeNum", 0);
|
|
|
|
+ objectObjectHashMap.put("stockNum", 0);
|
|
|
|
+ seedStockByType.add(objectObjectHashMap);
|
|
|
|
+ }
|
|
|
|
+ return deptLevelUtil.getDeptLevel(seedStockByType);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @DataScopeMutiDept(deptAlias = "d")
|
|
public List<Map<String, Object>> getCultivationStatistics(AgricultureBigDataBO agricultureBigDataBO) {
|
|
public List<Map<String, Object>> getCultivationStatistics(AgricultureBigDataBO agricultureBigDataBO) {
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
- return agricultureBigDataMapper.getCultivationStatistics(agricultureBigDataBO);
|
|
|
|
|
|
+ // 获取当前时间
|
|
|
|
+ Date currentTime = new Date();
|
|
|
|
+ // 创建Calendar对象,并设置当前时间
|
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
|
+ calendar.setTime(currentTime);
|
|
|
|
+ // 获取当前年份
|
|
|
|
+ int currentYear = calendar.get(Calendar.YEAR);
|
|
|
|
+ List<Map<String, Object>> deptLevel;
|
|
|
|
+ // 获取当前年份的数据
|
|
|
|
+ List<Map<String, Object>> currentYearStatistics = getStatisticsByYear(agricultureBigDataBO, String.valueOf(currentYear));
|
|
|
|
+ deptLevel = deptLevelUtil.getDeptLevel(currentYearStatistics);
|
|
|
|
+ // 获取过去五年的数据
|
|
|
|
+ for (int i = currentYear - 1; i >= currentYear - 4; i--) {
|
|
|
|
+ List<Map<String, Object>> statisticsByYear = getStatisticsByYear(agricultureBigDataBO, String.valueOf(i));
|
|
|
|
+ deptLevel.addAll(deptLevelUtil.getDeptLevel(statisticsByYear));
|
|
|
|
+ }
|
|
|
|
+ return deptLevel;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * getCultivationStatistics的附加判断方法
|
|
|
|
+ */
|
|
|
|
+ List<Map<String, Object>> getStatisticsByYear(AgricultureBigDataBO agricultureBigDataBO, String year) {
|
|
|
|
+ List<Map<String, Object>> statisticsByYear = agricultureBigDataMapper.getCultivationStatisticsByYear(agricultureBigDataBO, year);
|
|
|
|
+ if (statisticsByYear == null || statisticsByYear.isEmpty()) {
|
|
|
|
+ Map<String, Object> objectObjectHashMap = new HashMap<>();
|
|
|
|
+ objectObjectHashMap.put("ancestors", 0);
|
|
|
|
+ objectObjectHashMap.put("deptId", 0);
|
|
|
|
+ objectObjectHashMap.put("name", year);
|
|
|
|
+ objectObjectHashMap.put("landAreaNum", 0);
|
|
|
|
+ objectObjectHashMap.put("estimatedProductionNum", 0);
|
|
|
|
+ objectObjectHashMap.put("actualOutputNum", 0);
|
|
|
|
+ statisticsByYear.add(objectObjectHashMap);
|
|
|
|
+ }
|
|
|
|
+ return statisticsByYear;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<Map<String, Object>> getAgriculturalSubsidy(AgricultureBigDataBO agricultureBigDataBO) {
|
|
public List<Map<String, Object>> getAgriculturalSubsidy(AgricultureBigDataBO agricultureBigDataBO) {
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
- return agricultureBigDataMapper.getAgriculturalSubsidy(agricultureBigDataBO);
|
|
|
|
|
|
+ return deptLevelUtil.getDeptLevel(agricultureBigDataMapper.getAgriculturalSubsidy(agricultureBigDataBO));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<Map<String, Object>> getAgriculturalSubsidyBySubclass(AgricultureBigDataBO agricultureBigDataBO) {
|
|
public List<Map<String, Object>> getAgriculturalSubsidyBySubclass(AgricultureBigDataBO agricultureBigDataBO) {
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
- return agricultureBigDataMapper.getAgriculturalSubsidyBySubclass(agricultureBigDataBO);
|
|
|
|
|
|
+ return deptLevelUtil.getDeptLevel(agricultureBigDataMapper.getAgriculturalSubsidyBySubclass(agricultureBigDataBO));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -205,17 +259,32 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ public List<Map<String, Object>> getFarmlandStatistics(AgricultureBigDataBO agricultureBigDataBO) {
|
|
|
|
+ setSookaDataBase(agricultureBigDataBO);
|
|
|
|
+ List<Map<String, Object>> farmlandStatistics = null;
|
|
|
|
+ for (int i = 1 ; i <= 5 ; i++){
|
|
|
|
+ agricultureBigDataBO.setDictValue(String.valueOf(i));
|
|
|
|
+ farmlandStatistics = agricultureBigDataMapper.getFarmlandStatistics(agricultureBigDataBO);
|
|
|
|
+ }
|
|
|
|
+ return deptLevelUtil.getDeptLevel(farmlandStatistics);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
public List<Map<String, Object>> getCooperativesStatistics(AgricultureBigDataBO agricultureBigDataBO) {
|
|
public List<Map<String, Object>> getCooperativesStatistics(AgricultureBigDataBO agricultureBigDataBO) {
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
setSookaDataBase(agricultureBigDataBO);
|
|
- return agricultureBigDataMapper.getCooperativesStatistics(agricultureBigDataBO);
|
|
|
|
|
|
+ List<Map<String, Object>> cooperativesStatistics = agricultureBigDataMapper.getCooperativesStatistics1(agricultureBigDataBO);
|
|
|
|
+ cooperativesStatistics.addAll(agricultureBigDataMapper.getCooperativesStatistics2(agricultureBigDataBO));
|
|
|
|
+ cooperativesStatistics.addAll(agricultureBigDataMapper.getCooperativesStatistics3(agricultureBigDataBO));
|
|
|
|
+ return cooperativesStatistics;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询部门所属层级
|
|
* 查询部门所属层级
|
|
|
|
+ *
|
|
* @param deptId
|
|
* @param deptId
|
|
*/
|
|
*/
|
|
private void determineDeptLevel(Long deptId) {
|
|
private void determineDeptLevel(Long deptId) {
|
|
- SysDept deptInfo = agricultureBigDataMapper.selectDetermineDeptLevel(deptId);
|
|
|
|
|
|
+ SysDept deptInfo = agricultureBigDataMapper.selectDetermineDeptLevel(deptId);
|
|
}
|
|
}
|
|
}
|
|
}
|