feat: There is no way the

This commit is contained in:
super_liu
2021-08-24 09:57:11 +08:00
parent 4a11cd9c9b
commit 6084f51bae
10 changed files with 645 additions and 25 deletions
@@ -34,4 +34,6 @@ public interface SarBussStandFileDao extends BaseMapper<SarBussStandFile> {
int insertSelective(SarBussStandFile sarBussStandFile);
int updateByPrimaryKeySelective(SarBussStandFile sarBussStandFile);
int deleteByPrimaryKey(String value);
}
@@ -2,6 +2,8 @@ package com.adc.da.slrs.sarBussStandItems.dao;
import com.adc.da.slrs.sarBussStandItems.entity.SarBussStandItems;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
* <p>
@@ -11,6 +13,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author super_liu
* @since 2021-07-25
*/
@Repository
public interface SarBussStandItemsDao extends BaseMapper<SarBussStandItems> {
int deleteByStandIdAndFileType(@Param("standId") String standId, @Param("fileType") String fileType);
}
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarBussionessStand.controller;
import com.adc.da.common.ReadExcel;
import com.adc.da.person.service.IPersonCollectEOService;
import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService;
import com.adc.da.slrs.sarResource.entity.TsResource;
@@ -14,33 +15,45 @@ import com.adc.da.http.PageInfo;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.util.LoginUserUtil;
import com.adc.da.util.exception.AdcDaBaseException;
import com.adc.da.util.utils.IOUtils;
import com.adc.da.util.utils.StringUtils;
import com.adc.da.utils.util.BussStandExportUtil;
import com.adc.da.utils.util.SarAdvanceSearchUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
/**
* <p>
* 企业标准信息表 前端控制器
* </p>
*
* @author super_liu
* @since 2021-07-13
*/
* <p>
* 企业标准信息表 前端控制器
* </p>
*
* @author super_liu
* @since 2021-07-13
*/
@RestController
@Api(tags = "福田标准法规--企业标准信息")
@RequestMapping("/${restPath}/lawss/sarBussionessStand")
public class SarBussionessStandController extends BaseController<SarBussionessStand> {
private static final Logger logger = LoggerFactory.getLogger(SarBussionessStandController.class);
@Autowired
private ISarBussionessStandService sarBussionessStandEOService;
@@ -57,6 +70,54 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
@Autowired
private IDicTypeEOService dicTypeEOService;
@ApiOperation(value = "|SarBussionessStandEO|删除")
@PostMapping("deleteSarBussionessStand")
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarBussionessStand:delete")
public ResponseMessage delete(String ids) throws Exception {
SarBussionessStandEOPage sarBussionessStandEOPage = new SarBussionessStandEOPage();
sarBussionessStandEOPage.setIdlist(ids.split(","));
ResponseMessage<SarBussionessStand> result = sarBussionessStandEOService.deleteSarBussionessStand(sarBussionessStandEOPage);
logger.info("delete from SAR_BUSSIONESS_STAND where id = {}", ids);
return result;
}
/**
* 将查询出来的数据导出到EXCEL表格中
* @param
* @return
* @author gaoyan
* date 2018-09-04
*/
@ApiOperation(value = "|SarBussionessStandEO|导出excel")
@GetMapping(value = "/exportSarBussionessStand")
public void exportSarBussionessStand(String exportContent, String exportType, String exportName,String userId, HttpServletResponse response, HttpServletRequest request)throws Exception {
OutputStream os = null;
Workbook workbook = null;
try {
if(StringUtils.isEmpty(exportName)||exportName.equals("null")){
exportName="企业标准库";
}
response.setHeader("Content-Disposition",
"attachment; filename=" + ReadExcel.encodeFileName(exportName+".xlsx",request));
response.setContentType("application/force-download");
//导出数据
List<SarBussionessStand> datas = sarBussionessStandEOService.getSarBussionessStand(exportType,exportContent,userId);
workbook = BussStandExportUtil.exportDatas(datas);
os = response.getOutputStream();
workbook.write(os);
os.flush();
} catch (IOException e) {
logger.error(e.getMessage(), e);
throw new AdcDaBaseException("下载文件失败,请重试");
} finally {
IOUtils.closeQuietly(os);
if (workbook != null) {
workbook.close();
}
}
}
@ApiOperation(value = "|SarBussionessStandEO|企业标准修改")
@PostMapping(value = "/updateSarBussionessStand")
//401问题2021-03-31暂时注释掉 liuhuiwen
@@ -206,3 +267,4 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
}
@@ -95,5 +95,8 @@ public interface SarBussionessStandDao extends BaseMapper<SarBussionessStand> {
int updateByPrimaryKeySelectiveTimeNotNull(SarBussionessStand sarBussionessStandEO);
int updateByPrimaryKeySelective(SarBussionessStand sarBussionessStandEO);
}
@@ -1,5 +1,6 @@
package com.adc.da.slrs.sarBussionessStand.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.search.entity.SarBussionessStandEO;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
@@ -17,6 +18,10 @@ import java.util.List;
*/
public interface ISarBussionessStandService extends IService<SarBussionessStand> {
ResponseMessage<SarBussionessStand> deleteSarBussionessStand(SarBussionessStandEOPage page) throws Exception;
List<SarBussionessStand> getSarBussionessStand(String exportType, String exportContent,String userId) throws Exception;
SarBussionessStand updateSarBussionessStand(SarBussionessStand sarBussionessStandEO) throws Exception;
List<SarBussionessStand> selectStandardsByStandNumber(String replaceStandNum);
@@ -29,3 +34,4 @@ public interface ISarBussionessStandService extends IService<SarBussionessStand>
List<SarBussionessStand> getSarBussionStandPage(SarBussionessStandEOPage page) throws Exception;
}
@@ -6,16 +6,22 @@ import com.adc.da.common.ConvertMqEO;
import com.adc.da.common.SarTypeEnum;
import com.adc.da.common.SelectionTypeEnum;
import com.adc.da.common.UseModuleEnum;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.mq.CreateMQService;
import com.adc.da.mq.CreateStandMQService;
import com.adc.da.person.dao.PersonCollectEODao;
import com.adc.da.person.entity.TsPersonCollect;
import com.adc.da.person.page.PersonCollectEOPage;
import com.adc.da.person.service.IPersonCollectEOService;
import com.adc.da.search.entity.StandLawsEO;
import com.adc.da.search.service.StandLawsSearchService;
import com.adc.da.slrs.otConvertMq.dao.OtConvertMqDao;
import com.adc.da.slrs.otConvertMq.entity.OtConvertMq;
import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao;
import com.adc.da.slrs.sarBussStandFile.dao.SarBussStandFileDao;
import com.adc.da.slrs.sarBussStandFile.entity.SarBussStandFile;
import com.adc.da.slrs.sarBussStandItems.dao.SarBussStandItemsDao;
import com.adc.da.slrs.sarBussStandMenu.dao.SarBussStandMenuDao;
import com.adc.da.slrs.sarBussStandMenu.entity.SarBussStandMenu;
import com.adc.da.slrs.sarBussStandVal.dao.SarBussStandValDao;
@@ -27,6 +33,7 @@ import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao;
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO;
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService;
import com.adc.da.slrs.sarUser.service.ITsUserService;
@@ -38,6 +45,7 @@ import com.adc.da.sys.util.LoginUserUtil;
import com.adc.da.util.UUIDUtils;
import com.adc.da.utils.util.FieldConvertUtil;
import com.adc.da.utils.util.InitStandAttrUtil;
import com.adc.da.utils.util.SarAdvanceSearchUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import net.sf.json.JSONObject;
@@ -120,6 +128,12 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
@Autowired
private ISarUpdLogService sarUpdLogEOService;
@Autowired
private ITsResourceService sarMenuEOService;
@Autowired
private PersonCollectEODao personCollectEODao;
@Autowired
private SarBussStandAttrInfoDao sarBussStandAttrInfoEODao;
@@ -11,6 +11,7 @@ import com.adc.da.mq.CreateStandMQService;
import com.adc.da.person.dao.PersonCollectEODao;
import com.adc.da.person.dao.PersonShareEODao;
import com.adc.da.person.service.IPersonCollectEOService;
import com.adc.da.search.entity.StandLawsEO;
import com.adc.da.search.service.StandLawsSearchService;
import com.adc.da.slrs.otConvertMq.dao.OtConvertMqDao;
import com.adc.da.slrs.otConvertMq.entity.OtConvertMq;
@@ -1284,30 +1285,30 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
sarStandPutTimeEODao.deleteByStandId(id);
//删除文件详情表数据
sarStandFileEODao.deleteByStandId(id);
// List<SarStandFile> listFile = sarStandFileEODao.selectFileByStandId(id);
// if (listFile != null) {
// if (!listFile.isEmpty()) {
// for (int f = 0; f < listFile.size(); f++) {
// //删除文件信息表数据
// sarFileInfoEODao.deleteByfileId(listFile.get(f).getId());
// //删除转换表ot_convert数据
// otConvertEODao.deleteByAttId(listFile.get(f).getAttId());
// }
// }
// }
//删除代替关系
List<SarStandFile> listFile = sarStandFileEODao.selectFileByStandId(id);
if (listFile != null) {
if (!listFile.isEmpty()) {
for (int f = 0; f < listFile.size(); f++) {
//删除文件信息表数据
// sarFileInfoEODao.deleteByfileId(listFile.get(f).getId());
//删除转换表ot_convert数据
otConvertEODao.deleteByAttId(listFile.get(f).getAttId());
}
}
}
updateStandReplaceConnect(getDelStandInfoList);
//删除收藏表中数据
personCollectEODao.deleteByResId(id);
// 删除分享表中数据
personShareEODao.deleteByResId(id);
// if(elasflag) {
// //删除成功后,将索引中对应数据删除
// StandLawsEO standLawsEO = new StandLawsEO();
// standLawsEO.setId(sarStandardsInfoEO.getId());
// standLawsEO.setType("stand");
// sarStandAndLawsEOService.deleteFomrIndex(standLawsEO);
// }
if(elasflag) {
//删除成功后,将索引中对应数据删除
StandLawsEO standLawsEO = new StandLawsEO();
standLawsEO.setId(sarStandardsInfoEO.getId());
standLawsEO.setType("stand");
standLawsSearchService.deleteStandLawsSearch(standLawsEO);
}
}
return countResult;
}
@@ -0,0 +1,144 @@
package com.adc.da.utils.util;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Description: 标准导出工具
* @Author: yangxuenan
* date: 2020/9/16 14:09
*/
public class BussStandExportUtil {
private static final Logger logger = LoggerFactory.getLogger(BussStandExportUtil.class);
public static Workbook exportDatas (List<SarBussionessStand> datas) {
Workbook workbook = new XSSFWorkbook();
try {
StringBuilder attrBud = new StringBuilder();
List<SarStandAttrDetails> detailsEOList = InitStandAttrUtil.bussAttrFieldList;
Map<String,String> attrInfoMap = new HashMap<>();
for (SarStandAttrDetails detailsEO : detailsEOList) {
if (!InitStandAttrUtil.fileFieldListBuss.contains(detailsEO.getAttrField())) {
attrBud.append(detailsEO.getAttrName() + ",");
attrInfoMap.put(detailsEO.getAttrName(),detailsEO.getAttrField());
}
}
String header = FieldConvertUtil.exportBaseFieldNamesBuss + "," + attrBud.toString();
//创建工作表对象
Sheet sheet = workbook.createSheet();
// 创建头部
createHeader(workbook,sheet,header);
// 创建数据
createDatas(workbook,sheet,datas,header,attrInfoMap);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
return workbook;
}
public static void createHeader(Workbook workbook,Sheet sheet,String header){
CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象
cellStyle.setAlignment(HorizontalAlignment.CENTER);
Row rowHeader = sheet.createRow(0);//开始创建标题行
if (StringUtils.isNotBlank(header)) {
String[] headerArr = header.split(",");
for (int i=0;i < headerArr.length; i++) {
rowHeader.createCell(i).setCellValue(headerArr[i]);
// rowHeader.createCell(i).setCellStyle(cellStyle);
}
}
}
public static void createDatas(Workbook workbook,Sheet sheet,List<SarBussionessStand> datas,
String header,Map<String,String> attrInfoMap) throws Exception{
CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象
cellStyle.setAlignment(HorizontalAlignment.CENTER);
if (datas != null && !datas.isEmpty()) {
for (int i=0;i < datas.size(); i++) {
SarBussionessStand sarStandardsInfoEO = datas.get(i);
Row row = sheet.createRow(i+1);
String[] headerArr = header.split(",");
int sheetNum = 0;
for (String headerName : headerArr) {
String value = getValueByName(headerName,sarStandardsInfoEO,attrInfoMap);
if (StringUtils.isBlank(value) || "null".equals(value)) {
value = "";
}
row.createCell(sheetNum).setCellValue(value);
sheetNum++;
}
}
}
}
// 根据表头返回相应值
public static String getValueByName (String name,SarBussionessStand sarStandardsInfoEO,Map<String,String> attrInfoMap) throws Exception{
String value = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Object> attrValueMap = sarStandardsInfoEO.getAttrInfoMap();
switch (name) {
case "企标类别":
value = sarStandardsInfoEO.getStandSortShow();
break;
case "企标编号":
value = sarStandardsInfoEO.getStandCode();
break;
case "中文名称":
value = sarStandardsInfoEO.getStandName();
break;
case "英文名称":
value = sarStandardsInfoEO.getStandEnName();
break;
case "标准状态":
value = sarStandardsInfoEO.getStandStatusShow();
break;
case "标准实施日期":
if (sarStandardsInfoEO.getPutTime() != null) {
String issueTime = sdf.format(sarStandardsInfoEO.getPutTime());
value = issueTime;
}
break;
case "代替企标编号":
value = sarStandardsInfoEO.getReplaceStandNum();
break;
case "被代替企标编号":
value = sarStandardsInfoEO.getReplacedStandNum();
break;
case "发布日期":
if (sarStandardsInfoEO.getIssueTime() != null) {
String issueTime = sdf.format(sarStandardsInfoEO.getIssueTime());
value = issueTime;
}
break;
case "复审日期":
String field1 = attrInfoMap.get(name);
if (attrValueMap != null) {
value = String.valueOf(attrValueMap.get(field1));
if (value.length()>10){
value = value.substring(0,10);
}
}
break;
default:
String field = attrInfoMap.get(name);
if (attrValueMap != null) {
value = String.valueOf(attrValueMap.get(field));
}
break;
}
return value;
}
}