Răsfoiți Sursa

Merge remote-tracking branch 'origin/master' into master

yangyj 2 ani în urmă
părinte
comite
10fc84535c

+ 8 - 11
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialSelfInspectionRecordServiceImpl.java

@@ -451,15 +451,12 @@ public class TrialSelfInspectionRecordServiceImpl
             url = excelTabClient.getBussPDFSTrial(nodeId, tableType, classify, contractId, projectId, id, selfInspectionRecord.getTableIds());
 
             //修改按钮状态 is_tab_file_type = 2 、is_tab_pdf = 2
-            String sql = "select tab_id from m_table_file where trial_record_id = " + id + " group by tab_id";
+            String sql = "select tab_id from m_table_file where type = 2 and trial_record_id = " + id + " and tab_id in(" + selfInspectionRecord.getTableIds() + ") group by tab_id";
             List<TableFile> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(TableFile.class));
-
-            for (TableFile tableFile1 : query) {  //TODO 修改一张表的状态,另一张修改失败
-                for (String tabId : Func.toStrList(selfInspectionRecord.getTableIds())) {
-                    if (tableFile1.getTabId().equals(tabId)) {
-                        String sqlUpdate = "update u_trial_self_data_record set is_tab_file_type = 2,is_tab_pdf = 2 where record_id = " + id + " and tab_id = " + tabId;
-                        jdbcTemplate.execute(sqlUpdate);
-                    }
+            if (query.size() > 0) {
+                for (TableFile tf : query) {
+                    String sqlUpdate = "update u_trial_self_data_record set is_tab_file_type = 2,is_tab_pdf = 2 where record_id = " + id + " and tab_id = " + tf.getTabId();
+                    jdbcTemplate.execute(sqlUpdate);
                 }
             }
         }
@@ -557,13 +554,13 @@ public class TrialSelfInspectionRecordServiceImpl
             String pkeyId = dataArray.getJSONObject(i).getString("pkeyId");
             tableIds.add(pkeyId);
         }
-        String tableIdsAll = Func.toStr(tableIds).replaceAll("\\[", "").replaceAll("]", "");
-        dto.setTableIds(tableIdsAll);
+        String join = org.apache.commons.lang.StringUtils.join(tableIds, ",");
+        dto.setTableIds(join);
 
         /*//只修改基础信息,未修改表信息
         if (dataArray.size() == 0) {
             return this.saveOrUpdate(dto);
-        } TODO */
+        }*/
 
         //关联新增或修改了表信息
         if (this.saveOrUpdate(dto)) {

+ 44 - 12
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/TableFileController.java

@@ -17,13 +17,16 @@
 package org.springblade.manager.controller;
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import io.swagger.annotations.*;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 
+import org.springblade.business.entity.TrialSelfInspectionRecord;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.manager.entity.ExcelTab;
 import org.springblade.manager.entity.TableFile;
 import org.springblade.manager.entity.WbsTreeContract;
@@ -39,7 +42,9 @@ import org.springblade.manager.vo.TableFileVO;
 import org.springblade.manager.service.ITableFileService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.rmi.ServerException;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 表单附件信息 控制器
@@ -113,22 +118,18 @@ public class TableFileController extends BladeController {
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "逻辑删除", notes = "传入当前文件ids、tableType、合同段Id、当前自检记录id")
     public R removeTrial(@RequestParam String ids, @RequestParam Integer tableType, @RequestParam String contractId, @RequestParam Long id) throws Exception {
-        // 查出基本信息
+        //基本信息
         TableFile tableFile = tableFileService.getById(ids);
 
-        // 删除数据
-        tableFileService.delDataById(ids, id);
-
-        String sql = "select *,domain_url as url from m_table_file where is_deleted = 0 and type = 2 and tab_id = " + ids + " and trial_record_id = " + id;
-        List<TableFileVO> fileVOList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(TableFileVO.class));
-
-        //该文本无附件,修改状态
-        if (fileVOList.size() <= 0) {
-            String updateSql = "update u_trial_self_data_record set is_tab_file_type = 1 where tab_id = " + ids + " and record_id = " + id;
-            jdbcTemplate.execute(updateSql);
+        if (ObjectUtil.isEmpty(tableFile)) {
+            throw new ServerException("未获取到对应元素表信息");
         }
 
+        //删除数据
+        tableFileService.delDataById(ids, id);
+
         Long pkeyId = Long.parseLong(tableFile.getTabId() + "");
+        //单pdf
         excelTabService.getBussPDFTrial(pkeyId, contractId, id);
 
         WbsTreePrivate wbsTreePrivate = wbsTreePrivateService.getBaseMapper().selectOne(Wrappers.<WbsTreePrivate>query().lambda()
@@ -145,7 +146,38 @@ public class TableFileController extends BladeController {
         } else if (dataInfo.equals("4") || dataInfo.equals("5") || dataInfo.equals("6")) {
             classify = "2";
         }
-        excelTabService.getBussPDFSTrial(wbsTreePrivate1.getPKeyId() + "", tableType, classify, contractId, wbsTreePrivate.getProjectId(), id, tableFile.getTabId());
+
+        //查询关联表
+        String sqlQuery = "select table_ids from u_trial_self_inspection_record where id = " + id;
+        List<TrialSelfInspectionRecord> query = jdbcTemplate.query(sqlQuery, new BeanPropertyRowMapper<>(TrialSelfInspectionRecord.class));
+        List<String> collect = query.stream().map(TrialSelfInspectionRecord::getTableIds).collect(Collectors.toList());
+
+        //合并pdf
+        String bussPDFSTrial = excelTabService.getBussPDFSTrial(wbsTreePrivate1.getPKeyId() + "", tableType, classify, contractId, wbsTreePrivate.getProjectId(), id, org.apache.commons.lang.StringUtils.join(collect, ","));
+
+        if (StringUtils.isNotEmpty(bussPDFSTrial)) {
+            //修改合并pdf
+            String sql = "update u_trial_self_inspection_record set pdf_url = '" + bussPDFSTrial + "' where id = " + id;
+            jdbcTemplate.execute(sql);
+        }
+
+        //获取当前记录下的文本元素表的附件文件信息
+        List<TableFile> fileList = this.tableFileService.getBaseMapper().selectList(Wrappers.<TableFile>lambdaQuery()
+                .eq(TableFile::getType, 2)
+                .eq(TableFile::getTabId, pkeyId)
+                .eq(TableFile::getTrialRecordId, id)
+        );
+
+        //修改按钮状态
+        String updateSql;
+        if (fileList.size() == 0) {
+            //无附件
+            updateSql = "update u_trial_self_data_record set is_tab_file_type = 1 where tab_id = " + pkeyId + " and record_id = " + id;
+        } else {
+            //有附件
+            updateSql = "update u_trial_self_data_record set is_tab_file_type = 2 where tab_id = " + pkeyId + " and record_id = " + id;
+        }
+        jdbcTemplate.execute(updateSql);
 
         return R.status(true);
     }

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsTreePrivateClientImpl.java

@@ -106,6 +106,7 @@ public class WbsTreePrivateClientImpl implements WbsTreePrivateClient {
         wbsTreePrivate.setNodeName(nodeName);
         wbsTreePrivate.setIsTabPdf(1); // pdf=不能预览
         wbsTreePrivate.setIsBussShow(1); // 是否隐藏表=否
+        wbsTreePrivate.setTabFileType(1); // 是否上传文件=否
         wbsTreePrivate.setPdfUrl("");
 
         String tabName = wbsTreePrivate.getInitTableName();

+ 16 - 10
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -509,6 +509,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
     /**
      * 在线excel 编辑回调
+     *
      * @param request
      * @param response
      */
@@ -538,7 +539,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         {
             //获取url
             String downloadUri = (String) jsonObj.get("url");
-            downloadUri = downloadUri.replaceAll("amp;","");
+            downloadUri = downloadUri.replaceAll("amp;", "");
             try {
                 //获取onlyOffice缓存中的文件流
                 String fileName = request.getParameter("fileName");
@@ -563,8 +564,8 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 //修改本地数据信息
                 excelTab.setHtmlUrl(bladeFile.getLink());
                 //获取文件大小
-                int size= connection.getContentLength()/1024/1024; //单位M
-                excelTab.setAttachSize(Long.parseLong(size+""));
+                int size = connection.getContentLength() / 1024 / 1024; //单位M
+                excelTab.setAttachSize(Long.parseLong(size + ""));
                 baseMapper.updateById(excelTab);
                 connection.disconnect();
                 //根据文件编号删除文件服务器的文件
@@ -1613,13 +1614,18 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
             BladeFile bladeFile2 = newIOSSClient.uploadFile(pkeyId + "2.pdf", pdfPath2);
 
-            //删除关系
-            String delSql = "delete from u_trial_self_data_record where record_id = " + id + " and tab_id = " + pkeyId;
-            jdbcTemplate.execute(delSql);
-
-            //新增关系
-            String sql = "insert into u_trial_self_data_record(id,record_id,tab_id,is_buss_show,is_tab_pdf,is_tab_file_type,pdf_url) values" +
-                    "(" + SnowFlakeUtil.getId() + "," + id + "," + pkeyId + "," + 1 + "," + 2 + "," + 1 + ",'" + bladeFile2.getLink() + "')";
+            //查询是否存在关系
+            String sqlQuery = "select * from u_trial_self_data_record where record_id = " + id + " and tab_id = " + pkeyId;
+            List<TrialSelfDataRecord> query = jdbcTemplate.query(sqlQuery, new BeanPropertyRowMapper<>(TrialSelfDataRecord.class));
+            String sql;
+            if (query.size() == 0) {
+                //新增关系
+                sql = "insert into u_trial_self_data_record(id,record_id,tab_id,is_buss_show,is_tab_pdf,is_tab_file_type,pdf_url) values" +
+                        "(" + SnowFlakeUtil.getId() + "," + id + "," + pkeyId + "," + 1 + "," + 2 + "," + 1 + ",'" + bladeFile2.getLink() + "')";
+            } else {
+                //修改pdfUrl
+                sql = "update u_trial_self_data_record set pdf_url ='" + bladeFile2.getLink() + "' where record_id = " + id + " and tab_id = " + pkeyId;
+            }
             jdbcTemplate.execute(sql);
 
             wb.dispose();

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -1421,7 +1421,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
 
             for (WbsTreePrivate treePrivate : wbsTreePrivates) {
                 for (TrialSelfDataRecord record : query) {
-                    if (treePrivate.getPKeyId().equals(record.getTabId())){
+                    if (treePrivate.getPKeyId().equals(record.getTabId())) {
                         treePrivate.setIsBussShow(record.getIsBussShow());
                         treePrivate.setIsTabPdf(record.getIsTabPdf());
                         treePrivate.setTabFileType(record.getIsTabFileType());