main
parent
3f0dccca62
commit
eea448ad56
@ -1,82 +0,0 @@ |
||||
package com.zilber.boot.module.booking.controller; |
||||
|
||||
import com.zilber.boot.module.booking.form.ApprovalForm; |
||||
import com.zilber.boot.module.booking.form.add.BookingAF; |
||||
import com.zilber.boot.module.booking.form.modify.BookingMF; |
||||
import com.zilber.boot.module.booking.form.pr.BookingPR; |
||||
import com.zilber.boot.module.booking.service.BookingService; |
||||
import com.zilber.boot.utils.AjaxResult; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 预约记录(Booking)表控制层 |
||||
* |
||||
* @author liuao |
||||
* @since 2025-04-25 15:50:18 |
||||
*/ |
||||
@RestController |
||||
@RequestMapping("/booking") |
||||
@Api(tags = "预约记录管理") |
||||
public class BookingController |
||||
{ |
||||
|
||||
@Autowired |
||||
private BookingService service; |
||||
|
||||
@PostMapping |
||||
@ApiOperation("添加预约记录") |
||||
public AjaxResult addBooking(@RequestBody BookingAF form) |
||||
{ |
||||
return new AjaxResult(service.addBooking(form)); |
||||
} |
||||
|
||||
@PutMapping |
||||
@ApiOperation("修改预约记录信息") |
||||
public AjaxResult updBooking(@RequestBody BookingMF form) |
||||
{ |
||||
return new AjaxResult(service.updBooking(form)); |
||||
} |
||||
|
||||
@PutMapping("/approve") |
||||
@ApiOperation("审批预约") |
||||
public AjaxResult approve(@RequestBody ApprovalForm form) |
||||
{ |
||||
return new AjaxResult(service.approve(form)); |
||||
} |
||||
|
||||
@GetMapping("/{id}") |
||||
@ApiOperation("获取单挑预约信息") |
||||
public AjaxResult getBooking(@PathVariable Serializable id) |
||||
{ |
||||
return AjaxResult.success(service.getBooking(id)); |
||||
} |
||||
|
||||
@GetMapping |
||||
@ApiOperation("分页请求") |
||||
public AjaxResult getPage(BookingPR pr) |
||||
{ |
||||
return AjaxResult.success(service.getPage(pr)); |
||||
} |
||||
|
||||
@DeleteMapping |
||||
@ApiOperation("删除单条预约记录") |
||||
public AjaxResult deleteBooking(@RequestBody BookingMF form) |
||||
{ |
||||
return new AjaxResult(service.deleteBooking(form)); |
||||
} |
||||
|
||||
@DeleteMapping("/s") |
||||
@ApiOperation("批量删除预约记录") |
||||
public AjaxResult deleteBookings(@RequestBody List<Serializable> idList) |
||||
{ |
||||
return new AjaxResult(service.deleteBookings(idList)); |
||||
} |
||||
|
||||
} |
||||
|
@ -1,62 +0,0 @@ |
||||
package com.zilber.boot.module.booking.dao; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.zilber.boot.module.booking.pojo.Booking; |
||||
import org.apache.ibatis.annotations.Mapper; |
||||
import org.springframework.stereotype.Repository; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 预约记录(Booking)表数据库访问层 |
||||
* |
||||
* @author liuao |
||||
* @since 2025-04-25 15:49:54 |
||||
*/ |
||||
@Mapper |
||||
@Repository |
||||
public interface BookingMapper |
||||
extends BaseMapper<Booking> |
||||
{ |
||||
|
||||
/** |
||||
* 通过ID查询单条数据 |
||||
* |
||||
* @param id 主键 |
||||
* @return 实例对象 |
||||
*/ |
||||
Booking queryById(String id); |
||||
|
||||
/** |
||||
* 分页查询 |
||||
* |
||||
* @param booking 筛选条件 |
||||
* @return 查询结果 |
||||
*/ |
||||
List<Booking> queryList(Booking booking); |
||||
|
||||
/** |
||||
* 新增数据 |
||||
* |
||||
* @param booking 实例对象 |
||||
* @return 实例对象 |
||||
*/ |
||||
int addBooking(Booking booking); |
||||
|
||||
/** |
||||
* 修改数据 |
||||
* |
||||
* @param booking 实例对象 |
||||
* @return 实例对象 |
||||
*/ |
||||
int editBooking(Booking booking); |
||||
|
||||
/** |
||||
* 通过主键删除数据 |
||||
* |
||||
* @return 是否成功 |
||||
*/ |
||||
int deleteBooking(String[] ids); |
||||
|
||||
} |
||||
|
@ -1,34 +0,0 @@ |
||||
package com.zilber.boot.module.booking.enums; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-28 10:02 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
public enum ApprovalStatus |
||||
{ |
||||
|
||||
NONE("0"),//待批
|
||||
PASS("1"),//通过
|
||||
REJECT("2"),//驳回
|
||||
; |
||||
|
||||
private String code; |
||||
|
||||
ApprovalStatus(String code) { |
||||
this.code = code; |
||||
} |
||||
|
||||
ApprovalStatus() { |
||||
} |
||||
|
||||
public String getCode() { |
||||
return code; |
||||
} |
||||
|
||||
public void setCode(String code) { |
||||
this.code = code; |
||||
} |
||||
} |
@ -1,32 +0,0 @@ |
||||
package com.zilber.boot.module.booking.enums; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-27 11:37 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
public enum BookingType |
||||
{ |
||||
PRT("1"), //省招检测
|
||||
ME("2"),//厂家委托
|
||||
; |
||||
|
||||
private String code; |
||||
|
||||
BookingType() { |
||||
} |
||||
|
||||
BookingType(String code) { |
||||
this.code = code; |
||||
} |
||||
|
||||
public String getCode() { |
||||
return code; |
||||
} |
||||
|
||||
public void setCode(String code) { |
||||
this.code = code; |
||||
} |
||||
} |
@ -1,33 +0,0 @@ |
||||
package com.zilber.boot.module.booking.enums; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-27 14:49 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
public enum InspectionMethod |
||||
{ |
||||
FI("1"),//全检
|
||||
SI("2"),//抽检
|
||||
; |
||||
|
||||
private String code; |
||||
|
||||
InspectionMethod() { |
||||
} |
||||
|
||||
InspectionMethod(String code) { |
||||
this.code = code; |
||||
} |
||||
|
||||
public String getCode() { |
||||
return code; |
||||
} |
||||
|
||||
public void setCode(String code) { |
||||
this.code = code; |
||||
} |
||||
|
||||
} |
@ -1,41 +0,0 @@ |
||||
package com.zilber.boot.module.booking.form; |
||||
|
||||
import com.zilber.boot.module.booking.enums.ApprovalStatus; |
||||
import com.zilber.boot.module.booking.group.Reject; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
import javax.validation.constraints.NotBlank; |
||||
import javax.validation.constraints.NotNull; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-28 10:00 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
@Data |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@ApiModel("预约审批表单") |
||||
public class ApprovalForm |
||||
{ |
||||
|
||||
@ApiModelProperty("id") |
||||
@NotNull(message = "id不能为空") |
||||
private Long id; |
||||
|
||||
@ApiModelProperty("审批状态(0-待批,1-通过,2-驳回)") |
||||
@NotNull(message = "审批状态不能为空") |
||||
private ApprovalStatus approvalStatus; |
||||
|
||||
@ApiModelProperty("驳回理由") |
||||
@NotNull(message = "驳回理由不能为空", groups = Reject.class) |
||||
@NotBlank(message = "驳回理由不能为空", groups = Reject.class) |
||||
private String rejectReason; |
||||
|
||||
} |
@ -1,24 +0,0 @@ |
||||
package com.zilber.boot.module.booking.form; |
||||
|
||||
import io.swagger.annotations.ApiModel; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-27 9:43 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
@Data |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@ApiModel("预约记录表单") |
||||
public class BookingForm |
||||
{ |
||||
|
||||
|
||||
|
||||
} |
@ -1,115 +0,0 @@ |
||||
package com.zilber.boot.module.booking.form.add; |
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import com.zilber.boot.module.booking.enums.BookingType; |
||||
import com.zilber.boot.module.booking.enums.InspectionMethod; |
||||
import com.zilber.boot.module.booking.form.BookingForm; |
||||
import com.zilber.boot.module.booking.group.Me; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
import org.springframework.format.annotation.DateTimeFormat; |
||||
|
||||
import javax.validation.constraints.Min; |
||||
import javax.validation.constraints.NotBlank; |
||||
import javax.validation.constraints.NotNull; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-27 9:12 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
@Data |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@ApiModel("预约记录添加表单") |
||||
public class BookingAF |
||||
extends BookingForm |
||||
{ |
||||
|
||||
/** |
||||
* 厂家id |
||||
*/ |
||||
@ApiModelProperty(value = "厂家id") |
||||
@NotNull(message = "厂家id不能为空") |
||||
private Long factoryId; |
||||
/** |
||||
* 预约类型(1-省招检测,2-厂家委托) |
||||
*/ |
||||
@ApiModelProperty(value = "预约类型(1-省招检测,2-厂家委托)") |
||||
@NotNull(message = "预约类型不能为空") |
||||
private BookingType bookingType; |
||||
/** |
||||
* 检测方式(1-全检,2-抽检) |
||||
*/ |
||||
@ApiModelProperty(value = "检测方式(1-全检,2-抽检)") |
||||
@NotNull(message = "检测方式不能为空") |
||||
private InspectionMethod inspectionMethod; |
||||
/** |
||||
* 设备数量 |
||||
*/ |
||||
@ApiModelProperty(value = "设备数量") |
||||
@NotNull(message = "设备数量不能为空") |
||||
@Min(value = 1, message = "设备数量不能小于0") |
||||
private Integer equipNum; |
||||
/** |
||||
* 设备类型 |
||||
*/ |
||||
@ApiModelProperty(value = "设备类型") |
||||
@NotNull(message = "设备类型不能为空") |
||||
@NotBlank(message = "设备类型不能为空") |
||||
private String equipType; |
||||
/** |
||||
* 预约检测日期 |
||||
*/ |
||||
@ApiModelProperty(value = "预约检测日期") |
||||
@NotNull(message = "预约检测日期不能为空") |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
||||
@JsonFormat(pattern = "yyyy-MM-dd") |
||||
private Date inspectionDate; |
||||
/** |
||||
* 备注 |
||||
*/ |
||||
@ApiModelProperty(value = "备注") |
||||
private String remark; |
||||
/** |
||||
* 中标通知书路径 |
||||
*/ |
||||
@ApiModelProperty(value = "中标通知书路径") |
||||
@NotNull(message = "中标通知书不能为空", groups = Me.class) |
||||
@NotBlank(message = "中标通知书不能为空", groups = Me.class) |
||||
private String loaUrl; |
||||
/** |
||||
* 地市公司 |
||||
*/ |
||||
@ApiModelProperty(value = "地市公司") |
||||
@NotNull(message = "地市公司不能为空", groups = Me.class) |
||||
@NotBlank(message = "地市公司不能为空", groups = Me.class) |
||||
private String localOffice; |
||||
/** |
||||
* 中标类型 |
||||
*/ |
||||
@ApiModelProperty(value = "中标类型") |
||||
@NotNull(message = "中标类型不能为空", groups = Me.class) |
||||
@NotBlank(message = "中标类型不能为空", groups = Me.class) |
||||
private String loaType; |
||||
/** |
||||
* 涉及工程类型 |
||||
*/ |
||||
@ApiModelProperty(value = "涉及工程项目") |
||||
@NotNull(message = "涉及工程项目不能为空", groups = Me.class) |
||||
@NotBlank(message = "涉及工程项目不能为空", groups = Me.class) |
||||
private String projectName; |
||||
/** |
||||
* 招标批次 |
||||
*/ |
||||
@ApiModelProperty(value = "招标批次") |
||||
@NotNull(message = "招标批次不能为空", groups = Me.class) |
||||
private Integer bidBatch; |
||||
|
||||
} |
@ -1,39 +0,0 @@ |
||||
package com.zilber.boot.module.booking.form.modify; |
||||
|
||||
import com.zilber.boot.module.booking.form.BookingForm; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
import javax.validation.constraints.NotBlank; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-27 9:40 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
@Data |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@ApiModel("预约记录修改表单") |
||||
public class BookingMF |
||||
extends BookingForm |
||||
{ |
||||
|
||||
/** |
||||
* id |
||||
*/ |
||||
@ApiModelProperty(value = "id") |
||||
@NotBlank(message = "id不能为空") |
||||
private Long id; |
||||
/** |
||||
* 备注 |
||||
*/ |
||||
@ApiModelProperty(value = "备注") |
||||
private String remark; |
||||
|
||||
} |
@ -1,113 +0,0 @@ |
||||
package com.zilber.boot.module.booking.form.pr; |
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import com.zilber.boot.utils.page.Pageable; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
import org.springframework.format.annotation.DateTimeFormat; |
||||
|
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-27 9:49 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
@Data |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@ApiModel("预约记录分页请求") |
||||
public class BookingPR |
||||
extends Pageable |
||||
{ |
||||
|
||||
/** |
||||
* 厂家id |
||||
*/ |
||||
@ApiModelProperty(value = "厂家id") |
||||
private Long factoryId; |
||||
/** |
||||
* 预约类型(1-省招检测,2-厂家委托) |
||||
*/ |
||||
@ApiModelProperty(value = "预约类型(1-省招检测,2-厂家委托)") |
||||
private String bookingType; |
||||
/** |
||||
* 检测方式(1-全检,2-抽检) |
||||
*/ |
||||
@ApiModelProperty(value = "检测方式(1-全检,2-抽检)") |
||||
private String inspectionMethod; |
||||
/** |
||||
* 设备数量 |
||||
*/ |
||||
@ApiModelProperty(value = "设备数量") |
||||
private Integer equipNum; |
||||
/** |
||||
* 设备类型 |
||||
*/ |
||||
@ApiModelProperty(value = "设备类型") |
||||
private String equipType; |
||||
/** |
||||
* 预约检测开始日期 |
||||
*/ |
||||
@ApiModelProperty(value = "预约检测开始日期") |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
||||
@JsonFormat(pattern = "yyyy-MM-dd") |
||||
private Date inspectionDateStart; |
||||
/** |
||||
* 预约检测结束日期 |
||||
*/ |
||||
@ApiModelProperty(value = "预约检测结束日期") |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
||||
@JsonFormat(pattern = "yyyy-MM-dd") |
||||
private Date inspectionDateEnd; |
||||
/** |
||||
* 地市公司 |
||||
*/ |
||||
@ApiModelProperty(value = "地市公司") |
||||
private String localOffice; |
||||
/** |
||||
* 中标类型 |
||||
*/ |
||||
@ApiModelProperty(value = "中标类型") |
||||
private String loaType; |
||||
/** |
||||
* 涉及工程类型 |
||||
*/ |
||||
@ApiModelProperty(value = "涉及工程名称") |
||||
private String projectName; |
||||
/** |
||||
* 招标批次 |
||||
*/ |
||||
@ApiModelProperty(value = "招标批次") |
||||
private Integer bidBatch; |
||||
/** |
||||
* 审批状态 |
||||
*/ |
||||
@ApiModelProperty("审批状态(0-待批,1-通过,2-驳回)") |
||||
private String approvalStatus; |
||||
/** |
||||
* 审批开始时间 |
||||
*/ |
||||
@ApiModelProperty("审批开始时间") |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
||||
@JsonFormat(pattern = "yyyy-MM-dd") |
||||
private Date approveTimeStart; |
||||
/** |
||||
* 审批结束时间 |
||||
*/ |
||||
@ApiModelProperty("审批结束时间") |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
||||
@JsonFormat(pattern = "yyyy-MM-dd") |
||||
private Date approveTimeEnd; |
||||
/** |
||||
* 创建者id |
||||
*/ |
||||
@ApiModelProperty(value = "创建者id") |
||||
private Long creatorId; |
||||
|
||||
} |
@ -1,11 +0,0 @@ |
||||
package com.zilber.boot.module.booking.group; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-27 11:47 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
public interface Me { |
||||
} |
@ -1,11 +0,0 @@ |
||||
package com.zilber.boot.module.booking.group; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-28 10:00 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
public interface Reject { |
||||
} |
@ -1,167 +0,0 @@ |
||||
package com.zilber.boot.module.booking.pojo; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.zilber.boot.module.booking.enums.ApprovalStatus; |
||||
import com.zilber.boot.module.booking.form.add.BookingAF; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
import org.springframework.beans.BeanUtils; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.Calendar; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* 预约记录(Booking)实体类 |
||||
* |
||||
* @author liuao |
||||
* @since 2025-04-25 15:49:55 |
||||
*/ |
||||
@Data |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@ApiModel("预约记录") |
||||
@TableName("tc_booking") |
||||
public class Booking implements Serializable |
||||
{ |
||||
private static final long serialVersionUID = -37467439775541824L; |
||||
/** |
||||
* id |
||||
*/ |
||||
@ApiModelProperty(value = "id") |
||||
@TableId(type = IdType.AUTO) |
||||
private Long id; |
||||
/** |
||||
* 厂家id |
||||
*/ |
||||
@ApiModelProperty(value = "厂家id") |
||||
private Long factoryId; |
||||
/** |
||||
* 预约类型(1-省招检测,2-厂家委托) |
||||
*/ |
||||
@ApiModelProperty(value = "预约类型(1-省招检测,2-厂家委托)") |
||||
private String bookingType; |
||||
/** |
||||
* 检测方式(1-全检,2-抽检) |
||||
*/ |
||||
@ApiModelProperty(value = "检测方式(1-全检,2-抽检)") |
||||
private String inspectionMethod; |
||||
/** |
||||
* 设备数量 |
||||
*/ |
||||
@ApiModelProperty(value = "设备数量") |
||||
private Integer equipNum; |
||||
/** |
||||
* 设备类型 |
||||
*/ |
||||
@ApiModelProperty(value = "设备类型") |
||||
private String equipType; |
||||
/** |
||||
* 预约检测日期 |
||||
*/ |
||||
@ApiModelProperty(value = "预约检测日期") |
||||
private Date inspectionDate; |
||||
/** |
||||
* 备注 |
||||
*/ |
||||
@ApiModelProperty(value = "备注") |
||||
private String remark; |
||||
/** |
||||
* 中标通知书路径 |
||||
*/ |
||||
@ApiModelProperty(value = "中标通知书路径") |
||||
private String loaUrl; |
||||
/** |
||||
* 地市公司 |
||||
*/ |
||||
@ApiModelProperty(value = "地市公司") |
||||
private String localOffice; |
||||
/** |
||||
* 中标类型 |
||||
*/ |
||||
@ApiModelProperty(value = "中标类型") |
||||
private String loaType; |
||||
/** |
||||
* 涉及工程类型 |
||||
*/ |
||||
@ApiModelProperty(value = "涉及工程类型") |
||||
private String projectName; |
||||
/** |
||||
* 招标批次 |
||||
*/ |
||||
@ApiModelProperty(value = "招标批次") |
||||
private Integer bidBatch; |
||||
/** |
||||
* 审批状态 |
||||
*/ |
||||
@ApiModelProperty("审批状态(0-待批,1-通过,2-驳回)") |
||||
private String approvalStatus; |
||||
/** |
||||
* 驳回理由 |
||||
*/ |
||||
@ApiModelProperty("驳回理由") |
||||
private String rejectReason; |
||||
/** |
||||
* 审批时间 |
||||
*/ |
||||
@ApiModelProperty("审批时间") |
||||
private Date approveTime; |
||||
/** |
||||
* 检测状态(0-待检,1-通过,2-不通过) |
||||
*/ |
||||
@ApiModelProperty("检测状态(0-待检,1-通过,2-不通过)") |
||||
private String inspectionStatus; |
||||
/** |
||||
* 检测时间 |
||||
*/ |
||||
@ApiModelProperty("检测时间") |
||||
private Date inspectionExeDate; |
||||
/** |
||||
* 创建者id |
||||
*/ |
||||
@ApiModelProperty(value = "创建者id") |
||||
private Long creatorId; |
||||
/** |
||||
* 创建时间 |
||||
*/ |
||||
@ApiModelProperty(value = "创建时间") |
||||
private Date creationTime; |
||||
/** |
||||
* 修改人id |
||||
*/ |
||||
@ApiModelProperty(value = "修改人id") |
||||
private Long updaterId; |
||||
/** |
||||
* 修改时间 |
||||
*/ |
||||
@ApiModelProperty(value = "修改时间") |
||||
private Date updateTime; |
||||
|
||||
public Booking(BookingAF form, Long userId) |
||||
{ |
||||
Calendar instance = Calendar.getInstance(); |
||||
Date now = new Date(); |
||||
BeanUtils.copyProperties(form, this); |
||||
this.bookingType = form.getBookingType().getCode(); |
||||
this.inspectionMethod = form.getInspectionMethod().getCode(); |
||||
instance.setTime(form.getInspectionDate()); |
||||
instance.set(Calendar.HOUR_OF_DAY, 0); |
||||
instance.set(Calendar.MINUTE, 0); |
||||
instance.set(Calendar.SECOND, 0); |
||||
this.inspectionDate = instance.getTime(); |
||||
//预约审批状态为待批
|
||||
this.approvalStatus = ApprovalStatus.NONE.getCode(); |
||||
//
|
||||
this.creatorId = userId; |
||||
this.updaterId = userId; |
||||
this.creationTime = now; |
||||
this.updateTime = now; |
||||
} |
||||
|
||||
} |
||||
|
@ -1,41 +0,0 @@ |
||||
package com.zilber.boot.module.booking.service; |
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.zilber.boot.module.booking.form.ApprovalForm; |
||||
import com.zilber.boot.module.booking.form.add.BookingAF; |
||||
import com.zilber.boot.module.booking.form.modify.BookingMF; |
||||
import com.zilber.boot.module.booking.form.pr.BookingPR; |
||||
import com.zilber.boot.module.booking.pojo.Booking; |
||||
import com.zilber.boot.module.booking.vo.BookingVO; |
||||
import com.zilber.boot.utils.InternalResult; |
||||
import com.zilber.boot.utils.page.PageUtils; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 预约记录(Booking)表服务接口 |
||||
* |
||||
* @author liuao |
||||
* @since 2025-04-25 15:49:58 |
||||
*/ |
||||
public interface BookingService |
||||
extends IService<Booking> |
||||
{ |
||||
|
||||
InternalResult addBooking(BookingAF form); |
||||
|
||||
InternalResult updBooking(BookingMF form); |
||||
|
||||
InternalResult approve(ApprovalForm form); |
||||
|
||||
BookingVO getBooking(Serializable id); |
||||
|
||||
PageUtils getPage(BookingPR pr); |
||||
|
||||
InternalResult deleteBooking(BookingMF form); |
||||
|
||||
InternalResult deleteBookings(List<Serializable> idList); |
||||
|
||||
} |
@ -1,273 +0,0 @@ |
||||
package com.zilber.boot.module.booking.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.zilber.boot.Constants.HttpStatus; |
||||
import com.zilber.boot.module.booking.dao.BookingMapper; |
||||
import com.zilber.boot.module.booking.enums.ApprovalStatus; |
||||
import com.zilber.boot.module.booking.enums.BookingType; |
||||
import com.zilber.boot.module.booking.form.ApprovalForm; |
||||
import com.zilber.boot.module.booking.form.add.BookingAF; |
||||
import com.zilber.boot.module.booking.form.modify.BookingMF; |
||||
import com.zilber.boot.module.booking.form.pr.BookingPR; |
||||
import com.zilber.boot.module.booking.group.Me; |
||||
import com.zilber.boot.module.booking.group.Reject; |
||||
import com.zilber.boot.module.booking.pojo.Booking; |
||||
import com.zilber.boot.module.booking.service.BookingService; |
||||
import com.zilber.boot.module.booking.vo.BookingVO; |
||||
import com.zilber.boot.utils.InternalResult; |
||||
import com.zilber.boot.utils.SecurityUtils; |
||||
import com.zilber.boot.utils.ValidatorUtils; |
||||
import com.zilber.boot.utils.page.PageUtils; |
||||
import org.springframework.beans.BeanUtils; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.Calendar; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* 预约记录(Booking)表服务实现类 |
||||
* |
||||
* @author liuao |
||||
* @since 2025-04-25 15:50:01 |
||||
*/ |
||||
@Service |
||||
public class BookingServiceImpl |
||||
extends ServiceImpl<BookingMapper, Booking> |
||||
implements BookingService |
||||
{ |
||||
|
||||
/** |
||||
* 申请预约 |
||||
* @param form 预约表单 |
||||
* @return 处理结果 |
||||
*/ |
||||
@Override |
||||
public InternalResult addBooking(BookingAF form) |
||||
{ |
||||
ValidatorUtils.validateEntity(form); |
||||
//如果是省招,则校验中标信息
|
||||
if ( form.getBookingType().equals(BookingType.PRT)) |
||||
{ |
||||
ValidatorUtils.validateEntity(form, Me.class); |
||||
} |
||||
Long userId = SecurityUtils.getUserId(); |
||||
Booking booking = new Booking(form, userId); |
||||
this.save(booking); |
||||
return new InternalResult(HttpStatus.SUCCESS, "预约申请成功"); |
||||
} |
||||
|
||||
/** |
||||
* 修改预约信息 |
||||
* @param form 修改表单 |
||||
* @return 修改结果 |
||||
*/ |
||||
@Override |
||||
public InternalResult updBooking(BookingMF form) |
||||
{ |
||||
ValidatorUtils.validateEntity(form); |
||||
Booking byId = this.getById(form.getId()); |
||||
if ( byId != null) |
||||
{ |
||||
BeanUtils.copyProperties(form, byId); |
||||
this.updateById(byId); |
||||
} |
||||
return new InternalResult(HttpStatus.SUCCESS, "预约信息修改成功"); |
||||
} |
||||
|
||||
/** |
||||
* 审批预约 |
||||
* @param form 预约表单 |
||||
* @return 处理结果 |
||||
*/ |
||||
@Override |
||||
public InternalResult approve(ApprovalForm form) |
||||
{ |
||||
ValidatorUtils.validateEntity(form); |
||||
if ( form.getApprovalStatus().equals(ApprovalStatus.NONE)) |
||||
{ |
||||
return new InternalResult(HttpStatus.SUCCESS, "未作出审批"); |
||||
} |
||||
else if ( form.getApprovalStatus().equals(ApprovalStatus.REJECT)) |
||||
{ |
||||
ValidatorUtils.validateEntity(form, Reject.class); |
||||
} |
||||
Booking byId = this.getById(form.getId()); |
||||
if ( byId != null) |
||||
{ |
||||
byId.setApprovalStatus(form.getApprovalStatus().getCode()); |
||||
byId.setRejectReason(form.getRejectReason()); |
||||
byId.setApproveTime(new Date()); |
||||
this.updateById(byId); |
||||
} |
||||
return new InternalResult(HttpStatus.SUCCESS, "审批成功"); |
||||
} |
||||
|
||||
/** |
||||
* 获取单条预约信息 |
||||
* @param id id |
||||
* @return 单条预约记录 |
||||
*/ |
||||
@Override |
||||
public BookingVO getBooking(Serializable id) |
||||
{ |
||||
Booking byId = this.getById(id); |
||||
if ( byId != null) |
||||
{ |
||||
return new BookingVO(byId); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
/** |
||||
* 分页查询 |
||||
* @param pr 查询条件 |
||||
* @return 分页列表 |
||||
*/ |
||||
@Override |
||||
public PageUtils getPage(BookingPR pr) |
||||
{ |
||||
LambdaQueryWrapper<Booking> wrapper = this.wrapper(pr); |
||||
IPage<Booking> page |
||||
= page(new Page(pr.getPageNo(), pr.getPageSize()), wrapper); |
||||
if ( CollectionUtils.isNotEmpty(page.getRecords())) |
||||
{ |
||||
return new PageUtils( |
||||
page.getRecords() |
||||
.stream() |
||||
.map(BookingVO::new) |
||||
.collect(Collectors.toList()), |
||||
(int) page.getTotal(), |
||||
(int) page.getSize(), |
||||
(int) page.getCurrent() |
||||
); |
||||
} |
||||
return new PageUtils(page); |
||||
} |
||||
|
||||
/** |
||||
* 删除单条预约记录 |
||||
* @param form 表单 |
||||
* @return 处理结果 |
||||
*/ |
||||
@Override |
||||
public InternalResult deleteBooking(BookingMF form) |
||||
{ |
||||
ValidatorUtils.validateEntity(form); |
||||
this.removeById(form.getId()); |
||||
return new InternalResult(HttpStatus.SUCCESS, "预约记录删除成功"); |
||||
} |
||||
|
||||
/** |
||||
* 删除多条预约记录 |
||||
* @param idList id列表 |
||||
* @return 处理结果 |
||||
*/ |
||||
@Override |
||||
public InternalResult deleteBookings(List<Serializable> idList) |
||||
{ |
||||
if (CollectionUtils.isNotEmpty(idList)) |
||||
{ |
||||
LambdaQueryWrapper<Booking> wrapper = new LambdaQueryWrapper<>(); |
||||
wrapper.in(Booking::getId, idList); |
||||
this.remove(wrapper); |
||||
} |
||||
return new InternalResult(HttpStatus.SUCCESS, "预约记录删除成功"); |
||||
} |
||||
|
||||
/** |
||||
* 根据查询分页构造查询包装器并返回 |
||||
* @param pr 查询条件 |
||||
* @return 查询包装器 |
||||
*/ |
||||
private LambdaQueryWrapper<Booking> wrapper(BookingPR pr) |
||||
{ |
||||
LambdaQueryWrapper<Booking> wrapper = new LambdaQueryWrapper<>(); |
||||
if ( pr.getFactoryId() != null) |
||||
{ |
||||
wrapper.eq(Booking::getFactoryId, pr.getFactoryId()); |
||||
} |
||||
if (StringUtils.isNotBlank(pr.getBookingType())) |
||||
{ |
||||
wrapper.eq(Booking::getBookingType, pr.getBookingType()); |
||||
} |
||||
if ( StringUtils.isNotBlank(pr.getInspectionMethod())) |
||||
{ |
||||
wrapper.eq(Booking::getInspectionMethod, pr.getInspectionMethod()); |
||||
} |
||||
if ( pr.getEquipNum() != null) |
||||
{ |
||||
wrapper.eq(Booking::getEquipNum, pr.getEquipNum()); |
||||
} |
||||
if ( StringUtils.isNotBlank(pr.getEquipType())) |
||||
{ |
||||
wrapper.eq(Booking::getEquipType, pr.getEquipType()); |
||||
} |
||||
Calendar c = Calendar.getInstance(); |
||||
if ( pr.getInspectionDateStart() != null) |
||||
{ |
||||
c.setTime(pr.getInspectionDateStart()); |
||||
c.set(Calendar.HOUR_OF_DAY, 0); |
||||
c.set(Calendar.MINUTE, 0); |
||||
c.set(Calendar.SECOND, 0); |
||||
wrapper.ge(Booking::getInspectionDate, c.getTime()); |
||||
} |
||||
if ( pr.getInspectionDateEnd() != null) |
||||
{ |
||||
c.setTime(pr.getInspectionDateEnd()); |
||||
c.set(Calendar.HOUR_OF_DAY, 0); |
||||
c.set(Calendar.MINUTE, 0); |
||||
c.set(Calendar.SECOND, 0); |
||||
wrapper.le(Booking::getInspectionDate, c.getTime()); |
||||
} |
||||
if ( StringUtils.isNotBlank(pr.getLocalOffice())) |
||||
{ |
||||
wrapper.like(Booking::getLocalOffice, pr.getLocalOffice()); |
||||
} |
||||
if ( StringUtils.isNotBlank(pr.getLoaType())) |
||||
{ |
||||
wrapper.eq(Booking::getLoaType, pr.getLoaType()); |
||||
} |
||||
if (StringUtils.isNotBlank(pr.getProjectName())) |
||||
{ |
||||
wrapper.like(Booking::getProjectName, pr.getProjectName()); |
||||
} |
||||
if ( pr.getBidBatch() != null) |
||||
{ |
||||
wrapper.eq(Booking::getBidBatch, pr.getBidBatch()); |
||||
} |
||||
if ( pr.getCreatorId() != null) |
||||
{ |
||||
wrapper.eq(Booking::getCreatorId, pr.getCreatorId()); |
||||
} |
||||
if ( StringUtils.isNotBlank(pr.getApprovalStatus())) |
||||
{ |
||||
wrapper.eq(Booking::getApprovalStatus, pr.getApprovalStatus()); |
||||
} |
||||
if ( pr.getApproveTimeStart() != null) |
||||
{ |
||||
c.setTime(pr.getApproveTimeStart()); |
||||
c.set(Calendar.HOUR_OF_DAY, 0); |
||||
c.set(Calendar.MINUTE, 0); |
||||
c.set(Calendar.SECOND, 0); |
||||
wrapper.ge(Booking::getApproveTime, c.getTime()); |
||||
} |
||||
if ( pr.getApproveTimeEnd() != null) |
||||
{ |
||||
c.setTime(pr.getInspectionDateEnd()); |
||||
c.set(Calendar.HOUR_OF_DAY, 23); |
||||
c.set(Calendar.MINUTE, 59); |
||||
c.set(Calendar.SECOND, 59); |
||||
wrapper.le(Booking::getApproveTime, c.getTime()); |
||||
} |
||||
return wrapper; |
||||
} |
||||
|
||||
} |
@ -1,126 +0,0 @@ |
||||
package com.zilber.boot.module.booking.vo; |
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import com.zilber.boot.module.booking.pojo.Booking; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
import org.springframework.beans.BeanUtils; |
||||
import org.springframework.format.annotation.DateTimeFormat; |
||||
|
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* @Author LJX |
||||
* @TIME 2025-04-27 9:57 |
||||
* @PROJECT termicheck-platform |
||||
* created by Intellij IDEA |
||||
* Description |
||||
*/ |
||||
@Data |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
@ApiModel("预约记录返回") |
||||
public class BookingVO |
||||
{ |
||||
|
||||
/** |
||||
* id |
||||
*/ |
||||
@ApiModelProperty(value = "id") |
||||
private Long id; |
||||
/** |
||||
* 厂家id |
||||
*/ |
||||
@ApiModelProperty(value = "厂家id") |
||||
private Long factoryId; |
||||
/** |
||||
* 预约类型(1-省招检测,2-厂家委托) |
||||
*/ |
||||
@ApiModelProperty(value = "预约类型(1-省招检测,2-厂家委托)") |
||||
private String bookingType; |
||||
/** |
||||
* 检测方式(1-全检,2-抽检) |
||||
*/ |
||||
@ApiModelProperty(value = "检测方式(1-全检,2-抽检)") |
||||
private String inspectionMethod; |
||||
/** |
||||
* 设备数量 |
||||
*/ |
||||
@ApiModelProperty(value = "设备数量") |
||||
private Integer equipNum; |
||||
/** |
||||
* 设备类型 |
||||
*/ |
||||
@ApiModelProperty(value = "设备类型") |
||||
private String equipType; |
||||
/** |
||||
* 预约检测日期 |
||||
*/ |
||||
@ApiModelProperty(value = "预约检测日期") |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
||||
@JsonFormat(pattern = "yyyy-MM-dd") |
||||
private Date inspectionDate; |
||||
/** |
||||
* 备注 |
||||
*/ |
||||
@ApiModelProperty(value = "备注") |
||||
private String remark; |
||||
/** |
||||
* 中标通知书路径 |
||||
*/ |
||||
@ApiModelProperty(value = "中标通知书路径") |
||||
private String loaUrl; |
||||
/** |
||||
* 地市公司 |
||||
*/ |
||||
@ApiModelProperty(value = "地市公司") |
||||
private String localOffice; |
||||
/** |
||||
* 中标类型 |
||||
*/ |
||||
@ApiModelProperty(value = "中标类型") |
||||
private String loaType; |
||||
/** |
||||
* 涉及工程类型 |
||||
*/ |
||||
@ApiModelProperty(value = "涉及工程类型") |
||||
private String projectName; |
||||
/** |
||||
* 招标批次 |
||||
*/ |
||||
@ApiModelProperty(value = "招标批次") |
||||
private Integer bidBatch; |
||||
/** |
||||
* 创建者id |
||||
*/ |
||||
@ApiModelProperty(value = "创建者id") |
||||
private Long creatorId; |
||||
/** |
||||
* 创建时间 |
||||
*/ |
||||
@ApiModelProperty(value = "创建时间") |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
private Date creationTime; |
||||
/** |
||||
* 修改人id |
||||
*/ |
||||
@ApiModelProperty(value = "修改人id") |
||||
private Long updaterId; |
||||
/** |
||||
* 修改时间 |
||||
*/ |
||||
@ApiModelProperty(value = "修改时间") |
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
||||
private Date updateTime; |
||||
|
||||
public BookingVO(Booking booking) |
||||
{ |
||||
BeanUtils.copyProperties(booking, this); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue