package com.klp.domain.bo; import com.klp.common.core.domain.BaseEntity; import com.klp.common.core.validate.AddGroup; import com.klp.common.core.validate.EditGroup; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.*; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; /** * 发货单主业务对象 wms_delivery_waybill * * @author klp * @date 2025-11-25 */ @Data @EqualsAndHashCode(callSuper = true) public class WmsDeliveryWaybillBo extends BaseEntity { /** * 发货单唯一ID */ @NotNull(message = "发货单唯一ID不能为空", groups = { EditGroup.class }) private Long waybillId; /** * 发货单编号(格式:WB-YYYYMMDD-XXXX,如WB-20251125-0001) */ @NotBlank(message = "发货单编号(格式:WB-YYYYMMDD-XXXX,如WB-20251125-0001)不能为空", groups = { AddGroup.class, EditGroup.class }) private String waybillNo; /** * 发货单名称 */ @NotBlank(message = "发货单名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String waybillName; /** * 关联发货计划ID */ @NotNull(message = "关联发货计划ID不能为空", groups = { AddGroup.class, EditGroup.class }) private Long planId; /** * 车牌(支持新能源车牌) */ @NotBlank(message = "车牌(支持新能源车牌)不能为空", groups = { AddGroup.class, EditGroup.class }) private String licensePlate; /** * 收货单位 */ @NotBlank(message = "收货单位不能为空", groups = { AddGroup.class, EditGroup.class }) private String consigneeUnit; /** * 发货单位 */ @NotBlank(message = "发货单位不能为空", groups = { AddGroup.class, EditGroup.class }) private String senderUnit; /** * 发货时间 */ @NotNull(message = "发货时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date deliveryTime; /** * 磅房 */ @NotBlank(message = "磅房不能为空", groups = { AddGroup.class, EditGroup.class }) private String weighbridge; /** * 销售 */ @NotBlank(message = "销售不能为空", groups = { AddGroup.class, EditGroup.class }) private String salesPerson; /** * 负责人(司机/跟单员) */ @NotBlank(message = "负责人(司机/跟单员)不能为空", groups = { AddGroup.class, EditGroup.class }) private String principal; /** * 负责人电话(手机号/固话) */ @NotBlank(message = "负责人电话(手机号/固话)不能为空", groups = { AddGroup.class, EditGroup.class }) private String principalPhone; /** * 完成状态(0=待发货,1=已发货,2=已完成,3=取消) */ @NotNull(message = "完成状态(0=待发货,1=已发货,2=已完成,3=取消)不能为空", groups = { AddGroup.class, EditGroup.class }) private Long status; /** * 备注 */ @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) private String remark; }