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 |  127 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 126 insertions(+), 1 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 41e85d9..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
@@ -16,13 +16,25 @@
  */
 package org.springblade.modules.dispatcher.service.impl;
 
+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;
 import org.springblade.modules.dispatcher.mapper.DispatcherMapper;
 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;
 
 /**
  *  服务实现类
@@ -31,11 +43,36 @@
  * @since 2021-07-07
  */
 @Service
+@AllArgsConstructor
 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) {
-		return page.setRecords(baseMapper.selectDispatcherPage(page, dispatcher));
+		List<DispatcherVO> dispatcherVOS = baseMapper.selectDispatcherPage(page, dispatcher);
+//		if (dispatcherVOS.size()>0){
+//			dispatcherVOS.forEach(dispatcherVO -> {
+//				String userIds = dispatcherVO.getUserIds();
+//				if (!userIds.isEmpty()){
+//					String[] userIdArray = userIds.split(",");
+//					if (userIdArray.length>0) {
+//						StringBuilder builder = new StringBuilder();
+//						//查询用户信息
+//						for (String userId : userIdArray) {
+//							User user = userService.getById(userId);
+//							if (null != user) {
+//								builder.append(user.getRealName()).append(",");
+//							}
+//						}
+//						String s = builder.toString();
+//						dispatcherVO.setSecurityName(s.substring(0,s.length()-1));
+//					}
+//				}
+//			});
+//		}
+		return page.setRecords(dispatcherVOS);
 	}
 
 	/**
@@ -47,4 +84,92 @@
 	public DispatcherVO getDispatcherInfo(Dispatcher dispatcher) {
 		return baseMapper.getDispatcherInfo(dispatcher);
 	}
+
+	/**
+	 * 派遣记录条数
+	 * @param dispatcherUnitVO1
+	 * @return
+	 */
+	@Override
+	public Integer getDispatcherCount(DispatcherUnitVO dispatcherUnitVO1) {
+		return baseMapper.getDispatcherCount(dispatcherUnitVO1);
+	}
+
+	/**
+	 * 查询用的派遣信息
+	 * @param userId 用户id
+	 * @return
+	 */
+	@Override
+	public DispatcherVO getDispatcherInfoByUserId(Long userId) {
+		return baseMapper.getDispatcherInfoByUserId(userId);
+	}
+
+	@Override
+	public void updateEndtime(String endTime, String disId) {
+		baseMapper.updateEndtime(endTime, disId);
+	}
+
+	@Override
+	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