dev
ljw 2026-03-17 13:35:45 +08:00
commit db8d2479a6
8 changed files with 50 additions and 15 deletions

View File

@ -174,7 +174,7 @@ public class BizDriverService extends ServiceImpl<BizDriverMapper, BizDriverEnti
SearchCompanyResult searchCompanyResult = baseMapper.selectCompanyByUserId(userDetail.getUserId());
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<BizDriverEntity>lambdaQuery()
.eq(BizDriverEntity::getBusy, false)
// .eq(BizDriverEntity::getBusy, false)
.eq(BizDriverEntity::getCompanyId, searchCompanyResult.getId())
.eq(BizDriverEntity::getAuditStatus, AuditStatus.TongGuo)
.and(StrUtil.isNotBlank(keywords), it ->

View File

@ -188,7 +188,7 @@ public class BizTruckService extends ServiceImpl<BizTruckMapper, BizTruckEntity>
SearchCompanyResult searchCompanyResult = baseMapper.selectCompanyByUserId(userDetail.getUserId());
Assert.notNull(searchCompanyResult, () -> Exceptions.exception("未查询到公司信息"));
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<BizTruckEntity>lambdaQuery()
.eq(BizTruckEntity::getBusy, false)
// .eq(BizTruckEntity::getBusy, false)
.eq(BizTruckEntity::getAuditStatus, AuditStatus.TongGuo)
.eq(BizTruckEntity::getCompanyId, searchCompanyResult.getId())
.and(StrUtil.isNotBlank(keywords), it ->

View File

@ -120,7 +120,7 @@ public class DeviceInfoController {
}
/**
* 1
* 1,
*/
@PostMapping("/report1")
public Map<String, Object> report1(@RequestBody JSONObject data) {
@ -128,7 +128,7 @@ public class DeviceInfoController {
}
/**
* 2
* 2
*/
@PostMapping("/report2")
public Map<String, Object> report2(@RequestBody JSONObject data) {

View File

@ -202,10 +202,20 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
* @param pageParam
* @return PageResult&lt;DeviceInfoEntity&gt;
*/
public PageResult<DeviceInfoEntity> paging(PageParam pageParam, DeviceInfoEntity deviceInfoEntity) {
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<DeviceInfoEntity>query(deviceInfoEntity)));
}
private void open(String sn, String cid) {
log.info("开门: {} {}", sn, cid);
Mqtt.publish(cid + "/1/barrier", MapUtil.builder()
.put("deviceNo", sn)
.build());
}
@Transactional(rollbackFor = Exception.class)
public Map<String, Object> report1(JSONObject data) {
MapBuilder<String, Object> resBuilder = MapUtil.<String, Object>builder()
@ -336,13 +346,6 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
.build();
}
private void open(String sn, String cid) {
log.info("开门: {} {}", sn, cid);
Mqtt.publish(cid + "/1/barrier", MapUtil.builder()
.put("deviceNo", sn)
.build());
}
@Transactional(rollbackFor = Exception.class)
public Map<String, Object> report2(JSONObject data) {
MapBuilder<String, Object> resBuilder = MapUtil.<String, Object>builder()
@ -441,6 +444,9 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
if (orderInfo.getCheckStatus() == CheckStatus.WeiKanLiao) {
// 播语音
playVoice(sn, cid, "{}未看料", licensePlate);
return resBuilder
.put("data", dataBuilder.build())
.build();
}
boolean b = orderInfoService.truckLeaving(new TruckLeavingOrderParam()
.setOrderId(orderId)
@ -510,6 +516,7 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
.build();
}
private void playVoice(String sn, String cid, String content, Object... params) {
String format = StrUtil.format(content, params);
log.info("播语音: {} {} {}", sn, cid, format);

View File

@ -47,6 +47,7 @@ public class HsoaService extends ServiceImpl<HsoaMapper, HsoaRecode> implements
public HsoaResult<?> pushProvincialSave(OrderPagingResult detail) {
log.info("上传数据:{}", Jackson.toJsonStr(detail));
List<String> route = detail.getRoute();
PushProvincialSaveParam param = new PushProvincialSaveParam()
.setHandleInfo(new PushProvincialSaveParam.HandleInfo()
.setApproveDate(detail.getOutTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
@ -144,7 +145,7 @@ public class HsoaService extends ServiceImpl<HsoaMapper, HsoaRecode> implements
.setLicenseValidityPeriodDateRange(detail.getShiAuditTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "-" + detail.getShiAuditTime().plusHours(24).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
.setLicenseValidityPeriodStartDate(detail.getShiAuditTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
.setLicenseValidityPeriodEndDate(detail.getShiAuditTime().plusHours(24).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
// .setRoute("")
.setRoute(CollUtil.isEmpty(route) ? "" : String.join("-", route))
.setSuperviseUnitName(detail.getAreaName())
.setTransportDateRange(detail.getTransTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "-" + detail.getOutTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
.setTransportStartDate(detail.getTransTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))

View File

@ -56,4 +56,8 @@ public interface OrderInfoMapper extends BaseMapper<OrderInfoEntity> {
@SuppressWarnings("MybatisXMapperMethodInspection")
List<Map<String, Object>> statisticsByAreaGoods(@Param("ew") QueryWrapper<Object> ew);
Boolean driverIsBusy(@Param("driverId") Long driverId);
Boolean truckIsBusy(@Param("truckId") Long truckId);
}

View File

@ -786,7 +786,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
throw Exceptions.clierr("公司账户余额不足");
}
}
baseMapper.busyDriver(driverId, Boolean.TRUE);
// baseMapper.busyDriver(driverId, Boolean.TRUE);
OrderCategory orderCategory = orderInfo.getOrderCategory();
if (orderCategory == OrderCategory.DuanBoChu) {
@ -864,7 +864,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
long userId = SecurityUtil.currentUserId();
Long driverId_ = baseMapper.getDriverId(userId);
Assert.isTrue(driverId_ != null && driverId == driverId_, () -> Exceptions.clierr("您没有权限确认此单"));
baseMapper.busyTruck(truckId, Boolean.TRUE);
// baseMapper.busyTruck(truckId, Boolean.TRUE);
OrderCargoPlaceEntity cargoPlaceEntity = orderCargoPlaceService.getById(orderInfo.getCargoPlaceId());
String area = cargoPlaceEntity.getArea();
BizAuditConfigEntity bizAuditConfigEntity = bizAuditConfigService.getOne(Wrappers.lambdaQuery(BizAuditConfigEntity.class).eq(BizAuditConfigEntity::getArea, area));
@ -937,6 +937,12 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
Assert.notNull(orderInfo, () -> Exceptions.clierr("订单不存在"));
Assert.isTrue(orderInfo.getOrderStatus() == OrderStatus.YiJieDan, () -> Exceptions.clierr("当前订单状态,无法开始运输"));
Assert.isTrue(orderInfo.getAuditStatus() == AuditStatus.TongGuo, () -> Exceptions.clierr("当前订单未审核完成,无法开始运输"));
Long truckId = orderInfo.getTruckId();
Long driverId = orderInfo.getDriverId();
Boolean driverIsBusy = baseMapper.driverIsBusy(driverId);
Assert.isFalse(driverIsBusy, () -> Exceptions.exception("有未完成的订单,不能清运"));
Boolean truckIsBusy = baseMapper.truckIsBusy(truckId);
Assert.isFalse(truckIsBusy, () -> Exceptions.exception("有未完成的订单,不能清运"));
Long orderInfoId = orderInfo.getId();
OrderGoodsEntity entity = orderGoodsService.getById(orderInfo.getGoodsId());
@ -948,6 +954,8 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
handleCompanyPay(orderInfo, Boolean.TRUE, new BigDecimal("0"), Boolean.FALSE);
}
baseMapper.busyDriver(driverId, Boolean.TRUE);
baseMapper.busyTruck(truckId, Boolean.TRUE);
this.updateById(new OrderInfoEntity()
.setId(orderInfoId)
.setCargoPhoto(startTransportOrderParam.getCargoPhoto())
@ -955,7 +963,6 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
.setTransTime(LocalDateTime.now())
);
Long truckId = orderInfo.getTruckId();
Assert.notNull(truckId, () -> Exceptions.clierr("订单未分配车辆"));
BizTruckEntity truckInfo = baseMapper.getTruckInfo(truckId);
Assert.notNull(truckInfo, () -> Exceptions.clierr("车辆不存在"));
@ -1387,6 +1394,8 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
public void pushData(OrderPagingResult detail) {
Long orderId = detail.getId();
List<String> routes = baseMapper.getRoute(orderId);
detail.setRoute(routes);
CompletableFuture.runAsync(() -> {
HsoaResult<?> result = hsoaService.pushProvincialSave(detail);
HsoaRecode hsoaRecode = new HsoaRecode()
@ -2324,6 +2333,8 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
OrderInfoEntity orderInfo = this.getOne(Wrappers.<OrderInfoEntity>lambdaQuery().eq(OrderInfoEntity::getSn, orderSn));
Long orderId = orderInfo.getId();
OrderPagingResult detail = this.detail(orderId);
List<String> routes = baseMapper.getRoute(orderId);
detail.setRoute(routes);
HsoaResult<?> hsoaResult = hsoaService.pushProvincialSave(detail);
list.add(MapUtil.<String, Object>builder()
.put("result", hsoaResult)

View File

@ -400,4 +400,16 @@
INNER JOIN goods_info t2 ON t2.id = t1.goods_id
INNER JOIN sys_district t3 ON t3.id = t1.area_code
</select>
<select id="driverIsBusy" resultType="java.lang.Boolean">
SELECT COUNT(*) > 0 busy
FROM biz_driver
WHERE busy = 0
AND id = #{driverId}
</select>
<select id="truckIsBusy" resultType="java.lang.Boolean">
SELECT COUNT(*) > 0 busy
FROM biz_truck
WHERE busy = 0
AND id = #{truckId}
</select>
</mapper>