localizer
lzq 2025-10-04 16:10:37 +08:00
parent e3769b129b
commit 7cfcdc3b36
6 changed files with 47 additions and 8 deletions

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageParam;
import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.common.mp.support.PageResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
@ -65,8 +66,8 @@ public class IncSnService extends ServiceImpl<IncSnMapper, IncSnEntity> implemen
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<IncSnEntity>query(incSnEntity))); return PageResult.of(this.page(pageParam.toPage(), Wrappers.<IncSnEntity>query(incSnEntity)));
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
public Long inc(String code) { public synchronized Long inc(String code) {
IncSnEntity incCodeEntity = this.getOne(Wrappers.<IncSnEntity>lambdaQuery() IncSnEntity incCodeEntity = this.getOne(Wrappers.<IncSnEntity>lambdaQuery()
.eq(IncSnEntity::getCode, code)); .eq(IncSnEntity::getCode, code));
Long val = incCodeEntity.getVal(); Long val = incCodeEntity.getVal();

View File

@ -1,5 +1,7 @@
package com.njzscloud.common.sn.support; package com.njzscloud.common.sn.support;
import com.njzscloud.common.core.ex.Exceptions;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -21,6 +23,6 @@ public class Sn {
return sections.stream() return sections.stream()
.map(ISnSection::next) .map(ISnSection::next)
.reduce((a, b) -> a + b) .reduce((a, b) -> a + b)
.orElseThrow(() -> new RuntimeException("No section found")); .orElseThrow(() -> Exceptions.exception("编码配置配置错误"));
} }
} }

View File

@ -40,7 +40,7 @@ public final class SnUtil {
return next("Default"); return next("Default");
} }
public static String next(String sncode) { public static synchronized String next(String sncode) {
Assert.notBlank(sncode); Assert.notBlank(sncode);
return SN_CONFIG_SERVICE.getSn(sncode).next(); return SN_CONFIG_SERVICE.getSn(sncode).next();
} }

View File

@ -15,6 +15,7 @@ import com.njzscloud.supervisory.device.mapper.DeviceInfoMapper;
import com.njzscloud.supervisory.device.pojo.entity.DeviceInfoEntity; import com.njzscloud.supervisory.device.pojo.entity.DeviceInfoEntity;
import com.njzscloud.supervisory.order.contant.CheckStatus; import com.njzscloud.supervisory.order.contant.CheckStatus;
import com.njzscloud.supervisory.order.contant.OrderStatus; import com.njzscloud.supervisory.order.contant.OrderStatus;
import com.njzscloud.supervisory.order.contant.PaymentStatus;
import com.njzscloud.supervisory.order.pojo.entity.OrderInfoEntity; import com.njzscloud.supervisory.order.pojo.entity.OrderInfoEntity;
import com.njzscloud.supervisory.order.pojo.param.TruckComingOrderParam; import com.njzscloud.supervisory.order.pojo.param.TruckComingOrderParam;
import com.njzscloud.supervisory.order.pojo.param.TruckLeavingOrderParam; import com.njzscloud.supervisory.order.pojo.param.TruckLeavingOrderParam;
@ -203,7 +204,15 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
} }
DeviceCode deviceCode = deviceInfoEntity.getDeviceCode(); DeviceCode deviceCode = deviceInfoEntity.getDeviceCode();
OrderStatus orderStatus = orderPagingResult.getOrderStatus(); OrderStatus orderStatus = orderPagingResult.getOrderStatus();
CheckStatus checkStatus = orderPagingResult.getCheckStatus();
if (deviceCode == DeviceCode.JinQianZhi && orderStatus == OrderStatus.QingYunZhong) { if (deviceCode == DeviceCode.JinQianZhi && orderStatus == OrderStatus.QingYunZhong) {
PaymentStatus paymentStatus = orderPagingResult.getPaymentStatus();
if (paymentStatus == PaymentStatus.WeiZhiFu) {
// 播语音
playVoice(sn, cid, "{}请先支付", licensePlate);
}
// 开门 // 开门
open(sn, cid); open(sn, cid);
return resBuilder return resBuilder
@ -218,7 +227,24 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
.build()) .build())
.build(); .build();
} }
CheckStatus checkStatus = orderPagingResult.getCheckStatus();
if (deviceCode == DeviceCode.JinQianZhi && orderStatus == OrderStatus.YiJinChang) {
if (checkStatus == CheckStatus.WeiKanLiao) {
// 播语音
playVoice(sn, cid, "{}未看料", licensePlate);
return resBuilder
.put("data", dataBuilder.put("type", 0).build())
.build();
}
// 开门
open(sn, cid);
return resBuilder
.put("data", dataBuilder.put("type", 0).build())
.build();
}
if (deviceCode == DeviceCode.ChuQianZhi && checkStatus == CheckStatus.WeiKanLiao) { if (deviceCode == DeviceCode.ChuQianZhi && checkStatus == CheckStatus.WeiKanLiao) {
// 播语音 // 播语音
playVoice(sn, cid, "{}未看料", licensePlate); playVoice(sn, cid, "{}未看料", licensePlate);
@ -236,6 +262,14 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
.build(); .build();
} }
if (deviceCode == DeviceCode.Jin && orderStatus == OrderStatus.YiJinChang) {
return resBuilder
.put("data", dataBuilder.put("type", 2)
.put("order_no", orderPagingResult.getId() + "")
.build())
.build();
}
if (deviceCode == DeviceCode.Chu && orderStatus == OrderStatus.YiJinChang) { if (deviceCode == DeviceCode.Chu && orderStatus == OrderStatus.YiJinChang) {
return resBuilder return resBuilder
.put("data", dataBuilder.put("type", 2) .put("data", dataBuilder.put("type", 2)

View File

@ -11,8 +11,8 @@ import lombok.RequiredArgsConstructor;
@Getter @Getter
@RequiredArgsConstructor @RequiredArgsConstructor
public enum CheckStatus implements DictStr { public enum CheckStatus implements DictStr {
YiKanLiao("YiKanLiao", "已料"), YiKanLiao("YiKanLiao", "已料"),
WeiKanLiao("WeiKanLiao", "未料"), WeiKanLiao("WeiKanLiao", "未料"),
; ;
private final String val; private final String val;
private final String txt; private final String txt;

View File

@ -836,10 +836,12 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
Assert.isTrue(orderStatus == OrderStatus.YiJinChang, () -> Exceptions.clierr("当前订单状态,无法出场")); Assert.isTrue(orderStatus == OrderStatus.YiJinChang, () -> Exceptions.clierr("当前订单状态,无法出场"));
baseMapper.busyDriver(orderInfoEntity.getDriverId(), Boolean.FALSE); baseMapper.busyDriver(orderInfoEntity.getDriverId(), Boolean.FALSE);
baseMapper.busyTruck(orderInfoEntity.getTruckId(), Boolean.FALSE); baseMapper.busyTruck(orderInfoEntity.getTruckId(), Boolean.FALSE);
PaymentStatus paymentStatus = orderInfoEntity.getPaymentStatus();
this.updateById(new OrderInfoEntity() this.updateById(new OrderInfoEntity()
.setAutoOrder(3 ^ (i << 1)) .setAutoOrder(3 ^ (i << 1))
.setId(orderInfoEntity.getId()) .setId(orderInfoEntity.getId())
.setOrderStatus(OrderStatus.YiChuChang) .setOrderStatus(paymentStatus == PaymentStatus.WeiZhiFu ? OrderStatus.YiChuChang : OrderStatus.YiWanCheng)
); );
OrderCategory orderCategory = orderInfoEntity.getOrderCategory(); OrderCategory orderCategory = orderInfoEntity.getOrderCategory();
// 计算本单净重(或结算重量),作为结算时的数量依据 // 计算本单净重(或结算重量),作为结算时的数量依据