Переглянути джерело

解决质检系统监理上传附件会出现重复数据的问题

lvy 2 днів тому
батько
коміт
10cc897da2

+ 12 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -1935,6 +1935,11 @@ public class ExcelTabController extends BladeController {
     })
     public R addBussFile(@RequestParam("file") MultipartFile[] file, Long pkeyId, String nodeId, String contractId, String projectId, String classify) {
         List<TableFile>list=new ArrayList<>();
+        WbsTreeContract contract = wbsTreeContractService.getOne(new LambdaQueryWrapper<WbsTreeContract>().eq(WbsTreeContract::getPKeyId, nodeId));
+        if (contract == null) {
+            throw new ServiceException("暂未查询到该节点,请刷新页面后再试");
+        }
+        contractId = contract.getContractId();
         for (int i = 0; i < file.length; i++) {
             R<BladeFile> bladeFile = iossClient.addFileInfo(file[i]);
             BladeFile bladeFile1 = bladeFile.getData();
@@ -1986,7 +1991,6 @@ public class ExcelTabController extends BladeController {
         String sql = "select pdf_url,e_visa_pdf_url,pdf_trial_url,pdf_trial_url_position,status from u_information_query where classify='" + classify + "' and wbs_id='" + nodeId + "' and contract_id='" + contractId + "'";
         List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
         if (maps == null || maps.size() == 0) {
-            WbsTreeContract contract = wbsTreeContractService.getOne(new LambdaQueryWrapper<WbsTreeContract>().eq(WbsTreeContract::getPKeyId, nodeId));
             String fileName = this.excelTabService.createFileTitle(contract);
             InformationQuery query = new InformationQuery();
             query.setId(SnowFlakeUtil.getId());
@@ -4764,6 +4768,11 @@ public class ExcelTabController extends BladeController {
         if(type == null){
             return R.fail("请选择文件类型");
         }
+        WbsTreeContract wbsTreeContract = wbsTreeContractService.getOne(new LambdaQueryWrapper<WbsTreeContract>().eq(WbsTreeContract::getPKeyId, nodeId));
+        if (wbsTreeContract == null) {
+            throw new ServiceException("暂未查询到该节点,请刷新页面后再试");
+        }
+        contractId = Long.parseLong(wbsTreeContract.getContractId());
         List<TableFile> fileList = new ArrayList<>();
         //查询字段
         List<Integer> types = jdbcTemplate.queryForList("select dict_key from blade_dict_biz where code like 'table_file_type%' and is_deleted = 0 and dict_key > 0", Integer.class);
@@ -4834,8 +4843,8 @@ public class ExcelTabController extends BladeController {
             if (ObjectUtil.isNotEmpty(pdfPage) && pdfPage.equals("")) {
                 pdfPage = "0";
             }
-            String sql = "SELECT * FROM m_wbs_tree_contract WHERE p_key_id=" + nodeId;
-            WbsTreeContract wbsTreeContract = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
+//            String sql = "SELECT * FROM m_wbs_tree_contract WHERE p_key_id=" + nodeId;
+//            WbsTreeContract wbsTreeContract = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
             if (ObjectUtil.isNotEmpty(wbsTreeContract.getNodeClass())) {
                 if (wbsTreeContract.getNodeClass().equals(Integer.valueOf(2))) {
                     InformationQuery iq = informationQueryClient.getInfoByWbsId(wbsTreeContract.getPKeyId(),classify);