标准拆解单

This commit is contained in:
liyawei
2022-03-30 19:59:03 +08:00
parent 146e77a740
commit 599e9a0fbb
5 changed files with 86 additions and 33 deletions
@@ -1,5 +1,6 @@
package com.jero.modules.document.service.impl; package com.jero.modules.document.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
@@ -12,11 +13,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.CommonConstant; import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.WebsocketConst; import com.jero.common.constant.WebsocketConst;
import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.*;
import com.jero.common.constant.enums.IsMustEnum;
import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.constant.enums.ModuleEnum;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.es.JeroElasticsearchTemplate; import com.jero.common.es.JeroElasticsearchTemplate;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
@@ -40,13 +37,11 @@ import com.jero.modules.message.websocket.WebSocket;
import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.split.common.FileUnZip; import com.jero.modules.split.common.FileUnZip;
import com.jero.modules.split.entity.SarFileSplitInfoEO;
import com.jero.modules.split.service.ISarFileSplitInfoService;
import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import com.jero.modules.subscribe.entity.OnlCgformSubscribe;
import com.jero.modules.subscribe.service.IOnlCgformSubscribeService; import com.jero.modules.subscribe.service.IOnlCgformSubscribeService;
import com.jero.modules.system.entity.SysAnnouncement; import com.jero.modules.system.entity.*;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysCategoryTreeVO;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.modules.system.service.ISysAnnouncementService; import com.jero.modules.system.service.ISysAnnouncementService;
import com.jero.modules.system.service.ISysDepartService; import com.jero.modules.system.service.ISysDepartService;
@@ -59,20 +54,8 @@ import lombok.SneakyThrows;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
@@ -87,11 +70,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@@ -138,6 +117,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
private ISysDepartService sysDepartService; private ISysDepartService sysDepartService;
@Autowired @Autowired
private JeroElasticsearchTemplate jeroElasticsearchTemplate; private JeroElasticsearchTemplate jeroElasticsearchTemplate;
@Autowired
private ISarFileSplitInfoService sarFileSplitInfoService;
@Resource @Resource
private WebSocket webSocket; private WebSocket webSocket;
@Resource @Resource
@@ -916,13 +897,29 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
mapNew.put("value", fileInfo); mapNew.put("value", fileInfo);
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName, null); mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName, null);
mapNew.put("count", fileInfos.size()); mapNew.put("count", fileInfos.size());
// TODO 添加标准分解单跳转 // 添加标准分解单跳转
List<SarFileSplitInfoEO> infoEOList = sarFileSplitInfoService.queryByFileId(fileInfo.getId());
if (CollectionUtil.isNotEmpty(infoEOList)) {
mapNew.put("splitFlag", 1);
mapNew.put("splitInfoId", infoEOList.get(0).getId());
} else{
mapNew.put("splitFlag", 0);
}
resultTemp.add(mapNew); resultTemp.add(mapNew);
i++; i++;
} else { } else {
Map<String, Object> mapNew = new HashMap<>(); Map<String, Object> mapNew = new HashMap<>();
mapNew.put("value", fileInfo); mapNew.put("value", fileInfo);
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName, null); mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName, null);
// 添加标准分解单跳转
List<SarFileSplitInfoEO> infoEOList = sarFileSplitInfoService.queryByFileId(fileInfo.getId());
if (CollectionUtil.isNotEmpty(infoEOList)) {
mapNew.put("splitFlag", 1);
mapNew.put("splitInfoId", infoEOList.get(0).getId());
} else{
mapNew.put("splitFlag", 0);
}
resultTemp.add(mapNew); resultTemp.add(mapNew);
} }
} }
@@ -933,6 +930,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
mapNew.put("count", fileInfos.size()); mapNew.put("count", fileInfos.size());
mapNew.put("value", fileInfos.get(0)); mapNew.put("value", fileInfos.get(0));
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName, null); mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName, null);
// 添加标准分解单跳转
List<SarFileSplitInfoEO> infoEOList = sarFileSplitInfoService.queryByFileId(fileInfos.get(0).getId());
if (CollectionUtil.isNotEmpty(infoEOList)) {
mapNew.put("splitFlag", 1);
mapNew.put("splitInfoId", infoEOList.get(0).getId());
} else{
mapNew.put("splitFlag", 0);
}
resultTemp.add(mapNew); resultTemp.add(mapNew);
} }
} else { } else {
@@ -2124,10 +2129,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
String type = parameter.get("type").toString(); String type = parameter.get("type").toString();
if ("pdf".equals(type)) { if ("pdf".equals(type)) {
//查询条件 //查询条件
conditionSb.append("and of.file_name like '%.pdf%'"); conditionSb.append(" and of.file_name like '%.pdf%'");
} else if ("doc".equals(type)) { } else if ("doc".equals(type)) {
//查询条件 //查询条件
conditionSb.append("and of.file_name like '%.doc%'"); conditionSb.append(" and of.file_name like '%.doc%'");
} }
@@ -68,6 +68,19 @@ public class SarFileSplitInfoController extends JeroController<SarFileSplitInfoE
return Result.OK(list); return Result.OK(list);
} }
@AutoLog(value = "文档拆分表-回传至文档库")
@ApiOperation(value="文档拆分表-回传至文档库", notes="文档拆分表-回传至文档库")
@GetMapping(value = "/bindToDocumentLibrary")
public Result<?> bindToDocumentLibrary(String id, String connectId, String fileName) {
// 设置fileId
boolean bindState = sarFileSplitInfoService.bindToDocumentLibrary(id, connectId, fileName);
if(bindState){
return Result.OK("回传成功");
} else {
return Result.error("回传失败");
}
}
/** /**
* 添加 * 添加
* *
@@ -118,7 +118,7 @@ public class SarFileSplitMenuEOController extends JeroController<SarFileSplitMen
} }
@ApiOperation(value = "文档拆分条款目录-批量复制节点不包括子节点Y") @ApiOperation(value = "文档拆分条款目录-批量复制节点不包括子节点Y")
@PostMapping("/copyMenuNotChildrenall") @GetMapping("/copyMenuNotChildrenall")
public Result<List<Map<String, Object>>> copyMenuNotChildrenall(@RequestParam(value = "ids",required = false) String ids, public Result<List<Map<String, Object>>> copyMenuNotChildrenall(@RequestParam(value = "ids",required = false) String ids,
@RequestParam(value = "menuids",required = false) String menuids, @RequestParam(value = "menuids",required = false) String menuids,
@RequestParam(value = "infoIds",required = false) String infoIds) throws Exception { @RequestParam(value = "infoIds",required = false) String infoIds) throws Exception {
@@ -59,4 +59,8 @@ public interface ISarFileSplitInfoService extends IService<SarFileSplitInfoEO> {
* @return * @return
*/ */
List<SarFileSplitInfoEO> queryList(); List<SarFileSplitInfoEO> queryList();
List<SarFileSplitInfoEO> queryByFileId(String fileId);
boolean bindToDocumentLibrary(String id, String connectId, String fileName);
} }
@@ -1,6 +1,10 @@
package com.jero.modules.split.service.impl; package com.jero.modules.split.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.split.entity.SarFileSplitInfoEO; import com.jero.modules.split.entity.SarFileSplitInfoEO;
import com.jero.modules.split.entity.SarFileSplitMenuEO; import com.jero.modules.split.entity.SarFileSplitMenuEO;
import com.jero.modules.split.mapper.SarFileSplitInfoMapper; import com.jero.modules.split.mapper.SarFileSplitInfoMapper;
@@ -12,6 +16,7 @@ import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
/** /**
* @Description: 文档拆分表 * @Description: 文档拆分表
@@ -24,6 +29,10 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMap
@Autowired @Autowired
private SarFileSplitMenuEOMapper sarFileSplitMenuEOMapper; private SarFileSplitMenuEOMapper sarFileSplitMenuEOMapper;
@Autowired
private IOSSFileService ossFileService;
/** /**
* 保存 * 保存
* *
@@ -102,4 +111,26 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMap
public List<SarFileSplitInfoEO> queryList() { public List<SarFileSplitInfoEO> queryList() {
return list(); return list();
} }
@Override
public List<SarFileSplitInfoEO> queryByFileId(String fileId) {
LambdaQueryWrapper<SarFileSplitInfoEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SarFileSplitInfoEO::getFileId, fileId);
return this.list(queryWrapper);
}
@Override
public boolean bindToDocumentLibrary(String id, String connectId, String fileName) {
List<OSSFile> ossFileList = ossFileService.getFileInfosByConnectId(connectId);
List<OSSFile> fileOfSplit = ossFileList.stream().filter(e->"fileName".equals(e.getFileName())).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(fileOfSplit)) {
String fileId = fileOfSplit.get(0).getId();
SarFileSplitInfoEO infoEO = new SarFileSplitInfoEO();
infoEO.setId(id);
infoEO.setFileId(fileId);
this.updateById(infoEO);
return true;
}
return false;
}
} }