ocr识别修改
This commit is contained in:
@@ -270,42 +270,49 @@ public class ConsStockFlowServiceImpl extends ServiceImpl<ConsStockFlowMapper, C
|
|||||||
mkOcr.setShopId(StpKit.USER.getShopId());
|
mkOcr.setShopId(StpKit.USER.getShopId());
|
||||||
ocrService.save(mkOcr);
|
ocrService.save(mkOcr);
|
||||||
ThreadUtil.execAsync(() -> {
|
ThreadUtil.execAsync(() -> {
|
||||||
String infoStr = AliOcrUtil.appCall(inputStream, originalFilename);
|
try {
|
||||||
SaleOrderDTO saleOrderDTO = JSONObject.parseObject(infoStr, SaleOrderDTO.class);
|
|
||||||
|
|
||||||
ArrayList<ConsInOutStockBodyParam> bodyList = new ArrayList<>();
|
String infoStr = AliOcrUtil.appCall(inputStream, originalFilename);
|
||||||
Set<String> nameList = saleOrderDTO.getItems().stream().map(SaleOrderDTO.Item::getConName).collect(Collectors.toSet());
|
SaleOrderDTO saleOrderDTO = JSONObject.parseObject(infoStr, SaleOrderDTO.class);
|
||||||
Map<String, ConsInfo> consInfoMap = new HashMap<>();
|
|
||||||
if (!nameList.isEmpty()) {
|
ArrayList<ConsInOutStockBodyParam> bodyList = new ArrayList<>();
|
||||||
consInfoMap = consInfoMapper.selectListByQuery(new QueryWrapper().in(ConsInfo::getConName, nameList))
|
Set<String> nameList = saleOrderDTO.getItems().stream().map(SaleOrderDTO.Item::getConName).collect(Collectors.toSet());
|
||||||
.stream().collect(Collectors.toMap(ConsInfo::getConName, consInfo -> consInfo));
|
Map<String, ConsInfo> consInfoMap = new HashMap<>();
|
||||||
}
|
if (!nameList.isEmpty()) {
|
||||||
ArrayList<SaleOrderDTO.Item> unInCons = new ArrayList<>();
|
consInfoMap = consInfoMapper.selectListByQuery(new QueryWrapper().in(ConsInfo::getConName, nameList).eq(ConsInfo::getShopId, StpKit.USER.getShopId()))
|
||||||
for (SaleOrderDTO.Item item : saleOrderDTO.getItems()) {
|
.stream().collect(Collectors.toMap(ConsInfo::getConName, consInfo -> consInfo));
|
||||||
ConsInfo consInfo = consInfoMap.get(item.getConName());
|
|
||||||
if (consInfo == null) {
|
|
||||||
unInCons.add(item);
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
bodyList.add(new ConsInOutStockBodyParam()
|
ArrayList<SaleOrderDTO.Item> unInCons = new ArrayList<>();
|
||||||
.setConId(consInfo.getId().toString())
|
for (SaleOrderDTO.Item item : saleOrderDTO.getItems()) {
|
||||||
.setConName(consInfo.getConName())
|
ConsInfo consInfo = consInfoMap.get(item.getConName());
|
||||||
.setPurchasePrice(new BigDecimal(item.getPurchasePrice()))
|
if (consInfo == null) {
|
||||||
.setUnitName(item.getUnitName())
|
unInCons.add(item);
|
||||||
.setSubTotal(new BigDecimal(item.getSubTotal()))
|
continue;
|
||||||
.setInOutNumber(new BigDecimal(item.getInOutNumber())));
|
}
|
||||||
|
bodyList.add(new ConsInOutStockBodyParam()
|
||||||
|
.setConId(consInfo.getId().toString())
|
||||||
|
.setConName(consInfo.getConName())
|
||||||
|
.setPurchasePrice(new BigDecimal(item.getPurchasePrice()))
|
||||||
|
.setUnitName(item.getUnitName())
|
||||||
|
.setSubTotal(new BigDecimal(item.getSubTotal()))
|
||||||
|
.setInOutNumber(new BigDecimal(item.getInOutNumber())));
|
||||||
|
}
|
||||||
|
|
||||||
|
ConsInOutStockHeadParam headParam = new ConsInOutStockHeadParam();
|
||||||
|
headParam.setBatchNo(saleOrderDTO.getOrderNumber())
|
||||||
|
.setInOutDate(LocalDate.parse(saleOrderDTO.getDate()))
|
||||||
|
.setAmountPayable(new BigDecimal(saleOrderDTO.getTotalAmount()))
|
||||||
|
.setBodyList(bodyList)
|
||||||
|
.setUnInCons(unInCons)
|
||||||
|
.setOcrSaleOrder(saleOrderDTO);
|
||||||
|
|
||||||
|
|
||||||
|
mkOcr.setResp(JSON.toJSONString(headParam));
|
||||||
|
ocrService.updateById(mkOcr);
|
||||||
|
}catch (Exception e) {
|
||||||
|
log.warn("ocr失败: {}", e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
ConsInOutStockHeadParam headParam = new ConsInOutStockHeadParam();
|
|
||||||
headParam.setBatchNo(saleOrderDTO.getOrderNumber())
|
|
||||||
.setInOutDate(LocalDate.parse(saleOrderDTO.getDate()))
|
|
||||||
.setAmountPayable(new BigDecimal(saleOrderDTO.getTotalAmount()))
|
|
||||||
.setBodyList(bodyList)
|
|
||||||
.setUnInCons(unInCons)
|
|
||||||
.setOcrSaleOrder(saleOrderDTO);
|
|
||||||
|
|
||||||
mkOcr.setResp(JSON.toJSONString(headParam));
|
|
||||||
ocrService.updateById(mkOcr);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return mkOcr.getId();
|
return mkOcr.getId();
|
||||||
|
|||||||
Reference in New Issue
Block a user