Ver código fonte

提交代码

JX.Li 1 ano atrás
pai
commit
15d65ea0da

+ 10 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringDangerousController.java

@@ -6,11 +6,13 @@ import java.util.Arrays;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
+import com.ruoyi.common.core.domain.BaseEntity;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
 import lombok.RequiredArgsConstructor;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import com.ruoyi.common.annotation.RepeatSubmit;
@@ -40,7 +42,14 @@ import com.ruoyi.common.core.page.TableDataInfo;
 @RequestMapping("/zdsz/engineeringDangerous")
 public class ZEngineeringDangerousController extends BaseController {
 
-    private final IZEngineeringDangerousService iZEngineeringDangerousService;
+    @Autowired
+    private IZEngineeringDangerousService iZEngineeringDangerousService;
+
+    @PostMapping("review")
+    public R<?> review(@RequestBody ZEngineeringDangerousBo zEngineeringDangerousBo) {
+        boolean review = iZEngineeringDangerousService.review(zEngineeringDangerousBo);
+        return toAjax(review);
+    }
 
     /**
      * 查询危险工程列表

+ 2 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringDangerous.java

@@ -29,6 +29,8 @@ public class ZEngineeringDangerous extends BaseEntity {
      */
     @TableId(value = "id")
     private String id;
+    private String reviewStatus;
+    private String reviewRemark;;
     /**
      * 作业基本信息
      */

+ 2 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringDangerousBo.java

@@ -31,6 +31,8 @@ public class ZEngineeringDangerousBo extends BaseEntity {
     //@NotBlank(message = "不能为空", groups = { EditGroup.class })
     private String id;
 
+    private String reviewStatus;
+    private String reviewRemark;
     /**
      * 作业基本信息
      */

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngiineeringPhotoVo.java

@@ -48,6 +48,7 @@ public class ZEngiineeringPhotoVo extends BaseEntity implements Serializable {
     @ExcelProperty(value = "备注")
     private String remark;
     private String type;
+    private String createByName;
 
 
 }

+ 2 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringDangerousVo.java

@@ -32,6 +32,8 @@ public class ZEngineeringDangerousVo extends BaseEntity implements Serializable
      */
     @ExcelProperty(value = "")
     private String id;
+    private String reviewStatus;
+    private String reviewRemark;
 
     /**
      * 作业基本信息

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringDangerousMapper.java

@@ -13,4 +13,5 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface ZEngineeringDangerousMapper extends BaseMapperPlus<ZEngineeringDangerousMapper, ZEngineeringDangerous, ZEngineeringDangerousVo> {
     String selectIdByCid(@Param("id") String id);
+    String getName(@Param("name") String name);
 }

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringDangerousService.java

@@ -22,6 +22,7 @@ public interface IZEngineeringDangerousService {
      * 查询危险工程
      */
     ZEngineeringDangerousVo query(String id) ;
+    boolean review(ZEngineeringDangerousBo zEngineeringDangerousBo) ;
 
     /**
      * 查询危险工程列表

+ 75 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringDangerousServiceImpl.java

@@ -12,6 +12,7 @@ import com.ruoyi.common.core.domain.PageQuery;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.framework.obs.ObsService;
 import com.ruoyi.zdsz.domain.ZEngiineeringPhoto;
 import com.ruoyi.zdsz.domain.ZEngineeringInfo;
 import com.ruoyi.zdsz.domain.ZEngineeringNode;
@@ -23,6 +24,8 @@ import com.ruoyi.zdsz.service.IZEngiineeringPhotoService;
 import com.ruoyi.zdsz.service.IZEngineeringNodeService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringDangerousVo;
 import com.ruoyi.zdsz.domain.ZEngineeringDangerous;
@@ -31,6 +34,10 @@ import com.ruoyi.zdsz.service.IZEngineeringDangerousService;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -51,7 +58,72 @@ public class ZEngineeringDangerousServiceImpl implements IZEngineeringDangerousS
 
     @Autowired
     private IZEngiineeringPhotoService photoService;
+    @Value("${filePath}")
+    private String filePath;
+    @Resource
+    private ObsService obsService;
+    @Override
+    public boolean review(ZEngineeringDangerousBo zEngineeringDangerousBo) {
+        System.out.println(zEngineeringDangerousBo);
+        ZEngineeringDangerous add = BeanUtil.toBean(zEngineeringDangerousBo, ZEngineeringDangerous.class);
+        int i = baseMapper.updateById(add);
+        if ("1".equals(zEngineeringDangerousBo.getReviewStatus())){
+            ZEngiineeringPhotoBo bo = new ZEngiineeringPhotoBo();
+            bo.setParentId(add.getId());
+            bo.setCreateTime(zEngineeringDangerousBo.getCreateTime());
+            write(photoService.queryList(bo), add.getEnginName());
+        }
+        return i>0;
+    }
+
+    @Async
+    public void write(List<ZEngiineeringPhotoVo> zEngiineeringPhotoVos,String enginName) {
+        zEngiineeringPhotoVos.forEach( item ->{
+            String photo = item.getPicUrl();
+            if (StringUtils.isNotBlank(photo)) {
+                try {
+                    // 创建最外层文件夹
+                    byte[] fileNameBytes = filePath.getBytes("UTF-8");
+                    // 使用UTF-8编码创建文件
+                    File file = new File(new String(fileNameBytes, "UTF-8"));
+                    if (!file.exists()) {
+                        file.mkdirs();
+                    }
+                    byte[] typeFileNameByte = (file.getPath() + "/危险工程").getBytes("UTF-8");
+                    // 使用UTF-8编码创建文件
+                    File typeFiles = new File(new String(typeFileNameByte, "UTF-8"));
+                    if (!typeFiles.exists()) {
+                        typeFiles.mkdirs();
+                    }
+                    byte[] typeFileNameBytes = (typeFiles.getPath() + "/" + enginName).getBytes("UTF-8");
+                    // 使用UTF-8编码创建文件
+                    File typeFile = new File(new String(typeFileNameBytes, "UTF-8"));
+                    if (!typeFile.exists()) {
+                        typeFile.mkdirs();
+                    }
+                    byte[] enginNameFileNameBytes = (typeFile.getPath() + "/" + baseMapper.getName(item.getCreateBy())).getBytes("UTF-8");
+                    // 使用UTF-8编码创建文件
+                    File enginNameFile = new File(new String(enginNameFileNameBytes, "UTF-8"));
+                    if (!enginNameFile.exists()) {
+                        enginNameFile.mkdirs();
+                    }
+                    byte[] CreateTimeFileNameBytes = (enginNameFile.getPath() + "/" + new SimpleDateFormat("yyyy-MM-dd").format(item.getUpdateTime())).getBytes("UTF-8");
+                    // 时间
+                    // 使用UTF-8编码创建文件
+                    File CreateTimeFile = new File(new String(CreateTimeFileNameBytes, "UTF-8"));
+                    if (!CreateTimeFile.exists()) {
+                        CreateTimeFile.mkdirs();
+                    }
+                    obsService.download(CreateTimeFile.getPath(), photo.substring(photo.lastIndexOf("/")+1));
+
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+
 
+            }
+        });
+    }
     /**
      * 查询危险工程列表
      */
@@ -348,7 +420,9 @@ public class ZEngineeringDangerousServiceImpl implements IZEngineeringDangerousS
         ZEngiineeringPhotoBo bo = new ZEngiineeringPhotoBo();
         bo.setParentId(vo.getId());
         bo.setCreateTime(vo.getCreateTime());
-        vo.setPics(photoService.queryList(bo));
+        List<ZEngiineeringPhotoVo> zEngiineeringPhotoVos = photoService.queryList(bo);
+        zEngiineeringPhotoVos.forEach(item -> item.setCreateByName(baseMapper.getName(item.getCreateBy())));
+        vo.setPics(zEngiineeringPhotoVos);
         return vo;
     }
     @Override

+ 3 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringDangerousMapper.xml

@@ -51,4 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectIdByCid" resultType="string">
         select id from z_engineering_node where civli_id = #{id}
     </select>
+    <select id="getName" resultType="string">
+        select nick_name from sys_user where user_name = #{name} and del_flag = '0'
+    </select>
 </mapper>