| | |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.whyc.dto.FileDirPath; |
| | | import com.whyc.dto.MaterialCheckDTO; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.MaterialMapper; |
| | | import com.whyc.pojo.DocUser; |
| | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.File; |
| | | import java.io.FileOutputStream; |
| | | import java.io.IOException; |
| | | import java.io.*; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | |
| | | return response.set(1,false,"拒绝解析,excel文件中记录包含名称为空的记录"); |
| | | } |
| | | } |
| | | //追加物料规范校验 暂时去除校验 |
| | | /*List<MaterialCheckDTO> checkList = list.stream().map(material -> { |
| | | MaterialCheckDTO dto = new MaterialCheckDTO(); |
| | | dto.setNum(material.getId()); |
| | | dto.setSubCode(material.getSubCode()); |
| | | dto.setSubName(material.getSubName()); |
| | | dto.setSubModel(material.getSubModel()); |
| | | return dto; |
| | | }).collect(Collectors.toList()); |
| | | List<MaterialCheckDTO> irregularList = CommonUtil.checkFormat(checkList); |
| | | if(irregularList.size()>0){ |
| | | return new Response().setII(1,false,irregularList,"名称或型号命名不规范"); |
| | | }*/ |
| | | return response.setII(1,true,list,filePath); |
| | | } |
| | | //根据物料id查询返回附件文件夹下所有的文件列表 |
| | |
| | | return new Response().set(1,true,"上传完成"); |
| | | } |
| | | |
| | | /** |
| | | * @param multipartFile 更新的图纸或图片 |
| | | * @param material |
| | | */ |
| | | @Transactional |
| | | public Response updatePicOrDwg(MultipartFile multipartFile, Material material) throws IOException { |
| | | List<String> currentFileList = new LinkedList<>(); |
| | | List<String> uploadingFileList = new LinkedList<>(); |
| | | |
| | | String dirPathDB = "doc_file" + File.separator + "material" + File.separator + material.getId() + "-" + material.getSubCode() + "-" + material.getSubModel(); |
| | | String dirPath = CommonUtil.getRootFile() + "material" + File.separator + material.getId() + "-" + material.getSubCode() + "-" + material.getSubModel(); |
| | | File dirFile = new File(dirPath); |
| | | |
| | | Date now = new Date(); |
| | | //long timestamp = now.getTime(); |
| | | String formattedTimestamp = DateUtil.YYYY_MM_DD_HH_MM_SS_UNION.format(now); |
| | | |
| | | if (!dirFile.exists()) { |
| | | dirFile.mkdirs(); |
| | | } |
| | | |
| | | String originalFilename = multipartFile.getOriginalFilename(); |
| | | String fileSuffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1); |
| | | String fileFullName = File.separator + originalFilename.substring(0, originalFilename.lastIndexOf(".")) + "_" + formattedTimestamp + originalFilename.substring(originalFilename.lastIndexOf(".")); |
| | | File zipFile = new File(dirPath + fileFullName); |
| | | multipartFile.transferTo(zipFile); |
| | | |
| | | //路径不存在,说明是首次上传,设置物料对应的fileUrl |
| | | Material temp = new Material(); |
| | | temp.setId(material.getId()); |
| | | if(fileSuffix.equals("dwg")){ |
| | | temp.setDwgUrl(dirPathDB + fileFullName); |
| | | }else { |
| | | temp.setPictureUrl(dirPathDB + fileFullName); |
| | | } |
| | | mapper.updateById(temp); |
| | | |
| | | return new Response().set(1, true, "上传完成"); |
| | | } |
| | | public Response dwgCompare(int materialId, int materialId2) throws IOException { |
| | | ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); |
| | | HttpServletResponse response = servletRequestAttributes.getResponse(); |
| | |
| | | // |
| | | //return null; |
| | | } |
| | | |
| | | public void updateDwgUrlAndPicUrl(List<Material> materialUpdateList) { |
| | | mapper.updateDwgUrlAndPicUrl(materialUpdateList); |
| | | } |
| | | |
| | | public List<Material> getSameSubCodeAndModel(List<ProductBom> bomList) { |
| | | return mapper.getSameSubCodeAndModel(bomList); |
| | | } |
| | | |
| | | public void checkNaming(InputStream inputStream, HttpServletResponse response) throws IOException, InvalidFormatException { |
| | | List<MaterialCheckDTO> checkList = new LinkedList<>(); |
| | | Workbook workbook = null; |
| | | workbook = WorkbookFactory.create(inputStream); |
| | | inputStream.close(); |
| | | //取第一个sheet表 |
| | | Sheet sheet = workbook.getSheetAt(0); |
| | | int lastRowNum = sheet.getLastRowNum(); |
| | | for (int i = 1; i <= lastRowNum; i++) { |
| | | System.out.println(i); |
| | | //从第二行开始 |
| | | Row row = sheet.getRow(i); |
| | | Cell cell = row.getCell(0); |
| | | cell.setCellType(CellType.STRING); |
| | | String code = cell.getStringCellValue(); |
| | | String name = row.getCell(1).getStringCellValue(); |
| | | Cell cell2 = row.getCell(2); |
| | | cell2.setCellType(CellType.STRING); |
| | | String model = cell2.getStringCellValue(); |
| | | |
| | | MaterialCheckDTO dto = new MaterialCheckDTO(); |
| | | dto.setNum(i); |
| | | dto.setSubName(name); |
| | | dto.setSubCode(code); |
| | | dto.setSubModel(model); |
| | | checkList.add(dto); |
| | | } |
| | | List<MaterialCheckDTO> materialCheckDTOS = CommonUtil.checkFormat(checkList); |
| | | int size = materialCheckDTOS.size(); |
| | | //ECR编号,申请日期,申请人,变更描述,变更料号,变更型号,变更所属型号,处理方式,创建时间 |
| | | String[] title = new String[]{"序号","物料编码","物料名称","规格型号","不规范原因"}; |
| | | String[][] values = new String[size][]; //size行 |
| | | for (int i = 0; i < size; i++) { |
| | | values[i] = new String[5]; |
| | | MaterialCheckDTO dto = materialCheckDTOS.get(i); |
| | | values[i][0] = dto.getNum().toString(); |
| | | values[i][1] = dto.getSubCode(); |
| | | values[i][2] = dto.getSubName(); |
| | | values[i][3] = dto.getSubModel(); |
| | | values[i][4] = dto.getIrregularDesc(); |
| | | } |
| | | ExcelUtil.exportExcel("清单","物料",title,values,null,response); |
| | | } |
| | | } |