Browse Source

中期计量bug修改

zhuwei 1 year ago
parent
commit
3704705bc4

+ 4 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ReportResult.java

@@ -25,6 +25,10 @@ public class ReportResult {
     private Long excelId;
     /**表名*/
     private String name;
+
+    /**表名主键Id*/
+    private Long pkeyId;
+
     /**pdf本地路径*/
     private String pdfPath;
     /**pdf的oss路径*/

+ 0 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -2499,13 +2499,10 @@ public class ExcelTabController extends BladeController {
                                         x1 = 1;
                                     }
                                     int y1 = Integer.parseInt(data.children().get(0).attr("y1"));
-
                                     final CellRange cellRange = sheet.getCellRange(y1, x1);
-
                                     cellRange.setText(e.getId() + "");
                                     cellRange.getCellStyle().getFont().setColor(Color.white);
                                 }
-
                             }
                         });
                     }
@@ -2513,11 +2510,8 @@ public class ExcelTabController extends BladeController {
                     Long fileName = SnowFlakeUtil.getId();
                     String onePdfPath = file_path + "/pdf//" + fileName + ".pdf";
                     sheet.saveToPdf(onePdfPath);
-
                     BladeFile bladeFile = this.newIOSSClient.uploadFile(fileName + ".pdf", onePdfPath);
-
                     pdfUrls.add(bladeFile.getLink());
-
                     wb.dispose();
                 }
             }

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

@@ -470,6 +470,7 @@ public class TableElementConverter implements ITableElementConverter {
                    rt.setInitTableName(report.getInitTableName());
                    rt.setName(report.getNodeName());
                    rt.setExcelId(report.getExcelId());
+                   rt.setPkeyId(report.getPKeyId()); //返回表单的主表Id
                    reportResults.add(rt);
                    List<FormData> fds =group.get(report.getInitTableName());
                    if(fds.size()>0){

+ 22 - 14
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -22,12 +22,15 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.time.DateUtils;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.jsoup.Jsoup;
+import org.jsoup.select.Elements;
 import org.springblade.business.entity.FixedFlow;
 import org.springblade.business.entity.FixedFlowLink;
 import org.springblade.business.entity.Task;
 import org.springblade.business.entity.TaskParallel;
 import org.springblade.business.feign.TaskClient;
 import org.springblade.common.constant.ClientIdConstant;
+import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.utils.BaseUtils;
 import org.springblade.common.utils.CommonUtil;
 import org.springblade.common.utils.SnowFlakeUtil;
@@ -44,6 +47,7 @@ import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.feign.ArchiveFileTaskClient;
 import org.springblade.manager.entity.ContractInfo;
 import org.springblade.manager.entity.ContractRelationJlyz;
+import org.springblade.manager.entity.TextdictInfo;
 import org.springblade.manager.feign.FormulaClient;
 import org.springblade.manager.vo.ReportResult;
 import org.springblade.meter.dto.*;
@@ -56,6 +60,7 @@ import org.springblade.meter.utils.CollectionUtils;
 import org.springblade.meter.vo.*;
 import org.springblade.producer.bean.PushMessage;
 import org.springblade.resource.feign.NewIOSSClient;
+import org.springblade.system.cache.ParamCache;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
@@ -566,6 +571,7 @@ public class TaskController extends BladeController {
         taskClient.saveTask(task);
 
         /*副任务*/
+
         /*1.非预设流程*/
         if (sortedMap == null) {
             Map<Long, String> nameMap = jdbcTemplate.query("select id,name from blade_user where is_deleted = 0"
@@ -599,8 +605,8 @@ public class TaskController extends BladeController {
             }
 
         } else {
-
             /*2.预设流程*/
+            int sort = 1;
             Set<Integer> sortList = new HashSet<>();
             for (Map.Entry<String, List<FixedFlowLink>> stringListEntry : sortedMap.entrySet()) {
                 int maxSort;
@@ -663,8 +669,7 @@ public class TaskController extends BladeController {
                         taskParallel.setStatus(1);
                         taskParallel.setIsDeleted(0);
 
-                        sortList.add(maxSort);
-                        taskParallel.setSort(maxSort);
+                        taskParallel.setSort(sort); //sort固定
 
                         taskClient.saveTaskParallel(taskParallel);
 
@@ -2195,13 +2200,12 @@ public class TaskController extends BladeController {
 
             /*单条业务数据状态*/
             updateCopyDataStatus(task, dto);
-
+            String reportId = null;
             /*最终审批轮次*/
             if (isCurrentUserLastApprove) {
                 //TODO 重新生成报表,执行电签(电签失败直接return或抛出异常,不修改下方状态)
-                Long reportId = 0L;
-                if (task.getMeterTaskType() == 3 || task.getMeterTaskType() == 2) { //2材料,3开工
-                    MaterialStartStatement materialS = materialStartStatementService.getBaseMapper().selectOne(Wrappers.<MaterialStartStatement>lambdaQuery().eq(MaterialStartStatement::getContractId, task.getContractId()).eq(MaterialStartStatement::getMeterPeriodId, task.getFormDataId()).eq(MaterialStartStatement::getType, task.getMeterTaskType() - 1));
+                if(task.getMeterTaskType()==3 || task.getMeterTaskType()==2){ //2材料,3开工
+                    MaterialStartStatement materialS = materialStartStatementService.getBaseMapper().selectOne(Wrappers.<MaterialStartStatement>lambdaQuery().eq(MaterialStartStatement::getContractId, task.getContractId()).eq(MaterialStartStatement::getMeterPeriodId, task.getFormDataId()).eq(MaterialStartStatement::getType, task.getMeterTaskType()-1));
                     if (materialS == null || Func.isNull(materialS)) {
                         MeterPeriod me = periodService.getById(task.getFormDataId());
                         MaterialStartStatement data = new MaterialStartStatement();
@@ -2209,7 +2213,7 @@ public class TaskController extends BladeController {
                         data.setContractId(Func.toLong(task.getContractId()));
                         data.setMeterPeriodId(Func.toLong(task.getFormDataId()));
                         data.setPrintDate(me.getFormPrintDate());
-                        if (task.getMeterTaskType() == 2) {
+                        if(task.getMeterTaskType()==2){
                             data.setRepaymentCause("材料预付款");
                             data.setStatementName("材料预付款--" + me.getPeriodName());
                             data.setType(1);
@@ -2221,9 +2225,9 @@ public class TaskController extends BladeController {
                             data.setType(2);
                         }
                         materialStartStatementService.saveOrUpdate(data);
-                        reportId = data.getId();
+                        reportId = data.getId()+"";
                     } else {
-                        reportId = materialS.getId();
+                        reportId = materialS.getId()+"";
                     }
                 } else if (task.getMeterTaskType() == 1) { // 1中间
                     InterimPayCertificate inData = interimPayCertificateService.getBaseMapper().selectOne(Wrappers.<InterimPayCertificate>lambdaQuery().eq(InterimPayCertificate::getContractId, task.getContractId()).eq(InterimPayCertificate::getContractPeriodId, task.getFormDataId()));
@@ -2237,13 +2241,11 @@ public class TaskController extends BladeController {
                         inData2.setPeriodNumber(me.getPeriodNumber());
                         inData2.setPrintDate(me.getFormPrintDate());
                         interimPayCertificateService.save(inData2);
-                        reportId = inData2.getId();
+                        reportId = inData2.getId()+"";
                     }
-                    reportId = inData.getId();
+                    reportId = inData.getId()+"";
                 }
                 /**计量公式执行 0中间,1材料,2开工*/
-                meterPdfInfo(reportId + "", 1);
-
                 /*复制业务数据状态>主任务状态>替换数据*/
                 updateCopyDataApproveStatus(task, dto).updateTaskStatus(task).displace(task, dto);
             }
@@ -2256,6 +2258,11 @@ public class TaskController extends BladeController {
                 String param = taskParallel.getTaskUser() + "," + task.getProjectId() + "," + task.getContractId();
                 aopParamsSet.add(param);
             }
+            //
+            if(reportId!=null && StringUtils.isNotEmpty(reportId) && (task.getMeterTaskType()==3 ||task.getMeterTaskType()==1 || task.getMeterTaskType()==2)){
+                meterPdfInfo(reportId + "", task.getMeterTaskType()-1);
+            }
+
             return R.data(200, aopParamsSet, "操作成功");
         }
         return R.fail("操作失败");
@@ -2314,6 +2321,7 @@ public class TaskController extends BladeController {
                 isCurrentUserLastApprover = true;
             }
         }
+
         return isCurrentUserLastApprover;
     }