提交 13bc0869 authored 作者: 李瑞鑫's avatar 李瑞鑫

Merge branch 'v19.6_carrier_optimization_20240717' into dev

# Conflicts: # performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
......@@ -156,7 +156,19 @@ public enum PerformanceResultEnum implements ResultEnum {
OWNER_LOAN_RECORD_PAY_WAIT_ERROR(1853,"当前借款单状态不是待付款"),
OWNER_LOAN_PAYMENT_STATUS_ERROR(1854, "执行借款审批失败,请稍后重试"),
OWNER_LOAN_PAY_STATUS_ERROR(1855, "付款失败"),
DATA_STATUS_ERROR(1856, "当前状态有误")
DATA_STATUS_ERROR(1856, "当前状态有误"),
/**
* 磅单OCR识别
*/
OCR_RECOGNITION_ERROR(2101, "OCR识别错误"),
OCR_RECOGNITION_REPEAT(2102, "同一个运单只能识别一次"),
LOAD_TIME_BEFORE_ARRIVE_SEND_TIME(2103, "装货时间不可早于到达货源地时间"),
LOAD_TIME_AFTER_NOW(2104, "装货时间不可晚于当前时间"),
LOAD_TIME_AFTER_FIRST_LOAD_TIME(2105, "装货时间不可晚于首次提交时间"),
UNLOAD_TIME_BEFORE_ARRIVE_RECEIVE_TIME(2106, "交货时间不可早于到达目的地时间"),
UNLOAD_TIME_AFTER_NOW(2107, "交货时间不可晚于当前时间"),
UNLOAD_TIME_AFTER_FIRST_UNLOAD_TIME(2108, "交货时间不可晚于首次提交时间"),
;
private final int code;
private final String msg;
......
......@@ -47,11 +47,9 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam {
private List<String> unloadImageList;
@ApiModelProperty(value = "装货时间")
@NotBlank(message = "装货时间不能为空")
private String loadTime;
@ApiModelProperty(value = "交货时间")
@NotBlank(message = "交货时间不能为空")
private String unloadTime;
}
......@@ -5,7 +5,6 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
......@@ -34,6 +33,5 @@ public class OrderChildLoadParam extends PositionParam {
private List<String> loadImageList;
@ApiModelProperty(value = "装货时间")
@NotBlank(message = "装货时间不能为空")
private String loadTime;
}
......@@ -5,10 +5,8 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
......@@ -32,7 +30,6 @@ public class OrderChildUnloadParam extends PositionParam {
private List<String> unloadImageList;
@ApiModelProperty(value = "交货时间")
@NotBlank(message = "交货时间不能为空")
private String unloadTime;
}
......@@ -6,6 +6,8 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @author yangqifa
*/
......@@ -15,7 +17,7 @@ import lombok.ToString;
@NoArgsConstructor
public class OcrRecognitionResultVO {
@ApiModelProperty(value = "毛重", example = "48.36")
private Double grossWeight;
private BigDecimal grossWeight;
@ApiModelProperty(value = "皮重", example = "16.32")
private Double tareWeight;
private BigDecimal tareWeight;
}
package com.clx.performance.vo.app;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
......@@ -9,7 +8,6 @@ import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Getter
......@@ -56,14 +54,20 @@ public class OrderChildPoundInfoVO {
private List<String> unloadImageList;
@ApiModelProperty(value = "到达货源地时间")
private LocalDateTime arriveSendTime;
private String arriveSendTime;
@ApiModelProperty(value = "首次装货时间")
private LocalDateTime firstLoadTime;
private String firstLoadTime;
@ApiModelProperty(value = "到达目的地时间")
private LocalDateTime arriveReceiveTime;
private String arriveReceiveTime;
@ApiModelProperty(value = "首次交货时间")
private LocalDateTime firstUnloadTime;
private String firstUnloadTime;
@ApiModelProperty(value = "装货时间")
private String loadTime;
@ApiModelProperty(value = "交货时间")
private String unloadTime;
}
\ No newline at end of file
......@@ -72,14 +72,14 @@ public class OrderChildPoundAuditDetailVO {
private String receiveAddress;
@ApiModelProperty(value = "装车识别毛重参考")
private Double loadGrossWeight;
private BigDecimal loadGrossWeight;
@ApiModelProperty(value = "装车识别皮重参考")
private Double loadTareWeight;
private BigDecimal loadTareWeight;
@ApiModelProperty(value = "卸车识别毛重参考")
private Double unloadGrossWeight;
private BigDecimal unloadGrossWeight;
@ApiModelProperty(value = "卸车识别皮重参考")
private Double unloadTareWeight;
private BigDecimal unloadTareWeight;
}
\ No newline at end of file
package com.clx.performance.config;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
* @author yangqifa
*/
@Configuration
@Getter
@Setter
@ConfigurationProperties(prefix = "tencentcloudapi.credential")
public class TencentCloudApiOcrConfig {
private String secretId;
private String secretKey;
}
......@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
......@@ -92,8 +93,8 @@ public class CarrierOrderChildController {
@ApiOperation(value = "业务信息", notes = "<br>By:胡宇帆")
@GetMapping("/orderChildBussInfo")
public Result<OrderChildBussInfoVO> getOrderChildBussInfo(@NotBlank(message = "车牌号不能为空") String truckNo) {
return Result.ok(orderChildService.getOrderChildBussInfo(truckNo));
public Result<OrderChildBussInfoVO> getOrderChildBussInfo(@NotNull(message = "车辆id不能为空") Integer truckId) {
return Result.ok(orderChildService.getOrderChildBussInfo(truckId));
}
......
......@@ -2,10 +2,13 @@ package com.clx.performance.dao;
import com.clx.performance.mapper.OcrRecognitionMapper;
import com.clx.performance.model.OcrRecognition;
import com.clx.performance.param.app.OcrRecognitionParam;
import com.msl.common.dao.BaseDao;
/**
* @author yangqifa
*/
public interface OcrRecognitionDao extends BaseDao<OcrRecognitionMapper, OcrRecognition, Integer> {
boolean exists(OcrRecognitionParam param);
}
......@@ -66,7 +66,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
Integer getOrderChildTotalByUserNo(Long userNo);
List<OrderChild> getOrderChildBussInfo(String truckNo);
List<OrderChild> getOrderChildBussInfo(int truckId);
List<OrderChild> selectListByOrderGoodsNo(String orderGoodsNo);
......
......@@ -17,4 +17,6 @@ public interface OrderGoodsDriverTruckDao extends BaseDao<OrderGoodsDriverTruckM
void deleteByTruckNoAndDriverUserNo(String truckNo, String driverUserNo, Integer truckId);
Optional<List<OrderGoodsDriverTruck>> selectListByDriverUserNo(Long driverUserNo);
void updateTruckNoByTruckId(String truckNo, Integer truckId);
}
......@@ -3,6 +3,7 @@ package com.clx.performance.dao.impl;
import com.clx.performance.dao.OcrRecognitionDao;
import com.clx.performance.mapper.OcrRecognitionMapper;
import com.clx.performance.model.OcrRecognition;
import com.clx.performance.param.app.OcrRecognitionParam;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
......@@ -12,4 +13,11 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public class OcrRecognitionDaoImpl extends BaseDaoImpl<OcrRecognitionMapper, OcrRecognition, Integer> implements OcrRecognitionDao {
@Override
public boolean exists(OcrRecognitionParam param) {
return baseMapper.exists(lQrWrapper()
.eq(OcrRecognition::getChildNo, param.getChildNo())
.eq(OcrRecognition::getImageType, param.getImageType()));
}
}
......@@ -373,9 +373,9 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override
public List<OrderChild> getOrderChildBussInfo(String truckNo) {
public List<OrderChild> getOrderChildBussInfo(int truckId) {
LambdaQueryWrapper<OrderChild> query = new LambdaQueryWrapper();
query.eq(OrderChild::getTruckNo, truckNo)
query.eq(OrderChild::getTruckId, truckId)
.in(OrderChild::getStatus, OrderChildEnum.Status.UNSETTLE.getCode(),OrderChildEnum.Status.COMPLETE.getCode());
return baseMapper.selectList(query);
}
......
......@@ -36,4 +36,11 @@ public class OrderGoodsDriverTruckDaoImpl extends BaseDaoImpl<OrderGoodsDriverTr
return Optional.of(orderGoodsDriverTrucks);
}
@Override
public void updateTruckNoByTruckId(String truckNo, Integer truckId) {
update(lUdWrapper().set(OrderGoodsDriverTruck::getTruckNo, truckNo)
.eq(OrderGoodsDriverTruck::getTruckId, truckId)
);
}
}
......@@ -57,6 +57,10 @@ public class OrderGoodsDriverTruckListener {
orderGoodsDriverTruckDao.deleteByTruckNoAndDriverUserNo(truckNo.toString(), driverUserNo.toString(), Integer.valueOf(truckId.toString()));
log.info("处理货单定向司机表:执行删除");
break;
case "3":
orderGoodsDriverTruckDao.updateTruckNoByTruckId(truckNo.toString(), Integer.valueOf(truckId.toString()));
log.info("处理货单定向司机表:执行更新");
break;
default:
break;
}
......
......@@ -6,6 +6,7 @@ import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
......@@ -45,13 +46,19 @@ public class OcrRecognition implements HasKey<Integer> {
* 毛重
*/
@ApiModelProperty(value = "毛重")
private Double grossWeight;
private BigDecimal grossWeight;
/**
* 皮重
*/
@ApiModelProperty(value = "皮重")
private Double tareWeight;
private BigDecimal tareWeight;
/**
* OCR识别的原始结果
*/
@ApiModelProperty(value = "OCR识别的原始结果")
private String originalResult;
/**
* 创建时间
......
......@@ -71,7 +71,7 @@ public interface OrderChildService {
Integer getOrderChildTotalByUserNo(Long userNo);
OrderChildBussInfoVO getOrderChildBussInfo(String truckNo);
OrderChildBussInfoVO getOrderChildBussInfo(int truckId);
IPage<OutputMonitorOrderChildVO> getMonitorOrerChildListsByParam(PageMonitorOrderChildQCParam param);
......
......@@ -63,7 +63,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
List<OrderChildImage> unloadImages = orderChildImageDao.getImages(childNo, OrderChildImage.Type.UNLOAD.getCode());
OrderChild orderChild = orderChildDao.getByChildNo(childNo).get();
List<OcrRecognition> ocrRecognitionList = ocrRecognitionDao.listByField(OcrRecognition::getChildNo, childNo);
Map<Integer, OcrRecognition> imageTypeOcrRecognitionMap = ocrRecognitionList.stream().collect(Collectors.toMap(OcrRecognition::getImageType, item -> item));
Map<Integer, OcrRecognition> imageTypeOcrRecognitionMap = ocrRecognitionList.stream().collect(Collectors.toMap(OcrRecognition::getImageType, v -> v,(k1,k2)->k1));
OrderChildPoundAuditDetailVO vo = new OrderChildPoundAuditDetailVO();
vo.setChildNo(childNo);
vo.setLoadImages(loadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
......@@ -252,6 +252,9 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
//本次调整金额
BigDecimal platformServiceFeeNew = BigDecimal.ZERO;
log.info("运单号 {} ,原始冻结金额 {} ",orderChild.getChildNo(),platformServiceFee);
if(Objects.isNull(platformServiceFee)){
return PaymentDTO.builder().changeDeposit(null).platformServiceFeeNew(null).build();
}
if(freight.compareTo(BigDecimal.ZERO)<=0){
return PaymentDTO.builder().changeDeposit(platformServiceFee.multiply(new BigDecimal("-1"))).platformServiceFeeNew(platformServiceFeeNew).build();
}
......
......@@ -383,7 +383,7 @@ public class PaymentServiceImpl implements PaymentService {
orderPaymentDao.selectByRelationNo(orderNo,operation,paymentItem).orNull();
if (null == orderPaymentOptional){
log.error("数据不存在 {}, {}" ,orderNo,msg);
return;
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,"数据不存在") ;
}
orderPaymentOptional.setStatus(PaymentStatusEnum.FAIL.getValue());
orderPaymentOptional.setReason(msg);
......@@ -396,8 +396,7 @@ public class PaymentServiceImpl implements PaymentService {
OrderPayment orderPaymentOptional =
orderPaymentDao.selectByRelationNo(orderNo,operation,paymentItem).orNull();
if (null == orderPaymentOptional){
log.error("数据不存在 {}, {}" ,orderNo);
return;
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,"数据不存在") ;
}
orderPaymentOptional.setStatus(PaymentStatusEnum.SUCCESS.getValue());
orderPaymentDao.updateEntityByKey(orderPaymentOptional);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论