Browse Source

登记簿批量导出代码提交

jingyuanchao 1 year ago
parent
commit
f562db2aa4

+ 2 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteOrgService.java

@@ -160,4 +160,6 @@ public interface RemoteOrgService {
     @PostMapping("/dept/selectOrgTreeReq")
     R<OrgTreeResp> getOrgTreeResp(@RequestBody OrgTreeReq orgTreeReq);
 
+    @GetMapping("/dept/selectOrgNameByPath")
+    String selectOrgNameByPath(@RequestParam("orgId") Long orgId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 }

+ 7 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteOrgFallbackFactory.java

@@ -15,7 +15,6 @@ import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestHeader;
 
 import java.util.ArrayList;
@@ -170,6 +169,13 @@ public class RemoteOrgFallbackFactory implements FallbackFactory<RemoteOrgServic
             }
 
             @Override
+            public String selectOrgNameByPath(Long orgId, String source) {
+                return null;
+            }
+
+            @Override
+
+
             public List<SysOrg> selectOrgTreeListByCurOrgId(Long id, String source) {
                 return null;
             }

+ 1 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/registerbook/service/ICoreRegisterBookPdfService.java

@@ -20,6 +20,7 @@ import java.util.List;
  */
 public interface ICoreRegisterBookPdfService extends IService<CoreRegisterBookPdf> {
 
+    String getFileOrgName(Long orgId);
 
     TableDataInfo<CoreRegisterBookPdfPageVo> selectPage(CoreRegisterBookPdfPageDto coreRegisterBookPdf);
 

+ 8 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/registerbook/service/impl/CoreRegisterBookPdfServiceImpl.java

@@ -171,4 +171,12 @@ public class CoreRegisterBookPdfServiceImpl extends ServiceImpl<CoreRegisterBook
         return orgList;
 
     }
+
+    @Override
+    public String getFileOrgName(Long orgId) {
+        return  RemoteCallHandlerExecutor.executeRemoteCall(()->{
+           return orgService.selectOrgNameByPath(orgId, SecurityConstants.INNER);
+        },ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+
+    }
 }

+ 6 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysDeptController.java

@@ -352,4 +352,10 @@ public class SysDeptController extends BaseController {
     R<OrgTreeResp>  getOrgTreeResp(@RequestBody OrgTreeReq orgTreeReq){
         return R.ok(orgService.getOrgTreeReq(orgTreeReq));
     }
+
+    @GetMapping("/dept/selectOrgNameByPath")
+    @InnerAuth
+    String selectOrgNameByPath(@RequestParam("orgId") Long orgId) {
+        return orgService.selectOrgNameByPath(orgId);
+    }
 }

+ 2 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysOrgService.java

@@ -140,4 +140,6 @@ public interface ISysOrgService extends IService<SysOrg> {
 
     List<SysOrg> selectOrgTreeListByCurOrgId(Long id);
     SysOrg selectByShortName(String shortName);
+
+    String selectOrgNameByPath(Long orgId);
 }

+ 17 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysOrgServiceImpl.java

@@ -25,6 +25,7 @@ import com.xunmei.system.api.vo.SysOrgVO;
 import com.xunmei.system.mapper.SysOrgMapper;
 import com.xunmei.system.mapper.SysUserMapper;
 import com.xunmei.system.service.ISysOrgService;
+import io.netty.util.internal.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
@@ -552,11 +553,26 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     public SysOrg selectByShortName(String shortName) {
         List<SysOrg> sysOrgs = baseMapper.selectByShortName(shortName);
         if (!CollectionUtil.isEmpty(sysOrgs)) {
-            if(sysOrgs.size()>1){
+            if (sysOrgs.size() > 1) {
                 throw new RuntimeException("机构名称重复,导入失败;请检查后重试");
             }
             return sysOrgs.get(0);
         }
         return null;
     }
+
+    @Override
+    public String selectOrgNameByPath(Long orgId) {
+        List<SysOrgVO> orgCache = getOrgCache();
+        Optional<SysOrgVO> first = orgCache.stream().filter(org -> org.getId().equals(orgId)).findFirst();
+        if (!first.isPresent()) {
+            return StringUtil.EMPTY_STRING;
+        }
+        List<Long> collect = Arrays.stream(first.get().getPath().split("-")).map(Long::valueOf).collect(Collectors.toList());
+        List<String> list = new ArrayList<>();
+        collect.forEach(id -> {
+            orgCache.stream().filter(org -> org.getId().equals(id)).findFirst().ifPresent(org -> list.add(org.getName()));
+        });
+        return String.join("_", list);
+    }
 }