49 changed files with 2245 additions and 1 deletions
			
			
		@ -0,0 +1,73 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.access.entity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.annotation.TableName; | 
				
			||||||
 | 
					import com.fasterxml.jackson.annotation.JsonFormat; | 
				
			||||||
 | 
					import com.fasterxml.jackson.databind.annotation.JsonSerialize; | 
				
			||||||
 | 
					import com.fasterxml.jackson.databind.ser.std.NullSerializer; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					import lombok.EqualsAndHashCode; | 
				
			||||||
 | 
					import org.springblade.core.tenant.mp.TenantEntity; | 
				
			||||||
 | 
					import org.springframework.format.annotation.DateTimeFormat; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@TableName("hzims_oper_construction") | 
				
			||||||
 | 
					@EqualsAndHashCode(callSuper = true) | 
				
			||||||
 | 
					@ApiModel(value = "检修施工日志表") | 
				
			||||||
 | 
					public class OperConstructionEntity extends TenantEntity { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private static final long serialVersionUID = 1L; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "施工编号") | 
				
			||||||
 | 
					    private String code; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "施工时间") | 
				
			||||||
 | 
					    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
				
			||||||
 | 
					    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
				
			||||||
 | 
					    private Date constructionTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "检修名称") | 
				
			||||||
 | 
					    private String overhaulName; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "施工地点") | 
				
			||||||
 | 
					    private String constructionLocation; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "检修负责人") | 
				
			||||||
 | 
					    @JsonSerialize(nullsUsing = NullSerializer.class) | 
				
			||||||
 | 
					    private Long overhaulHead; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "检修人员: 根据“,”分割") | 
				
			||||||
 | 
					    private String overhaulPersonnel; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "检修时间") | 
				
			||||||
 | 
					    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
				
			||||||
 | 
					    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") | 
				
			||||||
 | 
					    private Date overhaulTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "今日工作完成情况描述") | 
				
			||||||
 | 
					    private String completeWorkDesc; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "明日工作计划描述") | 
				
			||||||
 | 
					    private String planWorkDesc; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "施工图片: 根据“,”分割") | 
				
			||||||
 | 
					    private String constructionImg; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "施工附件") | 
				
			||||||
 | 
					    private String constructionAttachment; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "记录人") | 
				
			||||||
 | 
					    @JsonSerialize(nullsUsing = NullSerializer.class) | 
				
			||||||
 | 
					    private Long recorder; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "审核人") | 
				
			||||||
 | 
					    @JsonSerialize(nullsUsing = NullSerializer.class) | 
				
			||||||
 | 
					    private Long reviewer; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,38 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.access.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.entity.OperConstructionEntity; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					import lombok.EqualsAndHashCode; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@EqualsAndHashCode(callSuper = true) | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					public class ConstructionVo extends OperConstructionEntity { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "开始时间") | 
				
			||||||
 | 
					    private String startTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "结束时间") | 
				
			||||||
 | 
					    private String endTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "创建人名称") | 
				
			||||||
 | 
					    private String createUserName; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "修改人名称") | 
				
			||||||
 | 
					    private String updateUserName; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "检修负责人名称") | 
				
			||||||
 | 
					    private String overhaulHeadName; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "记录人名称") | 
				
			||||||
 | 
					    private String recorderName; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "审核人名称") | 
				
			||||||
 | 
					    private String reviewerName; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "检修人员名称Name") | 
				
			||||||
 | 
					    private String overhaulPersonnelName; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,25 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.dto; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "车辆维保记录确认DTO类") | 
				
			||||||
 | 
					public class CarMaintenanceConfirmationDTO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆维保记录id") | 
				
			||||||
 | 
					    private Long carMaintenanceId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆管理人意见") | 
				
			||||||
 | 
					    private String managerAdvice; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("确认时间") | 
				
			||||||
 | 
					    private Date confirmationTime; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,31 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.dto; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "年度里程DTO类") | 
				
			||||||
 | 
					public class CarMilesYearDTO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("单位") | 
				
			||||||
 | 
					    private String unit; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("品牌") | 
				
			||||||
 | 
					    private String carBrand; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车牌号") | 
				
			||||||
 | 
					    private String plateNumber; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("日期") | 
				
			||||||
 | 
					    private String dateTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("里程数") | 
				
			||||||
 | 
					    private BigDecimal miles; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,22 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.dto; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "用车记录确认DTO类") | 
				
			||||||
 | 
					public class CarUsedRecordConfirmationDTO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("用车记录id") | 
				
			||||||
 | 
					    private Long carUsedRecordId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("确认时间") | 
				
			||||||
 | 
					    private Date confirmationTime; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,28 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.entity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.annotation.TableName; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					import lombok.EqualsAndHashCode; | 
				
			||||||
 | 
					import org.springblade.core.mp.base.BaseEntity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@EqualsAndHashCode(callSuper = true) | 
				
			||||||
 | 
					@TableName("hzims_car_check_item") | 
				
			||||||
 | 
					@ApiModel(value = "车检项实体类") | 
				
			||||||
 | 
					public class CarCheckItemEntity extends BaseEntity { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车检记录id") | 
				
			||||||
 | 
					    private Long carCheckRecordId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查项目") | 
				
			||||||
 | 
					    private String checkItem; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查内容") | 
				
			||||||
 | 
					    private String checkContent; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,45 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.entity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.annotation.TableName; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					import lombok.EqualsAndHashCode; | 
				
			||||||
 | 
					import org.springblade.core.mp.base.BaseEntity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@EqualsAndHashCode(callSuper = true) | 
				
			||||||
 | 
					@TableName("hzims_car_check_record") | 
				
			||||||
 | 
					@ApiModel(value = "车检记录实体类") | 
				
			||||||
 | 
					public class CarCheckRecordEntity extends BaseEntity { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆id") | 
				
			||||||
 | 
					    private Long carId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("编码") | 
				
			||||||
 | 
					    private String code; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查人") | 
				
			||||||
 | 
					    private String checker; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查时间") | 
				
			||||||
 | 
					    private Date checkTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查项id") | 
				
			||||||
 | 
					    private String checkItemIds; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查项结果") | 
				
			||||||
 | 
					    private String checkItemResults; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查结论") | 
				
			||||||
 | 
					    private String conclusion; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("填报备注") | 
				
			||||||
 | 
					    private String remark; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,93 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.entity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.annotation.TableName; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					import lombok.EqualsAndHashCode; | 
				
			||||||
 | 
					import org.springblade.core.mp.base.BaseEntity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.validation.constraints.NotNull; | 
				
			||||||
 | 
					import javax.validation.constraints.Size; | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-03 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@EqualsAndHashCode(callSuper = true) | 
				
			||||||
 | 
					@TableName("hzims_car") | 
				
			||||||
 | 
					@ApiModel(value = "车辆实体类") | 
				
			||||||
 | 
					public class CarEntity extends BaseEntity { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @Size(max = 50, message = "单位长度不能超过50") | 
				
			||||||
 | 
					    @ApiModelProperty("单位") | 
				
			||||||
 | 
					    private String unit; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @Size(max = 50, message = "品牌长度不能超过50") | 
				
			||||||
 | 
					    @ApiModelProperty("品牌") | 
				
			||||||
 | 
					    private String carBrand; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @Size(max = 50, message = "型号长度不能超过50") | 
				
			||||||
 | 
					    @ApiModelProperty("型号") | 
				
			||||||
 | 
					    private String carType; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @Size(max = 50, message = "车牌号长度不能超过50") | 
				
			||||||
 | 
					    @ApiModelProperty("车牌号") | 
				
			||||||
 | 
					    private String plateNumber; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("上牌时间") | 
				
			||||||
 | 
					    private Date registrationTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("上期缴车保时间") | 
				
			||||||
 | 
					    private Date insurancePayLastTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("下期缴车保时间") | 
				
			||||||
 | 
					    private Date insurancePayNextTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("年检时间") | 
				
			||||||
 | 
					    private Date annualInspectionTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("年检状态") | 
				
			||||||
 | 
					    private String annualInspectionStatus; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("保险状态") | 
				
			||||||
 | 
					    private String insuranceStatus; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("上期保养时间") | 
				
			||||||
 | 
					    private Date maintenanceLastTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("下期保养时间") | 
				
			||||||
 | 
					    private Date maintenanceNextTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("保养里程") | 
				
			||||||
 | 
					    private BigDecimal maintenanceMileage; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("保养状态") | 
				
			||||||
 | 
					    private String maintenanceStatus; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @NotNull | 
				
			||||||
 | 
					    @ApiModelProperty("车辆管理人") | 
				
			||||||
 | 
					    private String manager; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆照片") | 
				
			||||||
 | 
					    private String imgPath; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆附件") | 
				
			||||||
 | 
					    private String filePath; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,63 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.entity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.annotation.TableName; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					import lombok.EqualsAndHashCode; | 
				
			||||||
 | 
					import org.springblade.core.mp.base.BaseEntity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-03 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@EqualsAndHashCode(callSuper = true) | 
				
			||||||
 | 
					@TableName("hzims_car_maintenance") | 
				
			||||||
 | 
					@ApiModel(value = "车辆维保实体类") | 
				
			||||||
 | 
					public class CarMaintenanceEntity extends BaseEntity { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆id") | 
				
			||||||
 | 
					    private Long carId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("编码") | 
				
			||||||
 | 
					    private String code; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保类型") | 
				
			||||||
 | 
					    private String maintenanceType; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保内容") | 
				
			||||||
 | 
					    private String content; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保开始时间") | 
				
			||||||
 | 
					    private Date startTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保结束时间") | 
				
			||||||
 | 
					    private Date endTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保地点") | 
				
			||||||
 | 
					    private String location; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保费用") | 
				
			||||||
 | 
					    private Long cost; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保人") | 
				
			||||||
 | 
					    private String maintainer; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保照片") | 
				
			||||||
 | 
					    private String imgPath; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保附件") | 
				
			||||||
 | 
					    private String filePath; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆管理人意见") | 
				
			||||||
 | 
					    private String managerAdvice; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("确认时间") | 
				
			||||||
 | 
					    private Date confirmationTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保状态") | 
				
			||||||
 | 
					    private String maintenanceStatus; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,64 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.entity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.annotation.TableName; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					import lombok.EqualsAndHashCode; | 
				
			||||||
 | 
					import org.springblade.core.mp.base.BaseEntity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-03 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@EqualsAndHashCode(callSuper = true) | 
				
			||||||
 | 
					@TableName("hzims_car_used_record") | 
				
			||||||
 | 
					@ApiModel(value = "用车记录实体类") | 
				
			||||||
 | 
					public class CarUsedRecordEntity extends BaseEntity { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆id") | 
				
			||||||
 | 
					    private Long carId; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("编码") | 
				
			||||||
 | 
					    private String code; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("用车单位") | 
				
			||||||
 | 
					    private String unit; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("使用时间") | 
				
			||||||
 | 
					    private Date startTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("使用地点") | 
				
			||||||
 | 
					    private String usedLocation; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("使用人") | 
				
			||||||
 | 
					    private String user; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("用途详情") | 
				
			||||||
 | 
					    private String remark; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("出车公里数") | 
				
			||||||
 | 
					    private BigDecimal startMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("收车公里数") | 
				
			||||||
 | 
					    private BigDecimal endMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("行驶公里数") | 
				
			||||||
 | 
					    private BigDecimal miles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("收车时间") | 
				
			||||||
 | 
					    private Date endTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("确认时间") | 
				
			||||||
 | 
					    private Date confirmationTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("用车状态") | 
				
			||||||
 | 
					    private String usedStatus; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("图片路径") | 
				
			||||||
 | 
					    private String imgPath; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,23 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "车辆检查项VO类") | 
				
			||||||
 | 
					public class CarCheckItemVO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查项目") | 
				
			||||||
 | 
					    private String checkItem; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查内容") | 
				
			||||||
 | 
					    private String checkContent; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查结果") | 
				
			||||||
 | 
					    private String checkResult; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,41 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "车辆检查记录详情VO类") | 
				
			||||||
 | 
					public class CarCheckRecordDetailVO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查人") | 
				
			||||||
 | 
					    private String checker; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("品牌") | 
				
			||||||
 | 
					    private String carBrand; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车牌号") | 
				
			||||||
 | 
					    private String plateNumber; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("行驶里程") | 
				
			||||||
 | 
					    private BigDecimal miles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("编码") | 
				
			||||||
 | 
					    private String code; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查结论") | 
				
			||||||
 | 
					    private String conclusion; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("填报备注") | 
				
			||||||
 | 
					    private String remark; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("检查列表") | 
				
			||||||
 | 
					    private List<CarCheckItemVO> checkItemList; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,61 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "车辆维保记录详情VO类") | 
				
			||||||
 | 
					public class CarMaintenanceDetailVO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("编码") | 
				
			||||||
 | 
					    private String code; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保开始时间") | 
				
			||||||
 | 
					    private Date startTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保结束时间") | 
				
			||||||
 | 
					    private Date endTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保地点") | 
				
			||||||
 | 
					    private String location; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保费用") | 
				
			||||||
 | 
					    private Long cost; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保人") | 
				
			||||||
 | 
					    private String maintainer; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保内容") | 
				
			||||||
 | 
					    private String content; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保照片") | 
				
			||||||
 | 
					    private String imgPath; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保附件") | 
				
			||||||
 | 
					    private String filePath; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆管理人意见") | 
				
			||||||
 | 
					    private String managerAdvice; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("确认时间") | 
				
			||||||
 | 
					    private Date confirmationTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("单位") | 
				
			||||||
 | 
					    private String unit; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("品牌") | 
				
			||||||
 | 
					    private String carBrand; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("型号") | 
				
			||||||
 | 
					    private String carType; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车牌号") | 
				
			||||||
 | 
					    private String plateNumber; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,41 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "车辆维保记录页面VO类") | 
				
			||||||
 | 
					public class CarMaintenancePageVO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆维保记录id") | 
				
			||||||
 | 
					    private Long id; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("单位") | 
				
			||||||
 | 
					    private String unit; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("品牌") | 
				
			||||||
 | 
					    private String carBrand; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("型号") | 
				
			||||||
 | 
					    private String carType; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保类型") | 
				
			||||||
 | 
					    private String type; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保内容") | 
				
			||||||
 | 
					    private String content; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保地点") | 
				
			||||||
 | 
					    private String location; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保费用") | 
				
			||||||
 | 
					    private Long cost; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("维保人") | 
				
			||||||
 | 
					    private String maintainer; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,64 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "年度里程数据VO类") | 
				
			||||||
 | 
					public class CarMilesYearVO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("单位") | 
				
			||||||
 | 
					    private String unit; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("品牌") | 
				
			||||||
 | 
					    private String carBrand; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车牌号") | 
				
			||||||
 | 
					    private String plateNumber; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("1月里程数") | 
				
			||||||
 | 
					    private BigDecimal januaryMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("2月里程数") | 
				
			||||||
 | 
					    private BigDecimal februaryMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("3月里程数") | 
				
			||||||
 | 
					    private BigDecimal marchMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("4月里程数") | 
				
			||||||
 | 
					    private BigDecimal aprilMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("5月里程数") | 
				
			||||||
 | 
					    private BigDecimal mayMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("6月里程数") | 
				
			||||||
 | 
					    private BigDecimal juneMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("7月里程数") | 
				
			||||||
 | 
					    private BigDecimal julyMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("8月里程数") | 
				
			||||||
 | 
					    private BigDecimal augustMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("9月里程数") | 
				
			||||||
 | 
					    private BigDecimal septemberMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("10月里程数") | 
				
			||||||
 | 
					    private BigDecimal octoberMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("11月里程数") | 
				
			||||||
 | 
					    private BigDecimal novemberMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("12月里程数") | 
				
			||||||
 | 
					    private BigDecimal decemberMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("合计里程数") | 
				
			||||||
 | 
					    private BigDecimal sumMiles; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,62 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "用车记录详情VO类") | 
				
			||||||
 | 
					public class CarUsedRecordDetailVO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("编码") | 
				
			||||||
 | 
					    private String code; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("使用时间") | 
				
			||||||
 | 
					    private Date startTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("使用地点") | 
				
			||||||
 | 
					    private String usedLocation; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("品牌") | 
				
			||||||
 | 
					    private String carBrand; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车牌号") | 
				
			||||||
 | 
					    private String plateNumber; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("用途详情") | 
				
			||||||
 | 
					    private String remark; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("用车单位") | 
				
			||||||
 | 
					    private String unit; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("出车公里数") | 
				
			||||||
 | 
					    private BigDecimal startMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("收车公里数") | 
				
			||||||
 | 
					    private BigDecimal endMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("行驶公里数") | 
				
			||||||
 | 
					    private BigDecimal miles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("图片路径") | 
				
			||||||
 | 
					    private String imgPath; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("使用人") | 
				
			||||||
 | 
					    private String user; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车辆管理人") | 
				
			||||||
 | 
					    private String manager; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("收车时间") | 
				
			||||||
 | 
					    private Date endTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("确认时间") | 
				
			||||||
 | 
					    private Date confirmationTime; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,44 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.vo; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty; | 
				
			||||||
 | 
					import lombok.Data; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Data | 
				
			||||||
 | 
					@ApiModel(value = "用车记录页面VO类") | 
				
			||||||
 | 
					public class CarUsedRecordPageVO { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("用车单位") | 
				
			||||||
 | 
					    private String unit; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("品牌") | 
				
			||||||
 | 
					    private String carBrand; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("车牌号") | 
				
			||||||
 | 
					    private String plateNumber; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("使用时间") | 
				
			||||||
 | 
					    private Date startTime; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("使用人") | 
				
			||||||
 | 
					    private String user; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("用途详情") | 
				
			||||||
 | 
					    private String remark; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("出车公里数") | 
				
			||||||
 | 
					    private BigDecimal startMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("收车公里数") | 
				
			||||||
 | 
					    private BigDecimal endMiles; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty("行驶公里数") | 
				
			||||||
 | 
					    private BigDecimal miles; | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,84 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.access.controller; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; | 
				
			||||||
 | 
					import com.hnac.hzims.common.logs.annotation.OperationAnnotation; | 
				
			||||||
 | 
					import com.hnac.hzims.common.logs.enums.BusinessType; | 
				
			||||||
 | 
					import com.hnac.hzims.common.logs.enums.OperatorType; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.dto.AccessPlanV4DTO; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.dto.OperAccessPlanDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.dto.OperAccessPlanFlowDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.dto.OperAccessPlanListDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.entity.OperConstructionEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.service.AccessPlanV4Service; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.service.ConstructionService; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.vo.ConstructionVo; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.vo.OperAccessPlanVO; | 
				
			||||||
 | 
					import io.swagger.annotations.Api; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiOperation; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiParam; | 
				
			||||||
 | 
					import lombok.AllArgsConstructor; | 
				
			||||||
 | 
					import org.springblade.core.boot.ctrl.BladeController; | 
				
			||||||
 | 
					import org.springblade.core.log.annotation.ApiLog; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Condition; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Query; | 
				
			||||||
 | 
					import org.springblade.core.tool.api.R; | 
				
			||||||
 | 
					import org.springblade.core.tool.utils.Func; | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.*; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.validation.Valid; | 
				
			||||||
 | 
					import javax.validation.constraints.NotNull; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@RestController | 
				
			||||||
 | 
					@AllArgsConstructor | 
				
			||||||
 | 
					@RequestMapping("/construction") | 
				
			||||||
 | 
					@Api(tags = "施工日志") | 
				
			||||||
 | 
					public class ConstructionController extends BladeController { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private final ConstructionService service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/save") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 1) | 
				
			||||||
 | 
						@ApiOperation(value = "新增") | 
				
			||||||
 | 
						public R save(@RequestBody OperConstructionEntity entity) { | 
				
			||||||
 | 
							return R.status(service.save(entity)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/remove") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 2) | 
				
			||||||
 | 
						@ApiOperation(value = "逻辑删除") | 
				
			||||||
 | 
						public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { | 
				
			||||||
 | 
							return R.status(service.deleteLogic(Func.toLongList(ids))); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/update") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 3) | 
				
			||||||
 | 
						@ApiOperation(value = "修改") | 
				
			||||||
 | 
						public R update(@Valid @RequestBody OperConstructionEntity entity) { | 
				
			||||||
 | 
							return R.status(service.updateById(entity)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/list") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 4) | 
				
			||||||
 | 
						@OperationAnnotation(moduleName = "检修管理",title = "检修计划",operatorType = OperatorType.MOBILE,businessType = | 
				
			||||||
 | 
								BusinessType.GENCODE, | 
				
			||||||
 | 
								action = "分页查询检修计划列表") | 
				
			||||||
 | 
						@ApiOperation(value = "分页 查询参数:code,name,gradeCode,manager,techLead,handleStatus,status") | 
				
			||||||
 | 
						public R<IPage<ConstructionVo>> list(ConstructionVo construction, Query query) { | 
				
			||||||
 | 
							return R.data(service.pageCondition(Condition.getPage(query), construction)); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/preview") | 
				
			||||||
 | 
						@ApiOperationSupport(order = 5) | 
				
			||||||
 | 
						@ApiOperation(value = "检修施工日志预览", notes = "检修施工日志预览") | 
				
			||||||
 | 
						public void preview(@RequestParam @ApiParam("检修施工记录Id") @NotNull @Valid Long id) { | 
				
			||||||
 | 
							service.preview(id); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,11 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.access.mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.entity.OperConstructionEntity; | 
				
			||||||
 | 
					import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface ConstructionMapper extends UserDataScopeBaseMapper<OperConstructionEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,4 @@ | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||||
 | 
					<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
				
			||||||
 | 
					<mapper namespace="com.hnac.hzims.operational.access.mapper.ConstructionMapper"> | 
				
			||||||
 | 
					</mapper> | 
				
			||||||
@ -0,0 +1,19 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.access.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.entity.OperConstructionEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.vo.ConstructionVo; | 
				
			||||||
 | 
					import org.springblade.core.mp.base.BaseService; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Query; | 
				
			||||||
 | 
					import org.springblade.core.tool.api.R; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface ConstructionService extends BaseService<OperConstructionEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    IPage<ConstructionVo> pageCondition(IPage<OperConstructionEntity> page, ConstructionVo construction); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void preview(Long id); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,116 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.access.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.afterturn.easypoi.excel.entity.TemplateExportParams; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.entity.OperConstructionEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.mapper.ConstructionMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.service.ConstructionService; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.vo.ConstructionVo; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.wrapper.ConstructionWrapper; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.util.ExcelUtil; | 
				
			||||||
 | 
					import lombok.RequiredArgsConstructor; | 
				
			||||||
 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			||||||
 | 
					import org.apache.poi.ss.usermodel.Workbook; | 
				
			||||||
 | 
					import org.springblade.core.log.exception.ServiceException; | 
				
			||||||
 | 
					import org.springblade.core.mp.base.BaseServiceImpl; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Condition; | 
				
			||||||
 | 
					import org.springblade.core.tool.utils.DateUtil; | 
				
			||||||
 | 
					import org.springblade.core.tool.utils.ObjectUtil; | 
				
			||||||
 | 
					import org.springblade.core.tool.utils.StringUtil; | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Value; | 
				
			||||||
 | 
					import org.springframework.stereotype.Service; | 
				
			||||||
 | 
					import org.springframework.web.context.request.RequestContextHolder; | 
				
			||||||
 | 
					import org.springframework.web.context.request.ServletRequestAttributes; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.servlet.http.HttpServletResponse; | 
				
			||||||
 | 
					import java.util.HashMap; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					@Slf4j | 
				
			||||||
 | 
					@RequiredArgsConstructor | 
				
			||||||
 | 
					public class ConstructionServiceImpl extends BaseServiceImpl<ConstructionMapper, OperConstructionEntity> implements ConstructionService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Value("${hzims.operational.construction.save.xlsx}") | 
				
			||||||
 | 
					    private String constructionSaveXlsxPath; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Value("${hzims.operational.construction.save.pdf}") | 
				
			||||||
 | 
					    private String constructionSavePdfPath; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 施工日志记录分页查询 | 
				
			||||||
 | 
					     * @param page | 
				
			||||||
 | 
					     * @param construction | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public IPage<ConstructionVo> pageCondition(IPage<OperConstructionEntity> page, ConstructionVo construction) { | 
				
			||||||
 | 
					        QueryWrapper wrapper = Condition.getQueryWrapper(construction); | 
				
			||||||
 | 
					        if(StringUtil.isNotBlank(construction.getStartTime())){ | 
				
			||||||
 | 
					            wrapper.ge("CREATE_TIME",construction.getStartTime()); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        if(StringUtil.isNotBlank(construction.getEndTime())){ | 
				
			||||||
 | 
					            wrapper.le("CREATE_TIME",construction.getEndTime()); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        IPage pages = super.page(page, wrapper); | 
				
			||||||
 | 
					        pages.setRecords(ConstructionWrapper.build().listVO(pages.getRecords())); | 
				
			||||||
 | 
					        return pages; | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 施工日志记录预览 | 
				
			||||||
 | 
					     * @param id | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public void preview(Long id) { | 
				
			||||||
 | 
					        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); | 
				
			||||||
 | 
					        HttpServletResponse response = servletRequestAttributes.getResponse(); | 
				
			||||||
 | 
					        //准备数据
 | 
				
			||||||
 | 
					        ConstructionVo construction = this.record(id); | 
				
			||||||
 | 
					        Map<String,Object> params = new HashMap<>(); | 
				
			||||||
 | 
					        /*try { | 
				
			||||||
 | 
					            params = PdfUtils.objectToMap(construction); | 
				
			||||||
 | 
					        }catch (Exception e) { | 
				
			||||||
 | 
					            log.error("转换对象失败!"); | 
				
			||||||
 | 
					        }*/ | 
				
			||||||
 | 
					        TemplateExportParams templateExportParams = new TemplateExportParams("template/constructio_template.xlsx", true); | 
				
			||||||
 | 
					        Workbook workbook = null; | 
				
			||||||
 | 
					        try { | 
				
			||||||
 | 
					            workbook = ExcelUtil.getWorkbook(templateExportParams,params); | 
				
			||||||
 | 
					        } catch (Exception e) { | 
				
			||||||
 | 
					            e.printStackTrace(); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        //上传xlsx至服务器
 | 
				
			||||||
 | 
					        //String fileName = DateUtil.format(construction.getConstructionTime(),DateUtil.PATTERN_DATETIME) + "_" + construction.getOverhaulName() + "_施工日志" + PdfUtils.XLSX_SUFFIX;
 | 
				
			||||||
 | 
					       /* try { | 
				
			||||||
 | 
					            ExcelUtil.upload(workbook,constructionSaveXlsxPath,fileName); | 
				
			||||||
 | 
					        } catch (Exception e) { | 
				
			||||||
 | 
					            e.printStackTrace(); | 
				
			||||||
 | 
					        }*/ | 
				
			||||||
 | 
					        //将docx文件转换为pdf并保存
 | 
				
			||||||
 | 
					        //String pdfFileName = DateUtil.format(construction.getConstructionTime(),DateUtil.PATTERN_DATETIME) + "_" + construction.getOverhaulName() + "_施工日志" + PdfUtils.PDF_SUFFIX;
 | 
				
			||||||
 | 
					        //String xlsxFileName = DateUtil.format(construction.getConstructionTime(),DateUtil.PATTERN_DATETIME) + "_" + construction.getOverhaulName() + "_施工日志" + PdfUtils.XLSX_SUFFIX;
 | 
				
			||||||
 | 
					        //PdfUtils.convertPdf(constructionSaveXlsxPath, xlsxFileName, constructionSavePdfPath, pdfFileName);
 | 
				
			||||||
 | 
					        //String savePath = constructionSavePdfPath + pdfFileName;
 | 
				
			||||||
 | 
					        // 设置response参数,可以打开下载页面
 | 
				
			||||||
 | 
					        //PdfUtils.readPdf(response,savePath);
 | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询施工日志记录 | 
				
			||||||
 | 
					     * @param id | 
				
			||||||
 | 
					     * @return | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    private ConstructionVo record(Long id) { | 
				
			||||||
 | 
					        OperConstructionEntity entity = this.getById(id); | 
				
			||||||
 | 
					        if(ObjectUtil.isEmpty(entity)){ | 
				
			||||||
 | 
					            throw new ServiceException("施工日志记录不存在!"); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return ConstructionWrapper.build().entityVO(entity); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,41 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.operational.access.wrapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.constants.DictConstant; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.entity.OperAccessPlanEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.entity.OperConstructionEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.vo.ConstructionVo; | 
				
			||||||
 | 
					import com.hnac.hzims.operational.access.vo.OperAccessPlanVO; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.BaseEntityWrapper; | 
				
			||||||
 | 
					import org.springblade.core.tool.utils.BeanUtil; | 
				
			||||||
 | 
					import org.springblade.system.cache.DictCache; | 
				
			||||||
 | 
					import org.springblade.system.user.cache.UserCache; | 
				
			||||||
 | 
					import org.springblade.system.user.entity.User; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Optional; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * @author ysj | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public class ConstructionWrapper extends BaseEntityWrapper<OperConstructionEntity, ConstructionVo> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public static ConstructionWrapper build() { | 
				
			||||||
 | 
							return new ConstructionWrapper(); | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override | 
				
			||||||
 | 
						public ConstructionVo entityVO(OperConstructionEntity entity) { | 
				
			||||||
 | 
							ConstructionVo vo = BeanUtil.copy(entity, ConstructionVo.class); | 
				
			||||||
 | 
							User create = UserCache.getUser(entity.getCreateUser()); | 
				
			||||||
 | 
							User update = UserCache.getUser(entity.getUpdateUser()); | 
				
			||||||
 | 
							User head = UserCache.getUser(entity.getOverhaulHead()); | 
				
			||||||
 | 
							User recorder = UserCache.getUser(entity.getRecorder()); | 
				
			||||||
 | 
							User reviewer = UserCache.getUser(entity.getReviewer()); | 
				
			||||||
 | 
							vo.setCreateUserName(Optional.ofNullable(create).map(User :: getName).orElse(null)); | 
				
			||||||
 | 
							vo.setUpdateUserName(Optional.ofNullable(update).map(User :: getName).orElse(null)); | 
				
			||||||
 | 
							vo.setOverhaulHeadName(Optional.ofNullable(head).map(User :: getName).orElse(null)); | 
				
			||||||
 | 
							vo.setRecorderName(Optional.ofNullable(recorder).map(User :: getName).orElse(null)); | 
				
			||||||
 | 
							vo.setReviewerName(Optional.ofNullable(reviewer).map(User :: getName).orElse(null)); | 
				
			||||||
 | 
							return vo; | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
									
										Binary file not shown.
									
								
							
						@ -0,0 +1,232 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.controller; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; | 
				
			||||||
 | 
					import com.hnac.hzims.common.utils.Condition; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.dto.CarMaintenanceConfirmationDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.dto.CarUsedRecordConfirmationDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarCheckRecordEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarMaintenanceEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarUsedRecordEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarCheckRecordService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarMaintenanceService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarUsedRecordService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.*; | 
				
			||||||
 | 
					import io.swagger.annotations.Api; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiImplicitParam; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiImplicitParams; | 
				
			||||||
 | 
					import io.swagger.annotations.ApiOperation; | 
				
			||||||
 | 
					import lombok.AllArgsConstructor; | 
				
			||||||
 | 
					import org.springblade.core.boot.ctrl.BladeController; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Query; | 
				
			||||||
 | 
					import org.springblade.core.tool.api.R; | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.*; | 
				
			||||||
 | 
					import springfox.documentation.annotations.ApiIgnore; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.validation.Valid; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车辆管理接口类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-03 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@RestController | 
				
			||||||
 | 
					@RequestMapping("/car") | 
				
			||||||
 | 
					@AllArgsConstructor | 
				
			||||||
 | 
					@Api(value = "车辆管理", tags = "车辆管理接口") | 
				
			||||||
 | 
					public class CarController extends BladeController { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final ICarService carService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final ICarMaintenanceService carMaintenanceService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final ICarUsedRecordService carUsedRecordService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private final ICarCheckRecordService carCheckRecordService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/saveCar") | 
				
			||||||
 | 
					    @ApiOperation(value = "新增车辆") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 1) | 
				
			||||||
 | 
					    public R saveCar(@Valid @RequestBody CarEntity carEntity) { | 
				
			||||||
 | 
					        return R.status(carService.save(carEntity)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/updateCar") | 
				
			||||||
 | 
					    @ApiOperation(value = "修改车辆") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 2) | 
				
			||||||
 | 
					    public R updateCar(@Valid @RequestBody CarEntity carEntity) { | 
				
			||||||
 | 
					        return R.status(carService.updateById(carEntity)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/removeCar") | 
				
			||||||
 | 
					    @ApiOperation(value = "删除车辆") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 3) | 
				
			||||||
 | 
					    public R removeCar(@RequestParam Long id) { | 
				
			||||||
 | 
					        return R.status(carService.removeById(id)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/carDetail") | 
				
			||||||
 | 
					    @ApiOperation(value = "车辆详情") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 4) | 
				
			||||||
 | 
					    public R<CarEntity> carDetail(@RequestParam Long id) { | 
				
			||||||
 | 
					        return R.data(carService.getById(id)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/carPage") | 
				
			||||||
 | 
					    @ApiImplicitParams({ | 
				
			||||||
 | 
					            @ApiImplicitParam(name = "unit", value = "单位", dataType = "query", paramType = "string"), | 
				
			||||||
 | 
					            @ApiImplicitParam(name = "plateNumber", value = "车牌号", dataType = "query", paramType = "string") | 
				
			||||||
 | 
					    }) | 
				
			||||||
 | 
					    @ApiOperation(value = "车辆分页") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 5) | 
				
			||||||
 | 
					    public R<IPage<CarEntity>> carPage(@ApiIgnore @RequestParam Map<String, Object> param, Query query) { | 
				
			||||||
 | 
					        IPage<CarEntity> page = carService.page(Condition.getPage(query), Condition.getQueryWrapper(param, CarEntity.class)); | 
				
			||||||
 | 
					        return R.data(page); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/saveCarMaintenance") | 
				
			||||||
 | 
					    @ApiOperation(value = "新增车辆维保记录") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 6) | 
				
			||||||
 | 
					    public R saveCarMaintenance(@Valid @RequestBody CarMaintenanceEntity carMaintenanceEntity) { | 
				
			||||||
 | 
					        return R.status(carMaintenanceService.saveCarMaintenance(carMaintenanceEntity)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/updateCarMaintenance") | 
				
			||||||
 | 
					    @ApiOperation(value = "修改车辆维保记录") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 7) | 
				
			||||||
 | 
					    public R updateCarMaintenance(@Valid @RequestBody CarMaintenanceEntity carMaintenanceEntity) { | 
				
			||||||
 | 
					        return R.status(carMaintenanceService.updateById(carMaintenanceEntity)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/removeCarMaintenance") | 
				
			||||||
 | 
					    @ApiOperation(value = "删除车辆维保记录") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 8) | 
				
			||||||
 | 
					    public R removeCarMaintenance(@RequestParam Long id) { | 
				
			||||||
 | 
					        return R.status(carMaintenanceService.removeById(id)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/carMaintenanceDetail") | 
				
			||||||
 | 
					    @ApiOperation(value = "车辆维保记录详情") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 9) | 
				
			||||||
 | 
					    public R<CarMaintenanceDetailVO> carMaintenanceDetail(@RequestParam Long id) { | 
				
			||||||
 | 
					        return R.data(carMaintenanceService.getCarMaintenance(id)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/carMaintenancePage") | 
				
			||||||
 | 
					    @ApiImplicitParams({ | 
				
			||||||
 | 
					            @ApiImplicitParam(name = "unit", 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") | 
				
			||||||
 | 
					    }) | 
				
			||||||
 | 
					    @ApiOperation(value = "车辆维保记录分页") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 10) | 
				
			||||||
 | 
					    public R<IPage<CarMaintenancePageVO>> carMaintenancePage(@ApiIgnore @RequestParam Map<String, Object> param, Query query) { | 
				
			||||||
 | 
					        IPage<CarMaintenancePageVO> page = carMaintenanceService.getCarMaintenancePage(param, query); | 
				
			||||||
 | 
					        return R.data(page); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/confirmCarMaintenance") | 
				
			||||||
 | 
					    @ApiOperation(value = "车辆维保记录确认") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 11) | 
				
			||||||
 | 
					    public R confirmCarMaintenance(@RequestBody CarMaintenanceConfirmationDTO confirmationDTO) { | 
				
			||||||
 | 
					        return R.status(carMaintenanceService.confirmCarMaintenance(confirmationDTO)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/saveCarUsedRecord") | 
				
			||||||
 | 
					    @ApiOperation(value = "新增用车记录") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 12) | 
				
			||||||
 | 
					    public R saveCarUsedRecord(@Valid @RequestBody CarUsedRecordEntity carUsedRecordEntity) { | 
				
			||||||
 | 
					        return R.status(carUsedRecordService.saveCarUsedRecord(carUsedRecordEntity)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/updateCarUsedRecord") | 
				
			||||||
 | 
					    @ApiOperation(value = "修改用车记录") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 13) | 
				
			||||||
 | 
					    public R updateCarUsedRecord(@Valid @RequestBody CarUsedRecordEntity carUsedRecordEntity) { | 
				
			||||||
 | 
					        return R.status(carUsedRecordService.updateById(carUsedRecordEntity)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/removeCarUsedRecord") | 
				
			||||||
 | 
					    @ApiOperation(value = "删除用车记录") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 14) | 
				
			||||||
 | 
					    public R removeCarUsedRecord(@RequestParam Long id) { | 
				
			||||||
 | 
					        return R.status(carUsedRecordService.removeById(id)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/carUsedRecordDetail") | 
				
			||||||
 | 
					    @ApiOperation(value = "用车记录详情") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 15) | 
				
			||||||
 | 
					    public R<CarUsedRecordDetailVO> carUsedRecordDetail(@RequestParam Long id) { | 
				
			||||||
 | 
					        return R.data(carUsedRecordService.getCarUsedRecord(id)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/carUsedRecordPage") | 
				
			||||||
 | 
					    @ApiImplicitParams({ | 
				
			||||||
 | 
					            @ApiImplicitParam(name = "unit", value = "单位", dataType = "query", paramType = "string") | 
				
			||||||
 | 
					    }) | 
				
			||||||
 | 
					    @ApiOperation(value = "车辆维保记录分页") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 16) | 
				
			||||||
 | 
					    public R<IPage<CarUsedRecordPageVO>> carUsedRecordPage(@ApiIgnore @RequestParam Map<String, Object> param, Query query) { | 
				
			||||||
 | 
					        IPage<CarUsedRecordPageVO> page = carUsedRecordService.getCarUsedRecordPage(param, query); | 
				
			||||||
 | 
					        return R.data(page); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/confirmCarUsedRecord") | 
				
			||||||
 | 
					    @ApiOperation(value = "用车记录确认") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 17) | 
				
			||||||
 | 
					    public R confirmCarUsedRecord(@RequestBody CarUsedRecordConfirmationDTO confirmationDTO) { | 
				
			||||||
 | 
					        return R.status(carUsedRecordService.confirmCarUsedRecord(confirmationDTO)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/milesDataByYear") | 
				
			||||||
 | 
					    @ApiOperation(value = "年度里程数据") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 18) | 
				
			||||||
 | 
					    public R<IPage<CarMilesYearVO>> milesDataByYear(@RequestParam String year, String unit, Query query) { | 
				
			||||||
 | 
					        IPage<CarMilesYearVO> page = carService.milesDataByYear(year, unit, query); | 
				
			||||||
 | 
					        return R.data(page); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/saveCarCheckRecord") | 
				
			||||||
 | 
					    @ApiOperation(value = "新增车检记录") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 19) | 
				
			||||||
 | 
					    public R saveCarCheckRecord(@Valid @RequestBody CarCheckRecordEntity carCheckRecordEntity) { | 
				
			||||||
 | 
					        return R.status(carCheckRecordService.saveCarCheckRecord(carCheckRecordEntity)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/updateCarCheckRecord") | 
				
			||||||
 | 
					    @ApiOperation(value = "修改车检记录") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 20) | 
				
			||||||
 | 
					    public R updateCarCheckRecord(@Valid @RequestBody CarCheckRecordEntity carCheckRecordEntity) { | 
				
			||||||
 | 
					        return R.status(carCheckRecordService.updateById(carCheckRecordEntity)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/removeCarCheckRecord") | 
				
			||||||
 | 
					    @ApiOperation(value = "删除车检记录") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 21) | 
				
			||||||
 | 
					    public R removeCarCheckRecord(@RequestParam Long id) { | 
				
			||||||
 | 
					        return R.status(carCheckRecordService.removeById(id)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/carCheckRecordDetail") | 
				
			||||||
 | 
					    @ApiOperation(value = "车检记录详情") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 15) | 
				
			||||||
 | 
					    public R<CarCheckRecordDetailVO> carCheckRecordDetail(@RequestParam Long id) { | 
				
			||||||
 | 
					        return R.data(carCheckRecordService.getCarCheckRecord(id)); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/carCheckRecordPage") | 
				
			||||||
 | 
					    @ApiImplicitParams({ | 
				
			||||||
 | 
					            @ApiImplicitParam(name = "unit", value = "单位", dataType = "query", paramType = "string") | 
				
			||||||
 | 
					    }) | 
				
			||||||
 | 
					    @ApiOperation(value = "车辆维保记录分页") | 
				
			||||||
 | 
					    @ApiOperationSupport(order = 16) | 
				
			||||||
 | 
					    public R<IPage<CarUsedRecordPageVO>> carCheckRecordPage(@ApiIgnore @RequestParam Map<String, Object> param, Query query) { | 
				
			||||||
 | 
					        IPage<CarUsedRecordPageVO> page = carUsedRecordService.getCarUsedRecordPage(param, query); | 
				
			||||||
 | 
					        return R.data(page); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,4 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.jobs; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class ConferenceJob { | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,4 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.jobs; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class HygieneJob { | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,16 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarCheckItemEntity; | 
				
			||||||
 | 
					import org.apache.ibatis.annotations.Mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车检项Mapper类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Mapper | 
				
			||||||
 | 
					public interface CarCheckItemMapper extends BaseMapper<CarCheckItemEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,5 @@ | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||||
 | 
					<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
				
			||||||
 | 
					<mapper namespace="com.hnac.hzims.safeproduct.mapper.CarCheckItemMapper"> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</mapper> | 
				
			||||||
@ -0,0 +1,16 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarCheckRecordEntity; | 
				
			||||||
 | 
					import org.apache.ibatis.annotations.Mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车检记录Mapper类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Mapper | 
				
			||||||
 | 
					public interface CarCheckRecordMapper extends BaseMapper<CarCheckRecordEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,5 @@ | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||||
 | 
					<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
				
			||||||
 | 
					<mapper namespace="com.hnac.hzims.safeproduct.mapper.CarCheckRecordMapper"> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</mapper> | 
				
			||||||
@ -0,0 +1,35 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarMaintenanceEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMaintenanceDetailVO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMaintenancePageVO; | 
				
			||||||
 | 
					import org.apache.ibatis.annotations.Mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车辆维保记录Mapper类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Mapper | 
				
			||||||
 | 
					public interface CarMaintenanceMapper extends BaseMapper<CarMaintenanceEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询车辆维保记录详情 | 
				
			||||||
 | 
					     * @param carMaintenanceId 车辆维保记录id | 
				
			||||||
 | 
					     * @return 车辆维保记录详情VO类 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    CarMaintenanceDetailVO getCarMaintenance(Long carMaintenanceId); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 车辆维保记录数据页 | 
				
			||||||
 | 
					     * @param param 入参 | 
				
			||||||
 | 
					     * @param page 分页类 | 
				
			||||||
 | 
					     * @return 分页数据 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    IPage<CarMaintenancePageVO> getCarMaintenancePage(IPage<CarMaintenancePageVO> page, Map<String, Object> param); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,42 @@ | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||||
 | 
					<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
				
			||||||
 | 
					<mapper namespace="com.hnac.hzims.safeproduct.mapper.CarMaintenanceMapper"> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <select id="getCarMaintenance" resultType="com.hnac.hzims.safeproduct.vo.CarMaintenanceDetailVO"> | 
				
			||||||
 | 
					        SELECT | 
				
			||||||
 | 
					            t1.code, t1.start_time, t1.end_time, t1.location, t1.cost, t1.maintainer, t1.content, t1.img_path, t1.file_path, | 
				
			||||||
 | 
					            t1.manager_advice, t1.confirmation_time, t2.plate_number, t2.unit, t2.car_brand, t2.car_type | 
				
			||||||
 | 
					        FROM | 
				
			||||||
 | 
					            hzims_car_maintenance t1 | 
				
			||||||
 | 
					            LEFT JOIN hzims_car t2 ON t1.car_id = t2.id | 
				
			||||||
 | 
					        WHERE | 
				
			||||||
 | 
					            is_deleted = 0 | 
				
			||||||
 | 
					        <if test="carMaintenanceId != null and carMaintenanceId != ''"> | 
				
			||||||
 | 
					            AND t1.id = #{carMaintenanceId} | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					    </select> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <select id="getCarMaintenancePage" resultType="com.hnac.hzims.safeproduct.vo.CarMaintenancePageVO"> | 
				
			||||||
 | 
					        SELECT | 
				
			||||||
 | 
					            t2.unit, t2.car_brand, t2.car_type, t1.id, t1.type, t1.content, t1.location, t1.cost, t1.maintainer | 
				
			||||||
 | 
					        FROM | 
				
			||||||
 | 
					            hzims_car_maintenance t1 | 
				
			||||||
 | 
					            LEFT JOIN hzims_car t2 ON t1.car_id = t2.id | 
				
			||||||
 | 
					        WHERE | 
				
			||||||
 | 
					            is_deleted = 0 | 
				
			||||||
 | 
					        <if test="param.unit != null and param.unit != ''"> | 
				
			||||||
 | 
					            AND t2.unit = #{param.unit} | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					        <if test="param.startTime != null and param.startTime != ''"> | 
				
			||||||
 | 
					            AND t1.start_time >= #{param.startTime} | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					        <if test="param.endTime != null and param.endTime != ''"> | 
				
			||||||
 | 
					            AND t1.end_time < #{param.endTime} | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					        <if test="param.carId != null and param.carId != ''"> | 
				
			||||||
 | 
					            AND t1.car_id = #{param.carId} | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					        ORDER BY | 
				
			||||||
 | 
					            t1.create_time DESC | 
				
			||||||
 | 
					    </select> | 
				
			||||||
 | 
					</mapper> | 
				
			||||||
@ -0,0 +1,45 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.dto.CarMilesYearDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMilesYearVO; | 
				
			||||||
 | 
					import org.apache.ibatis.annotations.Mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车辆管理Mapper类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-03 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Mapper | 
				
			||||||
 | 
					public interface CarMapper extends BaseMapper<CarEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询当年的全部车辆 | 
				
			||||||
 | 
					     * @param page 分页类 | 
				
			||||||
 | 
					     * @param year 年份 | 
				
			||||||
 | 
					     * @param unit 单位 | 
				
			||||||
 | 
					     * @return 分页车辆数据 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    IPage<CarMilesYearVO> selectCarByYear(IPage<CarMilesYearVO> page, String year, String unit); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询车辆当年的月度里程数 | 
				
			||||||
 | 
					     * @param carList 车牌列表 | 
				
			||||||
 | 
					     * @param year 年份 | 
				
			||||||
 | 
					     * @return 里程数列表 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    List<CarMilesYearDTO> selectMilesByCar(List<String> carList, String year); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询车辆的里程数 | 
				
			||||||
 | 
					     * @param plateNumber 车牌号 | 
				
			||||||
 | 
					     * @return 里程数 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    BigDecimal selectMilesByPlateNumber(String plateNumber); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,58 @@ | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||||
 | 
					<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
				
			||||||
 | 
					<mapper namespace="com.hnac.hzims.safeproduct.mapper.CarMapper"> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <select id="selectCarByYear" resultType="com.hnac.hzims.safeproduct.vo.CarMilesYearVO"> | 
				
			||||||
 | 
					        SELECT | 
				
			||||||
 | 
					            t1.unit, t1.car_brand, t1.plate_number | 
				
			||||||
 | 
					        FROM | 
				
			||||||
 | 
					            hzims_car t1 | 
				
			||||||
 | 
					            LEFT JOIN hzims_car_used_record t2 ON t1.id = t2.car_id | 
				
			||||||
 | 
					        WHERE | 
				
			||||||
 | 
					            t1.is_deleted = 0 | 
				
			||||||
 | 
					        <if test="year != null and year != ''"> | 
				
			||||||
 | 
					            AND t2.end_time like concat('%', #{year}, '%') | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					        <if test="unit != null and unit != ''"> | 
				
			||||||
 | 
					            AND t1.unit like concat('%', #{unit}, '%') | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					        ORDER BY | 
				
			||||||
 | 
					            t1.create_time DESC | 
				
			||||||
 | 
					    </select> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <select id="selectMilesByCar" resultType="com.hnac.hzims.safeproduct.dto.CarMilesYearDTO"> | 
				
			||||||
 | 
					        SELECT | 
				
			||||||
 | 
					            t1.unit, t1.car_brand, t1.plate_number, DATE_FORMAT(t1.confirmation_time, '%m') as dateTime, sum(t2.miles) as miles | 
				
			||||||
 | 
					        FROM | 
				
			||||||
 | 
					            hzims_car t1 | 
				
			||||||
 | 
					            LEFT JOIN hzims_car_used_record t2 ON t1.id = t2.car_id | 
				
			||||||
 | 
					        WHERE | 
				
			||||||
 | 
					            t1.is_deleted = 0 | 
				
			||||||
 | 
					        <if test="year != null and year != ''"> | 
				
			||||||
 | 
					            AND t2.confirmation_time like concat('%', #{year}, '%') | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					            AND t2.used_status = 'CONFIRMED' | 
				
			||||||
 | 
					            AND t1.plate_number in | 
				
			||||||
 | 
					        <foreach collection="carList" item="car" open="(" close=")" separator=","> | 
				
			||||||
 | 
					            #{car} | 
				
			||||||
 | 
					        </foreach> | 
				
			||||||
 | 
					        GROUP BY | 
				
			||||||
 | 
					            t1.plate_number, DATE_FORMAT(t1.confirmation_time, '%m') | 
				
			||||||
 | 
					        ORDER BY | 
				
			||||||
 | 
					            t1.end_time DESC | 
				
			||||||
 | 
					    </select> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <select id="selectMilesByPlateNumber" resultType="java.math.BigDecimal"> | 
				
			||||||
 | 
					        SELECT | 
				
			||||||
 | 
					            sum(t2.miles) | 
				
			||||||
 | 
					        FROM | 
				
			||||||
 | 
					            hzims_car t1 | 
				
			||||||
 | 
					            LEFT JOIN hzims_car_used_record t2 ON t1.id = t2.car_id | 
				
			||||||
 | 
					        WHERE | 
				
			||||||
 | 
					            t1.is_deleted = 0 | 
				
			||||||
 | 
					        <if test="plateNumber != null and plateNumber != ''"> | 
				
			||||||
 | 
					            AND t1.plate_number = #{plateNumber} | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					    </select> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</mapper> | 
				
			||||||
@ -0,0 +1,35 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarUsedRecordEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarUsedRecordDetailVO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarUsedRecordPageVO; | 
				
			||||||
 | 
					import org.apache.ibatis.annotations.Mapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 用车记录Mapper类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Mapper | 
				
			||||||
 | 
					public interface CarUsedRecordMapper extends BaseMapper<CarUsedRecordEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 用车记录详情 | 
				
			||||||
 | 
					     * @param carUsedRecordId 用车记录id | 
				
			||||||
 | 
					     * @return 用车记录详情VO类 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    CarUsedRecordDetailVO getCarUsedRecord(Long carUsedRecordId); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 用车记录页面 | 
				
			||||||
 | 
					     * @param param 入参 | 
				
			||||||
 | 
					     * @param page 分页类 | 
				
			||||||
 | 
					     * @return 分页数据 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    IPage<CarUsedRecordPageVO> getCarUsedRecordPage(IPage<CarUsedRecordPageVO> page, Map<String, Object> param); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,34 @@ | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?> | 
				
			||||||
 | 
					<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
				
			||||||
 | 
					<mapper namespace="com.hnac.hzims.safeproduct.mapper.CarUsedRecordMapper"> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <select id="getCarUsedRecord" resultType="com.hnac.hzims.safeproduct.vo.CarUsedRecordDetailVO"> | 
				
			||||||
 | 
					        SELECT | 
				
			||||||
 | 
					            t1.code, t1.start_time, t1.used_location, t1.remark, t1.unit, t1.start_miles, t1.end_miles, t1.miles, | 
				
			||||||
 | 
					            t1.img_path, t1.user, t1.end_time, t1.confirmation_time, t2.manager, t2.car_brand, t2.plate_number | 
				
			||||||
 | 
					        FROM | 
				
			||||||
 | 
					            hzims_car_used_record t1 | 
				
			||||||
 | 
					            LEFT JOIN hzims_car t2 ON t1.car_id = t2.id | 
				
			||||||
 | 
					        WHERE | 
				
			||||||
 | 
					            t1.is_deleted = 0 | 
				
			||||||
 | 
					        <if test="carUsedRecordId != null and carUsedRecordId != ''"> | 
				
			||||||
 | 
					            AND t1.id = #{carUsedRecordId} | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					    </select> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <select id="getCarUsedRecordPage" resultType="com.hnac.hzims.safeproduct.vo.CarUsedRecordPageVO"> | 
				
			||||||
 | 
					        SELECT | 
				
			||||||
 | 
					            t1.unit, t1.start_time, t1.user, t1.remark, t1.start_miles, t1.end_miles, t1.miles, | 
				
			||||||
 | 
					            t2.car_brand, t2.plate_number | 
				
			||||||
 | 
					        FROM | 
				
			||||||
 | 
					            hzims_car_used_record t1 | 
				
			||||||
 | 
					            LEFT JOIN hzims_car t2 ON t1.car_id = t2.id | 
				
			||||||
 | 
					        WHERE | 
				
			||||||
 | 
					            t1.is_deleted = 0 | 
				
			||||||
 | 
					        <if test="param.unit != null and param.unit != ''"> | 
				
			||||||
 | 
					            AND t1.unit = #{param.unit} | 
				
			||||||
 | 
					        </if> | 
				
			||||||
 | 
					        ORDER BY | 
				
			||||||
 | 
					            t1.create_time DESC | 
				
			||||||
 | 
					    </select> | 
				
			||||||
 | 
					</mapper> | 
				
			||||||
@ -0,0 +1,14 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.extension.service.IService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarCheckItemEntity; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车检项服务类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface ICarCheckItemService extends IService<CarCheckItemEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,28 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.extension.service.IService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarCheckRecordEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarCheckRecordDetailVO; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车检记录服务类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface ICarCheckRecordService extends IService<CarCheckRecordEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 新增车检记录 | 
				
			||||||
 | 
					     * @param carCheckRecordEntity 车检记录实体类 | 
				
			||||||
 | 
					     * @return true-成功,false-失败 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    boolean saveCarCheckRecord(CarCheckRecordEntity carCheckRecordEntity); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 车检记录详情 | 
				
			||||||
 | 
					     * @param id 车检记录id | 
				
			||||||
 | 
					     * @return 车检记录详情VO类 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    CarCheckRecordDetailVO getCarCheckRecord(Long id); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,49 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.extension.service.IService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.dto.CarMaintenanceConfirmationDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarMaintenanceEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMaintenanceDetailVO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMaintenancePageVO; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Query; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车辆维保记录服务类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface ICarMaintenanceService extends IService<CarMaintenanceEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 新增车辆维保记录 | 
				
			||||||
 | 
					     * @param carMaintenanceEntity 车辆维保记录实体类 | 
				
			||||||
 | 
					     * @return true-成功,false-失败 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    boolean saveCarMaintenance(CarMaintenanceEntity carMaintenanceEntity); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询车辆维保记录详情 | 
				
			||||||
 | 
					     * @param id 车辆维保记录id | 
				
			||||||
 | 
					     * @return 车辆维保记录详情VO类 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    CarMaintenanceDetailVO getCarMaintenance(Long id); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 车辆维保记录数据页 | 
				
			||||||
 | 
					     * @param param 入参 | 
				
			||||||
 | 
					     * @param query 分页类 | 
				
			||||||
 | 
					     * @return 分页数据 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    IPage<CarMaintenancePageVO> getCarMaintenancePage(Map<String, Object> param, Query query); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 车辆维保记录确认 | 
				
			||||||
 | 
					     * @param confirmationDTO 车辆维保记录确认DTO类 | 
				
			||||||
 | 
					     * @return true-成功,false-失败 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    boolean confirmCarMaintenance(CarMaintenanceConfirmationDTO confirmationDTO); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,26 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.extension.service.IService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMilesYearVO; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Query; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车辆管理服务类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-03 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface ICarService extends IService<CarEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 年度里程数页面 | 
				
			||||||
 | 
					     * @param year 年份 | 
				
			||||||
 | 
					     * @param unit 单位 | 
				
			||||||
 | 
					     * @param query 分页类 | 
				
			||||||
 | 
					     * @return 分页数据 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    IPage<CarMilesYearVO> milesDataByYear(String year, String unit, Query query); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,50 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.extension.service.IService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.dto.CarUsedRecordConfirmationDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarUsedRecordEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMilesYearVO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarUsedRecordDetailVO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarUsedRecordPageVO; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Query; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 用车记录服务类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					public interface ICarUsedRecordService extends IService<CarUsedRecordEntity> { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 新增用车记录 | 
				
			||||||
 | 
					     * @param carUsedRecordEntity 用车记录实体类 | 
				
			||||||
 | 
					     * @return true-成功,false-失败 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    boolean saveCarUsedRecord(CarUsedRecordEntity carUsedRecordEntity); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 用车记录详情 | 
				
			||||||
 | 
					     * @param id 用车记录id | 
				
			||||||
 | 
					     * @return 用车记录详情VO类 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    CarUsedRecordDetailVO getCarUsedRecord(Long id); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 用车记录页面 | 
				
			||||||
 | 
					     * @param param 入参 | 
				
			||||||
 | 
					     * @param query 分页类 | 
				
			||||||
 | 
					     * @return 分页数据 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    IPage<CarUsedRecordPageVO> getCarUsedRecordPage(Map<String, Object> param, Query query); | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 用车记录确认 | 
				
			||||||
 | 
					     * @param confirmationDTO 用车记录确认DTO类 | 
				
			||||||
 | 
					     * @return true-成功,false-失败 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    boolean confirmCarUsedRecord(CarUsedRecordConfirmationDTO confirmationDTO); | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,18 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarCheckItemEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.mapper.CarCheckItemMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarCheckItemService; | 
				
			||||||
 | 
					import org.springframework.stereotype.Service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车检项服务实现类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					public class CarCheckItemServiceImpl extends ServiceImpl<CarCheckItemMapper, CarCheckItemEntity> implements ICarCheckItemService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,122 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.hutool.core.collection.CollectionUtil; | 
				
			||||||
 | 
					import cn.hutool.core.date.DatePattern; | 
				
			||||||
 | 
					import com.alibaba.excel.util.CollectionUtils; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarCheckItemEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarCheckRecordEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.mapper.CarCheckRecordMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.mapper.CarMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarCheckItemService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarCheckRecordService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.utils.BaseUtil; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarCheckItemVO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarCheckRecordDetailVO; | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			||||||
 | 
					import org.springframework.stereotype.Service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.annotation.Resource; | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					import java.util.ArrayList; | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车检记录服务实现类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-05 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					public class CarCheckRecordServiceImpl extends ServiceImpl<CarCheckRecordMapper, CarCheckRecordEntity> implements ICarCheckRecordService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Resource | 
				
			||||||
 | 
					    CarMapper carMapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Autowired | 
				
			||||||
 | 
					    ICarCheckItemService carCheckItemService; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 新增车检记录 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public boolean saveCarCheckRecord(CarCheckRecordEntity carCheckRecordEntity) { | 
				
			||||||
 | 
					        // 编码生成
 | 
				
			||||||
 | 
					        // 获取当月时间(yyyymm)
 | 
				
			||||||
 | 
					        String currentMonth = DatePattern.SIMPLE_MONTH_FORMAT.format(new Date()); | 
				
			||||||
 | 
					        // 查询是否存在同月编号
 | 
				
			||||||
 | 
					        String lastCode = getLastCode(currentMonth); | 
				
			||||||
 | 
					        String code = BaseUtil.getUniqueCode("CLJC", lastCode, currentMonth); | 
				
			||||||
 | 
					        carCheckRecordEntity.setCode(code); | 
				
			||||||
 | 
					        return this.save(carCheckRecordEntity); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 车检记录详情 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public CarCheckRecordDetailVO getCarCheckRecord(Long id) { | 
				
			||||||
 | 
					        CarCheckRecordEntity carCheckRecord = this.getById(id); | 
				
			||||||
 | 
					        if (carCheckRecord != null) { | 
				
			||||||
 | 
					            CarCheckRecordDetailVO carCheckRecordDetailVO = new CarCheckRecordDetailVO(); | 
				
			||||||
 | 
					            // 车检记录属性
 | 
				
			||||||
 | 
					            carCheckRecordDetailVO.setCode(carCheckRecord.getCode()); | 
				
			||||||
 | 
					            carCheckRecordDetailVO.setChecker(carCheckRecord.getChecker()); | 
				
			||||||
 | 
					            carCheckRecordDetailVO.setConclusion(carCheckRecord.getConclusion()); | 
				
			||||||
 | 
					            carCheckRecordDetailVO.setRemark(carCheckRecord.getRemark()); | 
				
			||||||
 | 
					            // 车辆台账属性
 | 
				
			||||||
 | 
					            CarEntity car = carMapper.selectById(carCheckRecord.getCarId()); | 
				
			||||||
 | 
					            if (car != null) { | 
				
			||||||
 | 
					                carCheckRecordDetailVO.setCarBrand(car.getCarBrand()); | 
				
			||||||
 | 
					                carCheckRecordDetailVO.setPlateNumber(car.getPlateNumber()); | 
				
			||||||
 | 
					                // 用车记录属性
 | 
				
			||||||
 | 
					                BigDecimal miles = carMapper.selectMilesByPlateNumber(car.getPlateNumber()); | 
				
			||||||
 | 
					                carCheckRecordDetailVO.setMiles(miles); | 
				
			||||||
 | 
					            } | 
				
			||||||
 | 
					            // 拼装检查列表
 | 
				
			||||||
 | 
					            List<CarCheckItemVO> checkList = new ArrayList<>(); | 
				
			||||||
 | 
					            String[] checkItemIds = carCheckRecord.getCheckItemIds().split(",|,"); | 
				
			||||||
 | 
					            String[] checkItemResults = carCheckRecord.getCheckItemResults().split(",|,"); | 
				
			||||||
 | 
					            for (int i = 0; i < checkItemIds.length; i++) { | 
				
			||||||
 | 
					                CarCheckItemEntity checkItemEntity = carCheckItemService.getById(checkItemIds[i]); | 
				
			||||||
 | 
					                CarCheckItemVO carCheckItemVO = new CarCheckItemVO(); | 
				
			||||||
 | 
					                carCheckItemVO.setCheckItem(checkItemEntity.getCheckItem()); | 
				
			||||||
 | 
					                carCheckItemVO.setCheckContent(checkItemEntity.getCheckContent()); | 
				
			||||||
 | 
					                carCheckItemVO.setCheckResult(checkItemResults[i]); | 
				
			||||||
 | 
					                checkList.add(carCheckItemVO); | 
				
			||||||
 | 
					            } | 
				
			||||||
 | 
					            carCheckRecordDetailVO.setCheckItemList(checkList); | 
				
			||||||
 | 
					            return carCheckRecordDetailVO; | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return null; | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询是否存在同月编号 | 
				
			||||||
 | 
					     * @param currentMonth 当月 | 
				
			||||||
 | 
					     * @return 存在则返回上一编号,否则返回null | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    private String getLastCode(String currentMonth) { | 
				
			||||||
 | 
					        String month = currentMonth.substring(currentMonth.length() - 2); | 
				
			||||||
 | 
					        List<CarCheckRecordEntity> list = getCarCheckRecordByMonth(month); | 
				
			||||||
 | 
					        if (CollectionUtils.isEmpty(list)) { | 
				
			||||||
 | 
					            return null; | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return list.get(0).getCode(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询当月卫生自查记录 | 
				
			||||||
 | 
					     * @param month 当月 | 
				
			||||||
 | 
					     * @return 当月卫生自查数据表 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    private List<CarCheckRecordEntity> getCarCheckRecordByMonth(String month) { | 
				
			||||||
 | 
					        QueryWrapper<CarCheckRecordEntity> queryWrapper = new QueryWrapper<>(); | 
				
			||||||
 | 
					        queryWrapper.lambda().like(CarCheckRecordEntity::getCreateTime, month) | 
				
			||||||
 | 
					                .orderByDesc(CarCheckRecordEntity::getCode); | 
				
			||||||
 | 
					        return this.list(queryWrapper); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,107 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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.safeproduct.dto.CarMaintenanceConfirmationDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarMaintenanceEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.mapper.CarMaintenanceMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.mapper.CarMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarMaintenanceService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.utils.BaseUtil; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMaintenanceDetailVO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMaintenancePageVO; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Query; | 
				
			||||||
 | 
					import org.springblade.core.tool.utils.DateUtil; | 
				
			||||||
 | 
					import org.springframework.stereotype.Service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.annotation.Resource; | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车辆维保记录服务实现类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					public class CarMaintenanceServiceImpl extends ServiceImpl<CarMaintenanceMapper, CarMaintenanceEntity> implements ICarMaintenanceService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Resource | 
				
			||||||
 | 
					    CarMapper carMapper; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 新增车辆维保记录 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public boolean saveCarMaintenance(CarMaintenanceEntity carMaintenanceEntity) { | 
				
			||||||
 | 
					        // 编码生成
 | 
				
			||||||
 | 
					        // 获取当月时间(yyyymm)
 | 
				
			||||||
 | 
					        String currentMonth = DatePattern.SIMPLE_MONTH_FORMAT.format(new Date()); | 
				
			||||||
 | 
					        // 查询是否存在同月编号
 | 
				
			||||||
 | 
					        String lastCode = getLastCode(currentMonth); | 
				
			||||||
 | 
					        // 若不存在,新增编号
 | 
				
			||||||
 | 
					        String code = BaseUtil.getUniqueCode("YCJL", lastCode, currentMonth); | 
				
			||||||
 | 
					        carMaintenanceEntity.setCode(code); | 
				
			||||||
 | 
					        return this.save(carMaintenanceEntity); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询车辆维保记录详情 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public CarMaintenanceDetailVO getCarMaintenance(Long id) { | 
				
			||||||
 | 
					        return baseMapper.getCarMaintenance(id); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 车辆维保记录数据页 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public IPage<CarMaintenancePageVO> getCarMaintenancePage(Map<String, Object> param, Query query) { | 
				
			||||||
 | 
					        IPage<CarMaintenancePageVO> page = new Page<>(query.getCurrent(), query.getSize()); | 
				
			||||||
 | 
					        return baseMapper.getCarMaintenancePage(page, param); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 车辆维保记录确认 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public boolean confirmCarMaintenance(CarMaintenanceConfirmationDTO confirmationDTO) { | 
				
			||||||
 | 
					        CarMaintenanceEntity carMaintenanceEntity = this.getById(confirmationDTO.getCarMaintenanceId()); | 
				
			||||||
 | 
					        carMaintenanceEntity.setManagerAdvice(confirmationDTO.getManagerAdvice()); | 
				
			||||||
 | 
					        carMaintenanceEntity.setConfirmationTime(DateUtil.now()); | 
				
			||||||
 | 
					        return this.updateById(carMaintenanceEntity); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询是否存在同月编号 | 
				
			||||||
 | 
					     * @param currentMonth 当月 | 
				
			||||||
 | 
					     * @return 存在则返回上一编号,否则返回null | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    private String getLastCode(String currentMonth) { | 
				
			||||||
 | 
					        String month = currentMonth.substring(currentMonth.length() - 2); | 
				
			||||||
 | 
					        List<CarMaintenanceEntity> list = getHygieneByMonth(month); | 
				
			||||||
 | 
					        if (CollectionUtils.isEmpty(list)) { | 
				
			||||||
 | 
					            return null; | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return list.get(0).getCode(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询当月车辆维保记录 | 
				
			||||||
 | 
					     * @param month 当月 | 
				
			||||||
 | 
					     * @return 当月车辆维保数据表 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    private List<CarMaintenanceEntity> getHygieneByMonth(String month) { | 
				
			||||||
 | 
					        QueryWrapper<CarMaintenanceEntity> queryWrapper = new QueryWrapper<>(); | 
				
			||||||
 | 
					        queryWrapper.lambda().like(CarMaintenanceEntity::getCreateTime, month) | 
				
			||||||
 | 
					                .orderByDesc(CarMaintenanceEntity::getCode); | 
				
			||||||
 | 
					        return this.list(queryWrapper); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,105 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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.safeproduct.dto.CarMilesYearDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.mapper.CarMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarMilesYearVO; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Query; | 
				
			||||||
 | 
					import org.springframework.stereotype.Service; | 
				
			||||||
 | 
					import org.springframework.util.CollectionUtils; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.math.BigDecimal; | 
				
			||||||
 | 
					import java.util.ArrayList; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					import java.util.stream.Collectors; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 车辆管理服务实现类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-03 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					public class CarServiceImpl extends ServiceImpl<CarMapper, CarEntity> implements ICarService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 年度里程数页面 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public IPage<CarMilesYearVO> milesDataByYear(String year, String unit, Query query) { | 
				
			||||||
 | 
					        IPage<CarMilesYearVO> page = new Page<>(query.getCurrent(), query.getSize()); | 
				
			||||||
 | 
					        IPage<CarMilesYearVO> carPage = baseMapper.selectCarByYear(page, year, unit); | 
				
			||||||
 | 
					        List<CarMilesYearVO> records = carPage.getRecords(); | 
				
			||||||
 | 
					        // 若无数据,返回空页面
 | 
				
			||||||
 | 
					        if (CollectionUtils.isEmpty(records)) { | 
				
			||||||
 | 
					            return carPage; | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        List<String> carList = records.stream().map(CarMilesYearVO::getPlateNumber).collect(Collectors.toList()); | 
				
			||||||
 | 
					        List<CarMilesYearDTO> milesList = baseMapper.selectMilesByCar(carList, year); | 
				
			||||||
 | 
					        List<CarMilesYearVO> res = new ArrayList<>(); | 
				
			||||||
 | 
					        milesList.forEach(data -> { | 
				
			||||||
 | 
					            CarMilesYearVO carMilesYearVO = records.stream().filter(x -> x.getPlateNumber().equals(data.getPlateNumber())) | 
				
			||||||
 | 
					                    .collect(Collectors.toList()).get(0); | 
				
			||||||
 | 
					            BigDecimal sum = carMilesYearVO.getSumMiles() == null ? new BigDecimal(0) : carMilesYearVO.getSumMiles(); | 
				
			||||||
 | 
					            // 根据月份匹配写入对应字段
 | 
				
			||||||
 | 
					            switch (data.getDateTime()) { | 
				
			||||||
 | 
					                case "01": | 
				
			||||||
 | 
					                    carMilesYearVO.setJanuaryMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "02": | 
				
			||||||
 | 
					                    carMilesYearVO.setFebruaryMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "03": | 
				
			||||||
 | 
					                    carMilesYearVO.setMarchMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "04": | 
				
			||||||
 | 
					                    carMilesYearVO.setAprilMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "05": | 
				
			||||||
 | 
					                    carMilesYearVO.setMayMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "06": | 
				
			||||||
 | 
					                    carMilesYearVO.setJuneMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "07": | 
				
			||||||
 | 
					                    carMilesYearVO.setJulyMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "08": | 
				
			||||||
 | 
					                    carMilesYearVO.setAugustMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "09": | 
				
			||||||
 | 
					                    carMilesYearVO.setSeptemberMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "10": | 
				
			||||||
 | 
					                    carMilesYearVO.setOctoberMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "11": | 
				
			||||||
 | 
					                    carMilesYearVO.setNovemberMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					                    break; | 
				
			||||||
 | 
					                case "12": | 
				
			||||||
 | 
					                    carMilesYearVO.setDecemberMiles(data.getMiles()); | 
				
			||||||
 | 
					                    carMilesYearVO.setSumMiles(sum.add(data.getMiles())); | 
				
			||||||
 | 
					            } | 
				
			||||||
 | 
					            if (!carMilesYearVO.getSumMiles().equals(new BigDecimal(0))) { | 
				
			||||||
 | 
					                res.add(carMilesYearVO); | 
				
			||||||
 | 
					            } | 
				
			||||||
 | 
					        }); | 
				
			||||||
 | 
					        carPage.setRecords(res); | 
				
			||||||
 | 
					        return carPage; | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,100 @@ | 
				
			|||||||
 | 
					package com.hnac.hzims.safeproduct.service.impl; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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.safeproduct.dto.CarUsedRecordConfirmationDTO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.entity.CarUsedRecordEntity; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.mapper.CarUsedRecordMapper; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.service.ICarUsedRecordService; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.utils.BaseUtil; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarUsedRecordDetailVO; | 
				
			||||||
 | 
					import com.hnac.hzims.safeproduct.vo.CarUsedRecordPageVO; | 
				
			||||||
 | 
					import org.springblade.core.mp.support.Query; | 
				
			||||||
 | 
					import org.springframework.stereotype.Service; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Date; | 
				
			||||||
 | 
					import java.util.List; | 
				
			||||||
 | 
					import java.util.Map; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 用车记录服务实现类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author liwen | 
				
			||||||
 | 
					 * @date 2024-01-04 | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					@Service | 
				
			||||||
 | 
					public class CarUsedRecordServiceImpl extends ServiceImpl<CarUsedRecordMapper, CarUsedRecordEntity> implements ICarUsedRecordService { | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 新增用车记录 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public boolean saveCarUsedRecord(CarUsedRecordEntity carUsedRecordEntity) { | 
				
			||||||
 | 
					        // 编码生成
 | 
				
			||||||
 | 
					        // 获取当月时间(yyyymm)
 | 
				
			||||||
 | 
					        String currentMonth = DatePattern.SIMPLE_MONTH_FORMAT.format(new Date()); | 
				
			||||||
 | 
					        // 查询是否存在同月编号
 | 
				
			||||||
 | 
					        String lastCode = getLastCode(currentMonth); | 
				
			||||||
 | 
					        // 若不存在,新增编号
 | 
				
			||||||
 | 
					        String code = BaseUtil.getUniqueCode("WBJL", lastCode, currentMonth); | 
				
			||||||
 | 
					        carUsedRecordEntity.setCode(code); | 
				
			||||||
 | 
					        return false; | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 用车记录详情 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public CarUsedRecordDetailVO getCarUsedRecord(Long id) { | 
				
			||||||
 | 
					        return baseMapper.getCarUsedRecord(id); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 用车记录页面 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public IPage<CarUsedRecordPageVO> getCarUsedRecordPage(Map<String, Object> param, Query query) { | 
				
			||||||
 | 
					        IPage<CarUsedRecordPageVO> page = new Page<>(query.getCurrent(), query.getSize()); | 
				
			||||||
 | 
					        return baseMapper.getCarUsedRecordPage(page, param); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 用车记录确认 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    @Override | 
				
			||||||
 | 
					    public boolean confirmCarUsedRecord(CarUsedRecordConfirmationDTO confirmationDTO) { | 
				
			||||||
 | 
					        CarUsedRecordEntity carUsedRecord = this.getById(confirmationDTO.getCarUsedRecordId()); | 
				
			||||||
 | 
					        carUsedRecord.setConfirmationTime(confirmationDTO.getConfirmationTime()); | 
				
			||||||
 | 
					        return this.updateById(carUsedRecord); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询是否存在同月编号 | 
				
			||||||
 | 
					     * @param currentMonth 当月 | 
				
			||||||
 | 
					     * @return 存在则返回上一编号,否则返回null | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    private String getLastCode(String currentMonth) { | 
				
			||||||
 | 
					        String month = currentMonth.substring(currentMonth.length() - 2); | 
				
			||||||
 | 
					        List<CarUsedRecordEntity> list = getHygieneByMonth(month); | 
				
			||||||
 | 
					        if (CollectionUtils.isEmpty(list)) { | 
				
			||||||
 | 
					            return null; | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					        return list.get(0).getCode(); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /** | 
				
			||||||
 | 
					     * 查询当月车辆维保记录 | 
				
			||||||
 | 
					     * @param month 当月 | 
				
			||||||
 | 
					     * @return 当月车辆维保数据表 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    private List<CarUsedRecordEntity> getHygieneByMonth(String month) { | 
				
			||||||
 | 
					        QueryWrapper<CarUsedRecordEntity> queryWrapper = new QueryWrapper<>(); | 
				
			||||||
 | 
					        queryWrapper.lambda().like(CarUsedRecordEntity::getCreateTime, month) | 
				
			||||||
 | 
					                .orderByDesc(CarUsedRecordEntity::getCode); | 
				
			||||||
 | 
					        return this.list(queryWrapper); | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue