Переглянути джерело

复制场景,协作关系也复制

lyhzzz 1 рік тому
батько
коміт
c54137bb92

+ 23 - 4
src/main/java/com/fdkankan/manage_jp/controller/SceneProController.java

@@ -5,10 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.util.JwtUtil;
 import com.fdkankan.manage_jp.common.Result;
 import com.fdkankan.manage_jp.common.ResultCode;
-import com.fdkankan.manage_jp.entity.ScenePlus;
-import com.fdkankan.manage_jp.entity.ScenePro;
-import com.fdkankan.manage_jp.entity.User;
-import com.fdkankan.manage_jp.entity.UserRole;
+import com.fdkankan.manage_jp.entity.*;
 import com.fdkankan.manage_jp.exception.BusinessException;
 import com.fdkankan.manage_jp.httpClient.client.FdKKClient;
 import com.fdkankan.manage_jp.service.*;
@@ -18,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Set;
@@ -49,6 +47,10 @@ public class SceneProController extends BaseController{
     FdKKClient fdKKClient;
     @Autowired
     ISceneCopyLogService sceneCopyLogService;
+    @Autowired
+    ITmContractorNumService tmContractorNumService;
+    @Autowired
+    ITmContractorService tmContractorService;
 
     @PostMapping("/list")
     public Result list(@RequestBody SceneParam param){
@@ -103,6 +105,23 @@ public class SceneProController extends BaseController{
         if(scenePro == null && scenePlus == null){
             throw new BusinessException(ResultCode.NOT_RECORD);
         }
+        List<TmContractor> tmContractors = tmContractorService.getByContractorId(user.getId());
+        if(!tmContractors.isEmpty()){
+            List<TmContractorNum> saveList = new ArrayList<>();
+            List<Integer> ids = tmContractors.stream().map(TmContractor::getId).collect(Collectors.toList());
+            List<TmContractorNum> contractorIds = tmContractorNumService.getByContractorIds(ids);
+            for (TmContractorNum contractorNum : contractorIds) {
+                if(contractorNum.getNum().equals(num)){
+                    contractorNum.setId(null);
+                    contractorNum.setNum(newNum);
+                    saveList.add(contractorNum);
+                }
+            }
+            if(!saveList.isEmpty()){
+                tmContractorNumService.saveBatch(saveList);
+            }
+        }
+
         sceneCopyLogService.saveByNum(num,newNum ,user.getId());
 
         return Result.success();

+ 1 - 0
src/main/java/com/fdkankan/manage_jp/service/ITmContractorNumService.java

@@ -27,6 +27,7 @@ public interface ITmContractorNumService extends IService<TmContractorNum> {
     void deleteByContractorIdAndNumList(Integer id, List<String> numList);
 
     void deleteByNum(String num);
+    void deleteByNumList(List<String> num);
 
     List<GroupByCount> groupByContractorId();
 }

+ 9 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/TmColdStorageServiceImpl.java

@@ -52,6 +52,10 @@ public class TmColdStorageServiceImpl extends ServiceImpl<ITmColdStorageMapper,
     ICameraDetailService cameraDetailService;
     @Autowired
     LaserService laserService;
+    @Autowired
+    ITmContractorService contractorService;
+    @Autowired
+    ITmContractorNumService contractorNumService;
 
     @Override
     public Object pageList(ColdStorageParam param) {
@@ -149,6 +153,11 @@ public class TmColdStorageServiceImpl extends ServiceImpl<ITmColdStorageMapper,
             scenePlusService.updatePayStatus(num,scenePro == null ?"v4":"v3",scenePro == null?scenePlus.getSceneSource():scenePro.getSceneSource(),-2,null,null);
 
         }
+        //解除场景协作关系
+        if(!param.getNumList().isEmpty()){
+            contractorNumService.deleteByNumList(param.getNumList());
+            contractorService.checkDel();
+        }
 
     }
 

+ 12 - 1
src/main/java/com/fdkankan/manage_jp/service/impl/TmContractorNumServiceImpl.java

@@ -83,7 +83,18 @@ public class TmContractorNumServiceImpl extends ServiceImpl<ITmContractorNumMapp
     @Override
     public void deleteByNum(String num) {
         LambdaQueryWrapper<TmContractorNum> wrapper = new LambdaQueryWrapper<>();
-        wrapper.in(TmContractorNum::getNum,num);
+        wrapper.eq(TmContractorNum::getNum,num);
+        this.remove(wrapper);
+
+    }
+
+    @Override
+    public void deleteByNumList(List<String> numList) {
+        if(numList== null || numList.isEmpty()){
+            return;
+        }
+        LambdaQueryWrapper<TmContractorNum> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(TmContractorNum::getNum,numList);
         this.remove(wrapper);
 
     }