智慧保安后台管理-外网项目备份
guoshilong
2024-01-16 6f201b8d3743e246a71f00a9ba98d10b128fae38
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);
      });
   }
}