Ver Fonte

计量材料pdf

zhuwei há 1 ano atrás
pai
commit
a92d3fbbf7

+ 0 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MaterialMeterFormTask.java

@@ -11,7 +11,6 @@ import java.time.LocalDate;
 
 @Data
 @TableName("s_material_meter_form_task")
-@EqualsAndHashCode(callSuper = true)
 public class MaterialMeterFormTask extends BaseEntity {
 
     private static final long serialVersionUID = 1L;

+ 9 - 11
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/SignPfxFileServiceImpl.java

@@ -120,14 +120,8 @@ public class SignPfxFileServiceImpl extends BaseServiceImpl<SignPfxFileMapper, S
                 makeSeal.setSealName(EVisaConstant.SIGN_SEAL_NAME + user.getAccount());
                 makeSeal.setSealPassword(user.getId().toString().substring(0, EVisaConstant.USER_ID_SUB));
                 //注册印模
-                Boolean seal = this.pfxMakeSeal(makeSeal, "个人签名印章", id.toString());
-                if (seal == true){
-                    return R.data(true);
-                }else {
-                    return R.data(-1, false, "创建印模失败");
-                }
+                return this.pfxMakeSeal(makeSeal, "个人签名印章", id.toString());
             }
-
         } else {
             //企业章
             if (StringUtils.isNotEmpty(singPfx.getSignatureFileUrl()) && !"null".equals(singPfx.getSignatureFileUrl())) {
@@ -155,7 +149,7 @@ public class SignPfxFileServiceImpl extends BaseServiceImpl<SignPfxFileMapper, S
                 //签章名称
                 makeSeal.setUserName(singPfx.getCertificateUserName() + System.currentTimeMillis());
                 //注册印模
-                return R.data(this.pfxMakeSeal(makeSeal, "企业签名印章", id.toString()));
+                return this.pfxMakeSeal(makeSeal, "企业签名印章", id.toString());
             }
         }
 
@@ -165,19 +159,23 @@ public class SignPfxFileServiceImpl extends BaseServiceImpl<SignPfxFileMapper, S
     /**
      * 注册印模
      */
-    private Boolean pfxMakeSeal(MakeSealDTO makeSeal, String msg, String pfxFileId) {
+    private R pfxMakeSeal(MakeSealDTO makeSeal, String msg, String pfxFileId) {
         try {
             //调用接口创建印模
             String resultCode = this.eVisaClient.createSeal(JSONObject.parseObject(JSONObject.toJSONString(makeSeal), EVisaMakeSealVO.class));
             if (StringUtils.isNotEmpty(resultCode) && ("successfully".equals(resultCode) || "success".equals(resultCode) || "1".equals(resultCode))) {
                 logger.info("【电签模块】{}", "创建" + msg + "成功");
                 //修改状态为已注册
-                return this.update(Wrappers.<SignPfxFile>lambdaUpdate().set(SignPfxFile::getIsRegister, 1).eq(SignPfxFile::getId, pfxFileId));
+                this.update(Wrappers.<SignPfxFile>lambdaUpdate().set(SignPfxFile::getIsRegister, 1).eq(SignPfxFile::getId, pfxFileId));
+                return R.success("创建成功");
+            }else{
+                return R.fail(resultCode);
             }
         } catch (Exception e) {
             e.printStackTrace();
         }
-        return false;
+
+        return R.fail("");
     }
 
     @Override

+ 34 - 27
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -47,6 +47,7 @@ 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.MaterialStartStatementMapper;
 import org.springblade.meter.mapper.MiddleMeterApplyMapper;
 import org.springblade.meter.service.IMaterialStartStatementService;
 import org.springblade.meter.service.impl.*;
@@ -1223,8 +1224,12 @@ public class TaskController extends BladeController {
                 MaterialMeterFormTask materialMeterFormTask = materialMeterFormServiceTask.getById(dataId);
                 MaterialMeterFormTaskVO materialMeterFormTaskVO = BeanUtil.copyProperties(materialMeterFormTask, MaterialMeterFormTaskVO.class);
                 if (materialMeterFormTaskVO != null) {
-                    materialMeterFormTaskVO.setMaterialConformName(materialMeterFormTaskVO.getMaterialConform().equals(0) ? "不符合" : "符合");
-                    materialMeterFormTaskVO.setStorageConformName(materialMeterFormTaskVO.getStorageConform().equals(0) ? "不符合" : "符合");
+                    if(materialMeterFormTaskVO.getMaterialConform()!=null){
+                        materialMeterFormTaskVO.setMaterialConformName( materialMeterFormTaskVO.getMaterialConform().equals(0) ? "不符合" : "符合");
+                    }
+                    if(materialMeterFormTaskVO.getStorageConform()!=null){
+                        materialMeterFormTaskVO.setStorageConformName(materialMeterFormTaskVO.getStorageConform()==0 ? "不符合" : "符合");
+                    }
                     vo.setBasicsInfo(materialMeterFormTaskVO);
                 }
 
@@ -2048,7 +2053,30 @@ public class TaskController extends BladeController {
             /*最终审批轮次*/
             if (isCurrentUserLastApprove) {
                 //TODO 重新生成报表,执行电签(电签失败直接return或抛出异常,不修改下方状态)
-                meterPdfInfo(task);
+                Long reportId = 0L;
+                MaterialStartStatement materialS = materialStartStatementService.getBaseMapper().selectOne(Wrappers.<MaterialStartStatement>lambdaQuery().eq(MaterialStartStatement::getContractId, task.getContractId()).eq(MaterialStartStatement::getMeterPeriodId, task.getFormDataId()).eq(MaterialStartStatement::getType, 1));
+                if (materialS == null || Func.isNull(materialS)) {
+                    MeterPeriod me = periodService.getById(task.getFormDataId());
+                    MaterialStartStatement data = new MaterialStartStatement();
+                    data.setMeterPeriodId(Func.toLong(task.getFormDataId()));
+                    data.setContractId(Func.toLong(task.getContractId()));
+                    data.setMeterPeriodId(Func.toLong(task.getFormDataId()));
+                    data.setPrintDate(me.getFormPrintDate());
+                    data.setRepaymentCause("材料预付款");
+                    data.setStatementName("材料预付款--" + me.getPeriodName());
+
+                    //计量任务类型 1=中间计量申请,2=材料计量单,3=开工预付款计量单,4=变更令
+                    if(task.getMeterTaskType()==2){
+                        data.setType(1);
+                    }
+                    materialStartStatementService.addOrUpdate(data);
+                    reportId = data.getId();
+                } else {
+                    reportId = materialS.getId();
+                }
+                /**计量公式执行 0中间,1材料,2开工*/
+                meterPdfInfo(reportId+"",1);
+
                 /*复制业务数据状态>主任务状态>替换数据*/
                 updateCopyDataApproveStatus(task, dto).updateTaskStatus(task).displace(task, dto);
             }
@@ -2066,28 +2094,6 @@ public class TaskController extends BladeController {
         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;
-    }
-
     private void check(Task task) {
         String sql_2 = "SELECT * FROM u_task_parallel WHERE process_instance_id = ? ORDER BY sort";
         List<TaskParallel> taskParallels = jdbcTemplate.query(sql_2, new Object[]{task.getProcessInstanceId()}, new BeanPropertyRowMapper<>(TaskParallel.class));
@@ -2455,7 +2461,7 @@ public class TaskController extends BladeController {
     @GetMapping("/meterPdfInfoOld")
     @ApiOperationSupport(order = 20)
     @ApiOperation(value = "计量生成Pdf", notes = "计量生成Pdf")
-    public R meterPdfInfoOld(@RequestParam String ContractId, @RequestParam String FormDataId, @RequestParam Integer type) {
+    public R meterPdfInfo(@RequestParam String ContractId, @RequestParam String FormDataId, @RequestParam Integer type) {
         String file_path = CollectionUtils.getSysLocalFileUrl();
         String fileUrl = "";
         Long sid = 0l;
@@ -2465,6 +2471,7 @@ public class TaskController extends BladeController {
             MaterialStartStatement data = new MaterialStartStatement();
             data.setMeterPeriodId(Func.toLong(FormDataId));
             data.setPrintDate(me.getFormPrintDate());
+
             data.setRepaymentCause("材料预付款");
             data.setStatementName("材料预付款--" + me.getPeriodName());
             materialStartStatementService.addOrUpdate(data);
@@ -2583,7 +2590,7 @@ public class TaskController extends BladeController {
     }
 
     public R<String> calculate(String reportId, Integer type){
-        if(BaseUtils.isNumber(reportId)&&BaseUtils.isNumber(type)) {
+        if(BaseUtils.isNumber(reportId)&& BaseUtils.isNumber(type)) {
             Report report = generateReport(Long.parseLong(reportId), type);
             return R.data(generateReportsPdf(report));
         }