/*
|
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions are met:
|
*
|
* Redistributions of source code must retain the above copyright notice,
|
* this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in the
|
* documentation and/or other materials provided with the distribution.
|
* Neither the name of the dreamlu.net developer nor the names of its
|
* contributors may be used to endorse or promote products derived from
|
* this software without specific prior written permission.
|
* Author: Chill 庄骞 (smallchill@163.com)
|
*/
|
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;
|
|
/**
|
* 服务实现类
|
*
|
* @author BladeX
|
* @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) {
|
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);
|
}
|
|
/**
|
* 派遣记录详情
|
* @param dispatcher 派遣记录对象
|
* @return
|
*/
|
@Override
|
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);
|
});
|
}
|
}
|