From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:22:45 +0800
Subject: [PATCH] 描述
---
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