From b6ed6221eef1555ed3f7a3fc5fd8ce348cd724e1 Mon Sep 17 00:00:00 2001 From: hshansha Date: Mon, 28 Apr 2025 11:39:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E6=96=87=E6=A3=80=E7=B4=A2=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=96=B0=E5=A2=9E=E6=97=B6=E4=BF=AE=E6=94=B9=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E7=8A=B6=E6=80=81=E5=8F=8A=E7=9B=AE=E5=BD=95=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DaJianSuoController.java | 19 +++ .../java/com/da/dangan/domain/DaQuanwen.java | 28 +++- .../com/da/dangan/mapper/DaQuanwenMapper.java | 2 + .../da/dangan/service/IDaQuanwenService.java | 4 + .../service/impl/DaQuanwenServiceImpl.java | 139 +++++++++++++++++- .../service/impl/DaTaskServiceImpl.java | 12 ++ .../java/com/da/dangan/timetask/TimeTask.java | 2 +- .../resources/mapper/dangan/DaYtzmMapper.xml | 2 +- 8 files changed, 202 insertions(+), 6 deletions(-) diff --git a/dangan-dangan/src/main/java/com/da/dangan/controller/DaJianSuoController.java b/dangan-dangan/src/main/java/com/da/dangan/controller/DaJianSuoController.java index 450eeb9..d0c81c7 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/controller/DaJianSuoController.java +++ b/dangan-dangan/src/main/java/com/da/dangan/controller/DaJianSuoController.java @@ -37,6 +37,8 @@ public class DaJianSuoController extends BaseController { private IDaZfnyhkcgService daZfnyhkcgService; @Autowired private IDaZqzService daZqzService; + @Autowired + private IDaQuanwenService daQuanwenService; /** * 获取当前客户端ip 扫描仪webscan插件使用 @@ -310,5 +312,22 @@ public class DaJianSuoController extends BaseController { List list = daZqzService.searchDaZqzList1(daZqz); return getDataTable(list); } + /** + * 查询准迁证列表 + */ + @PreAuthorize("@ss.hasPermi('dangan:qw:list')") + @GetMapping("/qw1") + public TableDataInfo list1(DaQuanwen daqw) { + // 超管及角色为管理员显示所有目录信息 + LoginUser loginUser = getLoginUser(); + if (SysUser.isAdmin(getUserId()) || + loginUser.getUser().getRoles().stream().anyMatch(sysRole -> sysRole.getRoleKey().equals("sysAdmin"))) { + } else { + daqw.setUserId(getUserId()); + } + startPage(); + List list = daQuanwenService.searchDaQuanwenList1(daqw); + return getDataTable(list); + } } diff --git a/dangan-dangan/src/main/java/com/da/dangan/domain/DaQuanwen.java b/dangan-dangan/src/main/java/com/da/dangan/domain/DaQuanwen.java index c5582d1..8fd439a 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/domain/DaQuanwen.java +++ b/dangan-dangan/src/main/java/com/da/dangan/domain/DaQuanwen.java @@ -74,7 +74,33 @@ public class DaQuanwen extends BaseEntity @Excel(name = "审核原由") private String auditReason; - public void setId(Long id) + /** + * flag=0查看全部,1排除识别信息为空的记录 + */ + private String flag; + + /** + * 当前用户id + */ + private Long userId; + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getFlag() { + return flag; + } + + public void setFlag(String flag) { + this.flag = flag; + } + + public void setId(Long id) { this.id = id; } diff --git a/dangan-dangan/src/main/java/com/da/dangan/mapper/DaQuanwenMapper.java b/dangan-dangan/src/main/java/com/da/dangan/mapper/DaQuanwenMapper.java index 0e40a0d..3c51496 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/mapper/DaQuanwenMapper.java +++ b/dangan-dangan/src/main/java/com/da/dangan/mapper/DaQuanwenMapper.java @@ -28,6 +28,8 @@ public interface DaQuanwenMapper */ public List selectDaQuanwenList(DaQuanwen daQuanwen); + List searchDaQuanwenList1(DaQuanwen daqw); + /** * 新增全文识别 * diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/IDaQuanwenService.java b/dangan-dangan/src/main/java/com/da/dangan/service/IDaQuanwenService.java index c77dac3..a0aaa07 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/IDaQuanwenService.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/IDaQuanwenService.java @@ -59,4 +59,8 @@ public interface IDaQuanwenService * @return 结果 */ public int deleteDaQuanwenById(Long id); + + public int deleteDaQuanwenByIds1(Long[] ids); + + List searchDaQuanwenList1(DaQuanwen daqw); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaQuanwenServiceImpl.java b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaQuanwenServiceImpl.java index 2bb953d..b20cdaf 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaQuanwenServiceImpl.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaQuanwenServiceImpl.java @@ -1,13 +1,25 @@ package com.da.dangan.service.impl; +import com.da.common.core.domain.entity.DaCatalog; import com.da.common.utils.DateUtils; +import com.da.dangan.domain.DaPicturesRecard; import com.da.dangan.domain.DaQuanwen; +import com.da.dangan.domain.DaTask; +import com.da.dangan.mapper.DaCatalogMapper; +import com.da.dangan.mapper.DaPicturesRecardMapper; import com.da.dangan.mapper.DaQuanwenMapper; +import com.da.dangan.mapper.DaTaskMapper; import com.da.dangan.service.IDaQuanwenService; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 全文识别Service业务层处理 @@ -20,7 +32,12 @@ public class DaQuanwenServiceImpl implements IDaQuanwenService { @Resource private DaQuanwenMapper daQuanwenMapper; - + @Resource + private DaCatalogMapper daCatalogMapper; + @Resource + private DaPicturesRecardMapper daPicturesRecardMapper; + @Resource + private DaTaskMapper daTaskMapper; /** * 查询全文识别 * @@ -54,8 +71,55 @@ public class DaQuanwenServiceImpl implements IDaQuanwenService @Override public int insertDaQuanwen(DaQuanwen daQuanwen) { + //识别图片状态改为已识别 + List picIds = Stream.of(daQuanwen.getPicIds().split(",")).map(Long::parseLong).collect(Collectors.toList()); + if (picIds != null && picIds.size() > 0) { + for (Long picid : picIds) { + DaPicturesRecard picRecard = new DaPicturesRecard(); + picRecard.setId(picid); + picRecard.setRecognize("1"); + daPicturesRecardMapper.updateDaPicturesRecard(picRecard); + } + //手动识别且图片来自于任务,修改任务成功、失败图片 + if (daQuanwen.getTaskId() != null&&daQuanwen.getErrorCorrect().equals("2")) { + DaTask daTask = daTaskMapper.selectDaTaskById(daQuanwen.getTaskId()); + List failIds ; + List successIds = new ArrayList<>(); + String failId = daTask.getFailIds(); + String successId = daTask.getSuccessIds(); + if(failId!=null&&!failId.trim().equals("")){ + failIds = Stream.of(daTask.getFailIds().split(",")).map(Long::parseLong).collect(Collectors.toList()); + if(successId!=null&&!successId.trim().equals("")){ + successIds = Stream.of(daTask.getSuccessIds().split(",")).map(Long::parseLong).collect(Collectors.toList()); + } + + //失败减少、成功增加 + for(Long picId:picIds){ + if (failIds.remove(picId) && successIds.add(picId)) { + daTask.setSuccessNum(daTask.getSuccessNum() + 1); + daTask.setFailNum(daTask.getFailNum() - 1); + } + } + daTask.setFailIds(StringUtils.join(failIds, ",")); + daTask.setSuccessIds(StringUtils.join(successIds, ",")); + daTaskMapper.updateDaTask(daTask); + } + } + } daQuanwen.setCreateTime(DateUtils.getNowDate()); - return daQuanwenMapper.insertDaQuanwen(daQuanwen); + int i = daQuanwenMapper.insertDaQuanwen(daQuanwen); + + //1-根据muId 查询该muId的所有父级集合,当数据添加成功后-----修改该muId及父级catalog中的countNum值 + DaCatalog catalog = daCatalogMapper.selectDaCatalogById(daQuanwen.getMuId()); + List ancestors = Arrays.stream( + catalog.getAncestors().split(",")).map(s->Long.parseLong(s.trim())).collect(Collectors.toList()); + ancestors.add(daQuanwen.getMuId()); + ancestors.remove(0L); + //1-修改该muId及父级catalog id中的countNum值 + for(Long id :ancestors ){ + daCatalogMapper.addDaCatalogCountNumById(id,1L); + } + return i; } /** @@ -67,6 +131,17 @@ public class DaQuanwenServiceImpl implements IDaQuanwenService @Override public int updateDaQuanwen(DaQuanwen daQuanwen) { + if (daQuanwen.getErrorCorrect().equals("1")) { + String picIds = daQuanwen.getPicIds(); + String[] split = picIds.split(","); + for (String picId : split) { + Long picid = Long.parseLong(picId); + DaPicturesRecard picturesRecard = new DaPicturesRecard(); + picturesRecard.setId(picid); + picturesRecard.setErrorCorrect("1"); + daPicturesRecardMapper.updateDaPicturesRecard(picturesRecard); + } + } daQuanwen.setUpdateTime(DateUtils.getNowDate()); return daQuanwenMapper.updateDaQuanwen(daQuanwen); } @@ -80,7 +155,36 @@ public class DaQuanwenServiceImpl implements IDaQuanwenService @Override public int deleteDaQuanwenByIds(Long[] ids) { - return daQuanwenMapper.deleteDaQuanwenByIds(ids); + if(ids.length>0){ + //1-根据muId 查询该muId的所有父级集合,当数据添加成功后-----修改该muId及父级catalog中的countNum值 + DaQuanwen daQuanwen = daQuanwenMapper.selectDaQuanwenById(ids[0]); + DaCatalog catalog = daCatalogMapper.selectDaCatalogById(daQuanwen.getMuId()); + List ancestors = Arrays.stream( + catalog.getAncestors().split(",")).map(s->Long.parseLong(s.trim())).collect(Collectors.toList()); + ancestors.add(daQuanwen.getMuId()); + ancestors.remove(0L); + //1-修改该muId及父级catalog id中的countNum值 + for(Long muId :ancestors ){ + daCatalogMapper.minusDaCatalogCountNumById(muId,((Integer)ids.length).longValue()); + } + + //修改对应的图片为未识别 ----前端已设置只能单条删除 + List picIds = Stream.of(daQuanwen.getPicIds().split(",")).map(Long::parseLong).collect(Collectors.toList()); + DaQuanwen daQuanwen1= new DaQuanwen(); + daQuanwen1.setPicIds(daQuanwen.getPicIds()); + List daQuanwens = daQuanwenMapper.selectDaQuanwenList(daQuanwen1); + if(daQuanwens.size()<=1){ //当前需删除图片id不止存在一条记录时 不修改图片识别状态 + for(Long picId :picIds){ + DaPicturesRecard pic = new DaPicturesRecard(); + pic.setId(picId); + pic.setRecognize("0");//未识别 + pic.setErrorCorrect("0"); + daPicturesRecardMapper.updateDaPicturesRecard(pic); + } + } + } + int i = daQuanwenMapper.deleteDaQuanwenByIds(ids); + return i; } /** @@ -94,4 +198,33 @@ public class DaQuanwenServiceImpl implements IDaQuanwenService { return daQuanwenMapper.deleteDaQuanwenById(id); } + + /** + * 从任务删除的时候 使用这个方法 + * @param ids + * @return + */ + @Transactional + public int deleteDaQuanwenByIds1(Long[] ids) { + if(ids.length>0){ + //1-根据muId 查询该muId的所有父级集合,当数据删除成功后-----修改该muId及父级catalog中的countNum值 + DaQuanwen daqw = daQuanwenMapper.selectDaQuanwenById(ids[0]); + DaCatalog catalog = daCatalogMapper.selectDaCatalogById(daqw.getMuId()); + List ancestors = Arrays.stream( + catalog.getAncestors().split(",")).map(s->Long.parseLong(s.trim())).collect(Collectors.toList()); + ancestors.add(daqw.getMuId()); + ancestors.remove(0L); + //1-修改该muId及父级catalog id中的countNum值 + for(Long muId :ancestors ){ + daCatalogMapper.minusDaCatalogCountNumById(muId,((Integer)ids.length).longValue()); + } + } + int i = daQuanwenMapper.deleteDaQuanwenByIds(ids); + return i; + } + + @Override + public List searchDaQuanwenList1(DaQuanwen daqw) { + return daQuanwenMapper.searchDaQuanwenList1(daqw); + } } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaTaskServiceImpl.java b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaTaskServiceImpl.java index 0a3a514..1e5000b 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaTaskServiceImpl.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaTaskServiceImpl.java @@ -43,6 +43,8 @@ public class DaTaskServiceImpl implements IDaTaskService private IDaZfnyhkcgService daZfnyhkcgService; @Resource private DaPicturesRecardMapper daPicturesRecardMapper; + @Autowired + private IDaQuanwenService daQuanwenService; /** * 查询识别任务记录 * @@ -187,6 +189,16 @@ public class DaTaskServiceImpl implements IDaTaskService daZqzService.deleteDaZqzByIds1(zqzIds.toArray(new Long[zqzIds.size()])); } break; + case "option12": + //全文识别类型 + DaQuanwen qw = new DaQuanwen(); + qw.setTaskId(daTask.getId()); + List qws = daQuanwenService.selectDaQuanwenList(qw); + if(qws!=null&&qws.size()>0){ + List qwIds = qws.stream().map(DaQuanwen::getId).collect(Collectors.toList()); + daQuanwenService.deleteDaQuanwenByIds1(qwIds.toArray(new Long[qwIds.size()])); + } + break; } } } diff --git a/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java b/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java index 0ec0280..f81757b 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java +++ b/dangan-dangan/src/main/java/com/da/dangan/timetask/TimeTask.java @@ -438,7 +438,7 @@ public class TimeTask { sbz.setStatus("1"); //处理中 //2.获取所有识别中的任务 List sbzTasks = daTaskService.selectDaTaskListByStatus(sbz); - if (sbzTasks != null && sbzTasks.size() >= maxTask) {//识别中任务>=10 + if (sbzTasks != null && sbzTasks.size() >= maxTask) {//识别中任务>=字典设置值 logger.info("-------------------------------------当前识别中的任务数:" + sbzTasks.size() + " --系统稍后提交任务--------------------------------"); break; } else { diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaYtzmMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaYtzmMapper.xml index 322cb78..6333428 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaYtzmMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaYtzmMapper.xml @@ -53,7 +53,7 @@ and uc.user_id = #{userId} and task_id = #{taskId} - `w_name` !='' and w_name !='无' + and `w_name` !='' and w_name !='无' and yw_type = #{ywType} and y.mu_id = #{muId} and mu_path = #{muPath}