From 6f201b8d3743e246a71f00a9ba98d10b128fae38 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 16 Jan 2024 08:59:52 +0800
Subject: [PATCH] 派遣记录导入

---
 src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java b/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
index 1d27bef..e3c7cd2 100644
--- a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
+++ b/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
@@ -18,6 +18,8 @@
 
 import lombok.AllArgsConstructor;
 import org.springblade.modules.dispatcher.entity.Dispatcher;
+import org.springblade.modules.dispatcher.entity.DispatcherUnit;
+import org.springblade.modules.dispatcher.excel.DispatcherExcel;
 import org.springblade.modules.dispatcher.vo.DispatcherStatistics;
 import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
 import org.springblade.modules.dispatcher.vo.DispatcherVO;
@@ -25,10 +27,13 @@
 import org.springblade.modules.dispatcher.service.IDispatcherService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserDeptService;
 import org.springblade.modules.system.service.IUserService;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -42,6 +47,7 @@
 public class DispatcherServiceImpl extends ServiceImpl<DispatcherMapper, Dispatcher> implements IDispatcherService {
 
 	private final IUserService userService;
+	private final IUserDeptService userDeptService;
 
 	@Override
 	public IPage<DispatcherVO> selectDispatcherPage(IPage<DispatcherVO> page, DispatcherVO dispatcher) {
@@ -108,4 +114,62 @@
 	public List<DispatcherStatistics> getDispatcherStatisticsList(DispatcherStatistics dispatcherStatistics) {
 		return baseMapper.getDispatcherStatisticsList(dispatcherStatistics);
 	}
+
+	@Override
+	@Transactional
+	public void importDispatcherUnit(List<DispatcherExcel> data, Boolean isCovered) {
+		//派遣数据导入
+		data.forEach(dispatcherExcel -> {
+			Dispatcher dispatcher = new Dispatcher();
+
+			//派遣单位
+			if (dispatcherExcel.getDispatcherUnitId() != null && dispatcherExcel.getDispatcherUnitId() != ""){
+
+				//在派遣表中查是否有这个派遣单位
+				DispatcherUnit dispatcherUnit =  baseMapper.selectDispatcherUnitExist(dispatcherExcel.getDispatcherUnitId());
+				if (dispatcherUnit != null){
+					dispatcher.setDispatcherUnitId(dispatcherUnit.getId().toString());
+				}else{
+					return;
+				}
+			}
+
+			//企业名称
+			if (dispatcherExcel.getDeptId() != null && dispatcherExcel.getDeptId() != "") {
+				String deptId = userDeptService.selectIn(dispatcherExcel.getDeptId());
+				dispatcher.setDeptId(Long.parseLong(deptId));
+			}
+
+			//保安员(根据身份证号获取userId,存入表中)
+			if (dispatcherExcel.getCardid() != null && dispatcherExcel.getCardid() != "" && dispatcherExcel.getUserIds() != null && dispatcherExcel.getUserIds() != ""){
+
+				User userInfoByIdCardNo = userService.getUserInfoByIdCardNo(dispatcherExcel.getCardid());
+				if (userInfoByIdCardNo!=null){
+
+					//0派遣,1未派遣
+					if (userInfoByIdCardNo.getDispatch().equals("1")){
+						dispatcher.setUserIds(userInfoByIdCardNo.getId().toString());
+					}else{
+						return;
+					}
+				}else{
+					return;
+				}
+			}
+
+			dispatcher.setDispatchertime(dispatcherExcel.getDispatcherTime());
+			dispatcher.setEndTime(dispatcherExcel.getEndTime());
+			dispatcher.setDispatcheraddress(dispatcherExcel.getDispatcherAddress());
+
+			dispatcher.setCreateTime(new Date());
+			dispatcher.setStatus(0);
+			save(dispatcher);
+
+			//更新用户表
+			User user = new User();
+			user.setId(Long.parseLong(dispatcher.getUserIds()));
+			user.setDispatch("0");
+			userService.updateById(user);
+		});
+	}
 }

--
Gitblit v1.9.3