Bläddra i källkod

2023 1 23 保存更新

zhuwei 1 år sedan
förälder
incheckning
35ccfed064

+ 6 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/FormulaClient.java

@@ -1,6 +1,7 @@
 package org.springblade.manager.feign;
 
 import org.springblade.manager.entity.FormulaOption;
+import org.springblade.manager.vo.ReportResult;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -8,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.validation.constraints.NotNull;
 import java.io.FileNotFoundException;
+import java.util.List;
 
 import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX;
 
@@ -30,4 +32,8 @@ public interface FormulaClient {
     @GetMapping(API_PREFIX + "option")
     FormulaOption option(@RequestParam @NotNull Long pkeyId);
 
+    //计量公式执行体
+    @PostMapping(API_PREFIX + "execute3")
+    List<ReportResult> formulaExecute3(@RequestParam Long contractId, @RequestParam Long periodId,@RequestParam Integer type);
+
 }

+ 3 - 4
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/controller/EVisaController.java

@@ -109,7 +109,7 @@ public class EVisaController {
                 String up_task = "update u_task_batch set is_deleted=5 where id="+taskApprovalVO.getId();
                 jdbcTemplate.execute(up_task);
 
-                String up_task_par = "update u_task_parallel set status=99,e_visa_content='pdf关键字与数据库中id不匹配' ,update_time=SYSDATE() where parallel_process_instance_id='"+taskApprovalVO.getParallelProcessInstanceId()+"'";
+                String up_task_par = "update u_task_parallel set e_visa_status=99,e_visa_content='pdf关键字与数据库中id不匹配' ,update_time=SYSDATE() where parallel_process_instance_id='"+taskApprovalVO.getParallelProcessInstanceId()+"'";
                 jdbcTemplate.execute(up_task_par);
 
             } else if ("success".equals(eVisaStatus) || eVisaStatus.contains("success")) { //成功操作
@@ -168,11 +168,10 @@ public class EVisaController {
         }else{ //废除
 
             // 修改 主 任务 u_task 表 状态改为3
-
             String up_task_par = "update u_task_parallel set status=3 where parallel_process_instance_id="+taskApprovalVO.getParallelProcessInstanceId();
-
             String up_task = "update u_task set status=3 where id="+taskApprovalVO.getTaskId();
-
+            jdbcTemplate.execute(up_task_par);
+            jdbcTemplate.execute(up_task);
         }
     }
 }

+ 12 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -3212,6 +3212,13 @@ public class ExcelTabController extends BladeController {
         }
         JSONObject tableInfo1 = dataArray.getJSONObject(0);
         String nodeid = tableInfo1.getString("nodeId");
+        String nodePrimaryKeyId = dataInfo.getString("nodePrimaryKeyId");
+
+        // 合同段id
+        String contractId = tableInfo1.getString("contractId");
+        String pkeyId = tableInfo1.getString("pkeyId");
+        String recordTime = tableInfo1.getString("recordTime");
+
         List<TableInfo> tableInfoList = this.excelTabService.getTableInfoList(dataArray);
         try {
             this.excelTabService.formulaFillData(tableInfoList, Long.parseLong(nodeid), ExecuteType.FAI);
@@ -3220,14 +3227,17 @@ public class ExcelTabController extends BladeController {
         }
 
         // 保存数据到数据库
+        String data= "";
         String isFirst = tableInfoList.get(0).getIsFirst();
         if (StringUtils.isNotEmpty(isFirst)) {
             //保存首件
-            return R.data(this.excelTabService.saveOrUpdateFirst(tableInfoList));
+            data=this.excelTabService.saveOrUpdateFirst(tableInfoList);
         } else {
             //保存日志
-            return R.data(this.excelTabService.saveOrUpdateTheLog(tableInfoList));
+            data = this.excelTabService.saveOrUpdateTheLog(tableInfoList);
         }
+        this.getTheLogPdInfo(pkeyId,nodePrimaryKeyId,recordTime,contractId);
+        return R.data(data);
     }
 
 

+ 7 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/FormulaClientImpl.java

@@ -14,11 +14,13 @@ import org.springblade.manager.service.IExcelTabService;
 import org.springblade.manager.service.IFormulaOptionService;
 import org.springblade.manager.service.IFormulaService;
 import org.springblade.manager.service.IWbsTreeContractService;
+import org.springblade.manager.vo.ReportResult;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.constraints.NotNull;
 import java.io.FileNotFoundException;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -64,5 +66,10 @@ public class FormulaClientImpl implements FormulaClient {
        return this.formulaOptionService.getById(pkeyId);
     }
 
+    @Override
+    public List<ReportResult> formulaExecute3(Long contractId, Long periodId, Integer type) {
+       return service.execute3(contractId,periodId,type);
+    }
+
 
 }

+ 20 - 12
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -34,6 +34,9 @@ import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.feign.ArchiveFileTaskClient;
 import org.springblade.manager.entity.ContractInfo;
 import org.springblade.manager.entity.ContractRelationJlyz;
+import org.springblade.manager.entity.WbsTreePrivate;
+import org.springblade.manager.feign.FormulaClient;
+import org.springblade.manager.vo.ReportResult;
 import org.springblade.meter.dto.*;
 import org.springblade.meter.entity.*;
 import org.springblade.meter.mapper.MiddleMeterApplyMapper;
@@ -89,6 +92,9 @@ public class TaskController extends BladeController {
     private final ChangeTokenInventoryServiceImpl changeTokenInventoryService;
     private final ChangeTokenInventoryServiceTaskImpl changeTokenInventoryServiceTask;
 
+    // 计量公式入口
+    private final FormulaClient formulaClient;
+
     @GetMapping("/name")
     @ApiOperationSupport(order = 1)
     @ApiOperation(value = "获取任务名称", notes = "传入合同段contractId、期数id(变更令传勾选的id字符串英文逗号拼接)、type=1(中间计量申请)、=2(材料计量单)、3=(开工预付款计量单)、=4(变更令)")
@@ -2021,9 +2027,8 @@ public class TaskController extends BladeController {
 
             /*最终审批轮次*/
             if (isCurrentUserLastApprove) {
-
                 //TODO 重新生成报表,执行电签(电签失败直接return或抛出异常,不修改下方状态)
-
+                meterPdfInfo(task);
                 /*复制业务数据状态>主任务状态>替换数据*/
                 updateCopyDataApproveStatus(task, dto).updateTaskStatus(task).displace(task, dto);
             }
@@ -2036,27 +2041,30 @@ public class TaskController extends BladeController {
                 String param = taskParallel.getTaskUser() + "," + task.getProjectId() + "," + task.getContractId();
                 aopParamsSet.add(param);
             }
-
-            // 判断是否为审批 最后一人 如果是 即生成 pdf 并开始电签
-            /*当前审批轮次*/
-            String sql_3 = "SELECT * FROM u_task_parallel WHERE status=1 and process_instance_id = ? ORDER BY sort";
-            List<TaskParallel> lastTaskParallels = jdbcTemplate.query(sql_3, new Object[]{task.getProcessInstanceId()}, new BeanPropertyRowMapper<>(TaskParallel.class));
-            if(lastTaskParallels == null || lastTaskParallels.size() == 0 ){
-                meterPdfInfo(task);
-            }
             return R.data(200, aopParamsSet, "操作成功");
         }
-
         return R.fail("操作失败");
     }
 
 
     // pdf 生成
-
     private boolean meterPdfInfo(Task task) {
+        // 材料生成pdf
+        if(task.getType()==2){
+            // 获取填报数据
+
+            // 调用公式
+            List<ReportResult> reportResults = formulaClient.formulaExecute3(Long.parseLong(task.getContractId()), Long.parseLong(task.getFormDataId()),1);
+            //生成pdf
+            String fen ="SELECT * from m_wbs_tree_private WHERE project_id='"+task.getProjectId()+"' and wbs_type=3 and parent_id=(SELECT id from m_wbs_tree_private where project_id='"+task.getProjectId()+"' and is_deleted=0 and type=1 and wbs_type=3 and node_type=31)" +
+                    "AND type = 2 AND status = 1 and is_deleted= 0 ORDER BY sort";
+            WbsTreePrivate wbsTreePrivate = jdbcTemplate.query(fen, new BeanPropertyRowMapper<>(WbsTreePrivate.class)).stream().findAny().orElse(null);;
 
 
 
+        }
+
+
 
         return true;
     }

+ 10 - 2
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -508,9 +508,17 @@ public class UserController {
 
             HttpClient httpClient = HttpClientBuilder.create().build();
             HttpPost httpPost = new HttpPost("http://39.108.216.210:8090/blade-auth/oauth/token");
-            httpPost.setHeader("Authorization", "Basic YXJjaGl2ZXM6YXJjaGl2ZXNfc2VjcmV0");
+
+            if(userInfo.getSysId().equals("30")){
+                httpPost.setHeader("Authorization", "Basic YXJjaGl2ZXM6YXJjaGl2ZXNfc2VjcmV0");
+            }else if ("40".equals(userInfo.getSysId())) {
+                httpPost.setHeader("Authorization", "Basic bWVhc3VyZTptZWFzdXJlX3NlY3JldA==");
+            }else{
+                httpPost.setHeader("Authorization", "Basic YXJjaGl2ZXM6YXJjaGl2ZXNfc2VjcmV0");
+            }
+
             httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");
-            httpPost.setHeader("Tenant-Id", "000000");
+            httpPost.setHeader("Tenant-Id", userInfo.getTenantId());
             List<NameValuePair> params = new ArrayList<NameValuePair>();
             params.add(new BasicNameValuePair("grant_type", "password"));
             params.add(new BasicNameValuePair("username", account));