国内海外清单 标准的导入导出

This commit is contained in:
yuezhihang
2022-04-21 13:13:53 +08:00
parent 372e92744b
commit 51010172f0
25 changed files with 571 additions and 34 deletions
@@ -63,7 +63,7 @@ public class IExportServiceImpl implements IExportService {
tsUsers.forEach(tsUser -> {
tsUserMap.put(tsUser.getAccount(),tsUser.getUname());
});
List<importExcelDTO> res= ExcelImportUtilByWk.readExcelpublic(importExcelDTO.class,file);
List<importExcelDTO> res= ExcelImportUtilByWk.readExcelpublic(importExcelDTO.class,file,stringBuilder);
if (null!=res) {
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
int i = 1;
@@ -34,7 +34,7 @@ public class ExcelImportUtilByWk {
* @param file 上传的Excel文件
* @return 读取结果列表,读取失败时返回null
*/
public static <T> List<T> readExcelpublic(Class<T> tClass,MultipartFile file) {
public static <T> List<T> readExcelpublic(Class<T> tClass,MultipartFile file,StringBuilder stringBuilder) {
Workbook workbook = null;
@@ -105,7 +105,10 @@ public class ExcelImportUtilByWk {
String value = convertCellValueToString(cell);
Date date= DateUtils.stringToDate(TrainFormDate.dealWithTimeZoneyyyy(value,mapExcel.get(a).exportFormat()),mapExcel.get(a).exportFormat());
// Date date= DateUtils.stringToDate(value,mapExcel.get(a).exportFormat());
if (null==date){
if (null!=value && !"".equals(value) && null==date){
stringBuilder.append(""+rowNum+"行第"+a+"列,日期格式存在问题请检查;");
}
if (null==date && null!=value){
nums++;
}
map.get(a).set(o, date);
@@ -39,6 +39,8 @@ public interface SarBussionessStandDao extends BaseMapper<SarBussionessStand> {
List<SarBussionessStand> getBussionessStandInfoPage(SarBussionessStandEOPage page);
List<SarBussionessStand> getBussionessStandInfoByNum(SarBussionessStandEOPage page);
List<SarBussionessStand> getBussionessStandInfoPageByRole(SarBussionessStandEOPage page);
//企标复审使用
@@ -4,12 +4,18 @@ package com.adc.da.slrs.sarLawsDetailedList.controller;
import com.adc.da.att.controller.AttFileEOController;
import com.adc.da.att.entity.AttFileEO;
import com.adc.da.base.web.BaseController;
import com.adc.da.excel.poi.excel.entity.ExportParams;
import com.adc.da.excel.poi.excel.entity.enums.ExcelType;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.msgDynamicInfo.common.ReadExcel;
import com.adc.da.slrs.processModel.utils.ExcelExportUtilByWk;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarLawsAttrDetailedList;
import com.adc.da.slrs.sarLawsDetailedList.Util.BeanConverUtil;
import com.adc.da.slrs.sarLawsDetailedList.entity.*;
import com.adc.da.slrs.sarLawsDetailedList.service.impl.SarLawsDetailedListServiceImpl;
import com.adc.da.slrs.wgdCensusZ.entity.WgdCommiInfo;
import com.adc.da.util.exception.AdcDaBaseException;
import com.adc.da.util.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -19,10 +25,17 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.util.IOUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -170,4 +183,45 @@ public class SarLawsDetailedListController extends BaseController<SarLawsDetaile
return Result.success("200",null);
}
@ApiOperation(value = "导出模板")
@GetMapping("/exportEmpty")
public ResponseMessage exportEmpty( String exportName, HttpServletResponse response, HttpServletRequest request){
OutputStream os = null;
Workbook workbook = null;
try {
if(com.adc.da.util.utils.StringUtils.isEmpty(exportName) ||exportName.equals("null")){
exportName="清单模板";
}
response.setHeader("Content-Disposition",
"attachment; filename=" + ReadExcel.encodeFileName(exportName+".xlsx", request));
response.setContentType("application/force-download");
ExportParams exportParams = new ExportParams();
exportParams.setType(ExcelType.XSSF);
exportParams.setSheetName(exportName);
List<ExportEmptyModel> datas=new ArrayList<>();
workbook = ExcelExportUtilByWk.exportWithData(exportParams,ExportEmptyModel.class,datas);
os = response.getOutputStream();
workbook.write(os);
os.flush();
} catch (IOException e) {
throw new AdcDaBaseException("下载文件失败,请重试");
} finally {
IOUtils.closeQuietly(os);
}
return Result.success("200",null);
}
@ApiOperation(value = "导入标准数据")
@PostMapping("/importData")
public ResponseMessage importData( @RequestParam(value = "file", required = false) MultipartFile file){
StringBuilder stringBuilder=new StringBuilder();
List<ExportEmptyModel> res=sarLawsDetailedListService.importData(file,stringBuilder);
if (stringBuilder.toString().length()>0){
return Result.error("-1","",stringBuilder.toString());
}else {
return Result.success(res);
}
}
}
@@ -0,0 +1,41 @@
package com.adc.da.slrs.sarLawsDetailedList.entity;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class ExportEmptyModel {
@Excel(name = "标准编号(必填)",orderNum = "0" ,width = 20.0)
private String standNumber;
@Excel(name = "适用认证(必填,可多选)",orderNum = "1" ,width = 40.0)
private String syrz;
@Excel(name = "标准实施日期",orderNum = "2" ,width = 20.0,exportFormat = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date bzssrq;
@Excel(name = "新车型实施日期",orderNum = "3" ,width = 20.0,exportFormat = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date xcxssrq;
@Excel(name = "在产车实施日期",orderNum = "4" ,width = 20.0,exportFormat = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date zccssrq;
private String standId;
private String compareFlag;
private String syrzCode;
}
@@ -1,12 +1,10 @@
package com.adc.da.slrs.sarLawsDetailedList.service;
import com.adc.da.slrs.sarLawsDetailedList.entity.AddDetailedDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.SarLawsDetailedList;
import com.adc.da.slrs.sarLawsDetailedList.entity.DetailedUpDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.TimeDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -31,6 +29,10 @@ public interface ISarLawsDetailedListService extends IService<SarLawsDetailedLis
SarLawsDetailedList selSarLawDetailById(@Param("id")String id);
public void standardToLaws(String countryArea,TimeDto timeDto);
void standardToLaws(String countryArea,TimeDto timeDto);
List<ExportEmptyModel> importData(MultipartFile file , StringBuilder stringBuilder);
}
@@ -1,25 +1,35 @@
package com.adc.da.slrs.sarLawsDetailedList.service.impl;
import com.adc.da.att.service.IAttFileEOService;
import com.adc.da.slrs.processModel.utils.ExcelImportUtilByWk;
import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarLawsAttrDetailedList;
import com.adc.da.slrs.sarLawsAttrDetailedList.service.ISarLawsAttrDetailedListService;
import com.adc.da.slrs.sarLawsAttrDetailedList.service.impl.SarLawsAttrDetailedListServiceImpl;
import com.adc.da.slrs.sarLawsDetailedList.dao.SarLawsDetailedListDao;
import com.adc.da.slrs.sarLawsDetailedList.entity.AddDetailedDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.SarLawsDetailedList;
import com.adc.da.slrs.sarLawsDetailedList.entity.DetailedUpDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.TimeDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.*;
import com.adc.da.slrs.sarLawsDetailedList.service.ISarLawsDetailedListService;
import com.adc.da.slrs.sarLawsStandInfo.dao.SarLawsStandInfoDao;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage;
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfoEOPage;
import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService;
import com.adc.da.slrs.sarStandardsInfo.service.impl.SarStandardsInfoServiceImpl;
import com.adc.da.slrs.sarUser.entity.UpDTO;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.standardSplit.service.SarStandardsInfoEOService;
import com.adc.da.slrs.wgdCensusZ.entity.WgdCommiInfo;
import com.adc.da.sys.service.IDicTypeEOService;
import com.adc.da.util.LoginUserUtil;
import com.adc.da.util.UUIDUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -27,8 +37,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.lang.reflect.Array;
import java.util.*;
@@ -64,6 +76,16 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
private IDicTypeEOService iDicTypeEOService;
@Autowired
private ITsUserService iTsUserService;
@Autowired
private SarStandardsInfoDao standardsInfoDao;
@Autowired
private SarBussionessStandDao sarBussionessStandDao;
@Autowired
private SarLawsStandInfoDao sarLawsStandInfoDao;
//查询数据字典
@Autowired
private IDicTypeEOService dicTypeEOService;
@Override
public String del(List<String> idList) {
@@ -733,4 +755,114 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
}
@Override
public List<ExportEmptyModel> importData(MultipartFile file, StringBuilder stringBuilder) {
List<ExportEmptyModel> res= ExcelImportUtilByWk.readExcelpublic(ExportEmptyModel.class,file,stringBuilder);
//数据字典数据组装
Map<String, Object> dicTypeEO = dicTypeEOService.getDicTypeListCode();
Map<String,String> dict=new HashMap<>();
List<Map<String, String>> arr = (List<Map<String, String>>) dicTypeEO.get("SYRZCLASS");
arr.forEach(stringStringMap -> {
dict.put(stringStringMap.get("label"),stringStringMap.get("value"));
});
//数据校验 先做重复交验+再做是否存在校验
if (null != res && "".equals(stringBuilder.toString())) {
for (int i = 0; i <res.size(); i++) {
for (int j=0;j<res.size();j++){
String a=res.get(i).getStandNumber().replaceAll(" ","").replaceAll(" ","");
String b=res.get(j).getStandNumber().replaceAll(" ","").replaceAll(" ","");
if (a.equals(b) && i<j && !"1".equals(res.get(j).getCompareFlag())){
stringBuilder.append(""+(i+1)+"行数据与第"+(j+1)+"行数据重复;");
res.get(j).setCompareFlag("1");
}
}
}
//如果没有重复 那么错误提示标识应该为空 现在开始验证标准是否存在
if ("".equals(stringBuilder.toString())){
int i=1;
for (ExportEmptyModel exportEmptyModel:res) {
//判定是不是存在于国内海外标准中
SarStandardsInfoEOPage infoEOPage = new SarStandardsInfoEOPage();
infoEOPage.setUserId(LoginUserUtil.getUserId());
infoEOPage.setPage(1);
infoEOPage.setPageSize(999);
infoEOPage.setValidFlag("0");
infoEOPage.setStandNumber(exportEmptyModel.getStandNumber());
List<SarStandardsInfo> infos=standardsInfoDao.getSarStandardsInfoByNum(infoEOPage ,"0");
if (null!= infos && infos.size()>0){
exportEmptyModel.setStandId(infos.get(0).getId());
}
if (null==exportEmptyModel.getStandId()) {
//判断是否在政策里
SarBussionessStandEOPage page = new SarBussionessStandEOPage();
page.setPage(1);
page.setPageSize(999);
page.setValidFlag("0");
page.setUserId(LoginUserUtil.getUserId());
page.setStandCode(exportEmptyModel.getStandNumber());
List<SarBussionessStand> sarBussionessStands = sarBussionessStandDao.getBussionessStandInfoByNum(page);
if (null != sarBussionessStands && sarBussionessStands.size() > 0) {
exportEmptyModel.setStandId(sarBussionessStands.get(0).getId());
}
}
if (null==exportEmptyModel.getStandId()) {
//判断是否在企标里 List<SarLawsStandInfo> getSarStandardsInfoPage(SarLawsStandInfoPage page);
SarLawsStandInfoPage lawsStandInfoPage = new SarLawsStandInfoPage();
lawsStandInfoPage.setPage(1);
lawsStandInfoPage.setPageSize(999);
lawsStandInfoPage.setValidFlag("0");
lawsStandInfoPage.setLawsNumber(exportEmptyModel.getStandNumber());
lawsStandInfoPage.setUserId(LoginUserUtil.getUserId());
List<SarLawsStandInfo> sarLawsStandInfos = sarLawsStandInfoDao.getSarStandardsInfoByNum(lawsStandInfoPage);
if (null != sarLawsStandInfos && sarLawsStandInfos.size() > 0) {
exportEmptyModel.setStandId(sarLawsStandInfos.get(0).getId());
}
}
if (null==exportEmptyModel.getStandId() || exportEmptyModel.getStandId().isEmpty()){
stringBuilder.append(""+i+"行标准号不存在,请检查标准号是否正确;");
}
//验证完标准号 再来验证适用认证 写的是否合理 字典编码 SYRZCLASS0
exportEmptyModel.setSyrz(exportEmptyModel.getSyrz().trim().replaceAll("",","));
if (exportEmptyModel.getSyrz().contains(",") || null != dict.get(exportEmptyModel.getSyrz())){
if (exportEmptyModel.getSyrz().contains(",")){
StringBuilder syrz=new StringBuilder();
StringBuilder sy=new StringBuilder();
List<String> syrzs=new ArrayList<>(Arrays.asList(exportEmptyModel.getSyrz().split(",")));
syrzs.forEach(s -> {
if (null!=dict.get(s.trim())){
syrz.append(dict.get(s.trim())+",");
}else {
syrz.append("-1"+",");
}
sy.append(s.trim()+",");
});
if (syrz.toString().contains("-1")){
stringBuilder.append(""+i+"行适用认证填写错误,请检查;");
}else {
exportEmptyModel.setSyrzCode(syrz.toString().substring(0,syrz.toString().length()-1));
exportEmptyModel.setSyrz(sy.toString().substring(0,sy.toString().length()-1));
}
}else {
if (null!=dict.get(exportEmptyModel.getSyrz())) {
exportEmptyModel.setSyrzCode(dict.get(exportEmptyModel.getSyrz()));
}else {
stringBuilder.append(""+i+"行适用认证填写错误,请检查;");
}
}
}else {
stringBuilder.append(""+i+"行适用认证填写错误,请检查;");
}
i++;
}
}
return res;
}else {
return null;
}
}
}
@@ -20,6 +20,7 @@ import java.util.List;
public interface SarLawsStandInfoDao extends BaseMapper<SarLawsStandInfo> {
List<SarLawsStandInfo> getSarStandardsInfoPage(SarLawsStandInfoPage page);
List<SarLawsStandInfo> getSarStandardsInfoByNum(SarLawsStandInfoPage page);
int getSarStandardsInfoCount(SarLawsStandInfoPage page);
@@ -132,12 +132,12 @@ public class SarStandUnqualified extends BaseEntity {
@TableField("RESPONSIBLE_UNIT")
private String responsibleUnit;
// @ExcelProperty("质量工程师")
@ExcelIgnore
@ApiModelProperty(value = "质量工程师")
@TableField("QA_ENGINEER")
private String qaEngineer;
// @ExcelProperty("认证工程师")
@ExcelIgnore
@ApiModelProperty(value = "认证工程师")
@TableField("AUTH_ENGINEER")
private String authEngineer;
@@ -23,6 +23,8 @@ public interface SarStandardsInfoDao extends BaseMapper<SarStandardsInfo> {
List<SarStandardsInfo> getSarStandardsInfoPage(@Param("page") SarStandardsInfoEOPage page,@Param("mark")String mark);
List<SarStandardsInfo> getSarStandardsInfoByNum(@Param("page") SarStandardsInfoEOPage page,@Param("mark")String mark);
List<SarStandardsInfo> selectHighLawsPage(@Param("page") SarStandardsInfoEOPage page,@Param("mark")String mark,@Param("list") List<String> lawsIds);
int getSarStandardsInfoCount(@Param("page") SarStandardsInfoEOPage page);
@@ -75,7 +75,7 @@ public class WgdCgfyServiceImpl extends ServiceImpl<WgdCgfyDao, WgdCgfy> impleme
@Override
public List<WgdCgfy> importCgfy(MultipartFile file, StringBuilder stringBuilder) {
List<WgdCgfy> res= ExcelImportUtilByWk.readExcelpublic(WgdCgfy.class,file);
List<WgdCgfy> res= ExcelImportUtilByWk.readExcelpublic(WgdCgfy.class,file,stringBuilder);
if (res != null){
QueryWrapper<WgdCgfy> queryWrapper = new QueryWrapper<>();
queryWrapper.select(WgdCgfy.class, info -> !info.getColumn().equals("id"));
@@ -74,8 +74,8 @@ public class WgdFyfyServiceImpl extends ServiceImpl<WgdFyfyDao, WgdFyfy> impleme
@Override
public List<WgdFyfy> importFyfy(MultipartFile file, StringBuilder stringBuilder) {
List<WgdFyfy> res= ExcelImportUtilByWk.readExcelpublic(WgdFyfy.class,file);
if (res != null){
List<WgdFyfy> res= ExcelImportUtilByWk.readExcelpublic(WgdFyfy.class,file,stringBuilder);
if (res != null && "".equals(stringBuilder.toString())){
QueryWrapper<WgdFyfy> queryWrapper = new QueryWrapper<>();
queryWrapper.select(WgdFyfy.class, info -> !info.getColumn().equals("id"));
List<WgdFyfy> wgdFyfy=iWgdFyfyService.list(queryWrapper);
@@ -79,8 +79,8 @@ public class WgdSrbServiceImpl extends ServiceImpl<WgdSrbDao, WgdSrb> implements
@Override
public List<WgdSrb> importSrb(MultipartFile file, StringBuilder stringBuilder) {
List<WgdSrb> res= ExcelImportUtilByWk.readExcelpublic(WgdSrb.class,file);
if (res != null){
List<WgdSrb> res= ExcelImportUtilByWk.readExcelpublic(WgdSrb.class,file,stringBuilder);
if (res != null && "".equals(stringBuilder.toString())){
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
for (WgdSrb wgdSrb: res) {
@@ -76,8 +76,8 @@ public class WgdWbtjServiceImpl extends ServiceImpl<WgdWbtjDao, WgdWbtj> impleme
@Override
public List<WgdWbtj> importWbtj(MultipartFile file, StringBuilder stringBuilder) {
List<WgdWbtj> res= ExcelImportUtilByWk.readExcelpublic(WgdWbtj.class,file);
if (res != null){
List<WgdWbtj> res= ExcelImportUtilByWk.readExcelpublic(WgdWbtj.class,file,stringBuilder);
if (res != null && "".equals(stringBuilder.toString())){
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
for (WgdWbtj wgdWbtj: res) {
@@ -78,8 +78,8 @@ public class WgdWbxdServiceImpl extends ServiceImpl<WgdWbxdDao, WgdWbxd> impleme
public List<WgdWbxd> importWbxd(MultipartFile file, StringBuilder stringBuilder) {
List<WgdWbxd> res= ExcelImportUtilByWk.readExcelpublic(WgdWbxd.class,file);
if (res != null){
List<WgdWbxd> res= ExcelImportUtilByWk.readExcelpublic(WgdWbxd.class,file,stringBuilder);
if (res != null && "".equals(stringBuilder.toString())){
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
for (WgdWbxd wgdWbxd: res) {
@@ -74,8 +74,8 @@ public class WgdZcbServiceImpl extends ServiceImpl<WgdZcbDao, WgdZcb> implements
@Override
public List<WgdZcb> importZcb(MultipartFile file, StringBuilder stringBuilder) {
List<WgdZcb> res= ExcelImportUtilByWk.readExcelpublic(WgdZcb.class,file);
if (res != null){
List<WgdZcb> res= ExcelImportUtilByWk.readExcelpublic(WgdZcb.class,file,stringBuilder);
if (res != null ){
QueryWrapper<WgdZcb> queryWrapper = new QueryWrapper<>();
queryWrapper.select(WgdZcb.class, info -> !info.getColumn().equals("id"));
List<WgdZcb> wgdZcb=iWgdZcbService.list(queryWrapper);
@@ -89,7 +89,7 @@ public class WgdAssocCostServiceImpl extends ServiceImpl<WgdAssocCostDao, WgdAss
@Override
public List<WgdAssocCost> importAssocCosts(MultipartFile file, StringBuilder stringBuilder) {
List<WgdAssocCost> res= ExcelImportUtilByWk.readExcelpublic(WgdAssocCost.class,file);
List<WgdAssocCost> res= ExcelImportUtilByWk.readExcelpublic(WgdAssocCost.class,file,stringBuilder);
if (res != null){
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
@@ -78,8 +78,8 @@ public class WgdAssocInfoServiceImpl extends ServiceImpl<WgdAssocInfoDao, WgdAss
@Override
public List<WgdAssocInfo> delWithWkData(MultipartFile file, StringBuilder stringBuilder) {
List<WgdAssocInfo> res= ExcelImportUtilByWk.readExcelpublic(WgdAssocInfo.class,file);
if (res != null){
List<WgdAssocInfo> res= ExcelImportUtilByWk.readExcelpublic(WgdAssocInfo.class,file,stringBuilder);
if (res != null && "".equals(stringBuilder.toString())){
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
for (WgdAssocInfo importExcelDTO: res) {
@@ -80,8 +80,8 @@ public class WgdCommiInfoServiceImpl extends ServiceImpl<WgdCommiInfoDao, WgdCom
@Override
public List<WgdCommiInfo> importCommiInfo(MultipartFile file, StringBuilder stringBuilder) {
List<WgdCommiInfo> res= ExcelImportUtilByWk.readExcelpublic(WgdCommiInfo.class,file);
if (res != null){
List<WgdCommiInfo> res= ExcelImportUtilByWk.readExcelpublic(WgdCommiInfo.class,file,stringBuilder);
if (res != null && "".equals(stringBuilder.toString())){
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
for (WgdCommiInfo wgdCommiInfo: res) {
@@ -75,7 +75,7 @@ public class WgdExReviseCostServiceImpl extends ServiceImpl<WgdExReviseCostDao,
@Override
public List<WgdExReviseCost> importExReviseCost(MultipartFile file, StringBuilder stringBuilder) {
List<WgdExReviseCost> res= ExcelImportUtilByWk.readExcelpublic(WgdExReviseCost.class,file);
List<WgdExReviseCost> res= ExcelImportUtilByWk.readExcelpublic(WgdExReviseCost.class,file,stringBuilder);
if (res != null){
QueryWrapper<WgdExReviseCost> queryWrapper = new QueryWrapper<>();
queryWrapper.select(WgdExReviseCost.class, info -> !info.getColumn().equals("id"));
@@ -77,8 +77,8 @@ public class WgdMeetCostServiceImpl extends ServiceImpl<WgdMeetCostDao, WgdMeetC
@Override
public List<WgdMeetCost> importMeetCost(MultipartFile file, StringBuilder stringBuilder) {
List<WgdMeetCost> res= ExcelImportUtilByWk.readExcelpublic(WgdMeetCost.class,file);
if (res != null){
List<WgdMeetCost> res= ExcelImportUtilByWk.readExcelpublic(WgdMeetCost.class,file,stringBuilder);
if (res != null && "".equals(stringBuilder.toString())){
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
for (WgdMeetCost wgdCommiInfo: res) {
@@ -616,6 +616,94 @@
</if>
</trim>
</sql>
<sql id="SarBussionInfo_Where_Clause1">
left join SAR_BUSS_STAND_MENU ON SAR_BUSSIONESS_STAND.id = SAR_BUSS_STAND_MENU.buss_stand_id
<!--<if test="menuId != null and menuId =='nomenu' and menuAllChildrenIdList != null and menuAllChildrenIdList.size()>0 and sarMsType != null and sarMsType == 'filterSarMsMenu'" >-->
<!--and SAR_BUSS_STAND_MENU.TREE_TYPE = 'sarMs'-->
<!--and SAR_BUSS_STAND_MENU.MENU_ID in-->
<!--<foreach collection="menuAllChildrenIdList" index="index" item="item" open="(" separator="," close=")">-->
<!--#{item}-->
<!--</foreach>-->
<!--</if>-->
left join TS_RESOURCE on SAR_BUSS_STAND_MENU.menu_id = TS_RESOURCE.id
left join SAR_BUSS_STAND_ATTR_INFO on (SAR_BUSS_STAND_ATTR_INFO.STAND_ID = SAR_BUSSIONESS_STAND.id and SAR_BUSS_STAND_ATTR_INFO.valid_flag=0)
LEFT JOIN TS_DICTYPE dicstandTextStatus ON (
dicstandTextStatus.dic_type_code = SAR_BUSSIONESS_STAND.text_status_buss
AND dicstandTextStatus.dic_id IS NOT NULL
AND dicstandTextStatus.valid_flag = 0
)
where 1=1
<trim suffixOverrides="," >
<if test="standCode != null" >
and (SAR_BUSSIONESS_STAND.STAND_CODE = #{standCode}
or REPLACE( SAR_BUSSIONESS_STAND.STAND_CODE,' ','') = REPLACE( #{standCode},' ',''))
</if>
<!--<if test="menuId != null and menuId =='nomenu' and menuAllChildrenIdList != null and menuAllChildrenIdList.size()>0 and sarMsType != null and sarMsType == 'filterSarMsMenu'" >-->
<!--and SAR_BUSS_STAND_MENU.MENU_ID IS NULL-->
<!--</if>-->
<!--&lt;!&ndash; 目录判断 &ndash;&gt;-->
<!--<if test="menuId != null and menuId !='nomenu' and menuAllChildrenIdList != null and menuAllChildrenIdList.size()>0 " >-->
<!--and SAR_BUSS_STAND_MENU.MENU_ID in-->
<!--<foreach collection="menuAllChildrenIdList" index="index" item="item" open="(" separator="," close=")">-->
<!--#{item}-->
<!--</foreach>-->
<!--</if>-->
<!--&lt;!&ndash; 新修改需求,根据角色查询有权限的菜单数据&ndash;&gt;-->
<!--<if test="menuRoleList != null">-->
<!--and SAR_BUSS_STAND_MENU.MENU_ID in-->
<!--<foreach collection="menuRoleList" index="index" item="item" open="(" separator="," close=")">-->
<!--#{item}-->
<!--</foreach>-->
<!--</if>-->
<!--<if test="collectMenuId != null">-->
<!--and SAR_BUSSIONESS_STAND.id in (-->
<!--select COLLECT_RES_ID from TS_PERSON_COLLECT where TS_PERSON_COLLECT.VALID_FLAG=0-->
<!--and collect_type='BUSINESS_STAND'-->
<!--and TS_PERSON_COLLECT.user_id=#{userId}-->
<!--)-->
<!--</if>-->
<!--<if test="validFlag != null" >-->
<!--and SAR_BUSSIONESS_STAND.valid_flag = #{validFlag}-->
<!--</if>-->
<!--&lt;!&ndash; 导出数据过程中,选择的id &ndash;&gt;-->
<!--<if test="idlist != null" >-->
<!--and SAR_BUSSIONESS_STAND.id in-->
<!--<foreach collection="idlist" index="index" item="item" open="(" separator="," close=")">-->
<!--#{item}-->
<!--</foreach>-->
<!--</if>-->
<!--<if test="id != null and id != '' " >-->
<!--and SAR_BUSSIONESS_STAND.id = #{id}-->
<!--</if>-->
<!--<if test="standSort != null" >-->
<!--and SAR_BUSSIONESS_STAND.stand_sort = #{standSort}-->
<!--</if>-->
<!--<if test="standYear != null" >-->
<!--and SAR_BUSSIONESS_STAND.stand_year = #{standYear}-->
<!--</if>-->
<!--<if test="replaceStandNum != null" >-->
<!--and replace_stand_num like concat(concat('%',#{replaceStandNum}),'%')-->
<!--</if>-->
<!--<if test="standStatus != null" >-->
<!--and SAR_BUSSIONESS_STAND.STAND_STATUS = #{standStatus}-->
<!--</if>-->
<!--<if test="standEnName != null">-->
<!--and SAR_BUSSIONESS_STAND.STAND_EN_NAME like concat('%', #{standEnName},'%')-->
<!--</if>-->
<!--<if test="advanceSearchStr != null">-->
<!--and (${advanceSearchStr})-->
<!--</if>-->
<!--<if test="zqcrId != null">-->
<!--and (SELECT ZYQCR-->
<!--FROM SAR_BUSS_STAND_ATTR_INFO-->
<!--WHERE valid_flag = 0-->
<!--and stand_id = SAR_BUSSIONESS_STAND.id) = #{zqcrId}-->
<!--</if>-->
</trim>
</sql>
<!-- 根据角色分页查询条件 -->
<sql id="SarBussionInfoRole_Where_Clause">
@@ -736,6 +824,20 @@
<include refid="standSort_in"/>
limit ${pager.startIndex-1},${pageSize}) a
</select>
<!--清单导入标准 根据标准号认证数据-->
<select id="getBussionessStandInfoByNum" resultMap="BaseResultMap" parameterType="com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage">
select * from
(select tmp_tb.* from
(select
dicstandTextStatus.DIC_TYPE_NAME AS standStatusShow,SAR_BUSS_STAND_ATTR_INFO.DTQBBHBUSS,
<include refid="Base_Column_List_show" />
from SAR_BUSSIONESS_STAND
<include refid="SarBussionInfo_Where_Clause1"/>
GROUP BY standStatusShow,<include refid="Group_Column_List_show"/>
) tmp_tb
<include refid="standSort_in"/>
limit ${pager.startIndex-1},${pageSize}) a
</select>
<!-- 企标复审使用-->
<select id="getBussionessStandInfoQbfs" resultMap="BaseResultMap" parameterType="com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage">
@@ -175,6 +175,117 @@
</if>
<if test="collectMenuId != null and collectMenuId != ''">
and SAR_LAWS_STAND_INFO.id in (
select COLLECT_RES_ID from TS_PERSON_COLLECT where TS_PERSON_COLLECT.VALID_FLAG=0
and (collect_type='FOREIGN_LAWS')
and TS_PERSON_COLLECT.user_id=#{userId}
)
</if>
<if test="advanceSearchStr != null and advanceSearchStr != ''">
and (${advanceSearchStr})
</if>
</trim>
</sql>
<sql id="SarStandardsInfo_in_left1">
left join SAR_LAWS_MENU ON SAR_LAWS_STAND_INFO.id = SAR_LAWS_MENU.laws_id
LEFT JOIN TS_DICTYPE dicstandTextStatus ON (
dicstandTextStatus.dic_type_code = SAR_LAWS_STAND_INFO.LAWS_TEXT_STATE
AND dicstandTextStatus.dic_id IS NOT NULL
AND dicstandTextStatus.valid_flag = 0
)
left join SAR_LAWS_ATTR_INFO on (SAR_LAWS_ATTR_INFO.LAWS_ID = SAR_LAWS_STAND_INFO.id and SAR_LAWS_ATTR_INFO.valid_flag=0)
where 1=1 and SAR_LAWS_STAND_INFO.valid_flag=0
<trim suffixOverrides=",">
<!-- 基本搜索项 -->
<if test="lawsType != null and lawsType != ''">
and SAR_LAWS_STAND_INFO.LAWS_TYPE like concat(concat('%',#{lawsType}),'%')
</if>
<if test="lawsNumber != null and lawsNumber != ''">
and SAR_LAWS_STAND_INFO.LAWS_NUMBER = #{lawsNumber}
</if>
<if test="numberName != null and numberName != ''">
and (SAR_LAWS_STAND_INFO.LAWS_NAME like concat(concat('%',#{numberName}),'%')
or SAR_LAWS_STAND_INFO.LAWS_NUMBER like concat(concat('%',#{numberName}),'%')
or SAR_LAWS_STAND_INFO.LAWS_EN_NAME like concat(concat('%',#{numberName}),'%'))
</if>
<if test="lawsName != null and lawsName != ''">
and LAWS_NAME like concat(concat('%',#{lawsName}),'%')
</if>
<if test="lawsEnName != null and lawsEnName != ''">
and SAR_LAWS_STAND_INFO.LAWS_EN_NAME like concat(concat('%',#{lawsEnName}),'%')
</if>
<if test="lawsNo != null and lawsNo != ''">
and SAR_LAWS_STAND_INFO.LAWS_NO like concat(concat('%',#{lawsNo}),'%')
</if>
<if test="issueTime != null and issueTime != ''">
and DATE_FORMAT(SAR_LAWS_STAND_INFO.ISSUE_TIME,'%Y-%m-%d') = #{issueTime}
</if>
<if test="issueCompany != null and issueCompany != ''">
and SAR_LAWS_STAND_INFO.ISSUE_COMPANY like concat(concat('%',#{issueCompany}),'%')
</if>
<if test="commentCycleStart != null and commentCycleStart != ''">
and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_START ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleStart},'%Y-%m-%d')
</if>
<if test="commentCycleEnd != null and commentCycleEnd != ''">
and DATE_FORMAT(SAR_LAWS_STAND_INFO.COMMENT_CYCLE_END ,'%Y-%m-%d') = DATE_FORMAT(#{commentCycleEnd},'%Y-%m-%d')
</if>
<if test="lawsTextState != null and lawsTextState != ''">
and SAR_LAWS_STAND_INFO.LAWS_TEXT_STATE = #{lawsTextState}
</if>
<if test="lawsSyqy != null and lawsSyqy != ''">
and FIND_IN_SET(#{lawsSyqy},SAR_LAWS_STAND_INFO.LAWS_SYQY)
</if>
<if test="lawsSycx != null and lawsSycx != ''">
and FIND_IN_SET(#{lawsSycx},SAR_LAWS_STAND_INFO.LAWS_SYCX)
</if>
<if test="isRelateAccess != null and isRelateAccess != ''">
and SAR_LAWS_STAND_INFO.IS_RELATE_ACCESS = #{isRelateAccess}
</if>
<if test="lawsYear != null and lawsYear != ''">
and SAR_LAWS_STAND_INFO.LAWS_YEAR like concat(concat('%',#{lawsYear}),'%')
</if>
<if test="lawsNotisyncNum != null and lawsNotisyncNum != ''">
and SAR_LAWS_STAND_INFO.LAWS_NOTISYNC_NUM like concat(concat('%',#{lawsNotisyncNum}),'%')
</if>
<if test="lawsBulletin != null and lawsBulletin != ''">
and SAR_LAWS_STAND_INFO.LAWS_BULLETIN like concat(concat('%',#{lawsBulletin}),'%')
</if>
<if test="lawsLabel != null and lawsLabel != ''">
and SAR_LAWS_STAND_INFO.LAWS_LABEL like concat(concat('%',#{lawsLabel}),'%')
</if>
<if test="lawsRemark != null and lawsRemark != ''">
and SAR_LAWS_STAND_INFO.LAWS_REMARK like concat(concat('%',#{lawsRemark}),'%')
</if>
<!-- 国家、地区 -->
<if test="country != null and country != ''">
and SAR_LAWS_STAND_INFO.country = #{country}
</if>
<!-- 目录判断 -->
<if test="menuId != null and menuId !='nomenu' and menuAllChildrenIdList != null">
and SAR_LAWS_MENU.MENU_ID in
<foreach collection="menuAllChildrenIdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<!-- 新修改需求,根据角色查询有权限的菜单数据-->
<if test="menuRoleList != null">
and SAR_LAWS_MENU.MENU_ID in
<foreach collection="menuRoleList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<!-- 导出数据过程中,选择的id -->
<if test="idlist != null">
and SAR_LAWS_STAND_INFO.id in
<foreach collection="idlist" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="collectMenuId != null and collectMenuId != ''">
and SAR_LAWS_STAND_INFO.id in (
select COLLECT_RES_ID from TS_PERSON_COLLECT where TS_PERSON_COLLECT.VALID_FLAG=0
@@ -273,6 +384,48 @@
limit ${pager.startIndex-1},${pageSize}
</select>
<!-- 查询SAR_LAWS_STAND_INFO列表 -->
<select id="getSarStandardsInfoByNum" resultMap="BaseResultMap"
parameterType="com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage">
SELECT
DISTINCT SAR_LAWS_STAND_INFO.ID,
SAR_LAWS_STAND_INFO.LAWS_TYPE,
SAR_LAWS_STAND_INFO.LAWS_NUMBER,
SAR_LAWS_STAND_INFO.LAWS_NAME,
SAR_LAWS_STAND_INFO.LAWS_EN_NAME,
SAR_LAWS_STAND_INFO.LAWS_NO,
SAR_LAWS_STAND_INFO.ISSUE_TIME,
SAR_LAWS_STAND_INFO.ISSUE_COMPANY,
SAR_LAWS_STAND_INFO.COMMENT_CYCLE_START,
SAR_LAWS_STAND_INFO.COMMENT_CYCLE_END,
SAR_LAWS_STAND_INFO.LAWS_TEXT_STATE,
SAR_LAWS_STAND_INFO.LAWS_SYQY,
SAR_LAWS_STAND_INFO.LAWS_SYCX,
SAR_LAWS_STAND_INFO.IS_RELATE_ACCESS,
SAR_LAWS_STAND_INFO.LAWS_YEAR,
SAR_LAWS_STAND_INFO.LAWS_NOTISYNC_NUM,
SAR_LAWS_STAND_INFO.LAWS_BULLETIN,
SAR_LAWS_STAND_INFO.LAWS_LABEL,
SAR_LAWS_STAND_INFO.LAWS_REMARK,
SAR_LAWS_STAND_INFO.COUNTRY,
SAR_LAWS_STAND_INFO.MODIFY_TIME,
dicstandTextStatus.DIC_TYPE_NAME AS standStatusShow,
(
CASE
WHEN SAR_LAWS_ATTR_INFO.XCXSSRQLAWS ='' THEN '9999-01-01'
ELSE SAR_LAWS_ATTR_INFO.XCXSSRQLAWS
END
) AS XCXSSRQLAWS
from SAR_LAWS_STAND_INFO
<include refid="SarStandardsInfo_in_left1"/>
order by
<if test='orderByA != null and orderByA != "" and order1 != null and order1 != ""'>
${orderByA} ${order1},
</if>
SAR_LAWS_STAND_INFO.id
limit ${pager.startIndex-1},${pageSize}
</select>
<select id="getSarStandardsInfoCount" resultType="java.lang.Integer"
parameterType="com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage">
select count(1) from (select count(*) from SAR_LAWS_STAND_INFO
@@ -48,7 +48,7 @@
and sar_stand_unqualified.STAND_ID = #{sar.standId}
</if>
<if test="sar.productName != null and sar.productName != '' ">
and sar_stand_unqualified.PRODUCT_NAME like concat(concat('%',#{sar.productName}),'%')
and sar_stand_unqualified.STAND_NAME like concat(concat('%',#{sar.productName}),'%')
</if>
<if test="sar.responsibleUnit != null and sar.responsibleUnit != '' ">
and ts_institution.name like concat('%',#{sar.responsibleUnit},'%')
@@ -1124,6 +1124,36 @@
</trim>
</sql>
<sql id="SarStandardsInfo_in_left_3">
left join SAR_STAND_MENU ON SAR_STANDARDS_INFO.id = SAR_STAND_MENU.stand_id
left join TS_DICTYPE dicstandSort on (dicstandSort.dic_type_code = SAR_STANDARDS_INFO.stand_sort and
dicstandSort.dic_id is not null and dicstandSort.valid_flag = 0 and dicstandSort.PARENT_ID is null)
LEFT JOIN TS_DICTYPE dicstandTextStatus ON (
dicstandTextStatus.dic_type_code = SAR_STANDARDS_INFO.text_status
<!-- 标准类别DIC_ID 固定ID 区分 国家地区 -->
AND dicstandTextStatus.dic_id = 'JKSADFH564S'
AND dicstandTextStatus.dic_id IS NOT NULL
AND dicstandTextStatus.valid_flag = 0
)
left join SAR_STAND_ATTR_INFO on (SAR_STAND_ATTR_INFO.stand_id = SAR_STANDARDS_INFO.id and SAR_STAND_ATTR_INFO.valid_flag=0)
where 1=1 and SAR_STANDARDS_INFO.valid_flag=0
<trim suffixOverrides=",">
<!-- 标准分类 国内标准,国外标准 必要搜索项 -->
<if test='page.standType != null and page.standType != "ALL"'>
and stand_type = #{page.standType}
</if>
<!-- 标准编号111 -->
<if test="page.standNumber != null and page.standNumber != ''">
and (
(trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-',
SAR_STANDARDS_INFO.STAND_YEAR),' ','')) = trim(replace(#{page.standNumber},' ','')) and SAR_STANDARDS_INFO.STAND_YEAR != '')
or (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER),' ','')) = trim(replace(#{page.standNumber},' ',''))
)
)
</if>
</trim>
</sql>
<sql id="SarStandardsInfo_in_left">
left join SAR_STAND_MENU ON SAR_STANDARDS_INFO.id = SAR_STAND_MENU.stand_id
left join TS_DICTYPE dicstandSort on (dicstandSort.dic_type_code = SAR_STANDARDS_INFO.stand_sort and
@@ -1413,6 +1443,21 @@
limit ${page.pager.startIndex-1},${page.pageSize}
</select>
<select id="getSarStandardsInfoByNum" resultMap="BaseResultMap"
parameterType="com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfoEOPage">
SELECT
<include refid="Base_Column_List_DIS"/>
from SAR_STANDARDS_INFO
<include refid="SarStandardsInfo_in_left_3"/>
<if test='(page.orderByA != null and page.orderByA != "" and page.order1 != null and page.order1 != "")
or (page.standType != null and page.standType != "") '>
<include refid="standSort_in"/>
</if>
limit ${page.pager.startIndex-1},${page.pageSize}
</select>
<select id="selectHighLawsPage" resultMap="BaseResultMap"
parameterType="com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfoEOPage">
SELECT