提交 ba9c6886 authored 作者: 艾庆国's avatar 艾庆国

运单预警

上级 757385f7
package com.clx.performance.enums.vehiclewarn;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum VehicleWarnChildEnum {
;
@Getter
@AllArgsConstructor
public enum TraceStatus {
DISABLE(0, "禁止"),
ENABLE(1, "启用"),
;
private final Integer code;
private final String msg;
public static Optional<TraceStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(TraceStatus::getMsg).orElse(null);
}
}
@Getter
@AllArgsConstructor
public enum WarnStatus {
DISABLE(0, "禁止"),
ENABLE(1, "启用"),
;
private final Integer code;
private final String msg;
public static Optional<WarnStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(WarnStatus::getMsg).orElse(null);
}
}
}
...@@ -12,9 +12,9 @@ public enum VehicleWarnConfigEnum { ...@@ -12,9 +12,9 @@ public enum VehicleWarnConfigEnum {
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum WarnType { public enum WarnType {
GOTO_SEND_DELAY(1, "运单-到达货源地延误"), ARRIVE_SEND_DELAY(1, "运单-到达货源地延误"),
GOTO_SEND_TIMEOUT(2, "运单-前往货源地超时"), GOTO_SEND_TIMEOUT(2, "运单-前往货源地超时"),
GOTO_RECEIVE_DELAY(3, "运单-到达目的地延误"), ARRIVE_RECEIVE_DELAY(3, "运单-到达目的地延误"),
GOTO_RECEIVE_TIMEOUT(4, "运单-前往目的地超时"), GOTO_RECEIVE_TIMEOUT(4, "运单-前往目的地超时"),
PARK_TIMEOUT(5, "运单-停留超时"), PARK_TIMEOUT(5, "运单-停留超时"),
......
package com.clx.performance.enums.vehiclewarn;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum VehicleWarnRangEnum {
;
@Getter
@AllArgsConstructor
public enum WarnRange {
CHILD(1, "运单"),
ORDER(1, "货单"),
ALL(1, "全部"),
;
private final Integer code;
private final String msg;
public static Optional<WarnRange> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(WarnRange::getMsg).orElse(null);
}
}
@Getter
@AllArgsConstructor
public enum Status {
ENABLE(1, "有效"),
DISABLE(2, "无效"),
;
private final Integer code;
private final String msg;
public static Optional<Status> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(Status::getMsg).orElse(null);
}
}
}
package com.clx.performance.dao.impl.vehiclewarn;
import com.clx.performance.dao.vehiclewarn.VehicleWarnChildDao;
import com.clx.performance.enums.vehiclewarn.VehicleWarnChildEnum;
import com.clx.performance.mapper.vehiclewarn.VehicleWarnChildMapper;
import com.clx.performance.model.vehiclewarn.VehicleWarnChild;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class VehicleWarnChildDaoImpl extends BaseDaoImpl<VehicleWarnChildMapper, VehicleWarnChild, Integer> implements VehicleWarnChildDao {
@Override
public boolean updateTraceTime(VehicleWarnChild item) {
return update(lUdWrapper()
.eq(VehicleWarnChild::getId, item.getId())
.set(VehicleWarnChild::getTraceStatus, item.getTraceStatus())
.set(VehicleWarnChild::getTraceTime, item.getTraceTime())
);
}
@Override
public Optional<VehicleWarnChild> findByChildNo(String childNo) {
return Optional.of(childNo)
.map(item -> lQrWrapper().eq(VehicleWarnChild::getChildNo, item))
.map(super::getOne);
}
@Override
public List<VehicleWarnChild> ListTruckNoOfTrace() {
return list(lQrWrapper().select(VehicleWarnChild::getChildNo, VehicleWarnChild::getTruckNo).eq(VehicleWarnChild::getTraceStatus, VehicleWarnChildEnum.TraceStatus.ENABLE.getCode()));
}
@Override
public List<VehicleWarnChild> ListTruckNoOfWarn() {
return list(lQrWrapper().select(VehicleWarnChild::getChildNo, VehicleWarnChild::getTruckNo).eq(VehicleWarnChild::getTraceStatus, VehicleWarnChildEnum.WarnStatus.ENABLE.getCode()));
}
}
...@@ -11,6 +11,8 @@ import com.msl.common.base.Optional; ...@@ -11,6 +11,8 @@ import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
@Repository @Repository
public class VehicleWarnConfigDaoImpl extends BaseDaoImpl<VehicleWarnConfigMapper, VehicleWarnConfig, Integer> implements VehicleWarnConfigDao { public class VehicleWarnConfigDaoImpl extends BaseDaoImpl<VehicleWarnConfigMapper, VehicleWarnConfig, Integer> implements VehicleWarnConfigDao {
...@@ -69,6 +71,11 @@ public class VehicleWarnConfigDaoImpl extends BaseDaoImpl<VehicleWarnConfigMappe ...@@ -69,6 +71,11 @@ public class VehicleWarnConfigDaoImpl extends BaseDaoImpl<VehicleWarnConfigMappe
.map(super::getOne); .map(super::getOne);
} }
@Override
public List<VehicleWarnConfig> listByWarnType(Integer warnType) {
return list(lQrWrapper().eq(VehicleWarnConfig::getWarnType, warnType));
}
@Override @Override
public IPage<VehicleWarnConfig> pageByParam(PageVehicleWarnConfigParam param) { public IPage<VehicleWarnConfig> pageByParam(PageVehicleWarnConfigParam param) {
Page<VehicleWarnConfig> page = Page.of(param.getPage(), param.getPageSize()); Page<VehicleWarnConfig> page = Page.of(param.getPage(), param.getPageSize());
......
...@@ -21,6 +21,14 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V ...@@ -21,6 +21,14 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
); );
} }
@Override
public boolean updateWarn(VehicleWarnInfo item) {
return update(lUdWrapper()
.eq(VehicleWarnInfo::getId, item.getId())
.set(VehicleWarnInfo::getWarnTime, item.getWarnTime())
);
}
@Override @Override
public Optional<VehicleWarnInfo> findById(Integer id) { public Optional<VehicleWarnInfo> findById(Integer id) {
return Optional.of(id) return Optional.of(id)
...@@ -31,6 +39,28 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V ...@@ -31,6 +39,28 @@ public class VehicleWarnInfoDaoImpl extends BaseDaoImpl<VehicleWarnInfoMapper, V
.map(super::getOne); .map(super::getOne);
} }
@Override
public Optional<VehicleWarnInfo> findByChildNoAndWarnConfigType(String childNo, Integer warnConfigType) {
return Optional.of(childNo)
.map(item -> lQrWrapper()
.eq(VehicleWarnInfo::getChildNo, childNo)
.eq(VehicleWarnInfo::getWarnConfigId, warnConfigType)
.last("limit 1")
)
.map(super::getOne);
}
@Override
public Optional<VehicleWarnInfo> findByWarnConfigType(Integer warnConfigType) {
return Optional.of(warnConfigType)
.map(item -> lQrWrapper()
.eq(VehicleWarnInfo::getWarnConfigId, warnConfigType)
.orderByDesc(VehicleWarnInfo::getId)
.last("limit 1")
)
.map(super::getOne);
}
@Override @Override
public IPage<VehicleWarnInfo> pageByParam(PageVehicleWarnInfoParam param) { public IPage<VehicleWarnInfo> pageByParam(PageVehicleWarnInfoParam param) {
......
package com.clx.performance.dao.impl.vehiclewarn;
import com.clx.performance.dao.vehiclewarn.VehicleWarnRangeDao;
import com.clx.performance.enums.vehiclewarn.VehicleWarnRangEnum;
import com.clx.performance.mapper.vehiclewarn.VehicleWarnRangMapper;
import com.clx.performance.model.vehiclewarn.VehicleWarnRang;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.List;
@Repository
public class VehicleWarnRangeDaoImpl extends BaseDaoImpl<VehicleWarnRangMapper, VehicleWarnRang, Integer> implements VehicleWarnRangeDao {
@Override
public List<VehicleWarnRang> ListByWarnConfigId(Integer warnConfigId) {
return list(lQrWrapper()
.eq(VehicleWarnRang::getWarnConfigId, warnConfigId)
.eq(VehicleWarnRang::getStatus, VehicleWarnRangEnum.Status.ENABLE.getCode())
.le(VehicleWarnRang::getWarnEndTime, LocalDateTime.now())
.orderByDesc(VehicleWarnRang::getId)
);
}
}
package com.clx.performance.dao.vehiclewarn;
import com.clx.performance.mapper.vehiclewarn.VehicleWarnChildMapper;
import com.clx.performance.model.vehiclewarn.VehicleWarnChild;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.util.List;
public interface VehicleWarnChildDao extends BaseDao<VehicleWarnChildMapper, VehicleWarnChild, Integer> {
boolean updateTraceTime(VehicleWarnChild item);
Optional<VehicleWarnChild> findByChildNo(String childNo);
List<VehicleWarnChild> ListTruckNoOfTrace();
List<VehicleWarnChild> ListTruckNoOfWarn();
}
...@@ -7,6 +7,8 @@ import com.clx.performance.param.pc.vehiclewarn.PageVehicleWarnConfigParam; ...@@ -7,6 +7,8 @@ import com.clx.performance.param.pc.vehiclewarn.PageVehicleWarnConfigParam;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import java.util.List;
public interface VehicleWarnConfigDao extends BaseDao<VehicleWarnConfigMapper, VehicleWarnConfig, Integer> { public interface VehicleWarnConfigDao extends BaseDao<VehicleWarnConfigMapper, VehicleWarnConfig, Integer> {
boolean updateConfig(VehicleWarnConfig item); boolean updateConfig(VehicleWarnConfig item);
...@@ -15,6 +17,7 @@ public interface VehicleWarnConfigDao extends BaseDao<VehicleWarnConfigMapper, V ...@@ -15,6 +17,7 @@ public interface VehicleWarnConfigDao extends BaseDao<VehicleWarnConfigMapper, V
Optional<VehicleWarnConfig> findById(Integer id); Optional<VehicleWarnConfig> findById(Integer id);
Optional<VehicleWarnConfig> findByName(String name); Optional<VehicleWarnConfig> findByName(String name);
List<VehicleWarnConfig> listByWarnType(Integer warnType);
IPage<VehicleWarnConfig> pageByParam(PageVehicleWarnConfigParam param); IPage<VehicleWarnConfig> pageByParam(PageVehicleWarnConfigParam param);
......
...@@ -10,8 +10,12 @@ import com.msl.common.dao.BaseDao; ...@@ -10,8 +10,12 @@ import com.msl.common.dao.BaseDao;
public interface VehicleWarnInfoDao extends BaseDao<VehicleWarnInfoMapper, VehicleWarnInfo, Integer> { public interface VehicleWarnInfoDao extends BaseDao<VehicleWarnInfoMapper, VehicleWarnInfo, Integer> {
boolean updateStatus(VehicleWarnInfo item); boolean updateStatus(VehicleWarnInfo item);
boolean updateWarn(VehicleWarnInfo item);
Optional<VehicleWarnInfo> findById(Integer id); Optional<VehicleWarnInfo> findById(Integer id);
Optional<VehicleWarnInfo> findByChildNoAndWarnConfigType(String childNo, Integer warnConfigType);
Optional<VehicleWarnInfo> findByWarnConfigType(Integer warnConfigType);
IPage<VehicleWarnInfo> pageByParam(PageVehicleWarnInfoParam param); IPage<VehicleWarnInfo> pageByParam(PageVehicleWarnInfoParam param);
......
package com.clx.performance.dao.vehiclewarn;
import com.clx.performance.mapper.vehiclewarn.VehicleWarnRangMapper;
import com.clx.performance.model.vehiclewarn.VehicleWarnRang;
import com.msl.common.dao.BaseDao;
import java.util.List;
public interface VehicleWarnRangeDao extends BaseDao<VehicleWarnRangMapper, VehicleWarnRang, Integer> {
List<VehicleWarnRang> ListByWarnConfigId(Integer warnConfigId);
}
package com.clx.performance.mapper.vehiclewarn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.vehiclewarn.VehicleWarnChild;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface VehicleWarnChildMapper extends BaseMapper<VehicleWarnChild> {
}
\ No newline at end of file
package com.clx.performance.mapper.vehiclewarn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.vehiclewarn.VehicleWarnRang;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface VehicleWarnRangMapper extends BaseMapper<VehicleWarnRang> {
}
\ No newline at end of file
package com.clx.performance.model.vehiclewarn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 车辆预警运单表
* @Date: 2024/04/28 14:36:58
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class VehicleWarnChild implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private String childNo; //运单编号
private String orderNo; //货单编号
private String truckNo; //车牌号
private Long driverUserNo; //司机用户编号
private BigDecimal sendLongitude; //发货地址经度
private BigDecimal sendLatitude; //发货地址纬度
private BigDecimal receiveLongitude; //收货地址经度
private BigDecimal receiveLatitude; //收货地址纬度
private LocalDateTime expectSendTime; //预计到达货源地时间
private LocalDateTime expectReceiveTime; //预计到达目的地时间
private LocalDateTime traceTime; //轨迹更新时间
private Integer traceStatus; //轨迹更新状态:0禁止 1启用
private Integer wanStatus; //预警更新状态:0禁用 1启用
private Integer status; //状态
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
\ No newline at end of file
package com.clx.performance.model.vehiclewarn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 预警范围
* @Date: 2024/05/06 15:21:27
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class VehicleWarnRang implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Integer warnConfigId; //预警配置id
private String warnName; //预警名称
private Integer warnRang; //预警屏蔽范围:1运单 2货单 3全部
private String orderNo; //货单编号
private String childNo; //运单编号
private LocalDateTime warnEndTime; //预警屏蔽结束时间
private Integer status; //状态:1有效 2无效
private String createBy; //创建人
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论