Преглед изворни кода

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

# Conflicts:
#	blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java
LHB пре 2 месеци
родитељ
комит
cd12fcb706

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

@@ -66,6 +66,7 @@ import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
+import org.springframework.http.ContentDisposition;
 
 @RestController
 @AllArgsConstructor

+ 24 - 11
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreePrivateController.java

@@ -860,22 +860,35 @@ public class WbsTreePrivateController extends BladeController {
     @GetMapping("/getTitleRange")
     @ApiOperationSupport(order = 33)
     @ApiOperation(value = "获取题名范围",notes = "获取题名范围")
-    public R<List<TitleRangeVo>> getTitleRange(@RequestParam String projectId,@RequestParam Long nameId){
+    public R<List<TitleRangeVo>> getTitleRange(@RequestParam String projectId,@RequestParam(required = false) Long nameId){
         List<WbsTreePrivate>list=wbsTreeService.getTitleRange(projectId);
         List<WbsParam> list1 = iWbsParamService.getBaseMapper().selectList(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getK, "FILE_TITLE").eq(WbsParam::getProjectId, projectId));
         if(list1.size()>0){
-            Map<Long, Long> map = list1.stream()
-                .filter(o -> o.getNameType() != null && o.getNameType() == 2)
-                .collect(Collectors.toMap(
-                    WbsParam::getNodeId,   // key:nodeId
-                    WbsParam::getNameId    // value:nameId
-                ));
-            //判断是否已经被选中
-            for (WbsTreePrivate wbsTreePrivate : list) {
-                if(map.containsKey(wbsTreePrivate.getId())&& !Objects.equals(map.get(wbsTreePrivate.getId()), nameId)){
-                    wbsTreePrivate.setStatus(11);
+                //修改
+            if(nameId!=null){
+                Map<Long, Long> map = list1.stream()
+                    .filter(o -> o.getNameType() != null && o.getNameType() == 2)
+                    .collect(Collectors.toMap(
+                        WbsParam::getNodeId,   // key:nodeId
+                        WbsParam::getNameId    // value:nameId
+                    ));
+                //判断是否已经被选中
+                for (WbsTreePrivate wbsTreePrivate : list) {
+                    if(map.containsKey(wbsTreePrivate.getId())&& !Objects.equals(map.get(wbsTreePrivate.getId()), nameId)){
+                        wbsTreePrivate.setStatus(11);
+                    }
+                }
+            }else {
+                //新增
+                List<Long> longs = list1.stream().filter(o->o.getNameType()!=null&&o.getNameType()==2).map(l -> l.getNodeId()).collect(Collectors.toList());
+                //判断是否已经被选中
+                for (WbsTreePrivate wbsTreePrivate : list) {
+                    if(longs.contains(wbsTreePrivate.getId())){
+                        wbsTreePrivate.setStatus(11);
+                    }
                 }
             }
+
         }
         return R.data(list.stream()
             .map(wbsTreePrivate -> {

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -444,7 +444,7 @@
             html_url = #{aPrivate.htmlUrl}
         where type = 2
           and project_id = #{aPrivate.projectId}
-          and id = #{aPrivate.id};
+          and is_type_private_pid = #{aPrivate.pKeyId};
     </select>
 
     <select id="selectWbsTableOwnerRoleList" resultType="org.springblade.manager.entity.WbsTableOwnerRole">

+ 11 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -2282,7 +2282,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                             } else {
                                 Row row = sheet.getRow(y1 - 1);
                                 if (row != null) {
-                                    Cell cell = row.getCell(x1 - 1);
+                                    Cell cell = row.getCell(x1 - 1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
                                     if (cell != null || ObjectUtils.isNotEmpty(cell)) {
                                         short fontIndex = cell.getCellStyle().getFontIndex();
                                         Font fontAt = workbook.getFontAt(fontIndex);
@@ -2312,14 +2312,21 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
                     Row row = sheet.getRow(y1 - 1);
                     if (row != null) {
-                        Cell cell = row.getCell(x1 - 1);
+                        Cell cell = row.getCell(x1 - 1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
                         if (cell != null || ObjectUtils.isNotEmpty(cell)) {
                              // 获取单元格的现有值
                             String existingValue = cell.getStringCellValue();
                             // 获取单元格的现有富文本字符串
                             RichTextString existingRichTextString = cell.getRichStringCellValue();
+                            String s = null;
+                            if(StringUtils.isEmpty(existingValue)){
+                                s = dqid;
+                            }else{
+                                s = existingValue + "*" + dqid;
+                            }
+
                              // 创建一个新的副文本字符串,原有值+电签ID
-                            RichTextString richTextString = workbook.getCreationHelper().createRichTextString(existingValue + " *" + dqid);
+                            RichTextString richTextString = workbook.getCreationHelper().createRichTextString(s);
                             // 复制原有部分的字体格式
                             if (existingRichTextString instanceof XSSFRichTextString) {
                                 XSSFRichTextString xssfRichTextString = (XSSFRichTextString) existingRichTextString;
@@ -2350,7 +2357,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                             newFont.setColor(IndexedColors.WHITE.getIndex());
                             newFont.setFontHeightInPoints(Short.valueOf("1")); // 可根据需要调整字体大小
                             //从原有值之后,电签ID开始设置成新的格式。
-                            richTextString.applyFont(existingValue.length(), existingValue.length() + dqid.length(), newFont);
+                            richTextString.applyFont(existingValue.length(), s.length(), newFont);
                              // 将副文本字符串设置到单元格
                             cell.setCellValue(richTextString);
                         }

+ 19 - 15
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsFormElementServiceImpl.java

@@ -915,23 +915,27 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
     }
 
     public boolean syncDataFiled(String initTableName, List<WbsFormElement> listData) {
-        for (WbsFormElement listDatum : listData) {
-            // String initTableFiledType = getInitTableFiledType(listDatum.getEType());
-            // int elementLength = getElementLength(initTableFiledType);
-            //同步
-            //判断是否存在该Key字段
-            int row1 = wbsTreeMapper.isThereAField(initTableName, listDatum.getEKey());
-            if (row1 == 0) {
-                //追加字段到实体表中
-                wbsTreeMapper.alterTableFiled(initTableName, listDatum.getEKey(), "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
-                //判断是否追加成功
-                int row2 = wbsTreeMapper.isThereAField(initTableName, listDatum.getEKey());
-                if (row2 != 1) {
-                    //追加失败,删除元素,跳过
-                    baseMapper.deleteElementByfId2(listDatum.getId());
+        try {
+            for (WbsFormElement listDatum : listData) {
+                // String initTableFiledType = getInitTableFiledType(listDatum.getEType());
+                // int elementLength = getElementLength(initTableFiledType);
+                //同步
+                //判断是否存在该Key字段
+                int row1 = wbsTreeMapper.isThereAField(initTableName, listDatum.getEKey());
+                if (row1 == 0) {
+                    //追加字段到实体表中
+                    wbsTreeMapper.alterTableFiled(initTableName, listDatum.getEKey(), "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
+                    //判断是否追加成功
+                    int row2 = wbsTreeMapper.isThereAField(initTableName, listDatum.getEKey());
+                    if (row2 != 1) {
+                        //追加失败,删除元素,跳过
+                        baseMapper.deleteElementByfId2(listDatum.getId());
+                    }
                 }
+                //baseMapper.addTableFiled(initTableName, listDatum.getEKey(), "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
             }
-            //baseMapper.addTableFiled(initTableName, listDatum.getEKey(), "varchar", DEFAULT_ELEMENT_LENGTH_VARCHAR);
+        } catch (Exception e) {
+            throw new RuntimeException("字段长度范围超出总最大限制,请尝试缩小当前字段长度或其他字段长度");
         }
         return true;
     }