Merge pull request 'fix:ai统计弹窗-重复图片统计' (#89) from fix/ai_statistics_popup_adds_statistics_of_duplicate_images into test

Reviewed-on: #89
pull/96/head
cuihaojie 1 year ago
commit 50ef5c6534

@ -54,4 +54,8 @@ public class OcrCheckDuplicateResult implements Serializable {
@ApiModelProperty(value = "阈值分组排序值,数值越低排序越靠前,") @ApiModelProperty(value = "阈值分组排序值,数值越低排序越靠前,")
private Integer similarityGroupOrder; private Integer similarityGroupOrder;
@ApiModelProperty(value = "是否重复0.不重复 1.重复 (历史比对中阈值存在100的会显示此值)")
@TableField(exist = false)
private Integer isRepeat;
} }

@ -346,6 +346,10 @@ public class OcrPicture implements BaseDto, java.io.Serializable {
@TableField(value = "submit_date_timestamp") @TableField(value = "submit_date_timestamp")
private Long submitDateTimestamp; private Long submitDateTimestamp;
@ApiModelProperty(value = "是否重复0.不重复 1.重复 (历史比对中阈值存在100的会显示此值)")
@TableField(value = "is_repeat")
private Integer isRepeat;
@ApiModelProperty(value = "任务状态") @ApiModelProperty(value = "任务状态")
@TableField(exist = false) @TableField(exist = false)
private Integer states; private Integer states;

@ -195,4 +195,7 @@ public class OcrTaskchildPictureAppro implements java.io.Serializable {
@ApiModelProperty(value = "提交时间") @ApiModelProperty(value = "提交时间")
private Long finishTime; private Long finishTime;
@ApiModelProperty(value = "是否重复")
private Integer isRepeat;
} }

@ -286,6 +286,12 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
OcrCheckDuplicateResult ocrCheckDuplicateResult = new OcrCheckDuplicateResult(); OcrCheckDuplicateResult ocrCheckDuplicateResult = new OcrCheckDuplicateResult();
ocrCheckDuplicateResult.setPictureId(ocrPicture.getId()); ocrCheckDuplicateResult.setPictureId(ocrPicture.getId());
ocrCheckDuplicateResult.setMaxSimilarity(maxSimilarity.doubleValue()); ocrCheckDuplicateResult.setMaxSimilarity(maxSimilarity.doubleValue());
BigDecimal b3 = new BigDecimal("100");
if (maxSimilarity.compareTo(b3)==0) {
ocrCheckDuplicateResult.setIsRepeat(1);
}else {
ocrCheckDuplicateResult.setIsRepeat(0);
}
ocrCheckDuplicateResult.setCompareResultJson(JSONObject.toJSONString(resultMap)); ocrCheckDuplicateResult.setCompareResultJson(JSONObject.toJSONString(resultMap));
ocrCheckDuplicateResult.setCheckDuplicateId(checkDuplicateId); ocrCheckDuplicateResult.setCheckDuplicateId(checkDuplicateId);
if(similarityGroupOrderMap.get(ocrPicture.getId().toString())!=null){ if(similarityGroupOrderMap.get(ocrPicture.getId().toString())!=null){
@ -370,9 +376,19 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
*/ */
private boolean updatePictureSimilarityScore(List<OcrCheckDuplicateResult> saveList) throws Exception { private boolean updatePictureSimilarityScore(List<OcrCheckDuplicateResult> saveList) throws Exception {
List<OcrPicture> updateList = new ArrayList<>(); List<OcrPicture> updateList = new ArrayList<>();
List<OcrPicture> updateList1 = new ArrayList<>();
for (OcrCheckDuplicateResult ocrCheckDuplicateResult : saveList) { for (OcrCheckDuplicateResult ocrCheckDuplicateResult : saveList) {
OcrPicture picture = pictureService.selectDtoById(ocrCheckDuplicateResult.getPictureId()); OcrPicture picture = pictureService.selectDtoById(ocrCheckDuplicateResult.getPictureId());
OcrPicture ocrPicture = new OcrPicture(); OcrPicture ocrPicture = new OcrPicture();
if(ocrCheckDuplicateResult.getIsRepeat()==1){
OcrPicture ocrPicture1 = new OcrPicture();
if(picture.getIsRepeat() == null || picture.getIsRepeat() != 1){
ocrPicture1.setId(picture.getId());
ocrPicture1.setIsRepeat(1);
updateList1.add(ocrPicture1);
}
}
pictureService.updateBatchById(updateList1);
//如果当前图片没有历史阈值,直接更新上阈值 //如果当前图片没有历史阈值,直接更新上阈值
if (picture.getSimilarityscore() == null) { if (picture.getSimilarityscore() == null) {
ocrPicture.setId(picture.getId()); ocrPicture.setId(picture.getId());

@ -138,7 +138,11 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
int pendingApprovalCount = 0; // 待审批的数量 int pendingApprovalCount = 0; // 待审批的数量
int approvedCount = 0; // 通过的数量 int approvedCount = 0; // 通过的数量
int notGoCount = 0; // 不通过的数量 int notGoCount = 0; // 不通过的数量
int repeat = 0; // 重复数量
for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) { for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) {
if(ocrTaskchildPictureAppro.getIsRepeat() != null && ocrTaskchildPictureAppro.getIsRepeat() == 1){
repeat++;
}
if (ocrTaskchildPictureAppro.getStatshis() != null) { if (ocrTaskchildPictureAppro.getStatshis() != null) {
switch (ocrTaskchildPictureAppro.getStatshis()) { switch (ocrTaskchildPictureAppro.getStatshis()) {
case 1: case 1:
@ -163,6 +167,7 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
counts.put("total", approvedCount + pendingApprovalCount + notGoCount); counts.put("total", approvedCount + pendingApprovalCount + notGoCount);
counts.put("treat", pendingApprovalCount); counts.put("treat", pendingApprovalCount);
counts.put("approvedCount", approvedCount+notGoCount); counts.put("approvedCount", approvedCount+notGoCount);
counts.put("repeat", repeat);
resultVo.setCode("OK"); resultVo.setCode("OK");
resultVo.setMessage("成功"); resultVo.setMessage("成功");
resultVo.setData(counts); resultVo.setData(counts);

@ -635,7 +635,8 @@
uf.TASKNO, uf.TASKNO,
op.field6 as fromCustomerLevel, op.field6 as fromCustomerLevel,
op.releaseArea as fromCity op.releaseArea as fromCity,
op.is_repeat
from ocr_taskchild_picture tc from ocr_taskchild_picture tc
LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID
left join ocr_picture op on tc.PICTUREID = op.ID left join ocr_picture op on tc.PICTUREID = op.ID
@ -658,7 +659,8 @@
uf.TASKNO, uf.TASKNO,
op.field6 as fromCustomerLevel, op.field6 as fromCustomerLevel,
op.releaseArea as fromCity op.releaseArea as fromCity,
op.is_repeat
from ocr_taskchild_picture tc, from ocr_taskchild_picture tc,
OA_USERAPPROVE_T uf, OA_USERAPPROVE_T uf,
ocr_picture op ocr_picture op

Loading…
Cancel
Save