From 99d9153a8c33ce32b898c7d9098038caa3447206 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 03 十一月 2023 15:09:54 +0800
Subject: [PATCH] 组织导入数据
---
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PostController.java | 23 ++
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewData.java | 32 +++
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CrewController.java | 21 ++
mes-basic/src/main/java/com/chinaztt/mes/basic/service/CrewService.java | 7
mes-basic/src/main/java/com/chinaztt/mes/basic/service/StaffService.java | 7
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewUploadListener.java | 38 +++
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java | 56 +++++
mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Crew.java | 32 +-
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/StaffServiceImpl.java | 89 +++++++-
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostUploadListener.java | 40 ++++
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostData.java | 42 ++++
mes-basic/src/main/java/com/chinaztt/mes/basic/enums/FileEnums.java | 5
mes-basic/src/main/java/com/chinaztt/mes/basic/service/PostService.java | 8
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/CrewServiceImpl.java | 42 +++
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffData.java | 49 ++++
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffUploadListener.java | 39 +++
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/StaffController.java | 22 ++
17 files changed, 517 insertions(+), 35 deletions(-)
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CrewController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CrewController.java
index 9b1c136..b4e4abb 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CrewController.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CrewController.java
@@ -1,9 +1,12 @@
package com.chinaztt.mes.basic.controller;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaztt.mes.basic.dto.CrewDTO;
import com.chinaztt.mes.basic.entity.Crew;
import com.chinaztt.mes.basic.entity.Staff;
+import com.chinaztt.mes.basic.excel.CrewData;
+import com.chinaztt.mes.basic.excel.CrewUploadListener;
import com.chinaztt.mes.basic.service.CrewService;
import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
import com.chinaztt.ztt.common.core.util.R;
@@ -13,6 +16,9 @@
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
/**
@@ -160,4 +166,19 @@
return R.ok(crewService.deleteStaff(crewDTO));
}
+
+ /**
+ * excel涓婁紶
+ *
+ * @return
+ */
+ @PostMapping("/upload")
+ public R upload(@RequestParam("file") MultipartFile file) {
+ try {
+ EasyExcel.read(file.getInputStream(), CrewData.class, new CrewUploadListener(crewService)).sheet().doRead();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return R.ok();
+ }
}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PostController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PostController.java
index 09f4c4d..71a9057 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PostController.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PostController.java
@@ -1,8 +1,13 @@
package com.chinaztt.mes.basic.controller;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaztt.mes.basic.entity.Post;
+import com.chinaztt.mes.basic.excel.PostData;
+import com.chinaztt.mes.basic.excel.PostUploadListener;
+import com.chinaztt.mes.basic.excel.StaffData;
+import com.chinaztt.mes.basic.excel.StaffUploadListener;
import com.chinaztt.mes.basic.service.PostService;
import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
import com.chinaztt.ztt.common.core.util.R;
@@ -12,6 +17,9 @@
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
/**
@@ -117,4 +125,19 @@
return R.ok(postService.list(queryWrapper));
}
+ /**
+ * excel涓婁紶
+ *
+ * @return
+ */
+ @PostMapping("/upload")
+ public R upload(@RequestParam("file") MultipartFile file) {
+ try {
+ EasyExcel.read(file.getInputStream(), PostData.class, new PostUploadListener(postService)).sheet().doRead();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return R.ok();
+ }
+
}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/StaffController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/StaffController.java
index 28e7da0..5413c49 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/StaffController.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/StaffController.java
@@ -17,12 +17,17 @@
package com.chinaztt.mes.basic.controller;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaztt.mes.basic.entity.Division;
import com.chinaztt.mes.basic.entity.Factory;
import com.chinaztt.mes.basic.entity.Location;
import com.chinaztt.mes.basic.entity.Staff;
+import com.chinaztt.mes.basic.excel.DivisionData;
+import com.chinaztt.mes.basic.excel.DivisionUploadListener;
+import com.chinaztt.mes.basic.excel.StaffData;
+import com.chinaztt.mes.basic.excel.StaffUploadListener;
import com.chinaztt.mes.basic.service.DivisionService;
import com.chinaztt.mes.basic.service.StaffService;
import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
@@ -34,7 +39,9 @@
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
import java.util.List;
@@ -168,4 +175,19 @@
return R.ok(staffService.list(Wrappers.query(staff)));
}
+ /**
+ * excel涓婁紶
+ *
+ * @return
+ */
+ @PostMapping("/upload")
+ public R upload(@RequestParam("file") MultipartFile file) {
+ try {
+ EasyExcel.read(file.getInputStream(), StaffData.class, new StaffUploadListener(staffService)).sheet().doRead();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return R.ok();
+ }
+
}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Crew.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Crew.java
index fd60403..f4219a2 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Crew.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Crew.java
@@ -36,17 +36,23 @@
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "浜哄憳鐝粍缁存姢琛�")
public class Crew extends Model<Crew> {
-private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- /**
- * id
- */
- @TableId
- @ApiModelProperty(value="id")
- private Long id;
- /**
- * 鐝粍鍚嶇О
- */
- @ApiModelProperty(value="鐝粍鍚嶇О")
- private String crewName;
- }
+ /**
+ * id
+ */
+ @TableId
+ @ApiModelProperty(value = "id")
+ private Long id;
+ /**
+ * 鐝粍鍚嶇О
+ */
+ @ApiModelProperty(value = "鐝粍鍚嶇О")
+ private String crewName;
+
+ /**
+ * 杞﹂棿
+ */
+ @ApiModelProperty(value = "杞﹂棿")
+ private String workShop;
+}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/enums/FileEnums.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/enums/FileEnums.java
index c6367a6..f282336 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/enums/FileEnums.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/enums/FileEnums.java
@@ -6,7 +6,10 @@
*/
public enum FileEnums {
warehouse("warehouse","浠撳簱"),
- location("location","搴撲綅")
+ location("location","搴撲綅"),
+ division("division","閮ㄩ棬"),
+ staff("staff","鍛樺伐"),
+ post("post","宀椾綅")
;
FileEnums(String name, String fileName) {
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewData.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewData.java
new file mode 100644
index 0000000..b11cbac
--- /dev/null
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewData.java
@@ -0,0 +1,32 @@
+package com.chinaztt.mes.basic.excel;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class CrewData {
+ /**
+ * 鐝粍鍚嶇О
+ */
+ @ExcelProperty("鐝粍鍚嶇О")
+ private String crewName;
+
+ /**
+ * 杞﹂棿
+ */
+ @ExcelProperty( "杞﹂棿")
+ private String workShop;
+
+ /**
+ * 浜哄憳缂栧彿
+ */
+ @ExcelProperty("浜哄憳缂栧彿")
+ private String staffNo;
+
+ /**
+ * 浜哄憳鍚嶇О
+ */
+ @ExcelProperty("浜哄憳鍚嶇О")
+ private String staffName;
+}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewUploadListener.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewUploadListener.java
new file mode 100644
index 0000000..4e32202
--- /dev/null
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewUploadListener.java
@@ -0,0 +1,38 @@
+package com.chinaztt.mes.basic.excel;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.chinaztt.mes.basic.service.CrewService;
+import com.chinaztt.mes.basic.service.PostService;
+import java.util.ArrayList;
+import java.util.List;
+
+public class CrewUploadListener extends AnalysisEventListener<CrewData> {
+ private static final int BATCH_COUNT = 1000;
+ List<CrewData> list = new ArrayList<>();
+
+ private CrewService crewService;
+
+ public CrewUploadListener(CrewService crewService) {
+ this.crewService = crewService;
+ }
+
+ @Override
+ public void invoke(CrewData data, AnalysisContext analysisContext) {
+ list.add(data);
+ if (list.size() >= BATCH_COUNT) {
+ save();
+ list.clear();
+ }
+ }
+
+ @Override
+ public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+ save();
+ }
+
+
+ private void save() {
+ crewService.importWorkstationExcel(list);
+ }
+}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostData.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostData.java
new file mode 100644
index 0000000..1927e3b
--- /dev/null
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostData.java
@@ -0,0 +1,42 @@
+package com.chinaztt.mes.basic.excel;
+
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class PostData {
+ /**
+ * 宀椾綅缂栧彿
+ */
+ @ExcelProperty("宀椾綅缂栧彿")
+ private String postNo;
+ /**
+ * 宀椾綅鍚嶇О
+ */
+ @ExcelProperty( "宀椾綅鍚嶇О")
+ private String postName;
+ /**
+ * 鍏徃
+ */
+ @ExcelProperty("鍏徃")
+ private String companyName;
+
+ /**
+ * 宸ュ巶
+ */
+ @ExcelProperty("宸ュ巶")
+ private String factoryName;
+
+ /**
+ * 閮ㄩ棬
+ */
+ @ExcelProperty("閮ㄩ棬")
+ private String divisionName;
+
+ /**
+ * 杞﹂棿
+ */
+ @ExcelProperty("杞﹂棿")
+ private String workShops;
+}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostUploadListener.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostUploadListener.java
new file mode 100644
index 0000000..3730f40
--- /dev/null
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostUploadListener.java
@@ -0,0 +1,40 @@
+package com.chinaztt.mes.basic.excel;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.chinaztt.mes.basic.service.PostService;
+import com.chinaztt.mes.basic.service.StaffService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PostUploadListener extends AnalysisEventListener<PostData> {
+ private static final int BATCH_COUNT = 1000;
+ List<PostData> list = new ArrayList<>();
+
+ private PostService postService;
+
+ public PostUploadListener(PostService postService) {
+ this.postService = postService;
+ }
+
+ @Override
+ public void invoke(PostData data, AnalysisContext analysisContext) {
+ list.add(data);
+ if (list.size() >= BATCH_COUNT) {
+ save();
+ list.clear();
+ }
+ }
+
+ @Override
+ public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+ save();
+ }
+
+
+ private void save() {
+ postService.importWorkstationExcel(list);
+ }
+}
+
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffData.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffData.java
new file mode 100644
index 0000000..800315b
--- /dev/null
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffData.java
@@ -0,0 +1,49 @@
+package com.chinaztt.mes.basic.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class StaffData {
+ /**
+ * 鍛樺伐缂栧彿
+ */
+ @ExcelProperty("鍛樺伐缂栧彿")
+ private String staffNo;
+ /**
+ * 濮撳悕
+ */
+ @ExcelProperty( "濮撳悕")
+ private String staffName;
+ /**
+ * 鎵�灞炲叕鍙�
+ */
+ @ExcelProperty("鎵�灞炲叕鍙�")
+ private String companyName;
+
+ /**
+ * 鎵�灞炲伐鍘�
+ */
+ @ExcelProperty("鎵�灞炲伐鍘�")
+ private String factoryName;
+
+ /**
+ * 鎵�灞為儴闂�
+ */
+ @ExcelProperty("鎵�灞為儴闂�")
+ private String divisionName;
+
+ /**
+ * 宀椾綅鍚嶇О
+ */
+ @ExcelProperty("宀椾綅鍚嶇О")
+ private String post;
+
+ /**
+ * 浜哄憳鎬ц川
+ */
+ @ExcelProperty("浜哄憳鎬ц川")
+ private String personNature;
+
+
+}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffUploadListener.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffUploadListener.java
new file mode 100644
index 0000000..27d91f5
--- /dev/null
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffUploadListener.java
@@ -0,0 +1,39 @@
+package com.chinaztt.mes.basic.excel;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.chinaztt.mes.basic.service.DivisionService;
+import com.chinaztt.mes.basic.service.StaffService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StaffUploadListener extends AnalysisEventListener<StaffData> {
+ private static final int BATCH_COUNT = 1000;
+ List<StaffData> list = new ArrayList<>();
+
+ private StaffService staffService;
+
+ public StaffUploadListener(StaffService staffService) {
+ this.staffService = staffService;
+ }
+
+ @Override
+ public void invoke(StaffData data, AnalysisContext analysisContext) {
+ list.add(data);
+ if (list.size() >= BATCH_COUNT) {
+ save();
+ list.clear();
+ }
+ }
+
+ @Override
+ public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+ save();
+ }
+
+
+ private void save() {
+ staffService.importWorkstationExcel(list);
+ }
+}
\ No newline at end of file
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/CrewService.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/CrewService.java
index 3b50aaf..597df6c 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/CrewService.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/CrewService.java
@@ -8,6 +8,7 @@
import com.chinaztt.mes.basic.entity.Crew;
import com.chinaztt.mes.basic.entity.Part;
import com.chinaztt.mes.basic.entity.Staff;
+import com.chinaztt.mes.basic.excel.CrewData;
import java.util.List;
@@ -64,4 +65,10 @@
* @return
*/
List<Staff> getStaff(CrewDTO crewDTO);
+
+ /**
+ * 瀵煎叆excel鏁版嵁
+ * @param list
+ */
+ void importWorkstationExcel(List<CrewData> list);
}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/PostService.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/PostService.java
index 8927938..ad35573 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/PostService.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/PostService.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaztt.mes.basic.entity.Post;
+import com.chinaztt.mes.basic.excel.PostData;
+
+import java.util.List;
/**
* 宀椾綅琛�
@@ -11,4 +14,9 @@
*/
public interface PostService extends IService<Post> {
+ /**
+ * excel瀵煎叆
+ * @param list
+ */
+ void importWorkstationExcel(List<PostData> list);
}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/StaffService.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/StaffService.java
index 0212f8f..5efff5d 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/StaffService.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/StaffService.java
@@ -22,6 +22,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaztt.mes.basic.entity.Staff;
+import com.chinaztt.mes.basic.excel.StaffData;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -54,4 +55,10 @@
* @date: 2020/8/28 11:06
*/
IPage<List<Staff>> toResource(Page page,Staff staff);
+
+ /**
+ * 瀵煎叆excel鐨勬暟鎹�
+ * @param list
+ */
+ void importWorkstationExcel(List<StaffData> list);
}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/CrewServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/CrewServiceImpl.java
index eac8a4a..b797923 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/CrewServiceImpl.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/CrewServiceImpl.java
@@ -3,24 +3,27 @@
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaztt.mes.basic.dto.CrewDTO;
-import com.chinaztt.mes.basic.entity.Crew;
-import com.chinaztt.mes.basic.entity.JoinCrewStaff;
-import com.chinaztt.mes.basic.entity.Part;
-import com.chinaztt.mes.basic.entity.Staff;
+import com.chinaztt.mes.basic.entity.*;
+import com.chinaztt.mes.basic.excel.CrewData;
+import com.chinaztt.mes.basic.excel.PostData;
import com.chinaztt.mes.basic.mapper.CrewMapper;
import com.chinaztt.mes.basic.mapper.JoinCrewStaffMapper;
import com.chinaztt.mes.basic.mapper.StaffMapper;
import com.chinaztt.mes.basic.service.CrewService;
import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
/**
* 浜哄憳鐝粍缁存姢琛�
@@ -82,6 +85,37 @@
return staffMapper.selectStaffById(crewDTO.getId());
}
+ //瀵煎叆excel鏁版嵁
+ @Override
+ public void importWorkstationExcel(List<CrewData> list) {
+ if (CollectionUtil.isEmpty(list)) {
+ return;
+ }
+ List<Staff> staff = staffMapper.selectList(null);
+ Crew crew = new Crew();
+ for (CrewData data : list) {
+ //鏂板鐝粍琛�
+ if (ObjectUtils.isNotEmpty(data.getCrewName())) {
+ crew.setCrewName(data.getCrewName());
+ crew.setWorkShop(data.getWorkShop());
+ baseMapper.insert(crew);
+ }
+ JoinCrewStaff joinCrewStaff = new JoinCrewStaff();
+ joinCrewStaff.setCrewId(crew.getId());
+ for (int i = 0; i < staff.size(); i++) {
+ if (staff.get(i).getStaffNo().equals(data.getStaffNo())) {
+ joinCrewStaff.setStaffId(staff.get(i).getId());
+ }
+ }
+ if (joinCrewStaff.getStaffId() == null) {
+ log.error("浜哄憳:" + data.getStaffNo() + "涓嶅瓨鍦�");
+ continue;
+ }
+ //鏂板浜哄憳鐝粍缁存姢琛�
+ joinCrewStaffMapper.insert(joinCrewStaff);
+ }
+ }
+
public void saveJoin(CrewDTO crewDTO) {
if (CollectionUtil.isNotEmpty(crewDTO.getStaffList())) {
List<Staff> staffList = joinCrewStaffMapper.selectStaffByCrewId(crewDTO.getId());
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java
index ca0b849..74adc64 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java
@@ -5,11 +5,17 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
-import com.chinaztt.mes.basic.entity.Post;
+import com.chinaztt.mes.basic.entity.*;
+import com.chinaztt.mes.basic.excel.PostData;
+import com.chinaztt.mes.basic.excel.StaffData;
+import com.chinaztt.mes.basic.mapper.CompanyMapper;
+import com.chinaztt.mes.basic.mapper.DivisionMapper;
+import com.chinaztt.mes.basic.mapper.FactoryMapper;
import com.chinaztt.mes.basic.mapper.PostMapper;
import com.chinaztt.mes.basic.service.PostService;
import com.chinaztt.mes.common.numgen.NumberGenerator;
import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -26,6 +32,10 @@
@Transactional(rollbackFor = Exception.class)
public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements PostService {
private NumberGenerator<Post> postNumberGenerator;
+ private DivisionMapper divisionMapper;
+ private PostMapper postMapper;
+ private CompanyMapper companyMapper;
+ private FactoryMapper factoryMapper;
@Override
public boolean save(Post post) {
@@ -51,4 +61,48 @@
}
}
}
+
+ //excel瀵煎叆鏁版嵁
+ @Override
+ public void importWorkstationExcel(List<PostData> list) {
+ if (CollectionUtil.isEmpty(list)) {
+ return;
+ }
+ List<Company> companies = companyMapper.selectList(null);
+ List<Factory> factories = factoryMapper.selectList(null);
+ List<Division> divisions = divisionMapper.selectList(null);
+ for (PostData data : list) {
+ Post post = new Post();
+ BeanUtils.copyProperties(data, post);
+ post.setPostName(data.getWorkShops()+"-"+data.getPostName());
+ for (int i = 0; i <companies.size() ; i++) {
+ if (companies.get(i).getCompanyName().equals(data.getCompanyName())){
+ post.setCompanyId(companies.get(i).getId());
+ }
+ }
+ if (post.getCompanyId()==null){
+ log.error("鍏徃:" + data.getCompanyName() + "涓嶅瓨鍦�");
+ continue ;
+ }
+ for (int i = 0; i <factories.size() ; i++) {
+ if (factories.get(i).getFactoryName().equals(data.getFactoryName())){
+ post.setFactoryId(factories.get(i).getId());
+ }
+ }
+ if (post.getFactoryId()==null){
+ log.error("宸ュ巶:" + data.getFactoryName() + "涓嶅瓨鍦�");
+ continue ;
+ }
+ for (int i = 0; i < divisions.size(); i++) {
+ if (divisions.get(i).getDivisionName().equals(data.getDivisionName())) {
+ post.setDivisionId(divisions.get(i).getId());
+ }
+ }
+ if (post.getDivisionId() == null) {
+ log.error("閮ㄩ棬:" + data.getDivisionName() + "涓嶅瓨鍦�");
+ continue;
+ }
+ baseMapper.insert(post);
+ }
+ }
}
diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/StaffServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/StaffServiceImpl.java
index fc11d47..a2ecea3 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/StaffServiceImpl.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/StaffServiceImpl.java
@@ -16,15 +16,18 @@
*/
package com.chinaztt.mes.basic.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.chinaztt.mes.basic.entity.Staff;
-import com.chinaztt.mes.basic.mapper.StaffMapper;
+import com.chinaztt.mes.basic.entity.*;
+import com.chinaztt.mes.basic.excel.StaffData;
+import com.chinaztt.mes.basic.mapper.*;
import com.chinaztt.mes.basic.service.StaffService;
import com.chinaztt.ztt.common.data.datascope.DataScope;
import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -39,21 +42,24 @@
@AllArgsConstructor
public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements StaffService {
+ private DivisionMapper divisionMapper;
+ private PostMapper postMapper;
+ private CompanyMapper companyMapper;
+ private FactoryMapper factoryMapper;
-
- /**
- * Description: 鍒嗛〉
- *
- * @param page
- * @param ew
- * @return IPage<List<Staff>>
- * @author: luh
- * @date: 2020/8/18 11:06
- */
+ /**
+ * Description: 鍒嗛〉
+ *
+ * @param page
+ * @param ew
+ * @return IPage<List < Staff>>
+ * @author: luh
+ * @date: 2020/8/18 11:06
+ */
@Override
public IPage<List<Staff>> getStaffPage(Page page, QueryWrapper<Staff> ew) {
- return baseMapper.getStaffPage(page,ew);
+ return baseMapper.getStaffPage(page, ew);
}
/**
@@ -61,14 +67,65 @@
*
* @param page
* @param staff
- * @return IPage<List<Staff>
+ * @return IPage<List < Staff>
* @author: fenglang
* @date: 2020/8/28 11:06
*/
@Override
public IPage<List<Staff>> toResource(Page page, Staff staff) {
- return baseMapper.toResource(page,staff);
+ return baseMapper.toResource(page, staff);
}
-
+ //瀵煎叆excel鏁版嵁
+ @Override
+ public void importWorkstationExcel(List<StaffData> list) {
+ if (CollectionUtil.isEmpty(list)) {
+ return;
+ }
+ List<Division> divisions = divisionMapper.selectList(null);
+ List<Post> posts = postMapper.selectList(null);
+ List<Company> companies = companyMapper.selectList(null);
+ List<Factory> factories = factoryMapper.selectList(null);
+ for (StaffData staffData : list) {
+ Staff staff = new Staff();
+ BeanUtils.copyProperties(staffData, staff);
+ for (int i = 0; i < divisions.size(); i++) {
+ if (divisions.get(i).getDivisionName().equals(staffData.getDivisionName())) {
+ staff.setDivisionId(divisions.get(i).getId());
+ }
+ }
+ if (staff.getDivisionId() == null) {
+ log.error("閮ㄩ棬:" + staffData.getDivisionName() + "涓嶅瓨鍦�");
+ continue;
+ }
+ for (int i = 0; i < posts.size(); i++) {
+ if (posts.get(i).getPostName().equals(staffData.getPost())) {
+ staff.setPostId(posts.get(i).getId());
+ }
+ }
+ if (staff.getPostId() == null) {
+ log.error("宀椾綅:" + staffData.getPost() + "涓嶅瓨鍦�");
+ continue;
+ }
+ for (int i = 0; i <companies.size() ; i++) {
+ if (companies.get(i).getCompanyName().equals(staffData.getCompanyName())){
+ staff.setCompanyId(companies.get(i).getId());
+ }
+ }
+ if (staff.getCompanyId()==null){
+ log.error("鍏徃:" + staffData.getCompanyName() + "涓嶅瓨鍦�");
+ continue ;
+ }
+ for (int i = 0; i <factories.size() ; i++) {
+ if (factories.get(i).getFactoryName().equals(staffData.getFactoryName())){
+ staff.setFactoryId(factories.get(i).getId());
+ }
+ }
+ if (staff.getFactoryId()==null){
+ log.error("宸ュ巶:" + staffData.getFactoryName() + "涓嶅瓨鍦�");
+ continue ;
+ }
+ baseMapper.insert(staff);
+ }
+ }
}
--
Gitblit v1.9.3