/* * 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 implements IDispatcherService { private final IUserService userService; private final IUserDeptService userDeptService; @Override public IPage selectDispatcherPage(IPage page, DispatcherVO dispatcher) { List 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 getDispatcherStatisticsList(DispatcherStatistics dispatcherStatistics) { return baseMapper.getDispatcherStatisticsList(dispatcherStatistics); } @Override @Transactional public void importDispatcherUnit(List 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); }); } }