Pārlūkot izejas kodu

Merge branch 'dev' of http://219.151.181.73:3000/zhuwei/bladex into dev

LHB 4 mēneši atpakaļ
vecāks
revīzija
1a9255ece7

+ 4 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ExcelTabClient.java

@@ -8,6 +8,7 @@ import org.springblade.manager.entity.ExcelTab;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
 import java.util.List;
 
 import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX;
@@ -69,4 +70,7 @@ public interface ExcelTabClient {
 
     @PostMapping(API_PREFIX + "/saveReEntrustTabData")
     R saveReEntrustTabData(@RequestBody ReSigningEntrustDto dto, @RequestParam String header);
+
+    @GetMapping(API_PREFIX + "/pre-buss-pdfs")
+    R getPdfS(@RequestParam String nodeId, @RequestParam String classify, @RequestParam String contractId) throws IOException;
 }

+ 5 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ExcelTabClientFallBack.java

@@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Component;
 
+import java.io.IOException;
 import java.util.List;
 
 @Component
@@ -68,4 +69,8 @@ public class ExcelTabClientFallBack implements ExcelTabClient {
         return null;
     }
 
+    @Override
+    public R getPdfS(String nodeId, String classify, String contractId) throws IOException {
+        return null;
+    }
 }

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MeterInventoryVO.java

@@ -82,6 +82,9 @@ public class MeterInventoryVO {
     @ApiModelProperty(value = "合同计量单元实际变更后施工图数量")
     private BigDecimal currentBuildChangeTotal;
 
+    @ApiModelProperty(value = "已分解量 = 其他节点分解量+变更后施工图数量")
+    private BigDecimal poseNum;
+
     @ApiModelProperty(value = "排序")
     private Integer sort;
 

+ 11 - 5
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -145,6 +145,8 @@ public class InformationWriteQueryController extends BladeController {
 
     private final WbsParamClient wbsParamClient;
 
+    private final ExcelTabClient excelTabClient;
+
     @Autowired
     StringRedisTemplate RedisTemplate;
 
@@ -1378,9 +1380,8 @@ public R<Object> batchTask(@RequestBody StartTaskVO startTaskVO) {
                 ids = queryList.stream().map(InformationQuery::getId).map(String::valueOf).toArray(String[]::new);
             }
 
-            Map<String, String> queryMap = new HashMap<>();
-            queryList.forEach(query -> queryMap.put(query.getId().toString(), query.getName()));
-
+            Map<String, InformationQuery> queryMap = new HashMap<>();
+            queryList.forEach(query -> queryMap.put(query.getId().toString(), query));
             boolean var = false;
 
             try {
@@ -1404,8 +1405,8 @@ public R<Object> batchTask(@RequestBody StartTaskVO startTaskVO) {
                         taskVO.setFixedFlowId(startTaskVO.getFixedFlowId());
                     }
                     //设置任务名称
-                    if (StringUtils.isNotEmpty(queryMap.get(id))) {
-                        taskVO.setTaskName(queryMap.get(id));
+                    if (StringUtils.isNotEmpty(queryMap.get(id).toString())) {
+                        taskVO.setTaskName(queryMap.get(id).getName());
                     }
                     //设置数据源指向
                     taskVO.setFormDataId(id);
@@ -1453,6 +1454,7 @@ public R<Object> batchTask(@RequestBody StartTaskVO startTaskVO) {
                             jdbcTemplate.execute(sql);
                         }
                         var = true;
+                        getPdfs(queryMap.get(id));
                     } else {
                         return R.fail("创建主流程失败");
                     }
@@ -4493,5 +4495,9 @@ public R<Object> customAddContractNode(@RequestBody CustomAddContractNodeDTO dto
     return R.fail("未获取到当前选择节点信息");
 }
 
+    @Async
+    private R getPdfs(InformationQuery query) throws IOException{
+        return excelTabClient.getPdfS(query.getWbsId() + "", query.getClassify() + "", query.getContractId() + "");
+    }
 
 }

+ 11 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -1784,7 +1784,17 @@ public class ExcelTabController extends BladeController {
         return R.data("成功");
     }
 
-
+    /**
+     * nodeId: 1784047822018969646
+     * classify: 2
+     * projectId: 1750070685257990145
+     * contractId: 1750755552044064769
+     * @param nodeId
+     * @param classify
+     * @param contractId
+     * @return
+     * @throws IOException
+     */
     @GetMapping("/get-buss-pdfs")
     @ApiOperationSupport(order = 21)
     @ApiOperation(value = "多表预览", notes = "多表预览")

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

@@ -48,6 +48,7 @@ import javax.imageio.ImageIO;
 import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.File;
+import java.io.IOException;
 import java.io.InputStream;
 import java.text.SimpleDateFormat;
 import java.util.List;
@@ -471,6 +472,11 @@ public class ExcelTabClientImpl implements ExcelTabClient {
         return  entrustInfoServiceClient.saventrustData(jsonObject);
     }
 
+    @Override
+    public R getPdfS(String nodeId, String classify, String contractId) throws IOException {
+        return excelTabController.getPdfS(nodeId, classify, contractId);
+    }
+
     private String getHtmlString(String pkeyId) throws Exception {
         WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
                 .select(WbsTreePrivate::getHtmlUrl)

+ 2 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MiddleMeterApplyMapper.xml

@@ -63,6 +63,8 @@
                 and contract_meter_id = #{nodeId} and contract_form_id = cif.id) as upPayMoney,
                IFNULL((select sum(change_build_picture_total) from s_inventory_form_meter where is_deleted = 0
                     and contract_meter_id = #{nodeId} and contract_form_id = cif.id),0) as change_total,
+               IFNULL((SELECT SUM(change_build_picture_total) from s_inventory_form_meter
+               WHERE contract_id = #{contractId} and is_deleted = 0 and contract_form_id = cif.id),0)  as poseNum,
                IFNULL((select sum(build_picture_total) from s_inventory_form_meter where is_deleted = 0
                             and contract_meter_id = #{nodeId} and contract_form_id = cif.id),0) as resolveTotal,
                0 as currentMeterTotal,0 as containChangeTotal,0 as currentMeterMoney,

+ 11 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MiddleMeterApplyServiceImpl.java

@@ -184,10 +184,21 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
             vo.setOtherPayRatio(vo.getOtherMeterTotal().divide(vo.getChangeTotal(), 4, RoundingMode.DOWN).multiply(new BigDecimal(100)).setScale(2));
             //设置施工图数量是否大于合同数量
             vo.setIsBuildThanContract(vo.getChangeTotal().compareTo(vo.getContractChangeAllTotal()) == 1 ? 1 : 0);
+            //设置累计计量量是否超了
+            if(safeSubtract(vo.getContractChangeAllTotal(),vo.getPoseNum()).compareTo(BigDecimal.ZERO)<0){
+                vo.setIsBuildThanContract(1);
+            }
+
         }
         return vos;
     }
 
+    public static BigDecimal safeSubtract(BigDecimal a, BigDecimal b) {
+        // Treat null as zero for both parameters
+        BigDecimal num1 = (a != null) ? a : BigDecimal.ZERO;
+        BigDecimal num2 = (b != null) ? b : BigDecimal.ZERO;
+        return num1.subtract(num2);
+    }
     /**
      * 新增 中间计量申请表
      */