正在显示
1 个修改的文件
包含
37 行增加
和
0 行删除
| @@ -44,6 +44,7 @@ import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; | @@ -44,6 +44,7 @@ import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; | ||
| 44 | import org.springframework.web.multipart.MultipartFile; | 44 | import org.springframework.web.multipart.MultipartFile; |
| 45 | import org.springframework.web.multipart.MultipartHttpServletRequest; | 45 | import org.springframework.web.multipart.MultipartHttpServletRequest; |
| 46 | import java.io.IOException; | 46 | import java.io.IOException; |
| 47 | +import java.util.HashMap; | ||
| 47 | import java.util.List; | 48 | import java.util.List; |
| 48 | import java.util.Map; | 49 | import java.util.Map; |
| 49 | import java.util.stream.Collectors; | 50 | import java.util.stream.Collectors; |
| @@ -168,6 +169,42 @@ public class TblTradeTenderInfoController extends JeecgController<TblTradeTender | @@ -168,6 +169,42 @@ public class TblTradeTenderInfoController extends JeecgController<TblTradeTender | ||
| 168 | return super.exportXls(request, tblTradeTenderInfo, TblTradeTenderInfo.class, "贸易招标信息"); | 169 | return super.exportXls(request, tblTradeTenderInfo, TblTradeTenderInfo.class, "贸易招标信息"); |
| 169 | } | 170 | } |
| 170 | 171 | ||
| 172 | + | ||
| 173 | + @RequestMapping(value = "/checkTenderNo", method = RequestMethod.POST) | ||
| 174 | + public Result<?> checkTenderNo(@RequestParam("file") MultipartFile file) { | ||
| 175 | + try { | ||
| 176 | + // 解析文件获取标书号 | ||
| 177 | + String tenderNo = parseTenderNoFromFile(file); | ||
| 178 | + | ||
| 179 | + // 检查数据库中是否已存在该标书号 | ||
| 180 | + QueryWrapper<TblTradeTenderInfo> queryWrapper = new QueryWrapper<>(); | ||
| 181 | + queryWrapper.eq("xjbswjh", tenderNo); | ||
| 182 | + long count = tblTradeTenderInfoService.count(queryWrapper); | ||
| 183 | + | ||
| 184 | + // 返回结果包含标书号和是否存在标志 | ||
| 185 | + Map<String, Object> result = new HashMap<>(); | ||
| 186 | + result.put("exist", count > 0); | ||
| 187 | + result.put("tenderNo", tenderNo); | ||
| 188 | + | ||
| 189 | + return Result.ok(result); | ||
| 190 | + } catch (Exception e) { | ||
| 191 | + log.error("检查标书号失败", e); | ||
| 192 | + return Result.error("解析文件失败: " + e.getMessage()); | ||
| 193 | + } | ||
| 194 | + } | ||
| 195 | + | ||
| 196 | + | ||
| 197 | + private String parseTenderNoFromFile(MultipartFile file) throws IOException { | ||
| 198 | + try (Workbook workbook = WorkbookFactory.create(file.getInputStream())) { | ||
| 199 | + Sheet sheet = workbook.getSheetAt(0); | ||
| 200 | + // 假设标书号在第一行第二列 | ||
| 201 | + return sheet.getRow(0).getCell(1).getStringCellValue(); | ||
| 202 | + } catch (Exception e) { | ||
| 203 | + throw new IOException("解析文件失败", e); | ||
| 204 | + } | ||
| 205 | + } | ||
| 206 | + | ||
| 207 | + | ||
| 171 | /** | 208 | /** |
| 172 | * 导入 | 209 | * 导入 |
| 173 | * @return | 210 | * @return |
-
请 注册 或 登录 后发表评论