From 75f7bbb31181096988b4310ca84654b880f50604 Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期五, 17 三月 2023 21:51:21 +0800
Subject: [PATCH] 部门管理的导入导出

---
 ycl-common/src/main/java/com/ycl/utils/listener/DepartListener.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/utils/listener/DepartListener.java b/ycl-common/src/main/java/com/ycl/utils/listener/DepartListener.java
new file mode 100644
index 0000000..267d9a7
--- /dev/null
+++ b/ycl-common/src/main/java/com/ycl/utils/listener/DepartListener.java
@@ -0,0 +1,58 @@
+package com.ycl.utils.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ycl.dto.UmsDepartDto;
+import com.ycl.entity.depart.UmsDepart;
+import com.ycl.mapper.depart.UmsDepartMapper;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Objects;
+
+@Component
+public class DepartListener implements ReadListener<UmsDepartDto> {
+
+    @Resource
+    private UmsDepartMapper sccgDepartMapper;
+
+
+    @Override
+    public void invoke(UmsDepartDto umsDepartDto, AnalysisContext analysisContext) {
+        //  涓嶈兘閲嶅鎻掑叆
+        String departTypeName = umsDepartDto.getDepartTypeName();
+        UmsDepart one = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, departTypeName));
+        if (Objects.nonNull(one)){
+            throw new RuntimeException("璇ラ儴闂ㄥ凡缁忓瓨鍦�");
+        }
+
+        UmsDepart umsDepart = new UmsDepart();
+
+        //  璁剧疆閮ㄩ棬鍚嶅瓧
+        umsDepart.setDepartName(umsDepart.getDepartName());
+
+        //  璁剧疆閮ㄩ棬鎻忚堪
+        umsDepart.setDepartDes(umsDepartDto.getDepartDes());
+
+        //  璁剧疆閮ㄩ棬绫诲瀷
+        umsDepart.setDepartType(umsDepartDto.getDepartType());
+
+        //  璁剧疆鐖秈d
+        UmsDepart two = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, umsDepartDto.getParentDepartName()));
+        if (Objects.nonNull(two)){
+            umsDepart.setParentId(two.getParentId());
+        }
+
+        int insert = sccgDepartMapper.insert(umsDepart);
+        if (insert < 1){
+            throw new RuntimeException("鎻掑叆澶辫触");
+        }
+
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+
+    }
+}

--
Gitblit v1.8.0