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