diff --git a/blade-biz-common/src/main/java/org/springblade/common/utils/PhoneCheckUtil.java b/blade-biz-common/src/main/java/org/springblade/common/utils/PhoneCheckUtil.java new file mode 100644 index 000000000..e319e7837 --- /dev/null +++ b/blade-biz-common/src/main/java/org/springblade/common/utils/PhoneCheckUtil.java @@ -0,0 +1,13 @@ +package org.springblade.common.utils; + +/** + * 电话校验 + */ +public class PhoneCheckUtil { + + public static boolean checkPhone(String phone){ + String regex = "^1[3-9]\\d{9}$"; + return phone.matches(regex); + } + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml index d7d92b6ab..9c09812f4 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml @@ -125,7 +125,7 @@ date_format(from_unixtime(create_time),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d and lawo.work_order_status in ('20') and lawo.work_order_status in ('30') and lawo.work_order_status in ('30') - and lawo.work_order_status in ('70','80') + and lawo.work_order_status in ('70','80','100') and lawo.customer_service_id = #{param.customerServiceId } and lawo.customer_service_name like concat('%', #{param.customerServiceName },'%') and lawo.waybill_mall_id = #{param.waybillMallId } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java index efa88aa0e..3cf4a8629 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java @@ -23,7 +23,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.logpm.basicdata.dto.BasicdataVehicleDTO; import com.logpm.basicdata.dto.BasicdataVehiclePhotoDTO; import com.logpm.basicdata.entity.BasicdataVehicleEntity; -import com.logpm.basicdata.excel.BasicdataVehicleExcel; +import com.logpm.basicdata.excel.*; import com.logpm.basicdata.service.IBasicdataDriverArteryService; import com.logpm.basicdata.service.IBasicdataVehiclePhotoService; import com.logpm.basicdata.service.IBasicdataVehicleService; @@ -45,10 +45,14 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -201,14 +205,80 @@ public class BasicdataVehicleController extends BladeController { @GetMapping("/export-basicdataVehicle") @ApiOperationSupport(order = 9) @ApiOperation(value = "导出数据", notes = "传入basicdataVehicle") - public void exportBasicdataVehicle(@ApiIgnore @RequestParam Map basicdataVehicle, BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper queryWrapper = Condition.getQueryWrapper(basicdataVehicle, BasicdataVehicleEntity.class); - //if (!AuthUtil.isAdministrator()) { - // queryWrapper.lambda().eq(BasicdataVehicle::getTenantId, bladeUser.getTenantId()); - //} - queryWrapper.lambda().eq(BasicdataVehicleEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = basicdataVehicleService.exportBasicdataVehicle(queryWrapper); + public void exportBasicdataVehicle(@ApiIgnore @RequestParam String ids, HttpServletResponse response) { + + List list = basicdataVehicleService.exportBasicdataVehicle(ids); ExcelUtil.export(response, "车辆信息表数据" + DateUtil.time(), "车辆信息表数据表", list, BasicdataVehicleExcel.class); } + + /** + * 导出数据 + */ + @GetMapping("/export-vehicleTemplate") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "下载导出模板", notes = "传入basicdataVehicle") + public void exportVehicleTemplate(HttpServletResponse response) { + List list = new ArrayList<>(); + BasicdataVehicleImportExcel basicdataVehicleImportExcel = new BasicdataVehicleImportExcel(); + basicdataVehicleImportExcel.setVehicleNub("鄂HG40Q9"); + basicdataVehicleImportExcel.setVehicleSource("1"); + basicdataVehicleImportExcel.setIsHead("1"); + basicdataVehicleImportExcel.setTrailerType("1"); + basicdataVehicleImportExcel.setVehicleModel("1"); + basicdataVehicleImportExcel.setCarType("1"); + basicdataVehicleImportExcel.setVehicleCommander(new BigDecimal(70.0)); + basicdataVehicleImportExcel.setVehicleHeight(new BigDecimal(70.0)); + basicdataVehicleImportExcel.setApprovedVolume(new BigDecimal(500.0)); + basicdataVehicleImportExcel.setPaymentMethod("1"); + basicdataVehicleImportExcel.setLicensePlateColor("1"); + basicdataVehicleImportExcel.setVehicleCode("代号"); + basicdataVehicleImportExcel.setVehicleColor("1"); + basicdataVehicleImportExcel.setLicensePlateType("1"); + basicdataVehicleImportExcel.setNotes("备注"); + basicdataVehicleImportExcel.setVehicleOwner("如需绑定司机填写司机名称"); + basicdataVehicleImportExcel.setVehicleBrand("车辆品牌"); + basicdataVehicleImportExcel.setEngineCode("B48"); + basicdataVehicleImportExcel.setVehicleQuality(new BigDecimal(500.0)); + basicdataVehicleImportExcel.setLoadMass(new BigDecimal(500.0)); + basicdataVehicleImportExcel.setOuterWidth(new BigDecimal(500.0)); + basicdataVehicleImportExcel.setExpirationTime(new Date()); + basicdataVehicleImportExcel.setRoadTransport("420303001532"); + basicdataVehicleImportExcel.setBusinessLicense("420303001532"); + basicdataVehicleImportExcel.setVehicleUnit("个人"); + basicdataVehicleImportExcel.setVehicleUnitPhone("15678923467"); + basicdataVehicleImportExcel.setVehicleOwnerPhone("如需绑定司机填写司机手机号码"); + basicdataVehicleImportExcel.setVehicleOwnerCard("车辆所属人身份证号"); + basicdataVehicleImportExcel.setCarrierName("汇通运输"); + basicdataVehicleImportExcel.setReviewTime(new Date()); + basicdataVehicleImportExcel.setReviewValidity(24); + basicdataVehicleImportExcel.setInsuranceStartTime(new Date()); + basicdataVehicleImportExcel.setInsuranceEndTime(new Date()); + basicdataVehicleImportExcel.setBodyAdvertising("有"); + basicdataVehicleImportExcel.setBodyAdvertising("有"); + basicdataVehicleImportExcel.setAdvertisementsNewTimes(new Date()); + basicdataVehicleImportExcel.setVehicleParkingCompany("XXX挂靠公司"); + basicdataVehicleImportExcel.setWithGps("1"); + basicdataVehicleImportExcel.setGpsServiceProvider("XXX服务商"); + basicdataVehicleImportExcel.setGpsModel("VT77M"); + basicdataVehicleImportExcel.setDemonstrate("是"); + list.add(basicdataVehicleImportExcel); + ExcelUtil.export(response, "车辆信息表数据" + DateUtil.time(), "车辆信息表数据表", list, BasicdataVehicleImportExcel.class); + } + + + + /** + * 导入司机信息 + */ + @PostMapping("import-basicdataVehicle") + @ApiOperationSupport(order = 12) + @ApiOperation(value = "导入车辆信息", notes = "传入excel") + public R importBasicdataVehicle(MultipartFile file) { + log.info("传入>>>>>>>{}",file); + BasicdataVehicleImporter basicdataDriverArteryImporter = new BasicdataVehicleImporter(basicdataVehicleService); + ExcelUtil.save(file,basicdataDriverArteryImporter, BasicdataVehicleImportExcel.class); + return R.success("操作成功"); + } + } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataVehicleImportExcel.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataVehicleImportExcel.java new file mode 100644 index 000000000..63a3f78cd --- /dev/null +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataVehicleImportExcel.java @@ -0,0 +1,387 @@ +/* + * 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 com.logpm.basicdata.excel; + + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + +/** + * 车辆信息表 Excel实体类 + * + * @author lmy + * @since 2023-05-16 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class BasicdataVehicleImportExcel implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 车牌号 + */ + @ColumnWidth(20) + @ExcelProperty("车牌号") + private String vehicleNub; + /** + * 车辆来源;1-自有,2-承包,3-外请 + */ + @ColumnWidth(20) + @ExcelProperty("车辆来源;1-自有,2-承包,3-外请") + private String vehicleSource; + /** + * 是否车头;1-车头,2-挂车 + */ + @ColumnWidth(20) + @ExcelProperty("是否车头;1-车头,2-挂车") + private String isHead; + /** + * 挂车类型;1-独享,2-共享 + */ + @ColumnWidth(20) + @ExcelProperty("挂车类型;1-独享,2-共享") + private String trailerType; + /** + * 车辆类型;1-挂车,2-普通货车 + */ + @ColumnWidth(20) + @ExcelProperty("车辆类型;1-挂车,2-普通货车") + private String vehicleModel; + /** + * 车厢类型;1-高栏,2-平板,3-箱车 + */ + @ColumnWidth(20) + @ExcelProperty("车厢类型;1-高栏,2-平板,3-箱车") + private String carType; + /** + * 车长;单位(M) + */ + @ColumnWidth(20) + @ExcelProperty("车长;单位(M)") + private BigDecimal vehicleCommander; + /** + * 外廓高 + */ + @ColumnWidth(20) + @ExcelProperty("外廓高") + private BigDecimal vehicleHeight; + /** + * 付款方式;1-现付,2-月付,3-到付 + */ + @ColumnWidth(20) + @ExcelProperty("付款方式;1-现付,2-月付,3-到付") + private String paymentMethod; + /** + * 核定体积 + */ + @ColumnWidth(20) + @ExcelProperty("核定体积") + private BigDecimal approvedVolume; + /** + * 车牌颜色;1-黄色,2-蓝色,3-绿色,4-蓝绿色,5-其他 + */ + @ColumnWidth(20) + @ExcelProperty("车牌颜色;1-黄色,2-蓝色,3-绿色,4-蓝绿色,5-其他") + private String licensePlateColor; + /** + * 车身颜色;1-红,2-黄,3-蓝,4-黑,5-白,6-银 + */ + @ColumnWidth(20) + @ExcelProperty("车身颜色;1-红,2-黄,3-蓝,4-黑,5-白,6-银") + private String vehicleColor; + /** + * 能源类型;1-汽油,2-柴油,3-电,4-天然气,5-混合油,6-燃化石油气,7-甲醇 + */ + @ColumnWidth(20) + @ExcelProperty("能源类型;1-汽油,2-柴油,3-电,4-天然气,5-混合油,6-燃化石油气,7-甲醇") + private String energyType; + /** + * 车牌类型;1-大型汽车号牌,2-小型汽车号牌 + */ + @ColumnWidth(20) + @ExcelProperty("车牌类型;1-大型汽车号牌,2-小型汽车号牌") + private String licensePlateType; + /** + * 备注 + */ + @ColumnWidth(20) + @ExcelProperty("备注") + private String notes; + /** + * 车辆所属人 + */ + @ColumnWidth(20) + @ExcelProperty("车辆所属人") + private String vehicleOwner; + /** + * 品牌型号 + */ + @ColumnWidth(20) + @ExcelProperty("品牌型号") + private String vehicleBrand; + /** + * 车辆代号 + */ + @ColumnWidth(20) + @ExcelProperty("车辆代号") + private String vehicleCode; + /** + * 发动机型号 + */ + @ColumnWidth(20) + @ExcelProperty("发动机型号") + private String engineCode; + /** + * 车辆总质量;单位(T) + */ + @ColumnWidth(20) + @ExcelProperty("车辆总质量;单位(T)") + private BigDecimal vehicleQuality; + /** + * 整备质量;单位(T) + */ + @ColumnWidth(20) + @ExcelProperty("整备质量;单位(T)") + private BigDecimal curbWeight; + /** + * 载荷质量;单位(T) + */ + @ColumnWidth(20) + @ExcelProperty("载荷质量;单位(T)") + private BigDecimal loadMass; + /** + * 外廓宽;单位(M) + */ + @ColumnWidth(20) + @ExcelProperty("外廓宽;单位(M)") + private BigDecimal outerWidth; + /** + * 到期时间 + */ + @ColumnWidth(20) + @ExcelProperty("到期时间") + private Date expirationTime; + /** + * 道路运输证号 + */ + @ColumnWidth(20) + @ExcelProperty("道路运输证号") + private String roadTransport; + /** + * 经营许可证号 + */ + @ColumnWidth(20) + @ExcelProperty("经营许可证号") + private String businessLicense; + /** + * 车辆所属单位 + */ + @ColumnWidth(20) + @ExcelProperty("车辆所属单位") + private String vehicleUnit; + /** + * 车辆所属单位电话 + */ + @ColumnWidth(20) + @ExcelProperty("车辆所属单位电话") + private String vehicleUnitPhone; + /** + * 车辆所属人手机号 + */ + @ColumnWidth(20) + @ExcelProperty("车辆所属人手机号") + private String vehicleOwnerPhone; + /** + * 车辆所属人身份证号 + */ + @ColumnWidth(20) + @ExcelProperty("车辆所属人身份证号") + private String vehicleOwnerCard; +// /** +// * 行驶证正面照片 +// */ +// @ColumnWidth(20) +// @ExcelProperty("行驶证正面照片") +// private String drivingLicensePhoto; +// /** +// * 行驶证照片反面 +// */ +// @ColumnWidth(20) +// @ExcelProperty("行驶证照片反面") +// private String drivingLicensePhotoBack; +// /** +// * 许可证照片 +// */ +// @ColumnWidth(20) +// @ExcelProperty("许可证照片") +// private String licensePhoto; +// /** +// * 车辆照片(最新) +// */ +// @ColumnWidth(20) +// @ExcelProperty("车辆照片(最新)") +// private String vehiclePhoto; +// /** +// * 车尾照片 +// */ +// @ColumnWidth(20) +// @ExcelProperty("车尾照片") +// private String vehicleRearPhoto; +// /** +// * 道路运输照片 +// */ +// @ColumnWidth(20) +// @ExcelProperty("道路运输照片") +// private String roadTransportPhoto; +// /** +// * 人车合影照片 +// */ +// @ColumnWidth(20) +// @ExcelProperty("人车合影照片") +// private String vehiclePeoplePhoto; +// /** +// * 保险卡照片 +// */ +// @ColumnWidth(20) +// @ExcelProperty("保险卡照片") +// private String insuranceCardPhoto; + /** + * 关联承运商Id + */ + @ColumnWidth(20) + @ExcelProperty("关联承运商Id") + private Long carrierId; + + /** + * 关联承运商Id + */ + @ColumnWidth(20) + @ExcelProperty("承运商名称") + private String carrierName; + /** + * 车辆年审时间 + */ + @ColumnWidth(20) + @ExcelProperty("车辆年审时间") + private Date reviewTime; + /** + * 车辆年审有效期 + */ + @ColumnWidth(20) + @ExcelProperty("车辆年审有效期") + private Integer reviewValidity; + /** + * 车辆保险开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("车辆保险开始时间") + private Date insuranceStartTime; + /** + * 车辆保险结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("车辆保险结束时间") + private Date insuranceEndTime; + /** + * 有无车身广告 + */ + @ColumnWidth(20) + @ExcelProperty("有无车身广告") + private String bodyAdvertising; + /** + * 车身广告跟新时间 + */ + @ColumnWidth(20) + @ExcelProperty("车身广告跟新时间") + private Date advertisementsNewTimes; + /** + * 车辆挂靠公司 + */ + @ColumnWidth(20) + @ExcelProperty("车辆挂靠公司") + private String vehicleParkingCompany; + /** + * 是否有GPS;1-没有,2-有 + */ + @ColumnWidth(20) + @ExcelProperty("是否有GPS;1-没有,2-有") + private String withGps; + /** + * GPS服务商 + */ + @ColumnWidth(20) + @ExcelProperty("GPS服务商") + private String gpsServiceProvider; + /** + * GPS型号 + */ + @ColumnWidth(20) + @ExcelProperty("GPS型号") + private String gpsModel; + /** + * 是否是示例 + */ + @ColumnWidth(20) + @ExcelProperty("是否示例") + private String demonstrate; + + + +// /** +// * 预留1 +// */ +// @ColumnWidth(20) +// @ExcelProperty("预留1") +// private String reserve1; +// /** +// * 预留2 +// */ +// @ColumnWidth(20) +// @ExcelProperty("预留2") +// private String reserve2; +// /** +// * 预留3 +// */ +// @ColumnWidth(20) +// @ExcelProperty("预留3") +// private String reserve3; +// /** +// * 预留4 +// */ +// @ColumnWidth(20) +// @ExcelProperty("预留4") +// private String reserve4; +// /** +// * 预留5 +// */ +// @ColumnWidth(20) +// @ExcelProperty("预留5") +// private String reserve5; + +} diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataVehicleImporter.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataVehicleImporter.java new file mode 100644 index 000000000..848070a55 --- /dev/null +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataVehicleImporter.java @@ -0,0 +1,35 @@ +package com.logpm.basicdata.excel; + + + +import com.logpm.basicdata.service.IBasicdataDriverArteryService; +import com.logpm.basicdata.service.IBasicdataVehicleService; +import lombok.RequiredArgsConstructor; +import org.springblade.core.excel.support.ExcelImporter; + +import java.util.List; + + +/** + * @program: LogisticsPlatform-Service + * @description: + * @author: lmy + * @create: 2023-08-09 10:26 + **/ +@RequiredArgsConstructor +public class BasicdataVehicleImporter implements ExcelImporter { + + private final IBasicdataVehicleService service; + + + + + + /** + * @param data + */ + @Override + public void save(List data) { + service.importDriverArtery(data); + } +} diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.java index 9dd03c15f..21fdfef19 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.java @@ -60,4 +60,13 @@ public interface BasicdataDriverArteryMapper extends BaseMapper findDriverListByName(@Param("driverName") String driverName); void updateIsdeletedByPhone(@Param("phone") String phone); + + /** + * 查询司机信息 + * @param vehicleOwner + * @param vehicleOwnerPhone + * @return + */ + BasicdataDriverArteryEntity findDriverListByPhone(@Param("name") String vehicleOwner,@Param("phone") String vehicleOwnerPhone); + } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.xml b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.xml index a1812ff46..a955116e6 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.xml +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataDriverArteryMapper.xml @@ -163,6 +163,10 @@ where `name` like concat('%',#{driverName},'%') limit 10 + diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java index 03a894a10..e4a68f1fc 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java @@ -51,7 +51,7 @@ public interface BasicdataVehicleMapper extends BaseMapper exportBasicdataVehicle(@Param("ew") Wrapper queryWrapper); + List exportBasicdataVehicle(@Param("ids") List ids); List selectPhotoBymasterId(Long id); /** diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml index f2a470fc5..f184a0133 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml @@ -159,7 +159,16 @@