zhuwei 1 рік тому
батько
коміт
a9a76c1ec3

+ 2 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/InformationQuery.java

@@ -134,4 +134,6 @@ public class InformationQuery extends BaseEntity {
     @ApiModelProperty("电签文件页数")
     private Integer eVisaPdfPage;
 
+    @ApiModelProperty("节点pdf")
+    private String nodePdfUrl;
 }

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

@@ -1158,6 +1158,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                         .set(InformationQuery::getEVisaPdfPage, pdfPage)
                         .set(InformationQuery::getEVisaPdfSize, pdfSize)
                         .set(InformationQuery::getBusinessTime, dateInfo)
+                        .set(InformationQuery::getNodePdfUrl, newFileUrl)
                         .in(InformationQuery::getId, Arrays.asList(formDataId.split(","))));
 
                 /*//如果是废除任务,那么删除合同段节点树缓存
@@ -1179,6 +1180,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                     .set(InformationQuery::getEVisaPdfPage, pdfPage)
                     .set(InformationQuery::getEVisaPdfSize, pdfSize)
                     .set(InformationQuery::getBusinessTime, dateInfo)
+                    .set(InformationQuery::getNodePdfUrl, newFileUrl)
                     .in(InformationQuery::getId, Arrays.asList(formDataId.split(","))));
         }
 

+ 2 - 2
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/impl/EVisaServiceImpl.java

@@ -92,8 +92,8 @@ import java.util.*;
 @AllArgsConstructor
 public class EVisaServiceImpl implements EVisaService {
 
-    private static final String SIGN_HOST = "172.30.224.79";
-   // private static final String SIGN_HOST = "47.115.117.246";
+   // private static final String SIGN_HOST = "172.30.224.79";
+    private static final String SIGN_HOST = "47.115.117.246";
 
     private static final String SIGN_PORT = "8183";
 

+ 8 - 17
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/utils/PDFUtils.java

@@ -66,42 +66,35 @@ public class PDFUtils {
         return eVisaConfigList;
     }
 */
+public static void main11(String[] args) {
+    String data = "/Users/hongchuangyanfa/Desktop/excel/123456.xlsx";
 
 
+
+
+}
     public static synchronized List<String>  getPdfSignIds(String pdfUrl) {
         PdfDocument pdf = new PdfDocument();
         List<String> eVisaConfigList = new ArrayList<>();
         try {
             URL url =new URL(pdfUrl);
-/*            URLConnection conn = url.openConnection();
-            conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
-            //加载PDF文档
-            System.out.println("-------getid------"+pdfUrl);
-            conn.setConnectTimeout(30000);
-            conn.setConnectTimeout(60000);
-            InputStream ossInputStream = conn.getInputStream();
-            Is
-            pdf.loadFromStream(ossInputStream);*/
             byte[] byteArray = IOUtils.toByteArray(url);
             pdf.loadFromBytes(byteArray);
-            /*if (conn instanceof HttpURLConnection) {
-                ((HttpURLConnection) conn).disconnect();
-            }*/
             for(int i= 0;i<pdf.getPages().getCount();i++){
                 PdfPageBase page = pdf.getPages().get(i);
                 PdfTextFindCollection allText = page.findAllText();
                 PdfTextFind[] finds = allText.getFinds();
                 for(int k=0;k<finds.length;k++){
                     String textStr = finds[k].getMatchText();
+                    if(textStr.indexOf("*")>=0){
+                        textStr = textStr.substring(textStr.lastIndexOf("*")+1,textStr.length());
+                    }
                     if (textStr.length() >= 15 && Func.isNumeric(textStr)) {
                         eVisaConfigList.add(textStr);
                     }
                 }
             }
-
-           // ossInputStream.close();
             List<String> unique = eVisaConfigList.stream().distinct().collect(Collectors.toList());
-
             return unique;
         }catch (Exception e){
             e.printStackTrace();
@@ -122,14 +115,12 @@ public class PDFUtils {
 
             for(int i= 0;i<pdf.getPages().getCount();i++){
                 PdfPageBase page = pdf.getPages().get(i);
-               // System.out.println( page.extractText(true));
                 String text= page.extractText(false);
                 PdfTextFindCollection allText = page.findAllText();
                 PdfTextFind[] finds = allText.getFinds();
                 for(int k=0;k<finds.length;k++){
                     String textStr = finds[k].getMatchText();
                     if (textStr.length() >= 15 && Func.isNumeric(textStr)) {
-                        System.out.println(textStr);
                         eVisaConfigList.add(textStr);
                     }
                 }

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

@@ -848,6 +848,11 @@ public class ExcelTabController extends BladeController {
         Elements col = doc.select("Col");
         doc.select("Col").remove();
         ProjectInfo projectInfo = projectInfoService.getById(wbsTreePrivate.getProjectId());
+        Boolean isWater = false;
+        ExcelTab tab = excelTabMapper.getWaterByTableId(wbsTreePrivate.getExcelId());
+        if (tab != null) {
+            isWater = true;
+        }
         // 添加标题显示
         Elements trs = table.select("tr");
         for (int i = 1; i < 6; i++) {
@@ -859,13 +864,33 @@ public class ExcelTabController extends BladeController {
                 String style = data.attr("style");
                 if (style.indexOf("font-size") >= 0) {
                     int fontsize = Integer.parseInt(style.substring(style.indexOf("font-size:") + 10, style.indexOf(".0pt")));
-                    if (StringUtils.isNotEmpty(data.text()) && fontsize >= 12) {
-                        trs.get(i - 1).select("td").get(0).text(projectInfo.getProjectName());
-                        break;
+                    if (isWater) {
+                        if (StringUtils.isNotEmpty(data.text()) && fontsize >= 12) {
+                            trs.get(i - 1).select("td").get(0).text(projectInfo.getProjectName());
+                        }
+                    } else {
+                        if (StringUtils.isNotEmpty(data.text()) && fontsize >= 14) {
+                            Elements td = trs.get(i - 1).select("td");
+                            if (td!=null && td.size()>=1){
+                                for(Element element:td){
+                                    String style2 = element.attr("style");
+                                    String sizeinfo = style2.substring(style.indexOf("font-size:") + 10, style.indexOf(".0pt"));
+                                    System.out.println(sizeinfo.length());
+                                    if(sizeinfo.length()>=2 && sizeinfo.indexOf(".")<0){
+                                        int fontsize2 = Func.toInt(sizeinfo);
+                                        if(StringUtils.isEmpty(element.text()) && fontsize2>=14){
+                                            element.text(projectInfo.getProjectName());
+                                            break;
+                                        }
+                                    }
+                                }
+                            }
+                        }
                     }
                 }
             }
         }
+
         fileInputStream.close();
         return R.data(table + "");
     }

+ 12 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/TextdictInfoController.java

@@ -242,7 +242,6 @@ public class TextdictInfoController extends BladeController {
             WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.getByPKeyId(list.get(0).getTableId());
 
             // 读取html页面信息
-            String path = "";
             String fileUrl = wbsTreePrivate.getHtmlUrl();
 
             InputStream fileInputStream = FileUtils.getInputStreamByUrl(fileUrl);
@@ -289,6 +288,16 @@ public class TextdictInfoController extends BladeController {
                     selectText += "</el-select>";
                     element.empty().append(selectText);
 
+                }else if (textdictInfo.getTextId().equals("selectBox")) { // 下拉框
+                    String selectText = " <el-select id=" + keyname + " v-model=" + vmode + " multiple class='is-multiple' @keydown.shift.up='keyupShiftUp' @keydown.shift.down='keyupShiftDown' @keydown.shift.left='keyupShiftLeft' @keydown.shift.right='keyupShiftRight'  @mouseup.right='RightClick(" + parm + ")'  keyname=" + keyname + " weighing=" + weighing + " placeholder=" + placeholder + " trIndex=" + trindex + " tdIndex=" + tdindex + "  x1=" + x1 + " x2=" + x2 + " y1=" + y1 + " y2=" + y2 + ">"; //v-model="+keyname+"
+                    List<TextdictInfo_vo> optionList = textdictInfo.getTextInfo();
+                    if (optionList != null && optionList.size() >= 1) {
+                        for (int i = 0; i < optionList.size(); i++)
+                            selectText += "<el-option  key='" + optionList.get(i).getDictValue() + "' label='" + optionList.get(i).getDictValue() + "'   value='" + optionList.get(i).getDictValue() + "' > </el-option>";
+                    }
+                    selectText += "</el-select>";
+                    element.empty().append(selectText);
+
                 } else if (textdictInfo.getTextId().equals("radio")) { // 单选按钮
 
                     String radioText = "<el-radio-group id=" + keyname + " @keyDowns='dateKeydown()' v-model=" + vmode + " keyname=" + keyname + "  @mouseup.right='RightClick(" + parm + ")' weighing=" + weighing + " placeholder=" + placeholder + " trIndex=" + trindex + " tdIndex=" + tdindex + "  x1=" + x1 + " x2=" + x2 + " y1=" + y1 + " y2=" + y2 + ">";
@@ -362,8 +371,8 @@ public class TextdictInfoController extends BladeController {
             }
             File writeFile = ResourceUtil.getFile(wbsTreePrivate.getHtmlUrl());
             if (!writeFile.exists()) {
-                if (StringUtils.isNotEmpty(path)) {
-                    File file = new File(path);
+                if (StringUtils.isNotEmpty(fileUrl)) {
+                    File file = new File(fileUrl);
                     if (!file.exists()) {
                         file.mkdirs();
                     }

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

@@ -51,6 +51,6 @@
     </delete>
 
     <select id="selectTableFileListByTen" resultMap="TableFileVO">
-        select *,domain_url as url from m_table_file where is_deleted = 0 and type=10 and tab_id = #{pKid}
+        select *,domain_url as url from m_table_file where is_deleted = 0 and type in (10,11,12) and tab_id = #{pKid}
     </select>
 </mapper>

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

@@ -1195,7 +1195,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 if (p.contains("Data too long for column")) {
                     List<Map<String, Object>> result = this.jdbcTemplate.queryForList("select CONCAT(a.tab_ch_name,'&',b.e_name) tf from m_table_info a join m_wbs_form_element b on b.f_id=a.id where a.tab_en_name='" + m.group(1) + "' and  b.e_key='" + m.group(4) + "'");
                     if (result.size() > 0) {
-                        sb.append("【").append(result.get(0).values().stream().map(String::valueOf).collect(Collectors.joining(","))).append("数据库字段太短】");
+                        sb.append("【").append(result.get(0).values().stream().map(String::valueOf).collect(Collectors.joining(","))).append(m.group(4)+"数据库字段太短】");
                     }
                 } else if (p.contains("Unknown column")) {
                     sb.append("【").append(m.group(1)).append(":").append(m.group(4)).append("关联错误】");
@@ -1466,12 +1466,14 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                                 reData.put(key + "__" + tabData[1], tabData[0]);
                             }
                         }
-                    } else if (tabVal.indexOf("_^_") >= 0) {
+                    } else if (tabVal.indexOf("_^_") >= 0) { //数组处理方式
                         String[] tabData = tabVal.split("_\\^_");
                         if (StringUtils.isNotEmpty(tabData[0])) {
                             if (tabVal.contains("[") && tabVal.contains("年")) {
                                 String[] strings = StringUtils.strip(tabData[0], "[]").split(",");
-
+                                reData.put(key + "__" + tabData[1], strings);
+                            }if (tabVal.contains("[") && tabVal.contains("]") && tabVal.indexOf(",")>=0) {
+                                String[] strings = StringUtils.strip(tabData[0], "[]").split(",");
                                 reData.put(key + "__" + tabData[1], strings);
                             } else {
                                 reData.put(key + "__" + tabData[1], tabData[0]);

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

@@ -57,8 +57,12 @@ public class FormulaDaoImpl implements IFormulaDao {
             List<Map<String,Object>> meterContractList = jdbcTemplate.queryForList("select * from s_meter_contract_info where contract_Id="+contractId);
             if(meterContractList.size()>0){
                 Map<String,Object> map = meterContractList.get(0);
-                baseInfo.setDyTotalAmount(BaseUtils.str2BigDecimal(map.get("dy_total_amount")));
-                baseInfo.setDeductRatio(BaseUtils.obj2DoubleZero(map.get("cl_prepayment_ratio")));
+                if(Func.notNull(map.get("dy_total_amount"))){
+                    baseInfo.setDyTotalAmount(BaseUtils.str2BigDecimal(map.get("dy_total_amount")));
+                }
+                if(Func.notNull(map.get("cl_prepayment_ratio"))){
+                    baseInfo.setDeductRatio(BaseUtils.obj2DoubleZero(map.get("cl_prepayment_ratio")));
+                }
                 baseInfo.setBankAccountName(map.getOrDefault("bank_account_name","").toString());
                 baseInfo.setBankAccount(map.getOrDefault("bank_account_number","").toString());
                 baseInfo.setBankName(map.getOrDefault("bank_of_deposit","").toString());

+ 16 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -205,6 +205,22 @@ public class UserController {
             projectAndUserList.add(data);
             user.setProjectAndUserList(projectAndUserList);
         }
+        if (ObjectUtil.isNotEmpty(user.getSysId()) && user.getSysId().equals("40")) {
+            user.setUserType("1,2,3,7");
+            user.setPassword("123456");
+            user.setPlaintextPassword("123456");
+            user.setTenantId("000000");
+            user.setDeptId("1750404533561184258");
+            user.setStatus(1);
+            user.setSysType(2);
+            List<SaveUserInfoByProjectDTO> projectAndUserList = new ArrayList<>();
+            SaveUserInfoByProjectDTO data = new SaveUserInfoByProjectDTO();
+            data.setContractId("1714919227250950146");
+            data.setProjectId("1750070685257990145");
+            data.setRoleId("1538760412710289409");
+            projectAndUserList.add(data);
+            user.setProjectAndUserList(projectAndUserList);
+        }
 
         return R.status(userService.submit2(user));
     }