From 4b4a35fc7cc56a8b304ca35f0a9ec0bdd2e0e036 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 22 Apr 2024 11:41:48 +0800
Subject: [PATCH] fix:路径规划补充提交

---
 screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java |   84 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 68 insertions(+), 16 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java
index 17c4ef3..7baa71b 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java
@@ -1,21 +1,34 @@
 package com.moral.api.service.impl;
 
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.api.entity.ManageCoordinate;
 import com.moral.api.entity.ManageCoordinateDetail;
+import com.moral.api.entity.SpecialDevice;
+import com.moral.api.mapper.DeviceMapper;
 import com.moral.api.mapper.ManageCoordinateDetailMapper;
 import com.moral.api.mapper.ManageCoordinateMapper;
+import com.moral.api.mapper.SpecialDeviceMapper;
+import com.moral.api.pojo.form.coordinate.CoordinateCode;
+import com.moral.api.service.DeviceService;
 import com.moral.api.service.ManageCoordinateDetailService;
 import com.moral.api.service.ManageCoordinateService;
+import com.moral.api.service.SpecialDeviceService;
+import com.moral.util.TokenUtils;
 
 
 @Service
@@ -25,7 +38,7 @@
     private ManageCoordinateMapper manageCoordinateMapper;
 
     @Autowired
-    private ManageCoordinateDetailMapper manageCoordinateDetailMapper;
+    private SpecialDeviceMapper specialDeviceMapper;
 
     /**
      * ������������
@@ -34,11 +47,14 @@
      */
     @Override
     public Integer interCoordinate(Map<String, Object> params) {
+        String mac = params.get("mac").toString();
+        QueryWrapper<SpecialDevice> wrapper = new QueryWrapper<>();
+        wrapper.eq("mac",mac);
+        wrapper.eq("is_delete","0");
+        SpecialDevice specialDevice = specialDeviceMapper.selectOne(wrapper);
         String startPoint = params.get("startPoint").toString();
-        String endPoint = params.get("endPoint").toString();
         QueryWrapper<ManageCoordinate> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("start_point",startPoint);
-        queryWrapper.eq("end_point",endPoint);
         Integer integer = manageCoordinateMapper.selectCount(queryWrapper);
         if (integer>=1){
             return null;
@@ -47,19 +63,25 @@
         manageCoordinate.setCreateTime(new Date());
         manageCoordinate.setUpdateTime(new Date());
         manageCoordinate.setStartPoint(startPoint);
-        manageCoordinate.setEndPoint(endPoint);
         manageCoordinate.setIsDel(0);
+        manageCoordinate.setOrganizationId(specialDevice.getOrganizationId());
         int code = manageCoordinateMapper.insert(manageCoordinate);
         return code;
     }
 
     /**
      * ������������
-     * @param manageCoordinate
+     * @param coordinateCode
      */
     @Override
-    public void updateCoordinate(ManageCoordinate manageCoordinate) {
+    public void updateCoordinate(CoordinateCode coordinateCode) {
+        ManageCoordinate manageCoordinate = new ManageCoordinate();
+        BeanUtils.copyProperties(coordinateCode,manageCoordinate);
         manageCoordinate.setUpdateTime(new Date());
+        List<HashMap<String, Object>> value = coordinateCode.getValue();
+        String s = JSON.toJSONString(value);
+        manageCoordinate.setValue(s);
+        manageCoordinate.setBdValue(JSON.toJSONString(coordinateCode.getBdValue()));
         manageCoordinateMapper.updateById(manageCoordinate);
     }
 
@@ -68,15 +90,10 @@
      * @param id
      */
     @Override
-    public Integer deleteCoordinate(Integer id) {
-        QueryWrapper<ManageCoordinateDetail> wrapper = new QueryWrapper<>();
-        wrapper.eq("coordinate_id",id);
-        Integer integer = manageCoordinateDetailMapper.selectCount(wrapper);
-        if (integer>0){
-            return 1;
-        }
-        manageCoordinateMapper.deleteById(id);
-        return 200;
+    public void deleteCoordinate(Integer id) {
+        ManageCoordinate manageCoordinate = manageCoordinateMapper.selectById(id);
+        manageCoordinate.setIsDel(1);
+        manageCoordinateMapper.updateById(manageCoordinate);
 
     }
 
@@ -85,10 +102,45 @@
      * @return
      */
     @Override
-    public List<ManageCoordinate> selectCoordinate() {
+    public List<ManageCoordinate> selectCoordinate(String name,String mac) {
+
         QueryWrapper<ManageCoordinate> queryWrapper = new QueryWrapper<>();
+
+        if (!ObjectUtils.isEmpty(name)){
+            queryWrapper.like("start_point",name);
+        }
+        if(!ObjectUtils.isEmpty(mac)){
+            QueryWrapper<SpecialDevice> wrapper = new QueryWrapper<>();
+            wrapper.eq("mac",mac);
+            wrapper.eq("is_delete","0");
+            SpecialDevice specialDevice = specialDeviceMapper.selectOne(wrapper);
+            queryWrapper.eq("organization_id",specialDevice.getOrganizationId());
+        }
         queryWrapper.eq("is_del",0);
+        queryWrapper.orderByDesc("coordinate_id");
         List<ManageCoordinate> manageCoordinates = manageCoordinateMapper.selectList(queryWrapper);
+        manageCoordinates.forEach(it->{
+            String value = it.getValue();
+            String bdValue = it.getBdValue();
+            if (!ObjectUtils.isEmpty(value)  &&  !ObjectUtils.isEmpty(bdValue)){
+//                List<HashMap<String, Object>> hashMaps = (List<HashMap<String, Object>>)JSON.parseObject(value,List.class);
+                List<HashMap<String, Object>> parse = (List<HashMap<String, Object>>) JSONArray.parse(value);
+                it.setValues(parse);
+                it.setBdValues((List<HashMap<String, Object>>) JSONArray.parse(bdValue));
+            }
+        });
         return manageCoordinates;
     }
+
+    /**
+     * ������id������������������
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public ManageCoordinate query(Integer id) {
+        ManageCoordinate manageCoordinate = manageCoordinateMapper.selectById(id);
+        return manageCoordinate;
+    }
 }

--
Gitblit v1.8.0