From 8f627a931dd2e7fc97d8e7ebd00855d4876e8117 Mon Sep 17 00:00:00 2001 From: liwen Date: Wed, 24 Jan 2024 17:09:24 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E8=BD=A6=E8=BE=86=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../safeproduct/constants/SafeProductConstant.java | 2 ++ .../entity/CarAnnualInspectionEntity.java | 10 +----- .../hnac/hzims/safeproduct/entity/CarEntity.java | 3 -- .../safeproduct/entity/CarInsuranceEntity.java | 8 ----- .../safeproduct/vo/CarAnnualInspectionPageVO.java | 9 ++--- .../safeproduct/vo/CarCheckRecordDetailVO.java | 6 ++++ .../hzims/safeproduct/vo/CarInsurancePageVO.java | 9 ++--- .../safeproduct/vo/CarMaintenanceDetailVO.java | 11 ++++++ .../hzims/safeproduct/vo/CarMaintenancePageVO.java | 3 ++ .../safeproduct/vo/CarUsedRecordDetailVO.java | 11 ++++++ .../hzims/safeproduct/vo/CarUsedRecordPageVO.java | 2 +- .../safeproduct/controller/CarController.java | 37 +++++++++++++++++---- .../mapper/CarAnnualInspectionMapper.xml | 12 +++++-- .../safeproduct/mapper/CarCheckRecordMapper.xml | 9 +++++ .../safeproduct/mapper/CarInsuranceMapper.xml | 12 +++++-- .../safeproduct/mapper/CarMaintenanceMapper.xml | 5 ++- .../safeproduct/mapper/CarUsedRecordMapper.xml | 13 ++++++-- .../hzims/safeproduct/service/ICarService.java | 7 ++++ .../safeproduct/service/ICarUsedRecordService.java | 4 +-- .../service/impl/CarCheckRecordServiceImpl.java | 8 +++++ .../service/impl/CarMaintenanceServiceImpl.java | 22 ++++++++++-- .../safeproduct/service/impl/CarServiceImpl.java | 15 ++++++++- .../service/impl/CarUsedRecordServiceImpl.java | 26 +++++++++++++-- .../main/resources/template/用车记录单.docx | Bin 11565 -> 11629 bytes .../main/resources/template/车辆检查表.docx | Bin 11777 -> 11806 bytes .../resources/template/车辆维保记录单.docx | Bin 11915 -> 11974 bytes 26 files changed, 188 insertions(+), 56 deletions(-) diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/constants/SafeProductConstant.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/constants/SafeProductConstant.java index 3a4e9b9..fd81755 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/constants/SafeProductConstant.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/constants/SafeProductConstant.java @@ -10,6 +10,8 @@ public interface SafeProductConstant { String TENANT_ID = "200000"; + String SAFEPRODUCT_EXPORT_DATE = "yyyy-MM-dd HH:mm:ss"; + int SUCCESS = 1; int FAILURE = 0; diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarAnnualInspectionEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarAnnualInspectionEntity.java index 8f64585..c123440 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarAnnualInspectionEntity.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarAnnualInspectionEntity.java @@ -37,18 +37,10 @@ public class CarAnnualInspectionEntity extends BaseEntity { @ApiModelProperty("年检地点") private String location; - @ApiModelProperty("年检费用") - private Long cost; - - @Size(max = 50, message = "年间负责人长度不能超过50") - @ApiModelProperty("年检负责人") - private String inspectionManager; - - @Size(max = 1000, message = "年间照片长度不能超过1000") + @Size(max = 1000, message = "年检照片长度不能超过1000") @ApiModelProperty("年检照片") private String imgPath; - @TableField(exist = false) @ApiModelProperty("下次年检时间") private Date nextAnnualInspectionTime; } diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarEntity.java index 0a2b7c0..706093a 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarEntity.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarEntity.java @@ -48,12 +48,10 @@ public class CarEntity extends BaseEntity { @ApiModelProperty("上牌时间") private Date registrationTime; - @NotNull @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty("上期缴车保时间") private Date insurancePayLastTime; - @NotNull @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty("下期缴车保时间") private Date insurancePayNextTime; @@ -62,7 +60,6 @@ public class CarEntity extends BaseEntity { @ApiModelProperty("上期年检时间") private Date lastAnnualInspectionTime; - @NotNull @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty("下期年检时间") private Date nextAnnualInspectionTime; diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarInsuranceEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarInsuranceEntity.java index b7172c4..c3e895f 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarInsuranceEntity.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/CarInsuranceEntity.java @@ -37,18 +37,10 @@ public class CarInsuranceEntity extends BaseEntity { @ApiModelProperty("车保地点") private String location; - @ApiModelProperty("车保费用") - private Long cost; - - @Size(max = 50, message = "车保负责人长度不能超过50") - @ApiModelProperty("车保负责人") - private String insuranceManager; - @Size(max = 1000, message = "车保照片长度不能超过1000") @ApiModelProperty("车保照片") private String imgPath; - @TableField(exist = false) @ApiModelProperty("下次车保时间") private Date nextInsuranceTime; } diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarAnnualInspectionPageVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarAnnualInspectionPageVO.java index 708dafc..eef34a3 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarAnnualInspectionPageVO.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarAnnualInspectionPageVO.java @@ -14,6 +14,9 @@ import java.util.Date; @ApiModel(value = "年检记录页面VO类") public class CarAnnualInspectionPageVO { + @ApiModelProperty("年检记录id") + private Long id; + @ApiModelProperty("车辆id") private Long carId; @@ -34,10 +37,4 @@ public class CarAnnualInspectionPageVO { @ApiModelProperty("年检地点") private String location; - - @ApiModelProperty("年检费用") - private Long cost; - - @ApiModelProperty("年检负责人") - private String inspectionManager; } diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarCheckRecordDetailVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarCheckRecordDetailVO.java index 4aa745b..255857a 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarCheckRecordDetailVO.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarCheckRecordDetailVO.java @@ -43,4 +43,10 @@ public class CarCheckRecordDetailVO { @ApiModelProperty("检查列表") private List checkItemList; + + @ApiModelProperty("年份") + private String year; + + @ApiModelProperty("月份") + private String month; } diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarInsurancePageVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarInsurancePageVO.java index 5035121..1c4f314 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarInsurancePageVO.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarInsurancePageVO.java @@ -14,6 +14,9 @@ import java.util.Date; @ApiModel(value = "年保记录页面VO类") public class CarInsurancePageVO { + @ApiModelProperty("年保记录id") + private Long id; + @ApiModelProperty("车辆id") private Long carId; @@ -34,10 +37,4 @@ public class CarInsurancePageVO { @ApiModelProperty("年保地点") private String location; - - @ApiModelProperty("年保费用") - private Long cost; - - @ApiModelProperty("年保负责人") - private String insuranceManager; } diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarMaintenanceDetailVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarMaintenanceDetailVO.java index dbeec77..2fe4817 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarMaintenanceDetailVO.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarMaintenanceDetailVO.java @@ -1,10 +1,12 @@ package com.hnac.hzims.safeproduct.vo; +import cn.afterturn.easypoi.entity.ImageEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; +import java.util.List; /** * @author liwen @@ -61,4 +63,13 @@ public class CarMaintenanceDetailVO { @ApiModelProperty("维保类型") private String maintenanceType; + + @ApiModelProperty("图片列表") + private List images; + + @ApiModelProperty("年份") + private String year; + + @ApiModelProperty("月份") + private String month; } diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarMaintenancePageVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarMaintenancePageVO.java index 5b166b6..521c997 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarMaintenancePageVO.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarMaintenancePageVO.java @@ -46,4 +46,7 @@ public class CarMaintenancePageVO { @ApiModelProperty("确认时间") private Date confirmationTime; + + @ApiModelProperty("维保状态") + private String maintenanceStatus; } diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarUsedRecordDetailVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarUsedRecordDetailVO.java index b415ff1..50564f4 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarUsedRecordDetailVO.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarUsedRecordDetailVO.java @@ -1,11 +1,13 @@ package com.hnac.hzims.safeproduct.vo; +import cn.afterturn.easypoi.entity.ImageEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** * @author liwen @@ -62,4 +64,13 @@ public class CarUsedRecordDetailVO { @ApiModelProperty("确认时间") private Date confirmationTime; + + @ApiModelProperty("图片列表") + private List images; + + @ApiModelProperty("年份") + private String year; + + @ApiModelProperty("月份") + private String month; } diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarUsedRecordPageVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarUsedRecordPageVO.java index d24ba26..a42d939 100644 --- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarUsedRecordPageVO.java +++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/CarUsedRecordPageVO.java @@ -18,7 +18,7 @@ public class CarUsedRecordPageVO { @ApiModelProperty("用车记录id") private Long id; - @ApiModelProperty("用车单位") + @ApiModelProperty("单位") private String unit; @ApiModelProperty("品牌") diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/controller/CarController.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/controller/CarController.java index 5a1aa23..6c47539 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/controller/CarController.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/controller/CarController.java @@ -22,6 +22,7 @@ import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Map; /** @@ -119,9 +120,11 @@ public class CarController extends BladeController { @GetMapping("/carMaintenancePage") @ApiImplicitParams({ + @ApiImplicitParam(name = "carId", value = "车辆id", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "unit", value = "单位", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "plateNumber", value = "车牌号", dataType = "query", paramType = "string"), @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "query", paramType = "string"), - @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "query", paramType = "string"), - @ApiImplicitParam(name = "carId", value = "车辆id", dataType = "query", paramType = "string") + @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "query", paramType = "string") }) @ApiOperation(value = "车辆维保记录分页") @ApiOperationSupport(order = 10) @@ -148,7 +151,7 @@ public class CarController extends BladeController { @ApiOperation(value = "修改用车记录") @ApiOperationSupport(order = 13) public R updateCarUsedRecord(@Valid @RequestBody CarUsedRecordEntity carUsedRecordEntity) { - return R.status(carUsedRecordService.updateCarUsedRecord(carUsedRecordEntity)); + return carUsedRecordService.updateCarUsedRecord(carUsedRecordEntity); } @PostMapping("/removeCarUsedRecord") @@ -167,7 +170,11 @@ public class CarController extends BladeController { @GetMapping("/carUsedRecordPage") @ApiImplicitParams({ - @ApiImplicitParam(name = "carId", value = "车辆id", dataType = "query", paramType = "string") + @ApiImplicitParam(name = "carId", value = "车辆id", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "unit", value = "单位", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "plateNumber", value = "车牌号", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "query", paramType = "string") }) @ApiOperation(value = "用车记录分页") @ApiOperationSupport(order = 16) @@ -221,8 +228,11 @@ public class CarController extends BladeController { @GetMapping("/carCheckRecordPage") @ApiImplicitParams({ + @ApiImplicitParam(name = "carId", value = "车辆id", dataType = "query", paramType = "string"), @ApiImplicitParam(name = "unit", value = "单位", dataType = "query", paramType = "string"), - @ApiImplicitParam(name = "carId", value = "车辆id", dataType = "query", paramType = "string") + @ApiImplicitParam(name = "plateNumber", value = "车牌号", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "query", paramType = "string") }) @ApiOperation(value = "车检记录分页") @ApiOperationSupport(order = 23) @@ -295,7 +305,9 @@ public class CarController extends BladeController { @ApiImplicitParams({ @ApiImplicitParam(name = "carId", value = "车辆id", dataType = "query", paramType = "string"), @ApiImplicitParam(name = "unit", value = "单位", dataType = "query", paramType = "string"), - @ApiImplicitParam(name = "annualInspectionTime", value = "年检时间", dataType = "query", paramType = "string") + @ApiImplicitParam(name = "plateNumber", value = "车牌号", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "query", paramType = "string") }) @ApiOperation(value = "年检记录分页") @ApiOperationSupport(order = 32) @@ -334,8 +346,11 @@ public class CarController extends BladeController { @GetMapping("/carInsurancePage") @ApiImplicitParams({ + @ApiImplicitParam(name = "carId", value = "车辆id", dataType = "query", paramType = "string"), @ApiImplicitParam(name = "unit", value = "单位", dataType = "query", paramType = "string"), - @ApiImplicitParam(name = "carId", value = "车辆id", dataType = "query", paramType = "string") + @ApiImplicitParam(name = "plateNumber", value = "车牌号", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "query", paramType = "string"), + @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "query", paramType = "string") }) @ApiOperation(value = "车保记录分页") @ApiOperationSupport(order = 37) @@ -343,4 +358,12 @@ public class CarController extends BladeController { IPage page = carInsuranceService.getCarInsurancePage(param, query); return R.data(page); } + + @GetMapping("/carList") + @ApiOperation(value = "查询车辆列表") + @ApiOperationSupport(order = 38) + public R> carList(String plateNumber) { + List list = carService.getCarListByPlateNumber(plateNumber); + return R.data(list); + } } diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarAnnualInspectionMapper.xml b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarAnnualInspectionMapper.xml index 7af47db..c0d4b86 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarAnnualInspectionMapper.xml +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarAnnualInspectionMapper.xml @@ -5,7 +5,7 @@ diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarInsuranceMapper.xml b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarInsuranceMapper.xml index 1e3835d..ea39dc6 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarInsuranceMapper.xml +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarInsuranceMapper.xml @@ -4,7 +4,7 @@ SELECT t2.unit, t2.car_brand, t2.car_type, t2.plate_number, t1.id, t1.maintenance_type, t1.content, t1.location, - t1.cost, t1.maintainer, t1.confirmation_time + t1.cost, t1.maintainer, t1.confirmation_time, t1.maintenance_status FROM hzims_car_maintenance t1 LEFT JOIN hzims_car t2 ON t1.car_id = t2.id @@ -28,6 +28,9 @@ AND t2.unit like concat('%', #{param.unit}, '%') + + AND t2.plate_number like concat('%', #{param.plateNumber}, '%') + AND t1.start_time >= #{param.startTime} diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarUsedRecordMapper.xml b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarUsedRecordMapper.xml index ad456ed..b04c67c 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarUsedRecordMapper.xml +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/mapper/CarUsedRecordMapper.xml @@ -18,7 +18,7 @@ diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarService.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarService.java index 3ea3522..1db48cd 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarService.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarService.java @@ -80,4 +80,11 @@ public interface ICarService extends IService { * @return 车辆列表数据 */ List getCarListByAnnualInspectionTime(String today, String yesterday); + + /** + * 根据车牌查询车辆 + * @param plateNumber 车牌号 + * @return 车辆列表 + */ + List getCarListByPlateNumber(String plateNumber); } diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarUsedRecordService.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarUsedRecordService.java index a9548b3..27dec30 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarUsedRecordService.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/ICarUsedRecordService.java @@ -52,9 +52,9 @@ public interface ICarUsedRecordService extends IService { /** * 更新用车记录 * @param carUsedRecordEntity 用车记录实体类 - * @return true-成功,false-失败 + * @return 结果封装类 */ - boolean updateCarUsedRecord(CarUsedRecordEntity carUsedRecordEntity); + R updateCarUsedRecord(CarUsedRecordEntity carUsedRecordEntity); /** * 导出用车记录单 diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarCheckRecordServiceImpl.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarCheckRecordServiceImpl.java index ad33674..12819bf 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarCheckRecordServiceImpl.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarCheckRecordServiceImpl.java @@ -1,11 +1,13 @@ package com.hnac.hzims.safeproduct.service.impl; +import cn.afterturn.easypoi.entity.ImageEntity; import cn.hutool.core.date.DatePattern; import com.alibaba.excel.util.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hnac.hzims.common.logs.utils.StringUtils; import com.hnac.hzims.safeproduct.constants.SafeProductConstant; import com.hnac.hzims.safeproduct.dto.CarCheckRecordDTO; import com.hnac.hzims.safeproduct.entity.CarCheckItemEntity; @@ -28,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -190,6 +193,11 @@ public class CarCheckRecordServiceImpl extends ServiceImpl params = BaseUtil.obj2Map(carCheckRecordDetailVO); String templateFile = "template/车辆检查表" + SafeProductConstant.DOCX_SUFFIX; String wordPath = savePath + "/车辆检查表" + SafeProductConstant.DOCX_SUFFIX; diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarMaintenanceServiceImpl.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarMaintenanceServiceImpl.java index a2e3a32..f8da351 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarMaintenanceServiceImpl.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarMaintenanceServiceImpl.java @@ -1,11 +1,13 @@ package com.hnac.hzims.safeproduct.service.impl; +import cn.afterturn.easypoi.entity.ImageEntity; import cn.hutool.core.date.DatePattern; import com.alibaba.excel.util.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hnac.hzims.common.logs.utils.StringUtils; import com.hnac.hzims.safeproduct.constants.SafeProductConstant; import com.hnac.hzims.safeproduct.dto.CarMaintenanceConfirmationDTO; import com.hnac.hzims.safeproduct.entity.CarEntity; @@ -27,6 +29,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -116,6 +119,22 @@ public class CarMaintenanceServiceImpl extends ServiceImpl list = new ArrayList<>(); + for (String img : imgArr) { + ImageEntity imageEntity = new ImageEntity(BaseUtil.imgToByte(savePath + + BaseUtil.downloadFileByUrl(img, savePath)), 180, 150); + list.add(imageEntity); + } + carMaintenanceDetailVO.setImages(list); + } + // 表头年月 + String code = carMaintenanceDetailVO.getCode(); + carMaintenanceDetailVO.setYear(code.substring(4, 8)); + carMaintenanceDetailVO.setMonth(code.substring(8, 10)); // 维保类型 String maintenanceType = carMaintenanceDetailVO.getMaintenanceType(); if (maintenanceType.equals(CarMaintenanceTypeEnum.MAINTAIN.getValue())) { @@ -135,8 +154,7 @@ public class CarMaintenanceServiceImpl extends ServiceImpl implements queryWrapper.lambda().eq(CarEntity::getPlateNumber, carEntity.getPlateNumber()); CarEntity car = this.getOne(queryWrapper); if (car == null) { - carEntity.setMaintenanceStatus(CarMaintenanceStatusEnum.UNMAINTAINED.getValue()); return R.status(this.save(carEntity)); } return R.fail("车牌号已存在"); @@ -264,4 +264,17 @@ public class CarServiceImpl extends ServiceImpl implements .ge(CarEntity::getNextAnnualInspectionTime, yesterday); return this.list(queryWrapper); } + + /** + * 根据车牌查询车辆 + */ + @Override + public List getCarListByPlateNumber(String plateNumber) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.isNotEmpty(plateNumber)) { + queryWrapper.lambda().like(CarEntity::getPlateNumber, plateNumber); + } + queryWrapper.lambda().orderByDesc(CarEntity::getCreateTime); + return this.list(queryWrapper); + } } diff --git a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarUsedRecordServiceImpl.java b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarUsedRecordServiceImpl.java index 0de32ed..7f9f808 100644 --- a/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarUsedRecordServiceImpl.java +++ b/hzims-service/safeproduct/src/main/java/com/hnac/hzims/safeproduct/service/impl/CarUsedRecordServiceImpl.java @@ -1,11 +1,13 @@ package com.hnac.hzims.safeproduct.service.impl; +import cn.afterturn.easypoi.entity.ImageEntity; import cn.hutool.core.date.DatePattern; import com.alibaba.excel.util.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hnac.hzims.common.logs.utils.StringUtils; import com.hnac.hzims.safeproduct.constants.SafeProductConstant; import com.hnac.hzims.safeproduct.dto.CarUsedRecordConfirmationDTO; import com.hnac.hzims.safeproduct.entity.CarUsedRecordEntity; @@ -23,6 +25,7 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -97,11 +100,14 @@ public class CarUsedRecordServiceImpl extends ServiceImpl list = new ArrayList<>(); + for (String img : imgArr) { + ImageEntity imageEntity = new ImageEntity(BaseUtil.imgToByte(savePath + + BaseUtil.downloadFileByUrl(img, savePath)), 180, 150); + list.add(imageEntity); + } + carUsedRecordDetailVO.setImages(list); + } + // 表头年月 + String code = carUsedRecordDetailVO.getCode(); + carUsedRecordDetailVO.setYear(code.substring(4, 8)); + carUsedRecordDetailVO.setMonth(code.substring(8, 10)); Map params = BaseUtil.obj2Map(carUsedRecordDetailVO); String templateFile = "template/用车记录单" + SafeProductConstant.DOCX_SUFFIX; String wordPath = savePath + "/用车记录单" + SafeProductConstant.DOCX_SUFFIX; diff --git a/hzims-service/safeproduct/src/main/resources/template/用车记录单.docx b/hzims-service/safeproduct/src/main/resources/template/用车记录单.docx index e56cfba30f27ff248d5e6aab9ecee7ec571272d3..366f01b5bf4dbb6c23fc4196d4a0a2b13a832022 100644 GIT binary patch delta 6364 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 delta 6342 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 diff --git a/hzims-service/safeproduct/src/main/resources/template/车辆检查表.docx b/hzims-service/safeproduct/src/main/resources/template/车辆检查表.docx index 3d8ba1d27109db5c14c967e992d46851760a8d73..8868b7d1d944b6d932494ddc3c7d35953b86e1f3 100644 GIT binary patch delta 4009 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 Cp?A9g diff --git a/hzims-service/safeproduct/src/main/resources/template/车辆维保记录单.docx b/hzims-service/safeproduct/src/main/resources/template/车辆维保记录单.docx index 5d1dd59db428011170bffb2d804211720ec6cc20..9161a20a4c7c8143bb5e4e896dfc629f0d80604d 100644 GIT binary patch delta 4402 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 delta 4371 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 Nur3e=r78db0011-OG^L%