whycxzp
2023-07-04 4e0147ac43533a4dc99f86d443618a4959c28162
src/main/java/com/whyc/service/SOPService.java
@@ -1,15 +1,13 @@
package com.whyc.service;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.dto.SopDto;
import com.whyc.mapper.SOPMapper;
import com.whyc.pojo.SOP;
import com.whyc.pojo.SOPFileType;
import com.whyc.pojo.SOPProduct;
import com.whyc.util.ActionUtil;
import com.whyc.util.CommonUtil;
import com.whyc.util.DateUtil;
import com.whyc.util.FileUtil;
import com.whyc.util.*;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;
@@ -261,6 +259,7 @@
        sop.setReleaseNotes(releaseNotes);
        //第10行开始,倒数第2行截止
        int currentFlag=0;  //通用表示(0:非通用,1:通用)
        for (int i = fileSuitableProductIndex+1; i < lastRowNum; i++) {
            SOPProduct product = new SOPProduct();
            //取第3列,第5列
@@ -281,17 +280,20 @@
            }else{
                product.setModel(model);
            }
            if((!code.equals("") && !model.equals(""))){
                currentFlag+=1;
            }
            sopProductList.add(product);
        }
        //存储excel文件,/sop_submit/xxx_202306250506.xlsx
        String originalFilename = multipartFile.getOriginalFilename();
        sop.setCurrentFlag(currentFlag>0?0:1);//通用
        //存储excel文件,/sop_submit/xxx_202306250506.xlsx(改,不存粗excel了)
        /*String originalFilename = multipartFile.getOriginalFilename();
        String[] fileNameSplit = originalFilename.split("\\.");
        String dateFormat = DateUtil.YYYY_MM_DD_HH_MM_SS_UNION.format(new Date());
        String newFileName = fileNameSplit[0]+"_"+dateFormat+"."+fileNameSplit[1];
        String fileUrl = FileUtil.saveFile(multipartFile,"/sop_submit/"+newFileName);
        sop.setFileUrl(fileUrl);
        sop.setFileUrl(fileUrl);*/
        sopProductList = sopProductList.stream().filter(product -> !product.getCode().equals("")).collect(Collectors.toList());
        sop.setSopProductList(sopProductList);
@@ -300,14 +302,21 @@
    }
    @Transactional
    public Response add(SOP sop) throws IOException {
    public Response add(SOP sop,MultipartFile multipartFile) throws IOException {
        List<SOPProduct> sopProductList = sop.getSopProductList();
        String fileUrlTemp = sop.getFileUrl();
        fileUrlTemp = fileUrlTemp.replace("sop_submit", "sop");
         String originalFilename = multipartFile.getOriginalFilename();
        String[] fileNameSplit = originalFilename.split("\\.");
        String dateFormat = DateUtil.YYYY_MM_DD_HH_MM_SS_UNION.format(new Date());
        String newFileName = fileNameSplit[0]+"_"+dateFormat+"."+fileNameSplit[1];
        String fileUrlTemp = FileUtil.saveFile(multipartFile,"/sop/"+newFileName);
        //String fileUrlTemp = sop.getFileUrl();
        //fileUrlTemp = fileUrlTemp.replace("sop_submit", "sop");
        sop.setFileUrl(fileUrlTemp);
        mapper.insert(sop);
        sopProductList.forEach(product -> product.setSopId(sop.getId()));
        productService.insertBatch(sopProductList);
        if(sopProductList.size()>0) {
            sopProductList.forEach(product -> product.setSopId(sop.getId()));
            productService.insertBatch(sopProductList);
        }
        //文件转移
        /*String fileUrl = sop.getFileUrl();
        String projectDir = CommonUtil.getProjectDir();
@@ -362,7 +371,7 @@
    }
    //查询sop信息
    public Response getSopInfo(List<SopDto> sqlList, String code, String model) {
    public Response getSopInfo(List<SopDto> sqlList, String code, String model,int pageCurr,int pageSize) {
        String sqlStr="  ";
        if(sqlList!=null&&sqlList.size()>0){
            for (SopDto dto:sqlList) {
@@ -374,6 +383,20 @@
            }
        }
        List<SOP> list=mapper.getSopInfo(sqlStr,code,model);
        return new Response().setII(1,list.size()>0,list,"查询sop信息");
        PageInfo pageInfo= PageInfoUtils.list2PageInfo(list,pageCurr,pageSize);
        return new Response().setII(1,list.size()>0,pageInfo,"查询sop信息");
    }
    //更新sop说明(不含锁信息)
    @Transactional
    public Response updateSop(SOP sop) {
        List<SOPProduct> sopProductList = sop.getSopProductList();
        mapper.updateById(sop);
        if(sopProductList.size()>0) {
            sopProductList.forEach(product -> product.setSopId(sop.getId()));
            productService.updateBySid(sopProductList,sop.getId());
        }
        return new Response().setII(1,"更新sop说明完成");
    }
}