12.5修改

This commit is contained in:
赵辉
2025-12-05 21:42:06 +08:00
parent 5005f4291f
commit a950417939
31 changed files with 277 additions and 10 deletions
+1 -1
View File
@@ -156,7 +156,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<version>1.18.22</version>
</dependency>
<dependency>
@@ -301,4 +301,7 @@ public class UserDriverListPo {
@ApiModelProperty(value = "是否允许竞价(0-不允许竞价,1-允许参与竞价,2-允许查看竞价)")
private Integer isDriverBidding;
@ApiModelProperty(value = "用户身份")
private Integer userIdentity;
}
@@ -127,4 +127,7 @@ public class UserDriverEntity extends BaseVOEntity {
@ApiModelProperty(name = "tms推送状态: 1-未推送 2- 已推送")
private Integer tmsPushStatus;
@ApiModelProperty(name = "用户身份")
private Integer userIdentity;
}
@@ -228,4 +228,7 @@ public class UserDriverPo extends BaseVOEntity {
@ApiModelProperty(name = "tms推送状态: 1-未推送 2- 已推送")
private Integer tmsPushStatus;
@ApiModelProperty(name = "用户身份")
private Integer userIdentity;
}
@@ -283,4 +283,7 @@ public class UserDriverDO extends UserDO {
@ApiModelProperty(name = "车队名称")
private String motorcadeName;
@ApiModelProperty(name = "用户身份")
private Integer userIdentity;
}
@@ -308,4 +308,7 @@ public class UserDriverDTO extends UserDTO {
@ApiModelProperty(name = "部门id")
private String departmentId;
@ApiModelProperty(name = "用户身份")
private Integer userIdentity;
}
@@ -120,6 +120,7 @@
a.driver_work_license_front_url,
a.work_certificate_back_img_url,
b.create_time,
a.user_identity,
b.create_by,
b.create_by_name,
b.update_time,
@@ -262,6 +263,7 @@
a.driver_fill_auth_id,
a.driver_fill_auth_name,
a.driver_fill_auth_remark,
a.user_identity,
b.user_id,
b.top_organization_id,
b.organization_id,
+1 -1
View File
@@ -87,7 +87,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<!--链路追踪-->
@@ -30,3 +30,11 @@ spring:
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
redisson:
config:
singleServerConfig:
address: redis://116.204.89.187:4399
connectTimeout: 10000 # 连接超时时间
timeout: 10000 # 命令执行超时时间
retryAttempts: 3 # 重试次数
retryInterval: 1500 # 重试间隔
+1 -1
View File
@@ -88,7 +88,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<!--import mybatis plus 它会自动引入mybatis及mybatis spring切勿重复引用以免冲突-->
+1 -1
View File
@@ -94,7 +94,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<!--链路追踪-->
+1 -1
View File
@@ -88,7 +88,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<!--链路追踪-->
@@ -2920,4 +2920,32 @@ public class VehicleApplicationService {
public void addVehicle(VehicleDto vehicleDto) {
}
/**
*
* @param vehicleDto
* @return
*/
public Integer updatePilotDriver(VehicleDto vehicleDto) {
if (vehicleDto.getVehicleId() == null) {
throw new IllegalArgumentException("车辆ID不能为空");
}
boolean hasPilot1 = StringUtils.hasText(vehicleDto.getPilot1());
boolean hasPilot2 = StringUtils.hasText(vehicleDto.getPilot2());
// 两个都传了
if (hasPilot1 && hasPilot2) {
throw new IllegalArgumentException("不可同时传入");
}
// 两个都没传
if (!hasPilot1 && !hasPilot2) {
throw new IllegalArgumentException("请选择副驾");
}
// 更新
return vehicleMapper.updatePilotDriver(vehicleDto);
}
}
@@ -45,4 +45,10 @@ public class CreateMaterialCommand {
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "物料体积")
private BigDecimal materialVolume;
@ApiModelProperty(value = "物料内容")
private String materialContent;
}
@@ -36,6 +36,8 @@ public class MaterialCommandService {
command.getValue(),
command.getCodeManaged(),
command.getWeight(),
command.getMaterialVolume(),
command.getMaterialContent(),
command.getRemark(),
codeGenerator
);
@@ -57,6 +59,8 @@ public class MaterialCommandService {
command.getValue(),
command.getCodeManaged(),
command.getWeight(),
command.getMaterialVolume(),
command.getMaterialContent(),
command.getRemark()
);
@@ -38,4 +38,11 @@ public class UpdateMaterialCommand {
private Boolean codeManaged;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "物料体积")
private BigDecimal materialVolume;
@ApiModelProperty(value = "物料内容")
private String materialContent;
}
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
@Data
@ApiModel("查询参数")
@@ -27,4 +28,8 @@ public class MaterialQueryCommand {
private Long pageNo = 1L;
@ApiModelProperty(name = "每页条数")
private Long pageSize = 10L;
@ApiModelProperty(value = "物料体积")
private BigDecimal materialVolume;
@ApiModelProperty(value = "物料内容")
private String materialContent;
}
@@ -28,6 +28,7 @@ public class MaterialQueryService {
param.getMaterialCode(),
param.getCodeManaged(),
param.getRemark(),
param.getMaterialContent(),
param.getPageNo(),
param.getPageSize()
).convert(MaterialConverter :: convertToVO);
@@ -36,6 +36,12 @@ public class MaterialVO{
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty(value = "物料体积")
private BigDecimal materialVolume;
@ApiModelProperty(value = "物料内容")
private String materialContent;
@ApiModelProperty("创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@@ -322,5 +322,29 @@ public class Vehicle extends BaseVOEntity implements Serializable
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date insuranceValidityPeriod;
@ApiModelProperty(value = "副驾1")
private String pilot1;
@ApiModelProperty(value = "副驾1的Id")
private String pilot1Id;
@ApiModelProperty(value = "副驾2")
private String pilot2;
@ApiModelProperty(value = "副驾2的Id")
private String pilot2Id;
@ApiModelProperty(value = "跨境车牌")
private String crossPlate;
@ApiModelProperty(value = "保险")
private String insurance;
@ApiModelProperty(value = "签证本")
private String visa;
@ApiModelProperty(value = "车辆主体")
private Integer vehicleBody;
}
@@ -122,4 +122,6 @@ public interface VehicleMapper extends BaseMapper<Vehicle>
* APP绑定车辆我的车辆列表查询
*/
List<DriverVehicleBindPo> driverBindMyCarList(@Param("driverVehicleBindDto") DriverVehicleBindDto driverVehicleBindDto);
Integer updatePilotDriver(VehicleDto vehicleDto);
}
@@ -425,4 +425,28 @@ public class VehiclePo extends BaseVOEntity implements Serializable
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date insuranceValidityPeriod;
@ApiModelProperty(value = "副驾1")
private String pilot1;
@ApiModelProperty(value = "副驾1的Id")
private String pilot1Id;
@ApiModelProperty(value = "副驾2")
private String pilot2;
@ApiModelProperty(value = "副驾2的Id")
private String pilot2Id;
@ApiModelProperty(value = "跨境车牌")
private String crossPlate;
@ApiModelProperty(value = "保险")
private String insurance;
@ApiModelProperty(value = "签证本")
private String visa;
@ApiModelProperty(value = "车辆主体")
private Integer vehicleBody;
}
@@ -26,9 +26,12 @@ public class Material {
private boolean codeManaged;
private String remark;
private BigDecimal weight;
private BigDecimal materialVolume;
private String materialContent;
private LocalDateTime createTime;
private LocalDateTime updateTime;
// 私有构造方法
private Material(Long ownerId,
String shipper,
@@ -39,6 +42,8 @@ public class Material {
BigDecimal value,
boolean codeManaged,
BigDecimal weight,
BigDecimal materialVolume,
String materialContent,
String remark) {
validateRequiredFields( category, name, unit);
this.ownerId = ownerId;
@@ -51,6 +56,8 @@ public class Material {
this.codeManaged = codeManaged;
this.remark = remark;
this.weight = weight;
this.materialVolume = materialVolume;
this.materialContent = materialContent;
this.createTime = LocalDateTime.now();
this.updateTime = LocalDateTime.now();
}
@@ -66,10 +73,12 @@ public class Material {
BigDecimal value,
boolean codeManaged,
BigDecimal weight,
BigDecimal materialVolume,
String materialContent,
String remark,
MaterialCodeGenerator codeGenerator) {
Material material = new Material(ownerId, shipper, category, name, model,
unit, value, codeManaged, weight,remark
unit, value, codeManaged, weight, materialVolume, materialContent, remark
);
material.materialCode = codeGenerator.generate();
return material;
@@ -83,6 +92,8 @@ public class Material {
BigDecimal value,
boolean codeManaged,
BigDecimal weight,
BigDecimal materialVolume,
String materialContent,
String remark) {
this.ownerId = ownerId;
this.shipper = shipper;
@@ -91,6 +102,8 @@ public class Material {
this.model = model;
this.unit = unit;
this.weight = weight;
this.materialVolume = materialVolume;
this.materialContent = materialContent;
this.value = validateValue(value);
this.codeManaged = codeManaged;
this.remark = remark;
@@ -56,7 +56,7 @@ public interface MaterialRepository {
* @param size 每页大小
* @return 分页的物料数据
*/
IPage<Material> search(String shipper, String category, String name,String model,String materialCode,Boolean codeManaged,String remark,
IPage<Material> search(String shipper, String category, String name,String model,String materialCode,Boolean codeManaged,String remark,String materialContent,
Long current, Long size);
/**
@@ -32,4 +32,6 @@ public class MaterialDO {
@TableLogic
@TableField("is_deleted")
private Boolean deleted;
private BigDecimal materialVolume;
private String materialContent;
}
@@ -58,7 +58,7 @@ public class MaterialRepositoryImpl implements MaterialRepository {
}
@Override
public IPage<Material> search(String shipper, String category, String name, String model,String materialCode,Boolean codeManaged,String remark,
public IPage<Material> search(String shipper, String category, String name, String model,String materialCode,Boolean codeManaged,String remark,String materialContent,
Long current, Long size) {
LambdaQueryWrapper<MaterialDO> wrapper = Wrappers.<MaterialDO>lambdaQuery()
.eq(StringUtils.isNotBlank(shipper), MaterialDO :: getShipper, shipper)
@@ -68,6 +68,7 @@ public class MaterialRepositoryImpl implements MaterialRepository {
.like(StringUtils.isNotBlank(materialCode), MaterialDO :: getMaterialCode, materialCode)
.eq(null!=codeManaged, MaterialDO :: getCodeManaged, codeManaged)
.like(StringUtils.isNotBlank(remark), MaterialDO :: getRemark, remark)
.like(StringUtils.isNotBlank(materialContent), MaterialDO :: getMaterialContent, materialContent)
.orderByDesc(MaterialDO :: getCreateTime);
return materialMapper.selectPage(new Page<>(current, size), wrapper)
@@ -413,4 +413,28 @@ public class VehicleDto extends BaseVOEntity implements Serializable
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date insuranceValidityPeriod;
@ApiModelProperty(value = "副驾1")
private String pilot1;
@ApiModelProperty(value = "副驾1的Id")
private String pilot1Id;
@ApiModelProperty(value = "副驾2")
private String pilot2;
@ApiModelProperty(value = "副驾2的Id")
private String pilot2Id;
@ApiModelProperty(value = "跨境车牌")
private String crossPlate;
@ApiModelProperty(value = "保险")
private String insurance;
@ApiModelProperty(value = "签证本")
private String visa;
@ApiModelProperty(value = "车辆主体")
private Integer vehicleBody;
}
@@ -65,6 +65,15 @@ public class VehicleApi extends BaseController
return getDataTable(list);
}
/**
* 车辆绑定副驾
*/
@Log(title = "车辆管理-车辆绑定副驾", description = "车辆绑定副驾", businessType = BusinessType.UPDATE)
@PostMapping("/bindVehicle")
public R<Integer> bindVehicle(@RequestBody VehicleDto vehicleDto){
return R.ok(vehicleApplicationService.updatePilotDriver(vehicleDto));
}
/**
* 查询未绑定车辆列表
*/
@@ -102,4 +102,16 @@ public class MaterialApi {
public R<MaterialVO> getMaterial(@PathVariable Long id) {
return R.ok(queryService.getMaterialDetail(id));
}
/**
* 获取订单选择货物详情(包含体积和物料内容)
*
* @param id 物料ID
* @return 物料详情,包含体积和物料内容字段
*/
@GetMapping("/forOrderSelection")
@Log(title = "物料管理(PC)", description = "TMS-订单选择货物详情", businessType = BusinessType.OTHER)
public R<MaterialVO> getMaterialsForOrderSelection(@RequestParam(name = "id") Long id) {
return R.ok(queryService.getMaterialDetail(id));
}
}
@@ -116,6 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
*
FROM
vehicle
</sql>
<select id="selectVehicleList" parameterType="com.linke.transport.domain.vehicle.repository.po.VehiclePo" resultMap="VehicleResult">
@@ -124,6 +125,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
del_flag = 1
<if test="vehicleLicensePlateNumber != null and vehicleLicensePlateNumber != ''"> and vehicle_license_plate_number like concat('%', #{vehicleLicensePlateNumber}, '%')</if>
<if test="vehicleTypeId != null and vehicleTypeId != ''"> and vehicle_type_id = #{vehicleTypeId}</if>
<if test="vehicleBody != null and vehicleBody!='' "> and vehicle_body like concat('%', #{vehicleBody}, '%') </if>
<if test="vehicleSourceId != null and vehicleTypeId != ''"> and vehicle_source_id = #{vehicleSourceId}</if>
<if test="vehicleSource != null"> and vehicle_source = #{vehicleSource}</if>
<if test="trailerLicensePlateNumber != null and trailerLicensePlateNumber != ''"> and trailer_license_plate_number like concat('%', #{trailerLicensePlateNumber}, '%')</if>
@@ -643,6 +645,78 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where vehicle_id = #{item.vehicleId}
</foreach>
</update>
<update id="updatePilotDriver" parameterType="com.linke.transport.interfaces.dto.vehicle.VehicleDto">
<!-- 开启事务 -->
START TRANSACTION;
UPDATE ngwl_test_transport.vehicle v
SET
<choose>
<when test="pilot1Id!= null and pilot1Id != ''">
v.pilot1_id = #{pilot1Id},
v.pilot1 = #{pilot1}
</when>
<when test="pilot2Id != null and pilot2Id != ''">
v.pilot2_id = #{pilot2Id},
v.pilot2 = #{pilot2}
</when>
</choose>
WHERE v.vehicle_id = #{vehicleId};
<!-- 插入或更新车辆与副驾的绑定关系 -->
INSERT INTO ngwl_test_user.driver_vehicle_bind
(user_id, vehicle_id, driver_bind_id, bind_driver_name, vehicle_license_plate_number, default_flag, del_flag, create_time, update_time)
SELECT
v.user_id,
v.vehicle_id,
<choose>
<when test="pilot1Id != null and pilot1Id != ''">
#{pilot1Id},
#{pilot1},
</when>
<when test="pilot2Id != null and pilot2Id != ''">
#{pilot2Id},
#{pilot2},
</when>
</choose>
v.vehicle_license_plate_number,
2,
1,
NOW(),
NOW()
FROM ngwl_test_transport.vehicle v
WHERE v.vehicle_id = #{vehicleId}
ON DUPLICATE KEY UPDATE
bind_driver_name = VALUES(bind_driver_name),
update_time = NOW();
<!-- 插入或更新ngwl_test_wlhy库的tms_driver表中副驾与车辆的关联 -->
INSERT INTO ngwl_test_wlhy.tms_driver
(driver_id, driver_name, vehicle_type_id, create_time, update_time)
VALUES
(
<choose>
<when test="pilot1Id != null and pilot1Id != ''">
#{pilot1Id},
#{pilot1},
</when>
<when test="pilot2Id != null and pilot2Id != ''">
#{pilot2Id},
#{pilot2},
</when>
</choose>
#{vehicleId},
NOW(),
NOW()
)
ON DUPLICATE KEY UPDATE
driver_name = VALUES(driver_name),
vehicle_type_id = VALUES(vehicle_type_id),
update_time = NOW();
<!-- 提交事务 -->
COMMIT;
</update>
<delete id="deleteVehicleByVehicleId" parameterType="Long">
delete from vehicle where vehicle_id = #{vehicleId}
+1 -1
View File
@@ -38,7 +38,7 @@
<jjwt.version>0.9.1</jjwt.version>
<minio.version>8.2.2</minio.version>
<poi.version>4.1.2</poi.version>
<lombok.version>1.18.4</lombok.version>
<lombok.version>1.18.22</lombok.version>
<commons-collections.version>3.2.2</commons-collections.version>
<transmittable-thread-local.version>2.13.2</transmittable-thread-local.version>
<redisson.version>3.16.2</redisson.version>