lyhzzz 2 سال پیش
والد
کامیت
25e2180d4b
1فایلهای تغییر یافته به همراه15 افزوده شده و 6 حذف شده
  1. 15 6
      src/main/java/com/fdkankan/manage/service/impl/CameraServiceImpl.java

+ 15 - 6
src/main/java/com/fdkankan/manage/service/impl/CameraServiceImpl.java

@@ -197,7 +197,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
             int index = wifiNameList.indexOf(wifiName) + 3;
             if(bo){
                 if( !wifiName.contains("_") || !wifiName.contains("4D")
-                        || !CameraTypeEnum.typePrefixMap.containsKey(wifiName.split("_")[0])){
+                        || !CameraTypeEnum.typePrefixMap.containsKey(wifiName.split("_")[0]+"_")){
                     errorIndexList.add(index);
                 }
             }else {
@@ -226,8 +226,8 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
             throw new BusinessException(-1,"该相机未入库");
         }
 
-        HashMap<String,CameraDetail> detailMap = new HashMap<>();
-        detailMap.put(detail.getCameraId().toString(),detail);
+        HashMap<Long,CameraDetail> detailMap = new HashMap<>();
+        detailMap.put(detail.getCameraId(),detail);
         this.saveBatchDetail(detailMap, Collections.singletonList(param));
 
     }
@@ -235,15 +235,24 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
     public Integer outs(List<CameraInOutParam> params){
         setCompanyIdByDb(params);
         HashMap<String, Object> resultMap = getResultMap(params);
-        HashMap<String,CameraDetail> detailMap = (HashMap<String, CameraDetail>) resultMap.get("detailMap");
+        HashMap<Long,CameraDetail> detailMap = (HashMap<Long, CameraDetail>) resultMap.get("detailMap");
+        HashMap<String, Camera> snCodeMap = (HashMap<String, Camera>) resultMap.get("snCodeMap");
+        for (CameraInOutParam param : params) {
+            if(param.getId() == null){
+                param.setId(snCodeMap.get(param.getSnCode()).getId());
+            }
+        }
         return this.saveBatchDetail(detailMap,params);
 
     }
 
-    private Integer saveBatchDetail(HashMap<String, CameraDetail> detailMap, List<CameraInOutParam> params){
+    private Integer saveBatchDetail(HashMap<Long, CameraDetail> detailMap, List<CameraInOutParam> params){
         List<CameraDetail> cameraDetails = new ArrayList<>();
         for (CameraInOutParam param : params) {
-            CameraDetail cameraDetail = detailMap.get(param.getId().toString());
+            CameraDetail cameraDetail = detailMap.get(param.getId());
+            if(cameraDetail == null){
+                throw new BusinessException(-1,"相机未入库");
+            }
             cameraDetail.setOrderSn(param.getOrderSn());
             cameraDetail.setOwn(param.getOutType());
             cameraDetail.setCompanyId(param.getCompanyId());