Browse Source

2024 7 1 号

zhuwei 1 year ago
parent
commit
cf82dda427

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

@@ -2289,7 +2289,7 @@ public class ExcelTabController extends BladeController {
     })
     public R<String> getTheLogPdInfo(String pkeyId, String nodePrimaryKeyId, String recordTime, String contractId) throws Exception {
         //获取配置的路径
-        String file_path = "/Users/hongchuangyanfa/Desktop/" ;//ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
+        String file_path = FileUtils.getSysLocalFileUrl();
         if (StringUtils.isEmpty(recordTime)) {
             recordTime = DateUtil.format(DateUtil.now(), "yyyy-MM-dd");
         }
@@ -2578,20 +2578,15 @@ public class ExcelTabController extends BladeController {
                 String querySql = "SELECT * FROM " + tabName + " WHERE id = " + dataId + " and group_id = " + tableNode2.getPKeyId();
                 List<Map<String, Object>> businessDataMap = this.jdbcTemplate.queryForList(querySql);
 
-
-
                 if (businessDataMap.size() > 0) {
                     // 匹配关联
                     try {
-                        //File file1 = ResourceUtil.getFile(wbsTreeContract.getHtmlUrl());
                         File file1 = ResourceUtil.getFile(tableNode2.getHtmlUrl());
-                        //File file1 = ResourceUtil.getFile("C:\\Users\\泓创研发01\\Desktop\\privateUrl\\1633285246067671040.html");
                         if (file1.exists()) {
 
                             String htmlString = IoUtil.readToString(new FileInputStream(file1));
                             Document doc = Jsoup.parse(htmlString);
 
-                            // 解析
                             // 模糊匹配
                             Elements dwtitle = doc.select("el-input[placeholder~=.*承包单位]");
                             Elements sgtitle = doc.select("el-input[placeholder~=^施工单位]");
@@ -2612,8 +2607,6 @@ public class ExcelTabController extends BladeController {
                             Elements xmtitle = doc.select("el-input[placeholder~=^项目名称]");
 
 
-                            // Elements title = doc.select("el-input[placeholder~=^编号]");
-
                             /**
                              * 承包单位 承包单位、施工单位:引用施工单位名称 ,
                              * 监理单位:引用监理单位名称
@@ -2761,6 +2754,96 @@ public class ExcelTabController extends BladeController {
                     }
                 }
             }
+        }else{
+            // 匹配关联
+            Map<String, Object> reData = new HashMap<>();
+            try {
+                if (tableNode2.getHtmlUrl()!=null) {
+                    InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(tableNode2.getHtmlUrl());
+                    String htmlString = IoUtil.readToString(inputStreamByUrl);
+                    Document doc = Jsoup.parse(htmlString);
+
+                    // 模糊匹配
+                    Elements dwtitle = doc.select("el-input[placeholder~=.*承包单位]");
+                    Elements sgtitle = doc.select("el-input[placeholder~=^施工单位]");
+                    Elements sgtitle1 = doc.select("el-input[placeholder=安装单位]");
+                    sgtitle.addAll(sgtitle1);
+
+                    Elements htdtitle = doc.select("el-input[placeholder~=.*合同号.*]");
+                    Elements htdtitle1 = doc.select("el-input[placeholder~=合同段.*]");
+                    htdtitle.addAll(htdtitle1);
+
+                    Elements jltitle = doc.select("el-input[placeholder~=监理单位.*]");
+
+                    Elements bhtitle = doc.select("el-input[placeholder~=^编号]");
+                    Elements bhtitle1 = doc.select("el-input[placeholder~=合同编号.*]");
+                    bhtitle.addAll(bhtitle1);
+
+
+                    Elements xmtitle = doc.select("el-input[placeholder~=^项目名称]");
+
+
+                    /**
+                     * 承包单位 承包单位、施工单位:引用施工单位名称 ,
+                     * 监理单位:引用监理单位名称
+                     * 合同段、所属建设项目(合同段):引用合同段编号
+                     *
+                     * 施工单位:施工单位 和 安装单位
+                     *
+                     */
+                    ContractInfo contractInfo = contractInfoService.getById(contractId);
+                    // 施工单位名称
+                    if (dwtitle.size() >= 1) {
+                        int y = Integer.parseInt(dwtitle.attr("trindex"));
+                        if (y <= 10) {
+                            reData.put(dwtitle.attr("keyName"), contractInfo.getConstructionUnitName());
+                        }
+
+                    }
+                    if (sgtitle.size() >= 1) {
+                        int y = Integer.parseInt(sgtitle.attr("trindex"));
+                        if (y <= 10) {
+                            reData.put(sgtitle.attr("keyName"), contractInfo.getConstructionUnitName());
+                        }
+                    }
+
+                    // 合同段名称
+                    if (htdtitle.size() >= 1) {
+                        for (Element element : htdtitle) {
+                            int trindex = Integer.parseInt(element.attr("trindex"));
+                            if (trindex <= 8) {
+                                reData.put(element.attr("keyName"), contractInfo.getContractNumber());
+                            }
+                        }
+                    }
+                    // 监理单位名称
+                    if (jltitle.size() >= 1) {
+
+                        for (Element element : jltitle) {
+                            int trindex = Integer.parseInt(element.attr("trindex"));
+                            if (trindex <= 10) {
+                                reData.put(element.attr("keyName"), contractInfo.getSupervisionUnitName());
+                            }
+                        }
+                    }
+
+                    // 项目名称
+                    if (xmtitle.size() >= 1) {
+                        for (Element element : xmtitle) {
+                            int trindex = Integer.parseInt(element.attr("trindex"));
+                            if (trindex <= 6) {
+                                ProjectInfo projectInfo = projectInfoService.getById(tableNode2.getProjectId());
+                                reData.put(element.attr("keyName"), projectInfo.getProjectName());
+                            }
+                        }
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            if (reData.size() > 0) {
+                resultMapList.add(reData);
+            }
         }
         return R.data(resultMapList);
     }
@@ -3241,7 +3324,6 @@ public class ExcelTabController extends BladeController {
     @ApiOperationSupport(order = 100)
     @ApiOperation(value = "初始化实际", notes = "初始化实际")
     public R getFirstExcelHtml() throws Exception {
-        String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
         String sql = "SELECT * from m_excel_tab x where x.alias like '%1579401528622919682%' and parent_id in ('1582212216210829314','1582211923960115201')  and is_deleted=0 and file_type=3 ";
         List<Map<String, Object>> dataInof = jdbcTemplate.queryForList(sql);
         System.out.println(dataInof.size());

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

@@ -627,7 +627,6 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
      * 保存日志
      */
     @Override
-    @Transactional
     public String saveOrUpdateTheLog(List<TableInfo> tableInfoList) {
         //查询绑定的节点
         WbsTreePrivate tableNode = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, tableInfoList.get(0).getPkeyId()));

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

@@ -188,8 +188,8 @@ public class FileUtils {
             for (String urlStr : urlList) {
                 try {
                     //获取OSS文件输入流
-                   // reader = new PdfReader(Objects.requireNonNull(CommonUtil.getOSSInputStream(urlStr)));
-                    reader = new PdfReader(Objects.requireNonNull(FileUtils.getInputStreamByUrl(urlStr)));
+                    reader = new PdfReader(Objects.requireNonNull(CommonUtil.getOSSInputStream(urlStr)));
+                   // reader = new PdfReader(Objects.requireNonNull(FileUtils.getInputStreamByUrl(urlStr)));
 
                     pageCount = reader.getNumberOfPages();
 

+ 18 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/InterimPayCertificateController.java

@@ -25,7 +25,9 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.meter.entity.ContractMeterPeriod;
 import org.springblade.meter.entity.InterimPayCertificateItem;
+import org.springblade.meter.service.IContractMeterPeriodService;
 import org.springblade.meter.vo.InterimPayCertificateVO;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -50,6 +52,7 @@ public class InterimPayCertificateController extends BladeController {
 
 	private final IInterimPayCertificateService interimPayCertificateService;
 
+	private final IContractMeterPeriodService contractMeterPeriodService;
 
 	/**
 	 * 新增 中期支付证书
@@ -58,8 +61,15 @@ public class InterimPayCertificateController extends BladeController {
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "新增", notes = "传入interimPayCertificate")
 	public R add(@Valid @RequestBody InterimPayCertificate interimPayCertificate) {
+		//获取期数信息
+		if(interimPayCertificate!=null && interimPayCertificate.getContractPeriodId()!=null){
+			ContractMeterPeriod contractMeterPeriod = contractMeterPeriodService.getById(interimPayCertificate.getContractPeriodId());
+			interimPayCertificate.setStartDate(contractMeterPeriod.getStartDate());
+			interimPayCertificate.setEndDate(contractMeterPeriod.getEndDate());
+			interimPayCertificate.setPeriodNumber(contractMeterPeriod.getPeriodNumber());
+		}
 		interimPayCertificateService.add(interimPayCertificate);
-		taskController.calculate(interimPayCertificate.getId().toString(),0);
+		//taskController.calculate(interimPayCertificate.getId().toString(),0);
 		return R.success("新增成功");
 	}
 
@@ -81,6 +91,13 @@ public class InterimPayCertificateController extends BladeController {
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "修改", notes = "传入interimPayCertificate,只需要传入和新增时相同的参数")
 	public R update(@Valid @RequestBody InterimPayCertificate interimPayCertificate) {
+		//获取期数信息
+		if(interimPayCertificate!=null && interimPayCertificate.getContractPeriodId()!=null){
+			ContractMeterPeriod contractMeterPeriod = contractMeterPeriodService.getById(interimPayCertificate.getContractPeriodId());
+			interimPayCertificate.setStartDate(contractMeterPeriod.getStartDate());
+			interimPayCertificate.setEndDate(contractMeterPeriod.getEndDate());
+			interimPayCertificate.setPeriodNumber(contractMeterPeriod.getPeriodNumber());
+		}
 		interimPayCertificateService.update2(interimPayCertificate);
 		taskController.calculate(interimPayCertificate.getId().toString(),0);
 		return R.success("修改成功");