Browse Source

Merge branch 'dev' of http://219.151.181.73:3000/zhuwei/bladex into dev

lvy 2 months ago
parent
commit
0520ea2f6f

+ 11 - 9
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -215,15 +215,17 @@ public class InformationWriteQueryController extends BladeController {
                 String sql="select * from m_wbs_tree_contract where p_key_id="+query.getWbsId()+" and is_deleted=0";
                 WbsTreeContract contract = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
                   String result=wbsParamClient.createFileTitle(contract);
-                if(query.getClassify()!=null&&query.getClassify()==1&&StringUtils.isNotEmpty(sgSuffix)){
-                    result=result+sgSuffix;
-                   if(!query.getName().equals(result)){
-                       query.setName(result);
-                   }
-                }else if(query.getClassify()!=null&&query.getClassify()==2&&StringUtils.isNotEmpty(jlSuffix)){
-                    result=result+jlSuffix;
-                    if(!query.getName().equals(result)){
-                        query.setName(result);
+                if(contract!=null&&contract.getMajorDataType()!=null&&contract.getMajorDataType()==6){
+                    if(query.getClassify()!=null&&query.getClassify()==1&&StringUtils.isNotEmpty(sgSuffix)){
+                        result=result+sgSuffix;
+                        if(!query.getName().equals(result)){
+                            query.setName(result);
+                        }
+                    }else if(query.getClassify()!=null&&query.getClassify()==2&&StringUtils.isNotEmpty(jlSuffix)){
+                        result=result+jlSuffix;
+                        if(!query.getName().equals(result)){
+                            query.setName(result);
+                        }
                     }
                 }
             }

+ 107 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -3015,6 +3015,113 @@ public class ExcelTabController extends BladeController {
         return R.data(resultMapList);
     }
 
+    /**
+     * 获取新增时的表头数据
+     * @param theLogId
+     * @param nodePrimaryKeyId
+     * @param recordTime
+     * @param contractId
+     * @return
+     * @throws Exception
+     */
+    @GetMapping("/getAddTheLogBusinessData")
+    @ApiOperationSupport(order = 26)
+    @ApiOperation(value = "获取新增表格的默认值")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "theLogId", value = "日志记录的ids,可能为空(多张表)"),
+        @ApiImplicitParam(name = "nodePrimaryKeyId", value = "当前操作的日志类型ID,即左侧列表的节点primaryKeyId"),
+        @ApiImplicitParam(name = "recordTime", value = "当前选择的填写日期,即右侧日期控件所选日期,格式为 yyyy-MM-dd"),
+        @ApiImplicitParam(name = "contractId", value = "合同段id")
+    })
+    public R<Map<String, Object>> getAddTheLogBusinessData(String theLogId, String nodePrimaryKeyId, String recordTime, String contractId) throws Exception {
+        Map<String, Object> resultMapList = new HashMap<>();
+        //数据结果
+        String logId2 = "";
+        //获取对应的记录
+        String dataIds;
+        if (StringUtils.isNotEmpty(theLogId)) {
+            String[] split = theLogId.split(",");
+            List<String> ids = new LinkedList<>();
+            for (String logId : split) {
+                ContractLog contractLog = this.contractLogClient.queryContractLogByIdToObj(logId);
+                ids.add(contractLog.getDataId().toString());
+            }
+            dataIds = ids.stream().filter(Objects::nonNull).collect(Collectors.joining(","));
+        } else {
+            List<ContractLog> contractLogs = this.contractLogClient.queryContractLogByPrimaryKeyIdAndRecordTimeList(nodePrimaryKeyId, recordTime, contractId,null);
+            if (contractLogs.size() == 0) {
+                logId2 = "";
+            } else {
+                logId2 = contractLogs.get(0).getId() + "";
+            }
+            dataIds = contractLogs.stream().map(ContractLog::getDataId).filter(Objects::nonNull).map(String::valueOf).collect(Collectors.joining(","));
+        }
+        WbsTreePrivate node;
+        WbsTreePrivate tableNode2;
+        try{
+            node = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, nodePrimaryKeyId));
+            tableNode2= this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery()
+                .eq(WbsTreePrivate::getParentId, node.getId()).eq(WbsTreePrivate::getProjectId, node.getProjectId()));
+        } catch (Exception e) {
+            throw new ServiceException("表单重复,请确认表单");
+        }
+        if (StringUtils.isNotEmpty(dataIds)) {
+            if (dataIds.startsWith(",")) {
+                dataIds = dataIds.substring(1);
+            }
+            String[] ids = dataIds.split(",");
+            //检查实体表是否存在
+            String tabName = tableNode2.getInitTableName();
+            String isExitSql = " select * from information_schema.TABLES where TABLE_NAME='" + tabName + "'";
+            List<Map<String, Object>> tabList = this.jdbcTemplate.queryForList(isExitSql);
+            if (tabList.size() <= 0) {
+                return R.fail("无实体表对应");
+            }
+            //查询数据
+            String querySql = "SELECT * FROM " + tabName + " WHERE id = " + ids[0] + " and group_id = " + tableNode2.getPKeyId();
+            Map<String, Object> businessDataMap = this.jdbcTemplate.queryForMap(querySql);
+            if (businessDataMap.size() > 0){
+                try {
+                    if (tableNode2.getHtmlUrl() != null){
+                        InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(tableNode2.getHtmlUrl());
+                        String htmlString = IoUtil.readToString(inputStreamByUrl);
+                        Document doc = Jsoup.parse(htmlString);
+                        // 模糊匹配
+                        Elements cbdw = doc.select("el-select[placeholder*=承包单位]");
+                        Elements htd = doc.select("el-select[placeholder*=合同段]");
+                        Elements jldw = doc.select("el-input[placeholder*=监理单位]");
+                        Elements jljg = doc.select("el-select[placeholder*=监理机构]");
+                        Elements jlr = doc.select("el-input[placeholder*=记录人]");
+                        Elements rq = doc.select("el-date-picker[placeholder*=日期]");
+                        Elements shr = doc.select("el-input[placeholder*=审核人]");
+                        Elements tqqk = doc.select("el-input[placeholder*=天气情况]");
+                        List<Elements> allElements=new ArrayList<>();
+                        allElements.add(cbdw);
+                        allElements.add(htd);
+                        allElements.add(jldw);
+                        allElements.add(jljg);
+                        allElements.add(jlr);
+                        allElements.add(rq);
+                        allElements.add(shr);
+                        allElements.add(tqqk);
+                        if(allElements.size()>0){
+                            for (Elements element : allElements) {
+                             if(businessDataMap.containsKey(element.attr("keyname"))){
+                                resultMapList.put(element.attr("keyname"), businessDataMap.get(element.attr("keyname")));
+                               }
+                            }
+                        }
+                    }
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        }
+        return R.data(resultMapList);
+    }
+
+
+
     /**
      * 复制指定日期的日志填报数据
      */

+ 19 - 14
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -1246,13 +1246,15 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                     if (wbsTreeContractByP != null) {
                         //处理文件提名
                         String fileName = this.wbsParamService.createFileTitle(wbsTreeContractByP);
-                        String sql1="Select sg_suffix,jl_suffix from m_project_info where id="+wbsTreeContractByP.getProjectId()+" and is_deleted=0";
-                        List<ProjectInfo> query = jdbcTemplate.query(sql1, new BeanPropertyRowMapper<>(ProjectInfo.class));
-                        if(query.size()>0){
-                            if(tableInfo.getClassify()!=null&&tableInfo.getClassify().equals("1")){
-                                fileName=fileName+(query.get(0).getSgSuffix()==null?"":query.get(0).getSgSuffix());
-                            }else {
-                                fileName=fileName+(query.get(0).getJlSuffix()==null?"":query.get(0).getJlSuffix());
+                        if(wbsTreeContract.getMajorDataType()!=null&&wbsTreeContract.getMajorDataType()==6){
+                            String sql1="Select sg_suffix,jl_suffix from m_project_info where id="+wbsTreeContractByP.getProjectId()+" and is_deleted=0";
+                            List<ProjectInfo> query = jdbcTemplate.query(sql1, new BeanPropertyRowMapper<>(ProjectInfo.class));
+                            if(query.size()>0){
+                                if(tableInfo.getClassify()!=null&&tableInfo.getClassify().equals("1")){
+                                    fileName=fileName+(query.get(0).getSgSuffix()==null?"":query.get(0).getSgSuffix());
+                                }else {
+                                    fileName=fileName+(query.get(0).getJlSuffix()==null?"":query.get(0).getJlSuffix());
+                                }
                             }
                         }
                         //huangjn 保存成功后调用生成资料查询列表数据
@@ -1291,15 +1293,18 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                         .eq(WbsTreeContract::getId, wbsTreeContract.getParentId()).eq(WbsTreeContract::getContractId, wbsTreeContract.getContractId()));
                 //处理文件提名
                 fileName1= this.wbsParamService.createFileTitle(wbsTreeContractByP);
-                String sql1="Select sg_suffix,jl_suffix from m_project_info where id="+wbsTreeContractByP.getProjectId()+" and is_deleted=0";
-                List<ProjectInfo> query = jdbcTemplate.query(sql1, new BeanPropertyRowMapper<>(ProjectInfo.class));
-                if(query.size()>0){
-                    if(tableInfoList.get(0).getClassify()!=null&&tableInfoList.get(0).getClassify().equals("1")){
-                        fileName1=fileName1+(query.get(0).getSgSuffix()==null?"":query.get(0).getSgSuffix());
-                    }else {
-                        fileName1=fileName1+(query.get(0).getJlSuffix()==null?"":query.get(0).getJlSuffix());
+                if(wbsTreeContract.getMajorDataType()!=null&&wbsTreeContract.getMajorDataType()==6){
+                    String sql1="Select sg_suffix,jl_suffix from m_project_info where id="+wbsTreeContractByP.getProjectId()+" and is_deleted=0";
+                    List<ProjectInfo> query = jdbcTemplate.query(sql1, new BeanPropertyRowMapper<>(ProjectInfo.class));
+                    if(query.size()>0){
+                        if(tableInfoList.get(0).getClassify()!=null&&tableInfoList.get(0).getClassify().equals("1")){
+                            fileName1=fileName1+(query.get(0).getSgSuffix()==null?"":query.get(0).getSgSuffix());
+                        }else {
+                            fileName1=fileName1+(query.get(0).getJlSuffix()==null?"":query.get(0).getJlSuffix());
+                        }
                     }
                 }
+
                 //huangjn 保存成功后调用生成资料查询列表数据
                 this.informationQueryClient.saveOrUpdateInformationQueryData(wbsTreeContractByP.getPKeyId() + "", "首件使用字段", "业务ID(主要将来给首件使用)", fileName1, Integer.parseInt(tableInfoList.get(0).getClassify()), 2, "false", "源文件(首件字段)", "pdf文件(首件字段)", "首件上传总结报告名称", new ArrayList<>());
                 JSONObject json = new JSONObject();