Przeglądaj źródła

删除场景删除协作关系

lyhzzz 1 rok temu
rodzic
commit
c12648fcae

+ 4 - 0
src/main/java/com/fdkankan/manage_jp/mapper/ITmContractorNumMapper.java

@@ -2,8 +2,11 @@ package com.fdkankan.manage_jp.mapper;
 
 import com.fdkankan.manage_jp.entity.TmContractorNum;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.manage_jp.vo.response.GroupByCount;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -15,4 +18,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ITmContractorNumMapper extends BaseMapper<TmContractorNum> {
 
+    List<GroupByCount> groupByContractorId();
 }

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

@@ -2,6 +2,7 @@ package com.fdkankan.manage_jp.service;
 
 import com.fdkankan.manage_jp.entity.TmContractorNum;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.manage_jp.vo.response.GroupByCount;
 
 import java.util.List;
 
@@ -24,4 +25,8 @@ public interface ITmContractorNumService extends IService<TmContractorNum> {
     List<String> getNumListByCompanyId(Long companyId);
 
     void deleteByContractorIdAndNumList(Integer id, List<String> numList);
+
+    void deleteByNum(String num);
+
+    List<GroupByCount> groupByContractorId();
 }

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/service/ITmContractorService.java

@@ -31,4 +31,6 @@ public interface ITmContractorService extends IService<TmContractor> {
     void unCollaborate(ContractorParam param, User user);
 
     List<TmContractorNum> details(ContractorParam param);
+
+    void checkDel();
 }

+ 3 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/SceneProServiceImpl.java

@@ -222,6 +222,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if(sceneSource == 4 || sceneSource == 5){
             laserService.updateStatus(num,-1);
         }
+        tmContractorNumService.deleteByNum(num);
+        tmContractorService.checkDel();
+
     }
 
 

+ 15 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/TmContractorNumServiceImpl.java

@@ -7,10 +7,12 @@ import com.fdkankan.manage_jp.mapper.ITmContractorNumMapper;
 import com.fdkankan.manage_jp.service.ITmContractorNumService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage_jp.service.ITmContractorService;
+import com.fdkankan.manage_jp.vo.response.GroupByCount;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -77,4 +79,17 @@ public class TmContractorNumServiceImpl extends ServiceImpl<ITmContractorNumMapp
         this.remove(wrapper);
 
     }
+
+    @Override
+    public void deleteByNum(String num) {
+        LambdaQueryWrapper<TmContractorNum> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(TmContractorNum::getNum,num);
+        this.remove(wrapper);
+
+    }
+
+    @Override
+    public List<GroupByCount> groupByContractorId() {
+        return this.getBaseMapper().groupByContractorId();
+    }
 }

+ 17 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/TmContractorServiceImpl.java

@@ -10,6 +10,7 @@ import com.fdkankan.manage_jp.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.manage_jp.vo.request.ContractorParam;
 import com.fdkankan.manage_jp.vo.request.SceneParam;
+import com.fdkankan.manage_jp.vo.response.GroupByCount;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.util.StringUtil;
@@ -17,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -156,4 +158,19 @@ public class TmContractorServiceImpl extends ServiceImpl<ITmContractorMapper, Tm
         wrapper.eq(TmContractor::getContractorCompanyId,companyId);
         return this.list(wrapper);
     }
+
+    @Override
+    public void checkDel() {
+        List<TmContractor> tmContractors = this.list();
+        HashMap<String , GroupByCount> map = new HashMap<>();
+        List<GroupByCount> list = tmContractorNumService.groupByContractorId();
+        list.forEach(e ->map.put(e.getGroupKey(),e));
+        List<Integer> delIds = new ArrayList<>();
+        for (TmContractor tmContractor : tmContractors) {
+            if(map.get(tmContractor.getId().toString()) == null ){
+                delIds.add(tmContractor.getId());
+            }
+        }
+        this.removeByIds(delIds);
+    }
 }

+ 9 - 0
src/main/java/com/fdkankan/manage_jp/vo/response/GroupByCount.java

@@ -0,0 +1,9 @@
+package com.fdkankan.manage_jp.vo.response;
+
+import lombok.Data;
+
+@Data
+public class GroupByCount {
+    private String groupKey;
+    private Long groupCount;
+}

+ 3 - 0
src/main/resources/mapper/manage_jp/TmContractorNumMapper.xml

@@ -2,4 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.manage_jp.mapper.ITmContractorNumMapper">
 
+    <select id="groupByContractorId" resultType="com.fdkankan.manage_jp.vo.response.GroupByCount">
+        select contractor_id as groupKey ,count(id) as groupCount from tm_contractor_num where rec_status = 'A' group by contractor_id
+    </select>
 </mapper>