Przeglądaj źródła

bug修改代码提交

hongchuangyanfa 2 lat temu
rodzic
commit
3c7c912775

+ 8 - 0
blade-common/src/main/java/org/springblade/common/utils/CommonUtil.java

@@ -449,4 +449,12 @@ public class CommonUtil {
         return baos.toByteArray();
     }
 
+
+    // 上传文件路径获取
+    public String getSysFileUrl() {
+
+
+        return "";
+    }
+
 }

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/InformationQueryServiceImpl.java

@@ -99,8 +99,8 @@ public class InformationQueryServiceImpl extends BaseServiceImpl<InformationQuer
                 tableList = this.wbsTreeContractClient.queryContractFirstTab(tree.getContractId(), "111");
             }
             if (tableList != null && tableList.size() > 0) {
-                //删除掉无法溯源的数据
-                tableList.removeIf(node -> node.getIsTypePrivatePid() == null || node.getIsTypePrivatePid() <= 0 || StringUtils.isEmpty(node.getIsTypePrivatePid().toString()) || node.getHtmlUrl() == null);
+                //删除掉无法溯源的数据   和 隐藏节点数据
+                tableList.removeIf(node -> node.getIsTypePrivatePid() == null || node.getIsTypePrivatePid() <= 0 || StringUtils.isEmpty(node.getIsTypePrivatePid().toString()) || node.getHtmlUrl() == null || node.getStatus() != 1);
                 List<Long> privatePIdList = tableList.stream().map(WbsTreeContract::getIsTypePrivatePid).distinct().collect(Collectors.toList());
                 return JSONArray.parseArray(JSONObject.toJSONString(privatePIdList), String.class);
 

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -511,7 +511,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
     }
 
 
-    @Scheduled(cron = "0 */3 * * * ?")
+    @Scheduled(cron = "0 */2 * * * ?")
     public void SignInfo() {
         //执行代码
         logger.debug("扫描开始");
@@ -556,7 +556,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
                 taskApprovalVO.setUserId(userId);
                 taskApprovalVO.setNickName(nickName);
-                RedisTemplate.opsForValue().set("sign-" + taskApprovalVO.getFormDataId(), "1", 300, TimeUnit.SECONDS);
+                RedisTemplate.opsForValue().set("sign-" + taskApprovalVO.getFormDataId(), "1", 150, TimeUnit.SECONDS);
 
                 String pdfUrlEVisa = this.completeApprovalTask(taskApprovalVO);
                 //TODO ============== 电签成功,修改试验状态,关联工程部位信息pdf(只有电签成功,才修改) liuYc 2023-03-16 ==============

+ 7 - 4
blade-service/blade-manager/src/main/java/com/mixsmart/utils/FormulaUtils.java

@@ -31,6 +31,8 @@ import org.springblade.manager.dto.Coords;
 import org.springblade.manager.dto.ElementData;
 import org.springblade.manager.dto.FormData;
 import org.springblade.manager.entity.Formula;
+import org.springblade.manager.utils.FileUtils;
+
 import java.awt.*;
 import java.awt.Font;
 import java.awt.geom.Ellipse2D;
@@ -478,12 +480,13 @@ public class FormulaUtils {
 
     public static Map<String, String> getElementCell(String uri) {
         try {
-            return  Jsoup.parse(IoUtil.readToString(new FileInputStream(ResourceUtil.getFile(uri))))
+            InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(uri);
+            return Jsoup.parse(IoUtil.readToString(inputStreamByUrl))
                     .select("table").first()
                     .select("tr").stream()
-                    .flatMap(tr->tr.select("td").stream())
-                    .filter(d->!d.children().isEmpty())
-                    .map(d->d.children().get(0)).map(d->d.attr("keyname")).filter(StringUtils::isNotEmpty).map(e->e.split("__"))
+                    .flatMap(tr -> tr.select("td").stream())
+                    .filter(d -> !d.children().isEmpty())
+                    .map(d -> d.children().get(0)).map(d -> d.attr("keyname")).filter(StringUtils::isNotEmpty).map(e -> e.split("__"))
                     .collect(
                             Collectors.toMap(
                                     b -> b[0],

+ 19 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/LinkdataInfoController.java

@@ -21,6 +21,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
@@ -38,12 +39,15 @@ import org.springblade.manager.entity.WbsTreePrivate;
 import org.springblade.manager.mapper.WbsTreePrivateMapper;
 import org.springblade.manager.service.ILinkdataInfoService;
 import org.springblade.manager.service.IWbsFormElementService;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 清表解析字段信息 控制器
@@ -63,6 +67,7 @@ public class LinkdataInfoController extends BladeController {
 
     private final WbsTreePrivateMapper wbsTreePrivateMapper;
 
+    private final JdbcTemplate jdbcTemplate;
     /**
      * 详情
      */
@@ -183,7 +188,7 @@ public class LinkdataInfoController extends BladeController {
         Element table = doc.select("table").first();
         Elements trs = table.select("tr");
         Element element = trs.get(linkdataInfo.getTrIndex()).select("td").get(linkdataInfo.getTdIndex());
-
+        String keyId = "";
         if (linkdataInfo.getColName().equals("/")) {
             element.empty();
         } else {
@@ -202,6 +207,7 @@ public class LinkdataInfoController extends BladeController {
                 element1.removeAttr("weighing");
                 element1.removeAttr("v-model");
                 element1.removeAttr("@focus");
+                keyId = element1.attr("keyName");
                 element1 = element.children().get(0).children().get(0);
             }
 
@@ -211,7 +217,7 @@ public class LinkdataInfoController extends BladeController {
             element1.removeAttr("weighing");
             element1.removeAttr("v-model");
             element1.removeAttr("@focus");
-
+            keyId = element1.attr("keyName");
             if (element.html().indexOf("hc-form-checkbox-group") >= 0) {
                 element1.removeAttr(":val");
                 element1.attr(":val", "formData." + dataInfo2);
@@ -226,6 +232,17 @@ public class LinkdataInfoController extends BladeController {
         File writefile = new File(wbsTreePrivate.getHtmlUrl());
         FileUtil.writeToFile(writefile, doc.html(), Boolean.parseBoolean("UTF-8"));
         inputStream.close();
+
+        // 清空数据
+        if (StringUtils.isNotEmpty(keyId)) {
+            String tabName = wbsTreePrivate.getInitTableName();
+            String isExitSql = " select * from information_schema.TABLES where TABLE_NAME='" + tabName + "'";
+            List<Map<String, Object>> tablist = jdbcTemplate.queryForList(isExitSql);
+            if (tablist != null && tablist.size() > 0 && wbsTreePrivate.getType() != 10) {
+                String clarSql = "update  " + tabName + " set " + keyId.split("__")[0] + "=null where p_key_id in(SELECT p_key_id FROM m_wbs_tree_contract WHERE id ='" + wbsTreePrivate.getId() + "' and project_id='" + wbsTreePrivate.getProjectId() + "' )";
+                jdbcTemplate.execute(clarSql);
+            }
+        }
         return R.success("操作成功");
     }
 

+ 8 - 26
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/TextdictInfoController.java

@@ -29,13 +29,13 @@ import lombok.AllArgsConstructor;
 import javax.validation.Valid;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.net.ftp.FTPClient;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
 import org.jsoup.select.Elements;
 import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.utils.CommonUtil;
-import org.springblade.common.utils.FileUtils;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.common.utils.SystemUtils;
 import org.springblade.core.log.exception.ServiceException;
@@ -49,6 +49,7 @@ import org.springblade.manager.entity.*;
 import org.springblade.manager.mapper.WbsTreePrivateMapper;
 import org.springblade.manager.service.impl.WbsTreeContractServiceImpl;
 import org.springblade.manager.service.impl.WbsTreePrivateServiceImpl;
+import org.springblade.manager.utils.FileUtils;
 import org.springblade.manager.vo.TextdictBy345VO;
 import org.springblade.manager.vo.TextdictDataInfoVO;
 import org.springblade.manager.vo.TextdictInfo_vo;
@@ -375,7 +376,7 @@ public class TextdictInfoController extends BladeController {
     @PostMapping("/save_sigInfo")
     @ApiOperationSupport(order = 7)
     @ApiOperation(value = "保存电签", notes = "保存电签")
-    public R<String> saveSigInfo(@Valid @RequestBody JSONObject dataInfo) throws IOException {
+    public R<String> saveSigInfo(@Valid @RequestBody JSONObject dataInfo) throws Exception {
         String redisValue = bladeRedis.get("save-eVis-lock:" + SecureUtil.getUserId());
         if (StringUtils.isNotEmpty(redisValue) && redisValue.equals("1")) {
             throw new ServiceException("请勿重复提交,请3秒后再尝试");
@@ -400,8 +401,10 @@ public class TextdictInfoController extends BladeController {
         }
 
         // 读取html页面信息
-        File file1 = ResourceUtil.getFile(wbsTreePrivate.getHtmlUrl());
-        String htmlString = IoUtil.readToString(new FileInputStream(file1));
+        // File file1 = ResourceUtil.getFile(wbsTreePrivate.getHtmlUrl());
+
+        InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(wbsTreePrivate.getHtmlUrl());
+        String htmlString = IoUtil.readToString(inputStreamByUrl);
 
         // 样式集合
         Document doc = Jsoup.parse(htmlString);
@@ -466,6 +469,7 @@ public class TextdictInfoController extends BladeController {
         }
 
         //写入excel
+        FileUtils.getSysLocalFileUrl();
         File writeFile = new File(wbsTreePrivate.getHtmlUrl());
         FileUtil.writeToFile(writeFile, doc.html(), Boolean.parseBoolean("UTF-8"));
 
@@ -623,26 +627,4 @@ public class TextdictInfoController extends BladeController {
         return R.success("操作成功");
     }
 
-    /*public static void main(String[] args) throws FileNotFoundException {
-		File file1 = ResourceUtil.getFile("/Users/hongchuangyanfa/Desktop/privateUrl/1567789917445029888.html");
-		String htmlString =  IoUtil.readToString(new FileInputStream(file1));
-		// 样式集合
-		Document doc = Jsoup.parse(htmlString);
-		//解析
-		Element table = doc.select("table").first();
-		Elements trs = table.select("tr");
-		Element element = trs.get(3).select("td").get(1);
-		System.out.println(element.html());
-		if(element.html().indexOf("el-tooltip")>=0){
-			element.children().attr("content","111");
-		}
-
-		String lastHmtl = " <el-tooltip content='Bottom center' effect='customized'>"+element.html()+"</el-tooltip>";
-		element.empty().append(lastHmtl);
-		File writefile = new File("/Users/hongchuangyanfa/Desktop/privateUrl/1567789917445029888.html");
-		FileUtil.writeToFile(writefile, doc.html(), Boolean.parseBoolean("UTF-8"));
-
-		System.out.println();
-	}*/
-
 }

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

@@ -1284,8 +1284,8 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
     @Override
     public R getBussPdfInfo(Long pkeyId) throws Exception {
-        String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
-        String sys_net_url = ParamCache.getValue(CommonConstant.SYS_FILE_NET_URL);
+        String file_path = FileUtils.getSysLocalFileUrl();
+
         WbsTreeContract wbsTreeContract = wbsTreeContractService.getBaseMapper().selectOne(Wrappers.<WbsTreeContract>query().lambda()
                 .eq(WbsTreeContract::getPKeyId, pkeyId));
 
@@ -1298,6 +1298,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
         String pdfPath = file_path + "/pdf//" + pkeyId + ".pdf";
         String excelPath = file_path + "/pdf//" + pkeyId + ".xlsx";
+
         File tabPdf = ResourceUtil.getFile(pdfPath);
         if (tabPdf.exists()) {
             tabPdf.delete();
@@ -1364,23 +1365,23 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
         //数据不为空
         if (StringUtils.isNotEmpty(wbsTreeContract.getHtmlUrl())) {
-            File htmlFile = ResourceUtil.getFile(wbsTreeContract.getHtmlUrl());
-            if (htmlFile.exists()) {
-                String htmlString = IoUtil.readToString(new FileInputStream(htmlFile));
-                Document doc = Jsoup.parse(htmlString);
-                Element table = doc.select("table").first();
-                Elements trs = table.select("tr");
-                Elements cols = table.select("col");
-
-                if (ObjectUtil.isNotEmpty(DataInfo)) {
-                    for (String val : DataInfo.keySet()) {
-                        if (val.indexOf("__") >= 0) {
-                            String[] DataVal = val.split("__");
-                            String[] xy = DataVal[1].split("_");
-                            if (Integer.parseInt(xy[0]) < trs.size()) {
-                                Element ytzData = trs.get(Integer.parseInt(xy[0]));
-                                if (ytzData != null) {
-                                    Elements tdsx = ytzData.select("td");
+            InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(wbsTreeContract.getHtmlUrl());
+            String htmlString = IoUtil.readToString(inputStreamByUrl);
+
+            Document doc = Jsoup.parse(htmlString);
+            Element table = doc.select("table").first();
+            Elements trs = table.select("tr");
+            Elements cols = table.select("col");
+
+            if (ObjectUtil.isNotEmpty(DataInfo)) {
+                for (String val : DataInfo.keySet()) {
+                    if (val.indexOf("__") >= 0) {
+                        String[] DataVal = val.split("__");
+                        String[] xy = DataVal[1].split("_");
+                        if (Integer.parseInt(xy[0]) < trs.size()) {
+                            Element ytzData = trs.get(Integer.parseInt(xy[0]));
+                            if (ytzData != null) {
+                                Elements tdsx = ytzData.select("td");
                                     if (Integer.parseInt(xy[1]) < tdsx.size()) {
                                         Element data = ytzData.select("td").get(Integer.parseInt(xy[1]));
                                         if (data != null) {
@@ -1422,13 +1423,13 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                                                         }
                                                     } else {
                                                         String[] dataStr = myData.split("T")[0].split("-");
-                                                        myData = StringUtil.format("{}年{}月{}日", dataStr[0], dataStr[1], Integer.parseInt(dataStr[2]));
+                                                        if (dataStr.length == 3) {
+                                                            myData = StringUtil.format("{}年{}月{}日", dataStr[0], dataStr[1], Integer.parseInt(dataStr[2]));
+                                                        }
                                                     }
                                                 }
 
                                                 if (myData.indexOf("lang.String") >= 0) {
-                                                    /*String[]  dataDate = (String[]) DataInfo.get(val);
-                                                    myData = dataDate[0]+" - "+dataDate[1].trim();*/
                                                     Object obj = DataInfo.get(val);
                                                     if (obj instanceof String[]) {
                                                         String[] dataDate = (String[]) obj;
@@ -1440,14 +1441,10 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                                                 if ((myData.indexOf("https") >= 0 || myData.indexOf("http") >= 0) && myData.indexOf("aliyuncs") >= 0) {
 
                                                     InputStream imageIn = CommonUtil.getOSSInputStream(myData);
-
                                                     byte[] byteNew = IOUtils.toByteArray(imageIn);
-
                                                     byte[] bytes = CommonUtil.compressImage(byteNew);
-
                                                     // 这里根据实际需求选择图片类型
                                                     int pictureIdx = workbook.addPicture(bytes, 6);
-
                                                     CreationHelper helper = workbook.getCreationHelper();
                                                     ClientAnchor anchor = helper.createClientAnchor();
                                                     anchor.setCol1(x1); // param1是列号
@@ -1543,11 +1540,9 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                         }
                     }
                 }
-            }
         }
         //输出流
 
-
         FileOutputStream outputStream = new FileOutputStream(excelPath);
         workbook.write(outputStream);
         FileUtils.setExcelScaleToPdf(excelPath, pdfPath);

+ 63 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/utils/FTPUtils.java

@@ -0,0 +1,63 @@
+package org.springblade.manager.utils;
+
+import org.apache.commons.net.ftp.FTPClient;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class FTPUtils {
+    String hostname = "192.168.0.109";
+    int port = 21;
+    String username = "fileadmin";
+    String password = "DpE5aYNybfeDEMcD";
+
+    // 获取ftp 客户端
+    public FTPClient getFTPClinet(){
+        FTPClient ftp = new FTPClient();
+        ftp.setControlEncoding("UTF-8");
+        System.out.println("准备连接到ftp");
+        try {
+            //连接
+            ftp.connect(hostname, port);
+            //登录
+            boolean loginS = ftp.login(username, password);
+            if (!loginS) {
+                System.out.println("ftp登录失败,用户名或密码错误");
+                return null;
+            }else{
+                System.out.println("ftp登录成功");
+            }
+            return ftp;
+        } catch (IOException e) {
+            System.out.println("ftp连接失败");
+            return null;
+        }
+    }
+
+    //文件覆盖上传
+/*    public static void main(String[] args) throws Exception {
+
+        InputStream input = FileUtils.getInputStreamByUrl("http://192.168.0.109:6371/1534807810770993152.html");
+
+        FTPUtils ftpUtils = new FTPUtils();
+        try {
+            FTPClient ftp = ftpUtils.getFTPClinet();
+            // 获取本地文件并上传
+
+            ftp.changeWorkingDirectory("/Desktop/");//跳转目录
+            ftp.setFileType(FTPClient.BINARY_FILE_TYPE);//必须要设置以二进制的方式传输文件
+            ftp.enterLocalPassiveMode();//被动模式
+
+            if (!ftp.storeFile("1534807810770993152.html", input)) {
+                System.out.println("失败,服务器返回:" + ftp.getReplyString());//获取上传失败的原因
+            } else {
+                System.out.println("文件:1534807810770993152.html 上传成功");
+            }
+            input.close();
+            ftp.logout();
+        } catch (IOException e) {
+            System.out.println("ftp连接失败");
+        }
+    }*/
+
+}

+ 22 - 48
blade-service/blade-manager/src/main/java/org/springblade/manager/utils/FileUtils.java

@@ -26,6 +26,7 @@ import org.jsoup.select.Elements;
 import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.utils.CommonUtil;
 import org.springblade.common.utils.SnowFlakeUtil;
+import org.springblade.common.utils.SystemUtils;
 import org.springblade.common.vo.DataVO;
 import org.springblade.core.tool.api.ResultCode;
 import org.springblade.core.tool.utils.FileUtil;
@@ -368,56 +369,29 @@ public class FileUtils {
     }
 
 
-    public static void main123(String[] args) throws Exception {
-
-
-        //  String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
-        String sys_file_net_url = "http://192.168.0.109:6371/12345.pdf";
-        File file = new File(sys_file_net_url);
-        file.mkdir();
-
-
+    // 获取本地 或 远程工作流ParamCache
+    public static InputStream getInputStreamByUrl(String fileUrl) throws Exception {
+        String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
+        String sys_file_net_url = ParamCache.getValue(CommonConstant.SYS_FILE_NET_URL);
+        File file1 = new File(fileUrl);
+        InputStream fileInputStream = null;
+        if (file1.exists()) {
+            fileInputStream = new FileInputStream(file1);
+        } else {
+            String path = sys_file_net_url + fileUrl.replaceAll("//", "/").replaceAll(file_path, "");
+            fileInputStream = CommonUtil.getOSSInputStream(path);
+        }
+        return fileInputStream;
     }
 
-
-    public static void main11(String[] args) throws FileNotFoundException {
-       /* double a= 2;
-        double maxData = Math.ceil(a/7);
-        System.out.println(maxData);*/
-
-        /*File file1 = ResourceUtil.getFile("/Users/hongchuangyanfa/fsdownload/1633774811681390592.html");
-        FileInputStream fileInputStream = new FileInputStream(file1);
-        String htmlString = IoUtil.readToString(fileInputStream);
-        // 解析 style
-        org.jsoup.nodes.Document doc = Jsoup.parse(htmlString);
-        Element table = doc.select("table").first();
-        Elements trs = table.select("tr");
-
-
-        List<List<String>> redata = new ArrayList<>();
-        for (int i = 0; i < trs.size(); i++) {
-            Element tr = trs.get(i);
-            Elements tds = tr.select("td");
-            List<String> tdList = new ArrayList<>();
-            for (int j = 0; j < tds.size(); j++) {
-                Element element = tds.get(j);
-                if (element.html().indexOf("el-tooltip") >= 0) {
-                    element = element.children().get(0);
-                }
-                if (element.children().size() >= 1) {
-                    String keyname = element.children().get(0).attr("keyname");
-                    if (StringUtils.isNotEmpty(keyname)) {
-                        tdList.add(keyname);
-                    }
-                }
-            }
-            redata.add(tdList) ;
+    public static String getSysLocalFileUrl() {
+        String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
+        if (SystemUtils.isMacOs()) {
+            file_path = "/Users/hongchuangyanfa/Desktop/";
+        } else if (SystemUtils.isWindows()) {
+            file_path = "C://upload";
         }
-
-        String[][] res = new String[redata.size()][]; // 存放转换结果的 二维数组
-        for(int i=0; i<res.length; i++){ // 转换方法
-            res[i] = redata.get(i).toArray(new String[redata.get(i).size()]);
-        }*/
-
+        return file_path;
     }
+
 }