提交 0edcd1ea authored 作者: 杨启发's avatar 杨启发

磅单OCR识别需求

上级 747f5a0b
......@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author yangqifa
......@@ -19,6 +20,10 @@ public class OcrRecognitionParam {
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "图片类型,1:装车磅单,2:卸车磅单")
@NotNull(message = "图片类型不能为空")
private Integer imageType;
@ApiModelProperty(value = "磅单图片url")
@NotBlank(message = "磅单图片url不能为空")
private String imageUrl;
......
......@@ -56,6 +56,30 @@ public class OrderChildPoundAuditDetailVO {
@ApiModelProperty(value="创建时间",example = "2012-01-01 01:10:10")
private String createTime;
@ApiModelProperty("车牌号")
private String truckNo;
@ApiModelProperty(value = "装车时间")
private String firstLoadTime;
@ApiModelProperty(value = "卸车时间")
private String firstUnloadTime;
@ApiModelProperty(value = "发货地址")
private String sendAddress;
@ApiModelProperty(value = "收货地址")
private String receiveAddress;
@ApiModelProperty(value = "装车识别毛重参考")
private Double loadGrossWeight;
@ApiModelProperty(value = "装车识别皮重参考")
private Double loadTareWeight;
@ApiModelProperty(value = "卸车识别毛重参考")
private Double unloadGrossWeight;
@ApiModelProperty(value = "卸车识别皮重参考")
private Double unloadTareWeight;
}
\ No newline at end of file
......@@ -67,6 +67,8 @@ public class PageOrderChildPoundAuditVO {
@ApiModelProperty(value="卸车时间",example = "2020-01-01 10:10:10")
private String unloadTime;
@ApiModelProperty("车牌号")
private String truckNo;
......
......@@ -29,6 +29,12 @@ public class OcrRecognition implements HasKey<Integer> {
@ApiModelProperty(value = "运单编号")
private String childNo;
/**
* 图片类型,1:装车磅单,2:卸车磅单
*/
@ApiModelProperty(value = "图片类型,1:装车磅单,2:卸车磅单")
private Integer imageType;
/**
* 磅单图片url
*/
......
......@@ -22,9 +22,12 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import static com.msl.common.utils.LocalDateTimeUtils.convertLocalDateTimeToDefaultString;
/**
* @author liruixin
* Date 2023-09-19
......@@ -51,12 +54,16 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
private final OrderChildLogService orderChildLogService;
private final OrderChildService orderChildService;
private final PaymentService paymentService;
private final OcrRecognitionDao ocrRecognitionDao;
@Override
public OrderChildPoundAuditDetailVO getPoundAuditDetail(String childNo) {
OrderChildPoundAudit poundAuditDetail = orderChildPoundAuditDao.getPoundAuditDetail(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
List<OrderChildImage> loadImages = orderChildImageDao.getImages(childNo, OrderChildImage.Type.LOAD.getCode());
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));
OrderChildPoundAuditDetailVO vo = new OrderChildPoundAuditDetailVO();
vo.setChildNo(childNo);
vo.setLoadImages(loadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
......@@ -71,6 +78,16 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setStatus(poundAuditDetail.getStatus());
vo.setRemark(poundAuditDetail.getRemark());
vo.setRejectType(poundAuditDetail.getRejectType());
vo.setTruckNo(orderChild.getTruckNo());
vo.setFirstLoadTime(convertLocalDateTimeToDefaultString(orderChild.getFirstLoadTime()));
vo.setFirstUnloadTime(convertLocalDateTimeToDefaultString(orderChild.getFirstUnloadTime()));
vo.setSendAddress(orderChild.getSendAddress());
vo.setReceiveAddress(orderChild.getReceiveAddress());
vo.setLoadGrossWeight(imageTypeOcrRecognitionMap.get(OrderChildImage.Type.LOAD.getCode()).getGrossWeight());
vo.setLoadTareWeight(imageTypeOcrRecognitionMap.get(OrderChildImage.Type.LOAD.getCode()).getTareWeight());
vo.setUnloadGrossWeight(imageTypeOcrRecognitionMap.get(OrderChildImage.Type.UNLOAD.getCode()).getGrossWeight());
vo.setUnloadTareWeight(imageTypeOcrRecognitionMap.get(OrderChildImage.Type.UNLOAD.getCode()).getTareWeight());
return vo;
}
......
......@@ -2761,6 +2761,7 @@ public class OrderChildServiceImpl implements OrderChildService {
//保存识别结果
OcrRecognition ocrRecognition = new OcrRecognition();
ocrRecognition.setChildNo(param.getChildNo());
ocrRecognition.setImageType(param.getImageType());
ocrRecognition.setImageUrl(param.getImageUrl());
ocrRecognition.setGrossWeight(vo.getGrossWeight());
ocrRecognition.setTareWeight(vo.getTareWeight());
......
......@@ -85,7 +85,7 @@ public class OrderChildSqlProvider {
public String pagePoundAuditList(@Param("page") Page<PageOrderChildPoundAuditVO> page, @Param("param") PagePoundAuditParam param) {
return new SQL(){{
SELECT("child_no,pound_status as status,goods_name,send_address,receive_address,driver_name," +
"driver_mobile,load_net,unload_net,load_rough,load_tare,unload_rough,unload_tare," +
"driver_mobile,load_net,unload_net,load_rough,load_tare,unload_rough,unload_tare,truck_no," +
"date_format(pay_time, '%Y-%m-%d %H:%i:%s') as payTime," +
"date_format(load_time, '%Y-%m-%d %H:%i:%s') as loadTime," +
"date_format(unload_time, '%Y-%m-%d %H:%i:%s') as unloadTime ");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论