|
@@ -0,0 +1,136 @@
|
|
|
+package com.onemap.apply.service.gdbh.impl;
|
|
|
+
|
|
|
+import com.onemap.apply.domain.gdbh.TGdbhGdServerDTO;
|
|
|
+import com.onemap.apply.domain.gdbh.TGdbhYjjbntServerDTO;
|
|
|
+import com.onemap.apply.mapper.gdbh.TGdbhGdMapper;
|
|
|
+import com.onemap.apply.mapper.gdbh.TGdbhGdServerMapper;
|
|
|
+import com.onemap.apply.mapper.gdbh.TGdbhYjjbntMapper;
|
|
|
+import com.onemap.apply.mapper.gdbh.TGdbhYjjbntServerMapper;
|
|
|
+import com.onemap.apply.service.gdbh.ITGdbhGdService;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 耕地保护-永久基本农田Service业务层处理
|
|
|
+ *
|
|
|
+ * @author ruoyi
|
|
|
+ * @date 2024-11-26
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class TGdbhGdServiceImpl implements ITGdbhGdService {
|
|
|
+ @Resource
|
|
|
+ private TGdbhGdServerMapper tGdbhGdServerMapper;
|
|
|
+ @Resource
|
|
|
+ private TGdbhGdMapper tGdbhGdMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<TGdbhGdServerDTO> selectTGdbhGdServerList(TGdbhGdServerDTO tGdbhGdServer) {
|
|
|
+ return tGdbhGdServerMapper.selectTGdbhGdServerList(tGdbhGdServer);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> ntzllist(String yaer, String xzqhdm, String dlbm) {
|
|
|
+ TGdbhGdServerDTO d0_tGdbhYjjbntServer = new TGdbhGdServerDTO();
|
|
|
+ d0_tGdbhYjjbntServer.setYear(yaer);
|
|
|
+ List<TGdbhGdServerDTO> d1 = selectTGdbhGdServerList(d0_tGdbhYjjbntServer);
|
|
|
+ if (d1 == null || d1.size() == 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ TGdbhGdServerDTO d2 = d1.get(0);
|
|
|
+ String areacolumn = d2.getAreaColumn();
|
|
|
+ String sjy = d2.getSjy();
|
|
|
+ Map<String, Object> retMap = tGdbhGdMapper.ntzl(sjy, areacolumn, yaer, xzqhdm, dlbm);
|
|
|
+ return retMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> ntzlfl(String yaer, String xzqhdm, String dlbm) {
|
|
|
+ TGdbhGdServerDTO d0_tGdbhYjjbntServer = new TGdbhGdServerDTO();
|
|
|
+ d0_tGdbhYjjbntServer.setYear(yaer);
|
|
|
+ List<TGdbhGdServerDTO> d1 = selectTGdbhGdServerList(d0_tGdbhYjjbntServer);
|
|
|
+ if (d1 == null || d1.size() == 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ TGdbhGdServerDTO d2 = d1.get(0);
|
|
|
+ String areacolumn = d2.getAreaColumn();
|
|
|
+ String sjy = d2.getSjy();
|
|
|
+ List<Map<String, Object>> retMap = tGdbhGdMapper.ntzlfl(sjy, areacolumn, yaer, xzqhdm, dlbm);
|
|
|
+ return retMap;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> ntzlbhqk(String sourceyaer, String targetyaer, String xzqhdm, String dlbm) {
|
|
|
+ Map<String, Object> d0old = ntzllist(sourceyaer, xzqhdm, dlbm);
|
|
|
+ Map<String, Object> d1new = ntzllist(targetyaer, xzqhdm, dlbm);
|
|
|
+ BigDecimal d0_mj_m = (BigDecimal) d0old.get("mj_m");
|
|
|
+ Long d0_gs = (Long) d0old.get("gs");
|
|
|
+ BigDecimal d0_mj = (BigDecimal) d0old.get("mj");
|
|
|
+ BigDecimal d0_mj_gq = (BigDecimal) d0old.get("mj_gq");
|
|
|
+ BigDecimal d0_mj_qm = (BigDecimal) d0old.get("mj_qm");
|
|
|
+ BigDecimal d1_mj_m = (BigDecimal) d1new.get("mj_m");
|
|
|
+ Long d1_gs = (Long) d1new.get("gs");
|
|
|
+ BigDecimal d1_mj = (BigDecimal) d1new.get("mj");
|
|
|
+ BigDecimal d1_mj_gq = (BigDecimal) d1new.get("mj_gq");
|
|
|
+ BigDecimal d1_mj_qm = (BigDecimal) d1new.get("mj_qm");
|
|
|
+ Map<String, Object> retMap = new HashMap<>();
|
|
|
+ retMap.put("mj_m", d0_mj_m.subtract(d1_mj_m));
|
|
|
+ retMap.put("d1_gs", d0_gs - d1_gs);
|
|
|
+ retMap.put("d1_mj", d0_mj.subtract(d1_mj));
|
|
|
+ retMap.put("d1_mj_gq", d0_mj_gq.subtract(d1_mj_gq));
|
|
|
+ retMap.put("d1_mj_qm", d0_mj_qm.subtract(d1_mj_qm));
|
|
|
+ retMap.put("mjbh", d0_mj_m.subtract(d1_mj_m).divide(d0_mj_m, 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ return retMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> ntzllnbhqk(String xzqhdm, String dlbm) {
|
|
|
+ TGdbhGdServerDTO d0_tGdbhYjjbntServer = new TGdbhGdServerDTO();
|
|
|
+ List<TGdbhGdServerDTO> d1 = selectTGdbhGdServerList(d0_tGdbhYjjbntServer);
|
|
|
+ if (d1 == null || d1.size() == 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List<Map<String, Object>> retList = new ArrayList<>();
|
|
|
+
|
|
|
+ for (int i = 0; i < d1.size(); i++) {
|
|
|
+ if (i > 0) {
|
|
|
+ Map<String, Object> d3map = ntzlbhqk(d1.get(i).getYear(), d1.get(i - 1).getYear(), xzqhdm, dlbm);
|
|
|
+ d3map.put("year", d1.get(i - 1).getYear());
|
|
|
+ retList.add(d3map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, Object> d4map = new HashMap<>();
|
|
|
+ d4map.put("mj_m", 0);
|
|
|
+ d4map.put("d1_gs", 0);
|
|
|
+ d4map.put("d1_mj", 0);
|
|
|
+ d4map.put("d1_mj_gq", 0);
|
|
|
+ d4map.put("d1_mj_qm", 0);
|
|
|
+ d4map.put("mjbh", 0);
|
|
|
+ d4map.put("year", d1.get(d1.size() - 1).getYear());
|
|
|
+ retList.add(d4map);
|
|
|
+ return retList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> ntzlqxfl(String yaer, String xzqhdm, String dlbm) {
|
|
|
+ TGdbhGdServerDTO d0_tGdbhYjjbntServer = new TGdbhGdServerDTO();
|
|
|
+ d0_tGdbhYjjbntServer.setYear(yaer);
|
|
|
+ List<TGdbhGdServerDTO> d1 = selectTGdbhGdServerList(d0_tGdbhYjjbntServer);
|
|
|
+ if (d1 == null || d1.size() == 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ TGdbhGdServerDTO d2 = d1.get(0);
|
|
|
+ String areacolumn = d2.getAreaColumn();
|
|
|
+ String sjy = d2.getSjy();
|
|
|
+ List<Map<String, Object>> retMap = tGdbhGdMapper.qxfl(sjy, areacolumn, yaer, xzqhdm, dlbm);
|
|
|
+ return retMap;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|