From f65443d8abeaedc9d102324565e8368e7c9d90c8 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 19 六月 2023 14:41:54 +0800
Subject: [PATCH] commit

---
 src/main/java/com/gk/firework/Service/ServiceImpl/EnterpriseFeedServiceImpl.java |  183 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 183 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gk/firework/Service/ServiceImpl/EnterpriseFeedServiceImpl.java b/src/main/java/com/gk/firework/Service/ServiceImpl/EnterpriseFeedServiceImpl.java
new file mode 100644
index 0000000..49af7c4
--- /dev/null
+++ b/src/main/java/com/gk/firework/Service/ServiceImpl/EnterpriseFeedServiceImpl.java
@@ -0,0 +1,183 @@
+package com.gk.firework.Service.ServiceImpl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gk.firework.Domain.EnterpriseFeed;
+import com.gk.firework.Domain.EnterpriseResource;
+import com.gk.firework.Domain.Exception.BusinessException;
+import com.gk.firework.Domain.UserInfo;
+import com.gk.firework.Domain.Utils.*;
+import com.gk.firework.Domain.Utils.Properties;
+import com.gk.firework.Domain.Vo.EnterpriseFeedVo;
+import com.gk.firework.Mapper.EnterpriseFeedMapper;
+import com.gk.firework.Service.EnterpriseFeedService;
+import com.gk.firework.Service.EnterpriseResourceService;
+import com.gk.firework.Service.ExcelExportService;
+import com.gk.firework.Service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@Service("enterpriseFeedService")
+public class EnterpriseFeedServiceImpl extends ServiceImpl<EnterpriseFeedMapper, EnterpriseFeed> implements EnterpriseFeedService {
+
+    @Autowired
+    private EnterpriseFeedMapper enterpriseFeedMapper;
+    @Autowired
+    private ExcelExportService excelExportService;
+    @Autowired
+    private EnterpriseResourceService enterpriseResourceService;
+    @Autowired
+    private UserService userService;
+
+
+    /**
+    * @Description: 查询自检
+    * @date 2021/5/13 18:44
+    */
+    @Override
+    public IPage selectPages(Page<EnterpriseFeed> page, Long id, UserInfo user) {
+        Map<String, Object> params = new HashMap<>();
+        params.put("tabletype", Constants.FEED);
+        params.put("id", id);
+        List<EnterpriseFeed> list = enterpriseFeedMapper.selectPages(page, params);
+        return page.setRecords(list);
+    }
+
+    /**
+    * @Description: 新增自检
+    * @date 2021/5/13 18:44
+    */
+    @Override
+    @Transactional
+    public void addFeed(EnterpriseFeedVo enterpriseFeedVo, UserInfo user) {
+
+        if (enterpriseFeedVo.getEnterpriseid() == null) {
+            throw new BusinessException("缺少企业关键数据");
+        }
+
+        enterpriseFeedVo.setValidflag(true);
+        enterpriseFeedVo.setCreatetime(new Date());
+        enterpriseFeedVo.setCreateby(user.getId());
+        enterpriseFeedVo.setCreatebyname(user.getUsername());
+        this.save(enterpriseFeedVo);
+
+        List<EnterpriseResource> adds = null;
+        MultipartFile[] files = enterpriseFeedVo.getFile();
+        try {
+            if (files != null && files.length > 0) {
+                adds = new ArrayList<>();
+                Date now = new Date();
+                for (MultipartFile file : files) {
+                    String name = UploadUtil.uploadFile(file, Properties.enterprisePath);
+                    EnterpriseResource er = new EnterpriseResource();
+                    er.setTabletype(Constants.FEED);
+                    er.setFilename(file.getOriginalFilename());
+                    er.setUrl(Properties.enterprise + name);
+                    er.setCreatetime(now);
+                    er.setCreateby(user.getId());
+                    er.setCreatebyname(user.getUsername());
+                    er.setBelongid(enterpriseFeedVo.getId());
+                    er.setValidflag(true);
+                    adds.add(er);
+                }
+                //执行
+                enterpriseResourceService.saveBatch(adds);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new BusinessException("上传失败,请联系管理员");
+        }
+
+    }
+
+    /**
+    * @Description: 导入反馈
+    * @date 2021/5/13 18:52
+    */
+    @Override
+    public void importFeed(MultipartFile file, UserInfo user,Long enterpriseId) {
+        if (file == null || file.getSize() == 0) {
+            throw new BusinessException("上传文件或者请求出现问题");
+        }
+
+        if(!FileOptUtils.isDirExists(Properties.filePath)){
+            throw new BusinessException("发生错误或不为目录");
+        }
+        if (enterpriseId == null) {
+            throw new BusinessException("缺少企业关键数据");
+        }
+
+        SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMddHHmmssSSS" );
+        String fileSave = Properties.enterprisePath + user.getUsername() +"_feed_" + sdf.format(new Date()) +".xlsx";
+
+        try {
+            file.transferTo(new File(fileSave));
+            InputStream in = new FileInputStream(fileSave);
+            String name = file.getOriginalFilename();
+            assert name != null;
+            Boolean isExcel2007 = name.substring(name.lastIndexOf(".") + 1).endsWith("xlsx");
+            excelExportService.importFeedExcel(in, user, isExcel2007,enterpriseId);
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+            throw new BusinessException("找不到文件");
+        } catch (IOException e) {
+            e.printStackTrace();
+            throw new BusinessException("发生错误,请联系管理员");
+        }
+    }
+
+
+    /**
+    * @Description: 导出反馈
+    * @date 2021/5/14 11:11
+    */
+    @Override
+    public List<Map> exportFeed(Map filter, UserInfo user) {
+        UserInfo userInfo = userService.getById(user.getId());
+        Map<String, Object> params = new HashMap<>();
+        //监管部门 根据 地区看所有
+        params.put("province", userInfo.getProvince());
+        params.put("city", userInfo.getCity());
+        params.put("district", userInfo.getArea());
+        params.put("street", userInfo.getTown());
+        params.put("committee", userInfo.getCommunity());
+        //企业用户
+        params.put("enterprisenumber", userInfo.getCompanynumber());
+
+        //过滤条件
+        { //企业类型
+            params.put("safetySupervision", filter.get("safetysupervision"));
+            //经济类型
+            params.put("economicIndustry", filter.get("economicindustry"));
+            //许可证有效|过期
+            params.put("valid", filter.get("valid"));
+            //地区
+            params.put("filterProvince", filter.get("province"));
+            params.put("filterCity", filter.get("city"));
+            params.put("filterDistrict", filter.get("district"));
+            params.put("filterStreet", filter.get("street"));
+            params.put("filterCommittee", filter.get("committee"));
+            //企业名称
+            params.put("enterprisename", filter.get("enterprisename"));
+
+        }
+        return enterpriseFeedMapper.selectExportFeed(params);
+    }
+
+    @Override
+    public List<Map> exportFeedById(Long id) {
+        if (id == null) {
+            throw new BusinessException("参数传递为空");
+        }
+        return enterpriseFeedMapper.selectExportFeedById(id);
+    }
+
+}

--
Gitblit v1.9.2