| | |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.modules.farm.entity.Farm; |
| | | import org.springblade.modules.farm.vo.FarmVO; |
| | | import org.springblade.modules.resource.endpoint.OssEndpoint; |
| | | import org.springblade.modules.system.entity.DictBiz; |
| | | import org.springblade.modules.system.service.IDictBizService; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | import java.awt.geom.Point2D; |
| | | import java.text.DecimalFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 地块表 控制器 |
| | |
| | | public class LandController extends BladeController { |
| | | |
| | | private final ILandService landService; |
| | | private final IDictBizService dictService; |
| | | private final OssEndpoint ossEndpoint; |
| | | |
| | | /** |
| | | * 详情 |
| | |
| | | } else { |
| | | v1 = (double) Math.round(area * 100) / 100; |
| | | } |
| | | |
| | | //图片转换上传 |
| | | if (null!=land.getUrl() && !land.getUrl().equals("")){ |
| | | try { |
| | | //上传 |
| | | String url = ossEndpoint.uploadBase64String(land.getUrl()); |
| | | //回填url |
| | | land.setUrl(url); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | land.setLandArea(String.valueOf(v1)); |
| | | land.setType(1); |
| | | return R.status(landService.saveLandInfo(land)); |
| | |
| | | } else { |
| | | v1 = (double) Math.round(area * 100) / 100; |
| | | } |
| | | |
| | | //图片转换上传 |
| | | if (null!=land.getUrl() && !land.getUrl().equals("")){ |
| | | try { |
| | | //上传 |
| | | String url = ossEndpoint.uploadBase64String(land.getUrl()); |
| | | //回填url |
| | | land.setUrl(url); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | land.setLandArea(String.valueOf(v1)); |
| | | land.setType(1); |
| | | return R.status(landService.updateLandById(land)); |
| | |
| | | return R.data(landService.selectLandList(userid)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 首页地块统计接口 |
| | | */ |
| | | @GetMapping("/selectCount") |
| | | public R selectCount(String deptId) { |
| | | List<Map<String, Object>> list = landService.selectZAre(deptId); |
| | | List<Map<String, Object>> lists = landService.selectSAre(deptId); |
| | | List list1 = landService.selectNum(deptId); |
| | | //总面积 |
| | | Double num = 0.0; |
| | | for (int i = 0; i < list.size(); i++) { |
| | | //面积 |
| | | String area = list.get(i).get("area").toString(); |
| | | //单位 |
| | | String unit = list.get(i).get("unit").toString(); |
| | | Double area1 = Double.parseDouble(area); |
| | | //面积单位(0: 亩 1:分 2:平方米) |
| | | if (unit.equals("0")) { |
| | | num += area1; |
| | | } |
| | | if (unit.equals("1")) { |
| | | double v = area1 * 0.1; |
| | | num += v; |
| | | } else { |
| | | double v = area1 * 0.0015; |
| | | num += v; |
| | | } |
| | | } |
| | | //使用面积 |
| | | Double snum = 0.0; |
| | | for (int i = 0; i < lists.size(); i++) { |
| | | //面积 |
| | | String area = lists.get(i).get("area").toString(); |
| | | //单位 |
| | | String unit = lists.get(i).get("unit").toString(); |
| | | Double area1 = Double.parseDouble(area); |
| | | //面积单位(0: 亩 1:分 2:平方米) |
| | | if (unit.equals("0")) { |
| | | snum += area1; |
| | | } |
| | | if (unit.equals("1")) { |
| | | double v = area1 * 0.1; |
| | | snum += v; |
| | | } else { |
| | | double v = area1 * 0.0015; |
| | | snum += v; |
| | | } |
| | | } |
| | | //品种数量 |
| | | int size = list1.size(); |
| | | Map map = new HashMap(); |
| | | //地块使用率 |
| | | if(snum!=0.0|| num!=0.0){ |
| | | double v = snum / num; |
| | | double v1 = v * 100; |
| | | DecimalFormat df = new DecimalFormat("#0.00"); |
| | | String format = df.format(v1); |
| | | Double a = Double.parseDouble(format); |
| | | map.put("rate", a); |
| | | map.put("zarea", (double) Math.round(num * 100) / 100); |
| | | map.put("sarea", (double) Math.round(snum * 100) / 100); |
| | | map.put("num", size); |
| | | } |
| | | else { |
| | | map.put("rate", 0.0); |
| | | map.put("zarea", 0.0); |
| | | map.put("sarea", 0.0); |
| | | map.put("num", size); |
| | | } |
| | | return R.data(map); |
| | | } |
| | | |
| | | /** |
| | | * 大屏地块统计接口 |
| | | */ |
| | | @GetMapping("/selectXCount") |
| | | public R selectXCount(String deptId) { |
| | | List<Map<String, Object>> list = landService.selectZAre(deptId); |
| | | List<Map<String, Object>> lists = landService.selectSAre(deptId); |
| | | List<Map<String, Object>> listw = landService.selectWAre(deptId); |
| | | List list1 = landService.selectNum(deptId); |
| | | //总面积 |
| | | Double num = 0.0; |
| | | for (int i = 0; i < list.size(); i++) { |
| | | //面积 |
| | | String area = list.get(i).get("area").toString(); |
| | | //单位 |
| | | String unit = list.get(i).get("unit").toString(); |
| | | Double area1 = Double.parseDouble(area); |
| | | //面积单位(0: 亩 1:分 2:平方米) |
| | | if (unit.equals("0")) { |
| | | num += area1; |
| | | } |
| | | if (unit.equals("1")) { |
| | | double v = area1 * 0.1; |
| | | num += v; |
| | | } else { |
| | | double v = area1 * 0.0015; |
| | | num += v; |
| | | } |
| | | } |
| | | //使用面积 |
| | | Double snum = 0.0; |
| | | for (int i = 0; i < lists.size(); i++) { |
| | | //面积 |
| | | String area = lists.get(i).get("area").toString(); |
| | | //单位 |
| | | String unit = lists.get(i).get("unit").toString(); |
| | | Double area1 = Double.parseDouble(area); |
| | | //面积单位(0: 亩 1:分 2:平方米) |
| | | if (unit.equals("0")) { |
| | | snum += area1; |
| | | } |
| | | if (unit.equals("1")) { |
| | | double v = area1 * 0.1; |
| | | snum += v; |
| | | } else { |
| | | double v = area1 * 0.0015; |
| | | snum += v; |
| | | } |
| | | } |
| | | //未使用面积 |
| | | Double wnum = 0.0; |
| | | for (int i = 0; i < listw.size(); i++) { |
| | | //面积 |
| | | String area = listw.get(i).get("area").toString(); |
| | | //单位 |
| | | String unit = listw.get(i).get("unit").toString(); |
| | | Double area1 = Double.parseDouble(area); |
| | | //面积单位(0: 亩 1:分 2:平方米) |
| | | if (unit.equals("0")) { |
| | | wnum += area1; |
| | | } |
| | | if (unit.equals("1")) { |
| | | double v = area1 * 0.1; |
| | | wnum += v; |
| | | } else { |
| | | double v = area1 * 0.0015; |
| | | wnum += v; |
| | | } |
| | | } |
| | | //品种数量 |
| | | int size = list1.size(); |
| | | //农资种类 |
| | | List<DictBiz> tree = dictService.getList("stockType"); |
| | | int size1 = tree.size(); |
| | | Map map = new HashMap(); |
| | | map.put("num", num); |
| | | map.put("snum", snum); |
| | | map.put("wnum", wnum); |
| | | map.put("zynum", size); |
| | | map.put("nznum", size1); |
| | | return R.data(map); |
| | | } |
| | | |
| | | } |