Bladeren bron

深时迁移不传snCode

lyhzzz 2 jaren geleden
bovenliggende
commit
4400ee295c

+ 1 - 1
src/main/java/com/fdkankan/manage/httpClient/service/LaserService.java

@@ -195,7 +195,7 @@ public class LaserService {
     public void move(String num, String snCode, String toSnCode,Long userId) {
         LaserSceneMoveParam param = new LaserSceneMoveParam();
         param.setSceneCode(num);
-        param.setSnCode(snCode);
+        //param.setSnCode(snCode);
         param.setToSnCode(toSnCode);
         param.setUserId(userId);
         if(userId != null){

+ 4 - 0
src/main/java/com/fdkankan/manage/mapper/ISceneProMapper.java

@@ -27,4 +27,8 @@ public interface ISceneProMapper extends BaseMapper<ScenePro> {
     List<GroupByCount> getCountGroupByCameraId(@Param("cameraIds") List<Long> cameraIds);
 
     Page<SceneVo> pageList(Page<SceneVo> page, SceneParam param);
+
+    List<GroupByCount> getPlusSpaceGroupByCameraId();
+
+    List<GroupByCount> getProSpaceGroupByCameraId();
 }

+ 2 - 0
src/main/java/com/fdkankan/manage/service/ICameraService.java

@@ -39,4 +39,6 @@ public interface ICameraService extends IService<Camera> {
     Integer outs(List<CameraInOutParam> params);
 
     Integer updateCompany(List<CameraInOutParam> companyParams);
+
+    void initAllCameraSpace();
 }

+ 3 - 1
src/main/java/com/fdkankan/manage/service/ISceneProService.java

@@ -6,6 +6,7 @@ import com.fdkankan.manage.entity.ScenePlus;
 import com.fdkankan.manage.entity.ScenePro;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.manage.vo.request.SceneParam;
+import com.fdkankan.manage.vo.response.GroupByCount;
 
 import java.util.HashMap;
 import java.util.List;
@@ -49,4 +50,5 @@ public interface ISceneProService extends IService<ScenePro> {
     HashMap<String, String> getSnCodeByNumList(Set<String> numList);
 
 
-    }
+    HashMap<Long,Long > getSpaceGroupByCameraId();
+}

+ 3 - 2
src/main/java/com/fdkankan/manage/service/impl/CameraDetailServiceImpl.java

@@ -227,8 +227,9 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
         long usedSpace = cameraDetail.getUsedSpace() - space ;
         cameraDetail.setUsedSpace(usedSpace < 0 ? 0L :usedSpace);
         //解封封存场景
-        sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),1);
-
+        if(cameraDetail.getType() != 10){
+            sceneProService.lockOrUnLockBySpace(cameraDetail,cameraDetail.getCameraId(),1);
+        }
         this.updateById(cameraDetail);
     }
 }

+ 18 - 0
src/main/java/com/fdkankan/manage/service/impl/CameraServiceImpl.java

@@ -472,4 +472,22 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
         return resultMap;
     }
 
+    @Override
+    public void initAllCameraSpace() {
+        List<Camera> list = this.list();
+        List<Long> cameraIds = list.stream().map(Camera::getId).collect(Collectors.toList());
+        List<CameraDetail> cameraDetails = cameraDetailService.getByCameraIds(cameraIds);
+        HashMap<Long, Long> map = sceneProService.getSpaceGroupByCameraId();
+        for (CameraDetail cameraDetail : cameraDetails) {
+            Long space = map.get(cameraDetail.getCameraId());
+            if(space != null){
+                space = space  > 0 ? space : 0;
+                LambdaUpdateWrapper<CameraDetail> wrapper = new LambdaUpdateWrapper<>();
+                wrapper.eq(CameraDetail::getId,cameraDetail.getId());
+                wrapper.set(CameraDetail::getUsedSpace,space);
+                cameraDetailService.update(wrapper);
+            }
+        }
+
+    }
 }

+ 16 - 2
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -579,9 +579,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         }
         if(sceneSource != null && sceneSource == 4){
             laserService.delete(num);
-        }else if(cameraId != null){
+        }
+        if(cameraId != null){
             cameraDetailService.addUsedSpace(cameraId,space);
-
         }
     }
 
@@ -679,4 +679,18 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         return snCodeMap;
     }
+
+    @Override
+    public  HashMap<Long,Long > getSpaceGroupByCameraId() {
+        List<GroupByCount> proSum = this.getBaseMapper().getProSpaceGroupByCameraId();
+        HashMap<Long,Long > map = new HashMap<>();
+        for (GroupByCount groupByCount : proSum) {
+            map.merge(groupByCount.getId(), groupByCount.getCount(), Long::sum);
+        }
+        List<GroupByCount > plusSum = this.getBaseMapper().getPlusSpaceGroupByCameraId();
+        for (GroupByCount groupByCount : plusSum) {
+            map.merge(groupByCount.getId(), groupByCount.getCount(), Long::sum);
+        }
+        return map;
+    }
 }

+ 10 - 0
src/main/java/com/fdkankan/manage/test/TestController.java

@@ -12,6 +12,8 @@ import com.fdkankan.common.util.SecurityUtil;
 import com.fdkankan.manage.common.FilePath;
 import com.fdkankan.manage.exception.BusinessException;
 import com.fdkankan.manage.httpClient.service.LaserService;
+import com.fdkankan.manage.service.ICameraService;
+import com.fdkankan.manage.service.IScenePlusService;
 import com.fdkankan.manage.service.ISceneProService;
 import com.fdkankan.manage.util.Dateutils;
 import com.fdkankan.manage.util.ExcelUtil;
@@ -35,6 +37,8 @@ public class TestController {
     ISceneProService sceneProService;
     @Autowired
     FYunFileServiceInterface fYunFileServiceInterface;
+    @Autowired
+    ICameraService cameraService;
 
     @RequestMapping("/test")
     public ResultData test(@RequestParam(required = false) String oldSnCode,
@@ -44,6 +48,12 @@ public class TestController {
         return ResultData.ok();
     }
 
+    @RequestMapping("/testCameraSpace")
+    public ResultData test(){
+        cameraService.initAllCameraSpace();
+        return ResultData.ok();
+    }
+
 
     /**
      * 导入excel

+ 14 - 0
src/main/resources/mapper/manage/SceneProMapper.xml

@@ -86,4 +86,18 @@
             and s.create_time &lt;= #{param.endTime}
         </if>
     </sql>
+
+
+    <select id="getProSpaceGroupByCameraId" resultType="com.fdkankan.manage.vo.response.GroupByCount">
+        SELECT camera_id as id,sum(space) as count  FROM t_scene_pro
+        WHERE  rec_status = 'A'  and is_upgrade = 0  GROUP BY camera_id
+
+    </select>
+
+    <select id="getPlusSpaceGroupByCameraId" resultType="com.fdkankan.manage.vo.response.GroupByCount">
+        SELECT p.camera_id as id,sum(space) as count FROM t_scene_plus p left join  t_scene_plus_ext e on p.id = e.plus_id
+        WHERE  p.rec_status = 'A'  GROUP BY p.camera_id
+
+    </select>
+
 </mapper>