diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/common/commonenum/DigitalVoiceLoggingStatusEnum.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/common/commonenum/DigitalVoiceLoggingStatusEnum.java new file mode 100644 index 0000000..9f6d3d3 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/common/commonenum/DigitalVoiceLoggingStatusEnum.java @@ -0,0 +1,33 @@ +package com.zdxt.enforcementnos.common.commonenum; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 云笔录状态(0-未发起,1-待企业提交,2-待执法人员确认,3-已完成) + * @author msy + * @Date: 2026/6/9 + */ +@Getter +@AllArgsConstructor +public enum DigitalVoiceLoggingStatusEnum { + + NOT_INITIATED(0, "未发起"), + WAITING_SUBMIT(1, "待企业提交"), + WAITING_CONFIRM(2, "待执法人员确认"), + COMPLETED(3, "已完成"); + + private final Integer code; + + private final String name; + + public static String getNameByCode(Integer code) { + for (DigitalVoiceLoggingStatusEnum value : DigitalVoiceLoggingStatusEnum.values()) { + if (value.getCode().equals(code)) { + return value.getName(); + } + } + return null; + } + +} diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/controller/app/enforcement/EnfNosLawEnforcementTaskController.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/controller/app/enforcement/EnfNosLawEnforcementTaskController.java index 5a0518c..f2889c2 100644 --- a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/controller/app/enforcement/EnfNosLawEnforcementTaskController.java +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/controller/app/enforcement/EnfNosLawEnforcementTaskController.java @@ -3,10 +3,12 @@ package com.zdxt.enforcementnos.controller.app.enforcement; import com.zdxt.enforcementnos.common.PageParam; import com.zdxt.enforcementnos.domain.bo.NosLawEnforcementTaskApproveBO; +import com.zdxt.enforcementnos.domain.bo.NosLawEnforcementTaskDigitalVoiceLoggingBO; import com.zdxt.enforcementnos.domain.bo.NosLawEnforcementTaskPageBO; import com.zdxt.enforcementnos.domain.bo.NosLawEnforcementTaskSaveBO; import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementCommentTaskPageVO; import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskDetailVO; +import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskDigitalVoiceLoggingRelationVO; import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskPageVO; import com.zdxt.enforcementnos.service.NosLawEnforcementTaskService; import io.swagger.v3.oas.annotations.Operation; @@ -109,4 +111,43 @@ public class EnfNosLawEnforcementTaskController { public TableDataInfo pageHasCommentTask(@RequestBody @Valid PageParam pageParam) { return nosLawEnforcementTaskService.pageHasCommentTask(pageParam); } + + + /** + * 开启云笔录 + * @param taskId 任务id + * @return 是否成功 + */ + @Operation(summary = "开启云笔录") + @Parameter(name = "taskId", description = "任务id", required = true) + @GetMapping("/start/digital-voice-logging") + public R startDigitalVoiceLogging(@RequestParam("taskId") String taskId) { + return R.ok(nosLawEnforcementTaskService.startDigitalVoiceLogging(taskId)); + } + + + /** + * 查询云笔录详情 + * @param taskId 任务id + * @return 详情 + */ + @Operation(summary = "查询云笔录详情") + @Parameter(name = "taskId", description = "任务id", required = true) + @GetMapping("/digital-voice-logging/detail") + public R getDigitalVoiceLoggingDetail( + @RequestParam("taskId") String taskId) { + return R.ok(nosLawEnforcementTaskService.getDigitalVoiceLoggingDetail(taskId)); + } + + + /** + * 确认云笔录材料 + * @param bo 确认参数 + * @return 是否成功 + */ + @Operation(summary = "确认云笔录材料") + @PostMapping("/digital-voice-logging/confirm") + public R confirmDigitalVoiceLoggingMaterials(@RequestBody @Valid NosLawEnforcementTaskDigitalVoiceLoggingBO bo) { + return R.ok(nosLawEnforcementTaskService.confirmDigitalVoiceLoggingMaterials(bo)); + } } diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/controller/app/enterprise/EntNosLawEnforcementTaskController.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/controller/app/enterprise/EntNosLawEnforcementTaskController.java index 63ed8e3..c3fe700 100644 --- a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/controller/app/enterprise/EntNosLawEnforcementTaskController.java +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/controller/app/enterprise/EntNosLawEnforcementTaskController.java @@ -3,6 +3,7 @@ package com.zdxt.enforcementnos.controller.app.enterprise; import com.zdxt.enforcementnos.common.PageParam; import com.zdxt.enforcementnos.domain.bo.NosLawEnforcementTaskCommentBO; +import com.zdxt.enforcementnos.domain.bo.NosLawEnforcementTaskDigitalVoiceLoggingBO; import com.zdxt.enforcementnos.domain.bo.NosLawEnforcementTaskPageBO; import com.zdxt.enforcementnos.domain.bo.SubmitNosLawEnforcementTaskItemBO; import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskByCommentStatusPageVO; @@ -98,4 +99,16 @@ public class EntNosLawEnforcementTaskController { PageParam pageParam) { return nosLawEnforcementTaskService.queryByCommentStatus(commentStatus, pageParam); } + + + /** + * 提交云笔录材料 + * @param bo 云笔录参数 + * @return 提交结果 + */ + @Operation(summary = "提交云笔录材料") + @PostMapping("/digital-voice-logging/submit") + public R submitDigitalVoiceLoggingMaterials(@RequestBody @Valid NosLawEnforcementTaskDigitalVoiceLoggingBO bo) { + return R.ok(nosLawEnforcementTaskService.submitDigitalVoiceLoggingMaterials(bo)); + } } diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/NosLawEnforcementTask.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/NosLawEnforcementTask.java index 02bdf76..156cad0 100644 --- a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/NosLawEnforcementTask.java +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/NosLawEnforcementTask.java @@ -130,6 +130,11 @@ public class NosLawEnforcementTask extends BaseEntity { */ private Date commentTime; + /** + * 云笔录状态(0-未发起,1-待企业提交,2-待执法人员确认,3-已完成) + */ + private Integer digitalVoiceLoggingStatus; + /** * 逻辑删除:0-否,1-是 */ diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/NosLawEnforcementTaskDigitalVoiceLoggingRelation.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/NosLawEnforcementTaskDigitalVoiceLoggingRelation.java new file mode 100644 index 0000000..88402ec --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/NosLawEnforcementTaskDigitalVoiceLoggingRelation.java @@ -0,0 +1,72 @@ +package com.zdxt.enforcementnos.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.util.Date; + +/** + * 非现场执法任务关联云笔录表 + * @author msy + * @TableName nos_law_enforcement_task_digital_voice_logging_relation + */ +@TableName(value ="nos_law_enforcement_task_digital_voice_logging_relation") +@Data +public class NosLawEnforcementTaskDigitalVoiceLoggingRelation extends BaseEntity { + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + private String id; + + /** + * 非现场执法任务id + */ + private String taskId; + + /** + * 云视频 + */ + private String cloudVideo; + + /** + * 云文字 + */ + private String cloudText; + + /** + * 意见 + */ + private String suggestion; + + /** + * 执法人员确认时间 + */ + private Date confirmTime; + + /** + * 逻辑删除:0-否,1-是 + */ + @TableLogic(delval = "1", value = "0") + private String isDelete; + + /** + * 执法单位id + */ + private String bureauDeptId; + + /** + * 部门id + */ + private String deptId; + + /** + * 组织单位id + */ + private String organId; +} \ No newline at end of file diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/bo/NosLawEnforcementTaskDigitalVoiceLoggingBO.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/bo/NosLawEnforcementTaskDigitalVoiceLoggingBO.java new file mode 100644 index 0000000..4f660dc --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/bo/NosLawEnforcementTaskDigitalVoiceLoggingBO.java @@ -0,0 +1,27 @@ +package com.zdxt.enforcementnos.domain.bo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author msy + * @Date: 2026/6/8 + */ +@Data +public class NosLawEnforcementTaskDigitalVoiceLoggingBO { + + @Schema(description = "id") + private String id; + + @Schema(description = "任务id") + private String taskId; + + @Schema(description = "云文字") + private String cloudText; + + @Schema(description = "云视频") + private String cloudVideo; + + @Schema(description = "意见") + private String suggestion; +} diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementCommentTaskPageVO.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementCommentTaskPageVO.java index cab387d..cf1c38e 100644 --- a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementCommentTaskPageVO.java +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementCommentTaskPageVO.java @@ -20,6 +20,12 @@ public class NosLawEnforcementCommentTaskPageVO { @Schema(description = "标题", example = "标题") private String title; + @Schema(description = "执法单位id") + private String lawEnforcementAgencyId; + + @Schema(description = "执法单位名称") + private String lawEnforcementAgency; + @Schema(description = "企业名称", example = "企业名称") private String enterpriseName; diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementTaskDetailVO.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementTaskDetailVO.java index 42efe05..5405fb5 100644 --- a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementTaskDetailVO.java +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementTaskDetailVO.java @@ -160,4 +160,13 @@ public class NosLawEnforcementTaskDetailVO { */ @Schema(description = "评价原因", example = "1") private String commentReason; + + @Schema(description = "云视频") + private String cloudVideo; + + @Schema(description = "云文字") + private String cloudText; + + @Schema(description = "云笔录意见") + private String suggestion; } diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementTaskDigitalVoiceLoggingRelationVO.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementTaskDigitalVoiceLoggingRelationVO.java new file mode 100644 index 0000000..8cf7fff --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/domain/vo/NosLawEnforcementTaskDigitalVoiceLoggingRelationVO.java @@ -0,0 +1,57 @@ +package com.zdxt.enforcementnos.domain.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +/** + * + * @author msy + * @Date: 2026/6/8 + */ +@Data +public class NosLawEnforcementTaskDigitalVoiceLoggingRelationVO { + + /** + * id + */ + @Schema(description = "id") + private String id; + + /** + * 非现场执法任务id + */ + @Schema(description = "非现场执法任务id") + private String taskId; + + /** + * 云视频 + */ + @Schema(description = "云视频") + private String cloudVideo; + + /** + * 云文字 + */ + @Schema(description = "云文字") + private String cloudText; + + /** + * 意见 + */ + @Schema(description = "意见") + private String suggestion; + + /** + * 执法人员确认时间 + */ + @Schema(description = "执法人员确认时间") + private Date confirmTime; + + /** + * 创建时间 + */ + @Schema(description = "创建时间(企业提交材料时间)") + private Date createTime; +} diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/mapper/NosLawEnforcementTaskDigitalVoiceLoggingRelationMapper.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/mapper/NosLawEnforcementTaskDigitalVoiceLoggingRelationMapper.java new file mode 100644 index 0000000..010b184 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/mapper/NosLawEnforcementTaskDigitalVoiceLoggingRelationMapper.java @@ -0,0 +1,14 @@ +package com.zdxt.enforcementnos.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zdxt.enforcementnos.domain.NosLawEnforcementTaskDigitalVoiceLoggingRelation; +import org.apache.ibatis.annotations.Mapper; + +/** + * + * @author msy + * @Date: 2026/6/8 + */ +@Mapper +public interface NosLawEnforcementTaskDigitalVoiceLoggingRelationMapper extends BaseMapper { +} diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/NosLawEnforcementTaskDigitalVoiceLoggingRelationService.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/NosLawEnforcementTaskDigitalVoiceLoggingRelationService.java new file mode 100644 index 0000000..9931b42 --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/NosLawEnforcementTaskDigitalVoiceLoggingRelationService.java @@ -0,0 +1,13 @@ +package com.zdxt.enforcementnos.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zdxt.enforcementnos.domain.NosLawEnforcementTaskDigitalVoiceLoggingRelation; + +/** + * + * @author msy + * @Date: 2026/6/8 + */ +public interface NosLawEnforcementTaskDigitalVoiceLoggingRelationService + extends IService { +} diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/NosLawEnforcementTaskService.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/NosLawEnforcementTaskService.java index 69f4f8f..fea0e95 100644 --- a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/NosLawEnforcementTaskService.java +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/NosLawEnforcementTaskService.java @@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.zdxt.enforcementnos.common.PageParam; import com.zdxt.enforcementnos.domain.NosLawEnforcementTask; import com.zdxt.enforcementnos.domain.bo.*; -import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementCommentTaskPageVO; -import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskByCommentStatusPageVO; -import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskDetailVO; -import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskPageVO; +import com.zdxt.enforcementnos.domain.vo.*; import jakarta.validation.Valid; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -34,4 +31,12 @@ public interface NosLawEnforcementTaskService extends IService queryByCommentStatus(Integer commentStatus, PageParam pageParam); TableDataInfo pageHasCommentTask(@Valid PageParam pageParam); + + Boolean startDigitalVoiceLogging(String taskId); + + NosLawEnforcementTaskDigitalVoiceLoggingRelationVO getDigitalVoiceLoggingDetail(String taskId); + + Boolean confirmDigitalVoiceLoggingMaterials(@Valid NosLawEnforcementTaskDigitalVoiceLoggingBO bo); + + Boolean submitDigitalVoiceLoggingMaterials(@Valid NosLawEnforcementTaskDigitalVoiceLoggingBO bo); } diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/impl/NosLawEnforcementTaskDigitalVoiceLoggingRelationServiceImpl.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/impl/NosLawEnforcementTaskDigitalVoiceLoggingRelationServiceImpl.java new file mode 100644 index 0000000..041259c --- /dev/null +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/impl/NosLawEnforcementTaskDigitalVoiceLoggingRelationServiceImpl.java @@ -0,0 +1,20 @@ +package com.zdxt.enforcementnos.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zdxt.enforcementnos.domain.NosLawEnforcementTaskDigitalVoiceLoggingRelation; +import com.zdxt.enforcementnos.mapper.NosLawEnforcementTaskDigitalVoiceLoggingRelationMapper; +import com.zdxt.enforcementnos.service.NosLawEnforcementTaskDigitalVoiceLoggingRelationService; +import org.springframework.stereotype.Service; + +/** + * + * @author msy + * @Date: 2026/6/8 + */ +@Service +public class NosLawEnforcementTaskDigitalVoiceLoggingRelationServiceImpl + extends ServiceImpl + implements NosLawEnforcementTaskDigitalVoiceLoggingRelationService { + + +} diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/impl/NosLawEnforcementTaskServiceImpl.java b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/impl/NosLawEnforcementTaskServiceImpl.java index 660f6ce..b5c767a 100644 --- a/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/impl/NosLawEnforcementTaskServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/java/com/zdxt/enforcementnos/service/impl/NosLawEnforcementTaskServiceImpl.java @@ -14,10 +14,7 @@ import com.zdxt.enforcementnos.common.PageParam; import com.zdxt.enforcementnos.common.commonenum.*; import com.zdxt.enforcementnos.domain.*; import com.zdxt.enforcementnos.domain.bo.*; -import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementCommentTaskPageVO; -import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskByCommentStatusPageVO; -import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskDetailVO; -import com.zdxt.enforcementnos.domain.vo.NosLawEnforcementTaskPageVO; +import com.zdxt.enforcementnos.domain.vo.*; import com.zdxt.enforcementnos.mapper.NosLawEnforcementTaskMapper; import com.zdxt.enforcementnos.service.*; import jakarta.annotation.Resource; @@ -60,6 +57,9 @@ public class NosLawEnforcementTaskServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(NosLawEnforcementTaskDigitalVoiceLoggingRelation::getTaskId, task.getId()); + NosLawEnforcementTaskDigitalVoiceLoggingRelation relation = taskDigitalVoiceLoggingRelationService.getOne(queryWrapper); + if(relation != null) { + vo.setCloudVideo(relation.getCloudVideo()); + vo.setCloudText(relation.getCloudText()); + vo.setSuggestion(relation.getSuggestion()); + } + } + return vo; } @@ -631,6 +645,100 @@ public class NosLawEnforcementTaskServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(NosLawEnforcementTaskDigitalVoiceLoggingRelation::getTaskId, taskId); + NosLawEnforcementTaskDigitalVoiceLoggingRelation digitalVoiceLogging = + taskDigitalVoiceLoggingRelationService.getOne(queryWrapper); + + if(digitalVoiceLogging == null) { + return null; + } + + NosLawEnforcementTaskDigitalVoiceLoggingRelationVO vo = new NosLawEnforcementTaskDigitalVoiceLoggingRelationVO(); + BeanUtils.copyProperties(digitalVoiceLogging, vo); + return vo; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean confirmDigitalVoiceLoggingMaterials(NosLawEnforcementTaskDigitalVoiceLoggingBO bo) { + NosLawEnforcementTask task = this.getById(bo.getTaskId()); + if (task == null) { + throw new ServiceException("任务不存在"); + } + + if(!DigitalVoiceLoggingStatusEnum.WAITING_CONFIRM.getCode().equals(task.getDigitalVoiceLoggingStatus())) { + throw new ServiceException("云笔录状态异常,非待确认状态"); + } + + task.setDigitalVoiceLoggingStatus(DigitalVoiceLoggingStatusEnum.COMPLETED.getCode()); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .eq(NosLawEnforcementTaskDigitalVoiceLoggingRelation::getTaskId, bo.getTaskId()) + .eq(NosLawEnforcementTaskDigitalVoiceLoggingRelation::getId, bo.getId()); + NosLawEnforcementTaskDigitalVoiceLoggingRelation digitalVoiceLogging = + taskDigitalVoiceLoggingRelationService.getOne(queryWrapper); + if(digitalVoiceLogging == null) { + throw new ServiceException("云笔录材料不存在"); + } + digitalVoiceLogging.setSuggestion(bo.getSuggestion()); + digitalVoiceLogging.setConfirmTime(new Date()); + taskDigitalVoiceLoggingRelationService.updateById(digitalVoiceLogging); + + return this.updateById(task); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean submitDigitalVoiceLoggingMaterials(NosLawEnforcementTaskDigitalVoiceLoggingBO bo) { + String enterpriseId = LoginHelper.getDeptId(); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .eq(NosLawEnforcementTask::getId, bo.getTaskId()) + .eq(NosLawEnforcementTask::getEnterpriseId, enterpriseId); + NosLawEnforcementTask task = this.getOne(queryWrapper); + if(task == null) { + throw new ServiceException("任务不存在"); + } + + if(!DigitalVoiceLoggingStatusEnum.WAITING_SUBMIT.getCode().equals(task.getDigitalVoiceLoggingStatus())) { + throw new ServiceException("云笔录状态异常,非待提交状态"); + } + + task.setDigitalVoiceLoggingStatus(DigitalVoiceLoggingStatusEnum.WAITING_CONFIRM.getCode()); + this.updateById(task); + + NosLawEnforcementTaskDigitalVoiceLoggingRelation digitalVoiceLogging = new NosLawEnforcementTaskDigitalVoiceLoggingRelation(); + digitalVoiceLogging.setTaskId(bo.getTaskId()); + digitalVoiceLogging.setCloudVideo(bo.getCloudVideo()); + digitalVoiceLogging.setCloudText(bo.getCloudText()); + return taskDigitalVoiceLoggingRelationService.save(digitalVoiceLogging); + } } diff --git a/zdxt-modules/zdxt-enforcement-nos/src/main/resources/mapper/enforcementcode/NosLawEnforcementTaskMapper.xml b/zdxt-modules/zdxt-enforcement-nos/src/main/resources/mapper/enforcementcode/NosLawEnforcementTaskMapper.xml index 69e0fa9..6113f48 100644 --- a/zdxt-modules/zdxt-enforcement-nos/src/main/resources/mapper/enforcementcode/NosLawEnforcementTaskMapper.xml +++ b/zdxt-modules/zdxt-enforcement-nos/src/main/resources/mapper/enforcementcode/NosLawEnforcementTaskMapper.xml @@ -70,6 +70,8 @@