Browse Source

2023 08 14 bug修改

zhuwei 1 year ago
parent
commit
31c8fe1374
16 changed files with 135 additions and 27 deletions
  1. 2 0
      blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
  2. 5 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/DefaultConfig.java
  3. 6 0
      blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/DeptVO.java
  4. 1 0
      blade-service/blade-business/src/main/java/org/springblade/business/controller/DefaultConfigController.java
  5. 3 1
      blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java
  6. 1 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/DefaultConfigMapper.xml
  7. 25 3
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/FormulaController.java
  8. 23 12
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java
  9. 1 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java
  10. 27 6
      blade-service/blade-manager/src/main/java/org/springblade/manager/utils/FileUtils.java
  11. 4 3
      blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java
  12. 3 0
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java
  13. 24 0
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml
  14. 4 0
      blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java
  15. 5 0
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java
  16. 1 1
      blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

+ 2 - 0
blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java

@@ -27,10 +27,12 @@ import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_
  */
 public interface LauncherConstant {
 
+
     String APPLICATION_MANAGER_NAME = APPLICATION_NAME_PREFIX + "manager";
 
     String APPLICATION_ARCHIVE_NAME = APPLICATION_NAME_PREFIX + "archive";
 
+
     String APPLICATION_VISUAL_NAME = APPLICATION_NAME_PREFIX + "visual";
 
     /**

+ 5 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/DefaultConfig.java

@@ -72,4 +72,9 @@ public class DefaultConfig extends BaseEntity {
 	 * 所属 客户端
 	 */
 	private String clientId;
+
+	/**
+	 * 所属 模式
+	 */
+	private int indexModel;
 }

+ 6 - 0
blade-service-api/blade-system-api/src/main/java/org/springblade/system/vo/DeptVO.java

@@ -93,4 +93,10 @@ public class DeptVO extends Dept implements INode<DeptVO> {
     @ApiModelProperty(value = "租户id")
     private String tenantId;
 
+    /**
+     * 最小等级部门(内控使用)
+     */
+    @ApiModelProperty(value = "租户id")
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
+    private Boolean minLevel;
 }

+ 1 - 0
blade-service/blade-business/src/main/java/org/springblade/business/controller/DefaultConfigController.java

@@ -168,6 +168,7 @@ public class DefaultConfigController extends BladeController {
         //设置用户ID
         newConfig.setCreateUser(AuthUtil.getUserId());
         newConfig.setCreateTime(new Date());
+        newConfig.setClientId(bladeUser.getClientId());
 
         return R.status(defaultConfigService.save(newConfig));
     }

+ 3 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java

@@ -123,7 +123,9 @@ public class TaskController extends BladeController {
     @ApiOperation(value = "校验电签短信验证码")
     public R<String> checkSmsCode() {
         //获取账户验证码
-        DefaultConfig config = this.defaultConfigService.getOne(Wrappers.<DefaultConfig>lambdaQuery().eq(DefaultConfig::getCreateUser, AuthUtil.getUserId()));
+        DefaultConfig config = this.defaultConfigService.getOne(Wrappers.<DefaultConfig>lambdaQuery()
+                .eq(DefaultConfig::getCreateUser, AuthUtil.getUserId())
+                .isNotNull(DefaultConfig::getSmsCode));
 
         if (config != null) {
             if (StringUtils.isNotEmpty(config.getSmsTimeOut())) {

+ 1 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/DefaultConfigMapper.xml

@@ -21,6 +21,7 @@
         <result column="shot_web_rtc" property="shotWebRtc"/>
         <result column="full_screen" property="fullScreen"/>
         <result column="client_id" property="clientId"/>
+        <result column="index_model" property="indexModel"/>
     </resultMap>
 
 

+ 25 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/FormulaController.java

@@ -318,7 +318,31 @@ public class FormulaController {
                     data.addAll(tmpList);
                 }
             }
-            String[] dw = keymap.get(info.getKey()).split(StringPool.SEMICOLON);
+            String[] dw2 = keymap.get(info.getKey()).split(StringPool.SEMICOLON);
+            // 排序
+            String dw[] = new String[dw2.length];
+            List<String> list = Arrays.asList(dw2);
+            // 横向排序
+            int yindex;
+            int xindex;
+            if(info.getDirection().equals("2")){ //纵向
+                yindex = 1;
+                xindex = 0;
+            } else { //横向
+                xindex = 1;
+                yindex = 0;
+            }
+            Map<Integer, List<String>> collect = list.stream().filter(s -> s.indexOf("_")>=0).collect(Collectors.groupingBy(s -> Integer.parseInt(s.split("_")[yindex])));
+            int j=0;
+            for(Integer key: collect.keySet()){
+                List<String> datakey = collect.get(key);
+                List<String> ordList = datakey.stream().filter(s -> s.indexOf("_")>=0).sorted(Comparator.comparing(s -> Integer.parseInt(s.split("_")[xindex]))).collect(Collectors.toList());
+                for (String ord:ordList){
+                    dw[j]=ord;
+                    j++;
+                }
+            }
+            // 排序结束
             LinkedHashMap<String, Object> result = new LinkedHashMap<>(dw.length * 2);
             if (dw.length == 1) {
                 result.put(info.getKey() + "__" + dw[0], data.stream().filter(StringUtils::isNotEmpty).map(Func::toStr).collect(Collectors.joining("、")));
@@ -332,8 +356,6 @@ public class FormulaController {
                     }
                 }
                 if ((data.size() + start) > dw.length) {
-
-                    // String moreData = data.stream().skip(dw.length).map(StringUtils::handleNull).collect(Collectors.joining(StringPool.SEMICOLON));
                     List<Object> moreData = data.stream().skip(result.size()).map(StringUtils::handleNull).collect(Collectors.toList());
                     // 频率添加表单
                     this.wbsTreeContractService.addTabInfoByRan(info, moreData, dw);

+ 23 - 12
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.mixsmart.utils.FormulaUtils;
 import com.mixsmart.utils.ListUtils;
 import com.mixsmart.utils.RegexUtils;
+import com.spire.xls.FileFormat;
 import lombok.AllArgsConstructor;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
@@ -1329,7 +1330,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
         //获取excel流 和 html流
         InputStream exceInp = CommonUtil.getOSSInputStream(excelTab.getFileUrl());
-        org.apache.poi.ss.usermodel.Workbook workbook = WorkbookFactory.create(exceInp);
+        Workbook workbook = WorkbookFactory.create(exceInp);
 
         //获取工作表
         Sheet sheet = workbook.getSheetAt(0);
@@ -1377,9 +1378,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             }
         }
 
-        if(pkeyId == 1644218999589830668L){
-          //  System.out.println("12321");
-        }
+
         //数据不为空
         if (StringUtils.isNotEmpty(wbsTreeContract.getHtmlUrl())) {
             InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(wbsTreeContract.getHtmlUrl());
@@ -1395,7 +1394,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                     Elements datas = doc.getElementsByAttributeValue("keyname", val);
                     Element data = null;
                     if(val.equals("key_12__25_0")){
-                        //System.out.println("1231");
+                        System.out.println("1231");
                     }
                     if (datas.size() >= 1) {
                         data = datas.get(0);
@@ -1491,9 +1490,10 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                                             if(StringUtils.isNotEmpty(dataJson)){
                                                 JSONArray jsonArray = JSONArray.parseArray(dataJson);
                                                 List<Integer> idList = Func.toIntList(myData);
-                                                String dataInfo = jsonArray.getJSONObject(idList.get(0)).getString("name");
+                                                String dataInfo = jsonArray.getJSONObject(idList.get(0)-1).getString("name");
                                                 for(int inx=1 ; inx<idList.size() ; inx++){
-                                                    dataInfo = dataInfo+","+jsonArray.getJSONObject(inx).getString("name");
+                                                   int valIndex = idList.get(inx)-1;
+                                                    dataInfo = dataInfo+","+jsonArray.getJSONObject(valIndex).getString("name");
                                                 }
                                                 cell.setCellValue(dataInfo);
                                             }
@@ -1513,7 +1513,9 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                     }
                 }
             }
-
+            if(pkeyId == 1688448159421825025L){
+                System.out.println("12321");
+            }
             // 组装电签设置
             QueryWrapper<TextdictInfo> queryWrapper = new QueryWrapper<>();
             queryWrapper.in("type", 2, 6);
@@ -1544,6 +1546,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
                                 Row row = sheet.getRow(y1 - 1);
                                 if (row != null) {
+
                                     Cell cell = sheet.getRow(y1 - 1).getCell(x1 - 1);
                                     if (cell != null || ObjectUtils.isNotEmpty(cell)) {
                                         short fontIndex = cell.getCellStyle().getFontIndex();
@@ -1571,9 +1574,17 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
         FileOutputStream outputStream = new FileOutputStream(excelPath);
         workbook.write(outputStream);
-        FileUtils.setExcelScaleToPdf(excelPath, pdfPath);
 
-        BladeFile bladeFile = newIOSSClient.uploadFile(pkeyId + ".pdf", pdfPath);
+        com.spire.xls.Workbook workbook2 = new com.spire.xls.Workbook();
+        workbook2.loadFromFile(excelPath);
+
+        //设置转换后的PDF页面高宽适应工作表的内容大小
+        workbook2.getConverterSetting().setSheetFitToPage(true);
+        workbook2.getConverterSetting().setSheetFitToWidth(true);
+        workbook2.saveToFile(pdfPath, FileFormat.PDF);
+      //  FileUtils.setExcelScaleToPdf(excelPath, pdfPath);
+
+/*        BladeFile bladeFile = newIOSSClient.uploadFile(pkeyId + ".pdf", pdfPath);
 
         //附件
         TableFile tableFile1 = tableFileService.getBaseMapper().selectList(Wrappers.<TableFile>query().lambda().eq(TableFile::getTabId, pkeyId + "").eq(TableFile::getType, 1)).stream().findAny().orElse(null);
@@ -1619,8 +1630,8 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         if (exceInp != null) {
             IoUtil.closeQuietly(exceInp);
         }
-         return R.data(bladeFile2.getLink());
-
+         return R.data(bladeFile2.getLink());*/
+        return R.data("");
     }
 
     @Override

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

@@ -550,7 +550,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                 WbsTreeContract wbsTreeContract = new WbsTreeContract();
                 BeanUtil.copy(wbsInfo, wbsTreeContract);
                 wbsTreeContract.setPKeyId(newPkId);
-                Thread.sleep(200);
+                Thread.sleep(1000);
                 wbsTreeContract.setCreateTime(new Date());
                 wbsTreeContract.setTabGroupId(tabGroupId);
                 wbsTreeContract.setSort(wbsInfo.getSort());

+ 27 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/utils/FileUtils.java

@@ -305,6 +305,12 @@ public class FileUtils {
         }
     }
 
+    public static void main11(String[] args) {
+        String excelPath="/Users/hongchuangyanfa/Downloads/A11 施工放样报验单 (1).xlsx";
+        String pdfPath="/Users/hongchuangyanfa/Downloads/A11 施工放样报验单 (1).pdf";
+
+        FileUtils.setExcelScaleToPdf(excelPath, pdfPath);
+    }
 
     /**
      * excel设置 打印缩放比例
@@ -329,14 +335,29 @@ public class FileUtils {
             for (int i = 0; i < workbook.getNumberOfSheets(); i++) {//获取每个Sheet表
                 XSSFSheet sheet = workbook.getSheetAt(i);
                 //打印设置
-                XSSFPrintSetup print = sheet.getPrintSetup();
-                // print.setLandscape(true); // 打印方向,true:横向,false:纵向(默认)
-                //   print.setFitHeight((short)0);//设置高度为自动分页
+                XSSFPrintSetup printSetup = sheet.getPrintSetup();
+                /*print.setLandscape(false); // 打印方向,true:横向,false:纵向(默认)
+                print.setFitHeight((short)0);//设置高度为自动分页
                 print.setFitWidth((short) 1);//设置宽度为一页
-                print.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE); //纸张类型
-//                print.setScale((short)55);//自定义缩放①,此处100为无缩放
+                print.setPaperSize(HSSFPrintSetup.A4_EXTRA_PAPERSIZE); //纸张类型
+                print.setScale((short)100);//自定义缩放①,此处100为无缩放
                 //启用“适合页面”打印选项的标志
-                sheet.setFitToPage(true);
+                sheet.setFitToPage(true);*/
+
+                sheet.setHorizontallyCenter(true);//设置打印页面为水平居中
+                sheet.setVerticallyCenter(true);
+                sheet.setAutobreaks(true);
+               // printSetup.setLandscape(false);
+                sheet.setMargin(XSSFSheet.BottomMargin, (double) 0.1);// 页边距(下)
+                sheet.setMargin(XSSFSheet.LeftMargin, (double) 0.7);// 页边距(左)
+                sheet.setMargin(XSSFSheet.RightMargin, (double) 0.7);// 页边距(右)
+                sheet.setMargin(XSSFSheet.TopMargin, (double) 0.1);// 页边距(上)
+                printSetup.setScale((short) 100);//自定义缩放①,此处100为无缩放
+                System.out.print(sheet.getAutobreaks());
+                printSetup.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);
+              //  printSetup.setFitHeight((short) 1);//设置高度为自动分页
+               // printSetup.setFitWidth((short) 1);//设置宽度为一页
+               // sheet.setFitToPage(true);
             }
             // Excel文件生成后存储的位置。
             outReport = new ByteArrayOutputStream();

+ 4 - 3
blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java

@@ -220,9 +220,10 @@ public class DeptController extends BladeController {
     })
     @ApiOperationSupport(order = 11)
     @ApiOperation(value = "列表", notes = "传入dept")
-    public R<List<Dept>> listAllByType(@ApiIgnore @RequestParam Map<String, Object> dept, BladeUser bladeUser) {
-        QueryWrapper<Dept> queryWrapper = Condition.getQueryWrapper(dept, Dept.class);
-        List<Dept> list = deptService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Dept::getTenantId, bladeUser.getTenantId()) : queryWrapper);
+    public R<List<DeptVO>> listAllByType(@ApiIgnore @RequestParam Map<String, Object> dept, BladeUser bladeUser) {
+
+        List<DeptVO> list = deptService.listAllByType(bladeUser.getTenantId(),dept.get("deptType")+"" );
+
         return R.data(list);
     }
 

+ 3 - 0
blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java

@@ -73,4 +73,7 @@ public interface DeptMapper extends BaseMapper<Dept> {
      * @return
      */
     List<DeptVO> getUserDeptTreeInfo(String tenantId,String deptType);
+
+    //获取所有部门信息
+    List<DeptVO> listAllByType(String tenantId,String deptType);
 }

+ 24 - 0
blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml

@@ -28,6 +28,7 @@
         <result column="is_deleted" property="isDeleted"/>
         <result column="dept_type" property="deptType"/>
         <result column="has_children" property="hasChildren"/>
+        <result column="minLevel" property="minLevel"/>
     </resultMap>
 
     <resultMap id="treeNodeResultMap" type="org.springblade.manager.vo.TreeNodeVO">
@@ -132,4 +133,27 @@
         </if>
         --ORDER BY sort
     </select>
+
+
+    <select id="listAllByType" resultMap="deptVOResultMap">
+        select *,
+        (
+        SELECT
+        CASE WHEN count(1) > 0 THEN 0 ELSE 1 END
+        FROM
+        blade_view_postuser
+        WHERE
+        parent_id = a.id
+        and tenant_id = #{param1}
+        and dept_type = #{param2}
+        ) AS "minLevel"
+        from  blade_view_postuser a where 1=1
+        <if test="param1!=null and param1!=''">
+            and tenant_id = #{param1}
+        </if>
+        <if test="param2!=null and param2!=''">
+            and dept_type = #{param2}
+        </if>
+        --ORDER BY sort
+    </select>
 </mapper>

+ 4 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java

@@ -117,4 +117,8 @@ public interface IDeptService extends IService<Dept> {
     List<DeptVO> search(String deptName, Long parentId);
 
     List<DeptVO> getUserDeptTreeInfo(String tenantId,String deptType);
+
+    List<DeptVO> listAllByType(String tenantId,String deptType);
+
+
 }

+ 5 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java

@@ -188,4 +188,9 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
         }
     }
 
+    @Override
+    public List<DeptVO> listAllByType(String tenantId, String deptType) {
+        return baseMapper.listAllByType(tenantId,deptType);
+    }
+
 }

+ 1 - 1
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -269,7 +269,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
     public boolean updateUserInfo(User user) {
 
         // 当为内控是 可以修改密码
-        if(user.getUserType().equals("5") && StringUtil.isNotBlank(user.getPassword())){
+        if( StringUtils.isNotEmpty(user.getUserType()) && user.getUserType().equals("5") && StringUtil.isNotBlank(user.getPassword())){
             user.setPassword(DigestUtil.encrypt(user.getPassword()));
         }else{
             user.setPassword(null);