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/service/impl/StaffServiceImpl.java |   89 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 73 insertions(+), 16 deletions(-)

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