Эх сурвалжийг харах

平整度公式bug,计量支付项重复,质检获取编号,电签管理员新增任务类型

chenr 5 сар өмнө
parent
commit
14c248c68b

+ 6 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/BusinessTaskFailedPageVO.java

@@ -46,4 +46,10 @@ public class BusinessTaskFailedPageVO implements Serializable {
     @ApiModelProperty(value = "电签PDF路径")
     private String sigPdf;
 
+    @ApiModelProperty(value = "审批类型")
+    // 1=填报数据(质量填报,试验上报) 2=工程文件(档案) 3=日志资料  4=档案数据   5=计量支付证书  6=计量 材料预付款  7= 计量 中间支付  8委托单
+    private Integer approvalType;
+
+
+
 }

+ 2 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/feign/CertificateItemClient.java

@@ -5,6 +5,7 @@ import org.springblade.meter.entity.InterimPayCertificateItem;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -19,5 +20,5 @@ public interface CertificateItemClient {
      * 保存中期证书项目详情
      */
     @PostMapping(API_PREFIX + "/saveOrUpdate")
-    void saveOrUpdate(@RequestBody List<InterimPayCertificateItem> items);
+    void saveOrUpdate(@RequestBody List<InterimPayCertificateItem> items,@RequestParam Long reportId);
 }

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

@@ -1954,6 +1954,7 @@ public class TaskController extends BladeController {
                     vo.setEVisaStatusName(eVisaStatus == 1 ? "电签失败" : "电签成功");
                     vo.setTaskReportUserName(nameMap.get(Long.parseLong(task.getReportUser())));
                     vo.setSigPdf(query.get(Long.parseLong(task.getFormDataId())));
+                    vo.setApprovalType(task.getApprovalType());
                     List<TaskParallel> taskParallelList = finalTaskParallelGroupMap.get(task.getProcessInstanceId());
                     if (taskParallelList != null && taskParallelList.size() > 0) {
                         //判断签字人的验证 2=绿色 3=黄色 999=红色 其他代表=灰色

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

@@ -69,6 +69,7 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -4415,9 +4416,10 @@ public class ExcelTabController extends BladeController {
         }
     }
 
-    //@Scheduled(fixedDelay = 1000*60*60*24)
+    @Scheduled(cron = "0 01 15 * * ?")
     //检查excel路径有错的
     public void cheackExcel() throws IOException {
+        StringBuilder result=new StringBuilder("");
         String sql = "Select * from m_excel_tab where parent_id=0 and is_deleted=0";
         List<ExcelTab> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ExcelTab.class));
         for (ExcelTab excelTab : query) {
@@ -4433,14 +4435,13 @@ public class ExcelTabController extends BladeController {
                             long resourceLength = CommonUtil.getResourceLength(excelTab1.getFileUrl());
                             if (resourceLength <= 500) {
                                 names.add(excelTab1.getName());
-                                System.out.println(excelTab.getName() + "--" + tab.getName() + "--" + excelTab1.getName());
+                                result.append(excelTab.getName() + "--" + tab.getName() + "--" + excelTab1.getName()+"\n");
                             }
                         }
                     }
                 }
             }
         }
-        System.out.println("检查完毕");
     }
     @GetMapping("/checkParamElement")
     @ApiOperationSupport(order = 30)

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

@@ -1439,7 +1439,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 
             Elements jltitle = doc.select("el-input[placeholder~=监理单位.*]");
 
-            //编号为父节点划分编号 “编号:”、“工程编号:”、“编号”、“分项工程编号”、“分部分项编号”
+            //编号为父节点划分编号 “编号:”、“工程编号:”、“编号”、“分项工程编号”、“分部分项编号”、“分项工程编号:”、“编 号”
             Elements bhtitle = doc.select("el-input[placeholder~=^编号]");
             if(Func.isNotEmpty(wbsTreeContract.getWbsType()) && wbsTreeContract.getWbsType()==1){
                 Elements bhtitle2 = doc.select("el-input[placeholder~=^工程编号]");
@@ -1447,7 +1447,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 Elements bhtitle4 = doc.select("el-input[placeholder~=^分部分项编号]");
                 Elements bhtitle5 = doc.select("el-input[placeholder~=^单元工程编码]");
                 Elements bhtitle6 = doc.select("el-input[placeholder~=^编 号]");
-                Elements bhtitle7 = doc.select("el-input[placeholder~=^分项工程编号]");
+                Elements bhtitle7 = doc.select("el-input[placeholder~=^分项工程编号:]");
                 bhtitle.addAll(bhtitle2);
                 bhtitle.addAll(bhtitle3);
                 bhtitle.addAll(bhtitle4);
@@ -2175,10 +2175,12 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                                 Object obj = DataInfo.get(val);
                                 if (obj instanceof String[]) {
                                     String[] dataDate = (String[]) obj;
+
                                     String HtmlEle = data.toString();
-                                    if (HtmlEle.indexOf("el-date-picker") >= 0) {//时间时间段处理格式
-                                        if ((dataDate[0].trim()).equals((dataDate[1].trim()))) {
-                                            myData = dataDate[0];
+                                    if (HtmlEle.indexOf("el-date-picker") >= 0) {
+                                        //时间时间段处理格式
+                                        if ((dataDate[0].replaceAll("\"", "").trim()).equals((dataDate[1].replaceAll("\"", "").trim()))) {
+                                            myData = dataDate[0].replaceAll("\"","");
                                         } else {
                                             myData = dataDate[0].replace("\"", "") + "-" + dataDate[1].trim().replace("\"", "");
                                         }

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

@@ -238,7 +238,7 @@ public class FormulaDaoImpl implements IFormulaDao {
     @Override
     public Function<String, List<InterimPayCertificateItem>> getInterimPayCertificateItemFc() {
         return  certificateIds->{
-            String sql="select * from s_interim_pay_certificate_item where certificate_id in ("+certificateIds+") order by sort";
+            String sql="select * from s_interim_pay_certificate_item where certificate_id in ("+certificateIds+") and is_deleted=0 order by sort";
             return getEntityList(sql,InterimPayCertificateItem.class);
         };
     }

+ 16 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -1182,7 +1182,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
         }
         for (FormData fd : tec.formDataList) {
             if (fd.verify()) {
-                if(fd.getCode().equals("m_20240313110033_1767747549965320192:key_34")){
+                if(fd.getCode().equals("m_20220928143955_1575012411126054912:key_2")){
                     System.out.println("111");
                 }
                 Formula formula = fd.getFormula();
@@ -1242,9 +1242,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                                 } catch (Exception ee) {
                                     ee.printStackTrace();
                                 }
-
-                                //临时处理这个公式,多出来的空数据会导致多出一张表格出来,所以当依赖元素超过表格的size,并且后面数据全为空,就截取掉后面的值
                                 if(ele.size()>0&&!ele.get(0).getCode().isEmpty()){
+                                    //临时处理这个公式,多出来的空数据会导致多出一张表格出来,所以当依赖元素超过表格的size,并且后面数据全为空,就截取掉后面的值
                                     //依赖的  C8.144钻(挖)孔灌注桩、地下连续墙钢筋安装检验记录表的设计和实测
                                     if(ele.get(0).getCode().equals("m_20230308150036_1633362063201927168:key_28")||ele.get(0).getCode().equals("m_20230308150036_1633362063201927168:key_24")){
                                         if(data!=null){
@@ -1260,6 +1259,17 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                                             }
                                         }
                                     }
+                                    //ZJ401平整度,空值也会被拿到,导致多表,依赖的JL709路基平整度检验表
+                                    if(ele.get(0).getCode().equals("m_20220928101924_1574946848735494144:key_4")){
+                                        if(data!=null){
+                                            List<Object> list = (List<Object>)data;
+                                            //过滤掉空值或空字符串
+                                            data = list.stream()
+                                                .filter(obj -> obj != null && !"".equals(obj))
+                                                .collect(Collectors.toList());
+                                        }
+
+                                    }
                                 }
                                 //专门用来做试验的处理 水泥报告单的检测依据
                                 if(fd.getCode().equals("m_20240313110817_1767749493136031744:key_32")||fd.getCode().equals("m_20240313110033_1767747549965320192:key_34")){
@@ -5646,14 +5656,14 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
         executionTime.info("公式计算");
         CompletableFuture.runAsync(() -> {
             /*支付项*/
-            saveInterimPayCertificateItems(tec.meterInfo.getInterimPayCertificateItems());
+            saveInterimPayCertificateItems(tec.meterInfo.getInterimPayCertificateItems(),tec.getReportId());
         });
         return tec.getReportResults();
     }
 
-    public void saveInterimPayCertificateItems(List<InterimPayCertificateItem> items) {
+    public void saveInterimPayCertificateItems(List<InterimPayCertificateItem> items,Long reportId) {
         if (items != null && items.size() > 0) {
-            this.certificateItemClient.saveOrUpdate(items);
+            this.certificateItemClient.saveOrUpdate(items,reportId);
         }
     }
 

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

@@ -235,7 +235,6 @@ public class NodeBaseInfoServiceImpl extends BaseServiceImpl<NodeBaseInfoMapper,
             try {
                 nodeBaseInfo = jdbcTemplate.queryForObject(nodeSql, new BeanPropertyRowMapper<>(NodeBaseInfo.class));
             }catch (Exception e){
-                e.printStackTrace();
                 return null;
             }
             List<WbsTreeContract> ancestorsNodes = iWbsTreeContractService.getBaseMapper().selectList(new QueryWrapper<WbsTreeContract>().in("p_key_id", Arrays.stream(wbsTreeContractNode.getAncestors().split(",")).toArray()).eq("contract_id", wbsTreeContractNode.getContractId()));

+ 2 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/feign/CertificateItemClientImpl.java

@@ -18,7 +18,7 @@ public class CertificateItemClientImpl implements CertificateItemClient{
     private final IInterimPayCertificateItemService iInterimPayCertificateItemService;
 
     @Override
-    public void saveOrUpdate(List<InterimPayCertificateItem> items) {
-              this.iInterimPayCertificateItemService.saveOrUpdateBatch(items);
+    public void saveOrUpdate(List<InterimPayCertificateItem> items,Long reportId) {
+        this.iInterimPayCertificateItemService.saveOrUpdateBatchList(items,reportId);
     }
 }

+ 2 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/IInterimPayCertificateItemService.java

@@ -17,4 +17,6 @@ public interface IInterimPayCertificateItemService extends BaseService<InterimPa
 
     @Async
     void sendJLSmg(Long taskId);
+
+    void saveOrUpdateBatchList(List<InterimPayCertificateItem> items,Long reportId);
 }

+ 12 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/InterimPayCertificateItemServiceImpl.java

@@ -124,4 +124,16 @@ public class InterimPayCertificateItemServiceImpl extends BaseServiceImpl<Interi
             }
         }
     }
+
+    @Override
+    public void saveOrUpdateBatchList(List<InterimPayCertificateItem> items,Long reportId) {
+        List<InterimPayCertificateItem> list = baseMapper.selectList(new QueryWrapper<InterimPayCertificateItem>().eq("certificate_id", reportId));
+        if(list.size()>0){
+            for (InterimPayCertificateItem item : items) {
+                baseMapper.updateById(item);
+            }
+        }else {
+            saveBatch(items);
+        }
+    }
 }