diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProcessDailyReportController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProcessDailyReportController.java index ac344862..160c0f1e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProcessDailyReportController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/controller/PgsProcessDailyReportController.java @@ -2,6 +2,7 @@ package org.dromara.progress.controller; import java.util.List; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; @@ -102,4 +103,15 @@ public class PgsProcessDailyReportController extends BaseController { @PathVariable Long[] ids) { return toAjax(pgsProcessDailyReportService.deleteWithValidByIds(List.of(ids), true)); } + + + + /** + * 畅写在线修改保存回调 + */ + @PostMapping("/changxie/callback/{id}") + public void singleFileUploads(@NotNull(message = "主键不能为空") + @PathVariable Long id, HttpServletRequest request, HttpServletResponse response) { + pgsProcessDailyReportService.singleFileUploads(id, request, response); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProcessDailyReportService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProcessDailyReportService.java index 1cd50ba6..c4ab050a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProcessDailyReportService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/IPgsProcessDailyReportService.java @@ -1,5 +1,7 @@ package org.dromara.progress.service; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.dromara.progress.domain.vo.PgsProcessDailyReportVo; import org.dromara.progress.domain.bo.PgsProcessDailyReportBo; import org.dromara.progress.domain.PgsProcessDailyReport; @@ -67,4 +69,13 @@ public interface IPgsProcessDailyReportService extends IService ids, Boolean isValid); + + /** + * 畅写回调 + * + * @param id 主键 + * @param request 请求 + * @param response 响应 + */ + void singleFileUploads(Long id, HttpServletRequest request, HttpServletResponse response); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProcessDailyReportServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProcessDailyReportServiceImpl.java index 84688c95..54b4811a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProcessDailyReportServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/progress/service/impl/PgsProcessDailyReportServiceImpl.java @@ -1,6 +1,11 @@ package org.dromara.progress.service.impl; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,6 +14,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.safety.domain.HseSafetyWeeklyReport; +import org.dromara.system.domain.vo.SysOssVo; +import org.dromara.system.service.ISysOssService; import org.springframework.stereotype.Service; import org.dromara.progress.domain.bo.PgsProcessDailyReportBo; import org.dromara.progress.domain.vo.PgsProcessDailyReportVo; @@ -16,9 +24,12 @@ import org.dromara.progress.domain.PgsProcessDailyReport; import org.dromara.progress.mapper.PgsProcessDailyReportMapper; import org.dromara.progress.service.IPgsProcessDailyReportService; +import java.io.IOException; +import java.io.PrintWriter; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.Scanner; /** * 进度日报Service业务层处理 @@ -32,6 +43,8 @@ public class PgsProcessDailyReportServiceImpl extends ServiceImpl 0; } + + @Override + public void singleFileUploads(Long id, HttpServletRequest request, HttpServletResponse response) { + try { + PrintWriter writer = response.getWriter(); + Scanner scanner = new Scanner(request.getInputStream(), "GBK").useDelimiter("\\A"); + String body = scanner.hasNext() ? scanner.next() : ""; + JSONObject jsonObj = JSONUtil.parseObj(body); + if (jsonObj.getInt("status") == 2 || jsonObj.getInt("status") == 6) { + String downloadUri = (String) jsonObj.get("url"); + PgsProcessDailyReport byId = this.getById(id); + SysOssVo ossVo = ossService.getById(byId.getOssId()); + ossService.uploadFileUrlWithNoSave(downloadUri, ossVo.getFileName()); + } else if (jsonObj.getInt("status") == 3 || jsonObj.getInt("status") == 7) { + writer.write("{\"error\":-1}"); + } + writer.write("{\"error\":0}"); + } catch (IOException e) { + throw new ServiceException("安全周报在线修改文件失败," + e); + } + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseSafetyInspectionMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseSafetyInspectionMapper.java index 8df86a85..b3d36c82 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseSafetyInspectionMapper.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/mapper/HseSafetyInspectionMapper.java @@ -1,8 +1,13 @@ package org.dromara.safety.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.dromara.safety.domain.HseSafetyInspection; import org.dromara.safety.domain.vo.safetyinspection.HseSafetyInspectionVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.system.domain.SysUser; /** * 安全巡检工单Mapper接口 @@ -12,4 +17,6 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface HseSafetyInspectionMapper extends BaseMapperPlus { + Page webPage(@Param("page")Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseSafetyInspectionMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseSafetyInspectionMapper.xml index 184ed8a0..6318cd31 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseSafetyInspectionMapper.xml +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/safety/HseSafetyInspectionMapper.xml @@ -4,4 +4,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +