소스 검색

Merge branch 'refs/heads/feature-lihb-20250714' into dev

LHB 2 달 전
부모
커밋
a0b02fa02b

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

@@ -1858,7 +1858,7 @@ public class ExcelTabController extends BladeController {
                         String contractsIdsStr = contractsIds.stream()
                             .map(id -> "'" + id + "'")
                             .collect(Collectors.joining(", "));;
-                        String sql1 = "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 in(" + contractsIdsStr + ")";
+                        String sql1 = "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 in(" + contractsIdsStr + ") and status in(0,1,2)";
                         maps = jdbcTemplate.queryForList(sql1);
                     }
                 }

+ 8 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -2355,15 +2355,20 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             Elements dqids = table.getElementsByAttribute("dqid");
             // 电签组装2
             String tableName = wbsTreeContract.getInitTableName();
-            String dqSql = "select * from u_sign_key_role_info where tab_en_name='"+tableName+"'";
+//            String dqSql = "select * from u_sign_key_role_info where tab_en_name='"+tableName+"'";
+            String dqSql = "select e_key,GROUP_CONCAT(DISTINCT concat('*✹',id)) ids from u_sign_key_role_info where tab_en_name='" + tableName + "' GROUP BY e_key";
+
             List<Map<String, Object>> mapList = jdbcTemplate.queryForList(dqSql);
 
             if(mapList!=null && mapList.size()>0){
                 for(Map<String, Object> map : mapList) {
-                    Elements elementsBy = table.getElementsByAttributeValueStarting("keyname", map.get("e_key") + "");
+                    Elements elementsBy = table.getElementsByAttributeValueStarting("keyname", map.get("e_key") + "_");
                     if(elementsBy!=null && elementsBy.size()>0){
                         for(Element element : elementsBy){
-                            element.attr("sign_type", "✹"+map.get("id"));
+                            String ids = (String) map.get("ids");
+                            ids = ids.replace(",","");
+                            ids = ids.substring(1);
+                            element.attr("sign_type", ids);
                             dqids.add(element);
                         }
                     }

+ 6 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsSynchronousEViSaServiceImpl.java

@@ -51,7 +51,7 @@ public class WbsSynchronousEViSaServiceImpl {
     }
 
     @Transactional(rollbackFor = Exception.class)
-    public void updateSyncPrivateForm(WbsTreePrivate wbsTreePrivate, List<WbsTreePrivate> collect, Long id,String errorMsg) {
+    public void updateSyncPrivateForm(WbsTreePrivate wbsTreePrivate, List<WbsTreePrivate> collect,Long createUserId, Long id,String errorMsg) {
         List<Long> ids = collect.stream().map(WbsTreePrivate::getPKeyId).collect(Collectors.toList());
         List<Long> parentIds = collect.stream().map(WbsTreePrivate::getParentId).collect(Collectors.toList());
         //节点公式同步
@@ -65,6 +65,8 @@ public class WbsSynchronousEViSaServiceImpl {
                 .set(WbsTreePrivate::getHtmlUrl, wbsTreePrivate.getHtmlUrl())
                 .set(wbsTreePrivate.getExcelId()!=null,WbsTreePrivate::getIsLinkTable, 2)
                 .set(WbsTreePrivate::getExcelId, wbsTreePrivate.getExcelId())
+                .set(WbsTreePrivate::getUpdateTime, DateTime.now())
+                .set(WbsTreePrivate::getUpdateUser, createUserId)
                 .in(WbsTreePrivate::getPKeyId, ids)
         );
         synchronousRecordMapper.update(null, Wrappers.<WbsTreeSynchronousRecord>lambdaUpdate()
@@ -76,7 +78,7 @@ public class WbsSynchronousEViSaServiceImpl {
     }
 
     @Transactional(rollbackFor = Exception.class)
-    public void syncPrivateForceForm(WbsTreePrivate wbsTreePrivate, String nodeId, Long id) {
+    public void syncPrivateForceForm(WbsTreePrivate wbsTreePrivate,Long createUserId, String nodeId, Long id) {
         WbsTreePrivate wbsTreePrivate1 = wbsTreePrivateMapper.selectById(nodeId);
 
         wbsTreePrivateMapper.update(null, Wrappers.<WbsTreePrivate>lambdaUpdate()
@@ -86,6 +88,8 @@ public class WbsSynchronousEViSaServiceImpl {
                 .set(WbsTreePrivate::getHtmlUrl, wbsTreePrivate.getHtmlUrl())
                 .set(StringUtils.isBlank(wbsTreePrivate.getFullName()),WbsTreePrivate::getFullName, wbsTreePrivate1.getNodeName())
                 .set(WbsTreePrivate::getNodeName, wbsTreePrivate.getNodeName())
+                .set(WbsTreePrivate::getUpdateTime, DateTime.now())
+                .set(WbsTreePrivate::getUpdateUser, createUserId)
                 .in(WbsTreePrivate::getPKeyId, nodeId)
         );
         synchronousRecordMapper.update(null, Wrappers.<WbsTreeSynchronousRecord>lambdaUpdate()

+ 7 - 7
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsSynchronousServiceImpl.java

@@ -140,7 +140,7 @@ public class WbsSynchronousServiceImpl {
                 .ne(WbsTree::getId, wbsTree.getId())
                 .eq(WbsTree::getInitTableName, wbsTree.getInitTableName())
                 .eq(WbsTree::getIsDeleted, 0));
-        if(CollectionUtil.isEmpty(wbsTrees)){
+        if (CollectionUtil.isEmpty(wbsTrees)) {
             throw new ServiceException("当前项目没有相同实体表的其他表单");
         }
 
@@ -166,11 +166,11 @@ public class WbsSynchronousServiceImpl {
                 Objects.equals(f.getExcelId(), wbsTreePrivate.getExcelId())
         ).collect(Collectors.toList());
 
-        if(CollectionUtil.isNotEmpty(collect1)){
+        if (CollectionUtil.isNotEmpty(collect1)) {
             collect.addAll(collect1);
         }
         //清表不同的数据
-        List<WbsTreePrivate> noExcelIdEq = wbsTreePrivates.stream().filter(f -> f.getExcelId()!=null && !Objects.equals(f.getExcelId(), wbsTreePrivate.getExcelId())).collect(Collectors.toList());
+        List<WbsTreePrivate> noExcelIdEq = wbsTreePrivates.stream().filter(f -> f.getExcelId() != null && !Objects.equals(f.getExcelId(), wbsTreePrivate.getExcelId())).collect(Collectors.toList());
         StringBuilder sb = new StringBuilder();
         if (CollectionUtil.isNotEmpty(noExcelIdEq)) {
             for (WbsTreePrivate treePrivate : noExcelIdEq) {
@@ -183,7 +183,7 @@ public class WbsSynchronousServiceImpl {
         }
 
         //修改数据
-        wbsSynchronousEViSaService.updateSyncPrivateForm(wbsTreePrivate, collect, wbsTreeSynchronousRecord.getId(),sb.toString());
+        wbsSynchronousEViSaService.updateSyncPrivateForm(wbsTreePrivate, collect, wbsTreeSynchronousRecord.getCreateUserId(), wbsTreeSynchronousRecord.getId(), sb.toString());
     }
 
     /**
@@ -205,7 +205,7 @@ public class WbsSynchronousServiceImpl {
         if (wbsTreePrivate == null) {
             throw new ServiceException("表单不存在");
         }
-        wbsSynchronousEViSaService.syncPrivateForceForm(wbsTreePrivate, nodeId, wbsTreeSynchronousRecord.getId());
+        wbsSynchronousEViSaService.syncPrivateForceForm(wbsTreePrivate, wbsTreeSynchronousRecord.getCreateUserId(), nodeId, wbsTreeSynchronousRecord.getId());
     }
 
     /**
@@ -982,7 +982,7 @@ public class WbsSynchronousServiceImpl {
                         List<Long> collect1 = addData.stream().map(WbsTreePrivate::getPKeyId).collect(Collectors.toList());
                         //这里可以保存到数据库指定错误日志表
                         throw new ServiceException("添加失败:" + StringUtil.join(collect1, ","));
-                    }else{
+                    } else {
                         //排序调整-连续排序
                         if (wbsTreeSynchronousRecord.getType().contains("7")) {
                             //获取节点下的当前表单
@@ -1128,7 +1128,7 @@ public class WbsSynchronousServiceImpl {
                     //这里可以保存到数据库指定错误日志表
                     //这里可以保存到数据库指定错误日志表
                     throw new ServiceException("添加失败:" + StringUtil.join(collect1, ","));
-                }else{
+                } else {
                     //排序调整
                     if (wbsTreeSynchronousRecord.getType().contains("7")) {
                         //获取节点下的当前表单