|
@@ -14,15 +14,27 @@ package vip.xiaonuo.biz.modular.passenger.passengerpass.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.collection.CollStreamUtil;
|
|
import cn.hutool.core.collection.CollStreamUtil;
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
+import vip.xiaonuo.biz.modular.dict.service.BizDictService;
|
|
|
|
+import vip.xiaonuo.biz.modular.passenger.passengercheck.dto.PassengerCheckImportExcelDto;
|
|
|
|
+import vip.xiaonuo.biz.modular.passenger.passengercheck.entity.PassengerCheck;
|
|
|
|
+import vip.xiaonuo.biz.modular.passenger.passengercheck.listener.PassengerCheckExcelListener;
|
|
|
|
+import vip.xiaonuo.biz.modular.passenger.passengergood.entity.PassengerGood;
|
|
|
|
+import vip.xiaonuo.biz.modular.passenger.passengergood.service.PassengerGoodService;
|
|
import vip.xiaonuo.biz.modular.passenger.passengerinfo.param.PassengerRootPageParam;
|
|
import vip.xiaonuo.biz.modular.passenger.passengerinfo.param.PassengerRootPageParam;
|
|
|
|
+import vip.xiaonuo.biz.modular.passenger.passengerpass.dto.PassengerPassImportExcelDto;
|
|
|
|
+import vip.xiaonuo.biz.modular.passenger.passengerpass.listener.PassengerPassListener;
|
|
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
|
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
|
import vip.xiaonuo.common.exception.CommonException;
|
|
import vip.xiaonuo.common.exception.CommonException;
|
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
|
@@ -33,7 +45,9 @@ import vip.xiaonuo.biz.modular.passenger.passengerpass.param.PassengerPassEditPa
|
|
import vip.xiaonuo.biz.modular.passenger.passengerpass.param.PassengerPassIdParam;
|
|
import vip.xiaonuo.biz.modular.passenger.passengerpass.param.PassengerPassIdParam;
|
|
import vip.xiaonuo.biz.modular.passenger.passengerpass.param.PassengerPassPageParam;
|
|
import vip.xiaonuo.biz.modular.passenger.passengerpass.param.PassengerPassPageParam;
|
|
import vip.xiaonuo.biz.modular.passenger.passengerpass.service.PassengerPassService;
|
|
import vip.xiaonuo.biz.modular.passenger.passengerpass.service.PassengerPassService;
|
|
|
|
+import vip.xiaonuo.common.util.CommonIdCardUtil;
|
|
|
|
|
|
|
|
+import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -44,7 +58,10 @@ import java.util.List;
|
|
**/
|
|
**/
|
|
@Service
|
|
@Service
|
|
public class PassengerPassServiceImpl extends ServiceImpl<PassengerPassMapper, PassengerPass> implements PassengerPassService {
|
|
public class PassengerPassServiceImpl extends ServiceImpl<PassengerPassMapper, PassengerPass> implements PassengerPassService {
|
|
-
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private BizDictService bizDictService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private PassengerGoodService passengerGoodService;
|
|
@Override
|
|
@Override
|
|
public Page<PassengerPass> page(PassengerRootPageParam rootPageParam) {
|
|
public Page<PassengerPass> page(PassengerRootPageParam rootPageParam) {
|
|
QueryWrapper<PassengerPass> queryWrapper = new QueryWrapper<PassengerPass>().checkSqlInjection();
|
|
QueryWrapper<PassengerPass> queryWrapper = new QueryWrapper<PassengerPass>().checkSqlInjection();
|
|
@@ -67,13 +84,7 @@ public class PassengerPassServiceImpl extends ServiceImpl<PassengerPassMapper, P
|
|
if(ObjectUtil.isNotEmpty(rootPageParam.getTravelNo())) {
|
|
if(ObjectUtil.isNotEmpty(rootPageParam.getTravelNo())) {
|
|
queryWrapper.lambda().like(PassengerPass::getTravelNo, rootPageParam.getTravelNo());
|
|
queryWrapper.lambda().like(PassengerPass::getTravelNo, rootPageParam.getTravelNo());
|
|
}
|
|
}
|
|
- if(ObjectUtil.isNotEmpty(rootPageParam.getCheckPlace())) {
|
|
|
|
- queryWrapper.lambda().like(PassengerPass::getCheckPlace, rootPageParam.getCheckPlace());
|
|
|
|
- }
|
|
|
|
|
|
|
|
- if(ObjectUtil.isNotEmpty(rootPageParam.getCheckStatus())) {
|
|
|
|
- queryWrapper.lambda().like(PassengerPass::getCheckStatus, rootPageParam.getCheckStatus());
|
|
|
|
- }
|
|
|
|
|
|
|
|
if(ObjectUtil.isNotEmpty(rootPageParam.getBaggage())) {
|
|
if(ObjectUtil.isNotEmpty(rootPageParam.getBaggage())) {
|
|
queryWrapper.lambda().eq(PassengerPass::getBaggage, rootPageParam.getBaggage());
|
|
queryWrapper.lambda().eq(PassengerPass::getBaggage, rootPageParam.getBaggage());
|
|
@@ -87,13 +98,7 @@ public class PassengerPassServiceImpl extends ServiceImpl<PassengerPassMapper, P
|
|
queryWrapper.lambda().eq(PassengerPass::getToPort, rootPageParam.getToPort());
|
|
queryWrapper.lambda().eq(PassengerPass::getToPort, rootPageParam.getToPort());
|
|
}
|
|
}
|
|
|
|
|
|
- if(ObjectUtil.isNotEmpty(rootPageParam.getCheckReason())) {
|
|
|
|
- queryWrapper.lambda().like(PassengerPass::getCheckReason, rootPageParam.getCheckReason());
|
|
|
|
- }
|
|
|
|
|
|
|
|
- if(ObjectUtil.isNotEmpty(rootPageParam.getCheckBy())) {
|
|
|
|
- queryWrapper.lambda().like(PassengerPass::getCheckBy, rootPageParam.getCheckBy());
|
|
|
|
- }
|
|
|
|
|
|
|
|
if(ObjectUtil.isNotEmpty(rootPageParam.getCheckType())) {
|
|
if(ObjectUtil.isNotEmpty(rootPageParam.getCheckType())) {
|
|
queryWrapper.lambda().eq(PassengerPass::getCheckType, rootPageParam.getCheckType());
|
|
queryWrapper.lambda().eq(PassengerPass::getCheckType, rootPageParam.getCheckType());
|
|
@@ -106,12 +111,7 @@ public class PassengerPassServiceImpl extends ServiceImpl<PassengerPassMapper, P
|
|
queryWrapper.lambda().le(PassengerPass::getTravelTime,rootPageParam.getTravelTimeEnd());
|
|
queryWrapper.lambda().le(PassengerPass::getTravelTime,rootPageParam.getTravelTimeEnd());
|
|
}
|
|
}
|
|
|
|
|
|
- if(ObjectUtil.isNotEmpty(rootPageParam.getCheckTimeStart())) {
|
|
|
|
- queryWrapper.lambda().ge(PassengerPass::getCheckTime, rootPageParam.getCheckTimeStart());
|
|
|
|
- }
|
|
|
|
- if(ObjectUtil.isNotEmpty(rootPageParam.getCheckTimeEnd())) {
|
|
|
|
- queryWrapper.lambda().ge(PassengerPass::getCheckTime, rootPageParam.getCheckTimeEnd());
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
|
|
if(ObjectUtil.isNotEmpty(rootPageParam.getAdmissionTimeStart())) {
|
|
if(ObjectUtil.isNotEmpty(rootPageParam.getAdmissionTimeStart())) {
|
|
queryWrapper.lambda().ge(PassengerPass::getAdmissionTime, rootPageParam.getAdmissionTimeStart());
|
|
queryWrapper.lambda().ge(PassengerPass::getAdmissionTime, rootPageParam.getAdmissionTimeStart());
|
|
@@ -172,4 +172,60 @@ public class PassengerPassServiceImpl extends ServiceImpl<PassengerPassMapper, P
|
|
}
|
|
}
|
|
return passengerPass;
|
|
return passengerPass;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void importExcelData(MultipartFile file) {
|
|
|
|
+ try {
|
|
|
|
+ PassengerPassListener listener = new PassengerPassListener(this::saveExcelData);
|
|
|
|
+ // 开始读取数据信息
|
|
|
|
+ EasyExcel.read(file.getInputStream(), PassengerPassImportExcelDto.class, listener)
|
|
|
|
+ .sheet(2).headRowNumber(1).doRead();
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("导入旅客查验信息失败", e);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ public void saveExcelData(List<PassengerPassImportExcelDto> importExcelDtos){
|
|
|
|
+ Date currentDate = new Date();
|
|
|
|
+ int rcSjCount = -10;
|
|
|
|
+ int fxSjCount = -5;
|
|
|
|
+ for (PassengerPassImportExcelDto item : importExcelDtos) {
|
|
|
|
+ PassengerPass passengerPass = new PassengerPass();
|
|
|
|
+ BeanUtil.copyProperties(item,passengerPass);
|
|
|
|
+ //根据身份证号计算年龄
|
|
|
|
+ passengerPass.setAge(CommonIdCardUtil.getAgeByIdCard(item.getIdNo())+"");
|
|
|
|
+ //设置性别
|
|
|
|
+ passengerPass.setGender(bizDictService.getNameByLabel("lvke_sex",item.getGender()));
|
|
|
|
+ //设置国籍
|
|
|
|
+ passengerPass.setNationality(bizDictService.getNameByLabel("lvke_city",item.getNationality()));
|
|
|
|
+ //航班时间
|
|
|
|
+ passengerPass.setTravelTime(currentDate);
|
|
|
|
+ //出发时间
|
|
|
|
+ passengerPass.setDepartTime(currentDate);
|
|
|
|
+ //设置出发港口
|
|
|
|
+ passengerPass.setFromPort(bizDictService.getNameByLabel("lvke_departurePort",item.getFromPort()));
|
|
|
|
+ //设置到达港口
|
|
|
|
+ passengerPass.setToPort(bizDictService.getNameByLabel("lvke_arrivingPort",item.getToPort()));
|
|
|
|
+ //设置查验类型
|
|
|
|
+ passengerPass.setCheckType(bizDictService.getNameByLabel("lvke_checkType",item.getCheckType()));
|
|
|
|
+ //设置入场时间
|
|
|
|
+ passengerPass.setAdmissionTime(DateUtil.offsetMinute(currentDate,rcSjCount--));
|
|
|
|
+ //设置放行时间
|
|
|
|
+ passengerPass.setPassTime(DateUtil.offsetMinute(currentDate,fxSjCount--));
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.save(passengerPass);
|
|
|
|
+
|
|
|
|
+ if(ObjectUtil.isNotEmpty(item.getGoodName())){
|
|
|
|
+ PassengerGood passengerGood = new PassengerGood();
|
|
|
|
+ BeanUtil.copyProperties(item,passengerGood);
|
|
|
|
+ passengerGood.setPassengerId(passengerPass.getId());
|
|
|
|
+ passengerGood.setType("3");
|
|
|
|
+ //数量默认1
|
|
|
|
+ passengerGood.setQuantity("1");
|
|
|
|
+
|
|
|
|
+ passengerGoodService.save(passengerGood);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|