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 |   79 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 72 insertions(+), 7 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 98c4569..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,18 +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
@@ -21,6 +37,9 @@
     @Autowired
     private ManageCoordinateMapper manageCoordinateMapper;
 
+    @Autowired
+    private SpecialDeviceMapper specialDeviceMapper;
+
     /**
      * ������������
      * @param params
@@ -28,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;
@@ -41,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);
     }
 
@@ -63,8 +91,10 @@
      */
     @Override
     public void deleteCoordinate(Integer id) {
+        ManageCoordinate manageCoordinate = manageCoordinateMapper.selectById(id);
+        manageCoordinate.setIsDel(1);
+        manageCoordinateMapper.updateById(manageCoordinate);
 
-        manageCoordinateMapper.deleteById(id);
     }
 
     /**
@@ -72,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