Browse Source

上传文件接口增加返回信息

qianxb 10 months ago
parent
commit
712faea4cf

+ 12 - 0
blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/vo/NewBladeFile.java

@@ -1,7 +1,10 @@
 package org.springblade.resource.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.time.LocalDateTime;
+
 @Data
 public class NewBladeFile {
     private String link;
@@ -13,4 +16,13 @@ public class NewBladeFile {
     private Integer page;
     private Long fileSize;
     private Long fileType;
+    @ApiModelProperty(value = "附件大小带符号")
+    private String fileSizeName;
+
+    @ApiModelProperty(value = "附件后缀")
+    private String fileSuffix;
+
+    @ApiModelProperty(value = "附件上传时间")
+    private LocalDateTime fileDate;
+
 }

+ 28 - 0
blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java

@@ -43,6 +43,9 @@ import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.text.DecimalFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.Objects;
 
 /**
@@ -227,6 +230,9 @@ public class OssEndpoint {
 
         BeanUtils.copyProperties(bladeFile, newBladeFile);
         newBladeFile.setFileSize(file.getSize() / 1024);
+        newBladeFile.setFileSizeName(formatSize(file.getSize()));
+        newBladeFile.setFileDate(LocalDateTime.now());
+        newBladeFile.setFileSuffix(bladeFile.getOriginalName().substring(bladeFile.getOriginalName().lastIndexOf(".")+1));
 
         //入库
         String fileExtension = FileUtil.getFileExtension(bladeFile.getOriginalName());
@@ -374,4 +380,26 @@ public class OssEndpoint {
         return R.success("操作成功");
     }
 
+    /**
+     * 根据字节返回文件大小
+     */
+    private String formatSize(long fileS) {
+        DecimalFormat df = new DecimalFormat("#.00");
+        String fileSizeString = "";
+        String wrongSize = "0B";
+        if (fileS == 0) {
+            return wrongSize;
+        }
+        if (fileS < 1024) {
+            fileSizeString = df.format((double) fileS) + "B";
+        } else if (fileS < 1048576) {
+            fileSizeString = df.format((double) fileS / 1024) + "KB";
+        } else if (fileS < 1073741824) {
+            fileSizeString = df.format((double) fileS / 1048576) + "MB";
+        } else {
+            fileSizeString = df.format((double) fileS / 1073741824) + "GB";
+        }
+        return fileSizeString;
+    }
+
 }

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/dto/MaterialListDTO.java

@@ -1,6 +1,7 @@
 package org.springblade.meter.dto;
 
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import javax.validation.constraints.NotNull;
 
@@ -9,11 +10,13 @@ import javax.validation.constraints.NotNull;
  * @Author wangwl
  * @Date 2024/4/22 15:15
  **/
+@Data
 public class MaterialListDTO {
 
     @ApiModelProperty(value = "合同段id")
     @NotNull(message = "未获取到合同段id!")
     private Long contractId;
+
     @ApiModelProperty(value = "材料编号")
     private String materialNumber;
 

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

@@ -69,5 +69,8 @@ public class FormTreeVO2 implements INode<FormTreeVO2> {
     @ApiModelProperty(value = "是否允许材料调差0否1是")
     private Integer isAdjust;
 
+    @ApiModelProperty(value = "是否被引用0否1是,被引用后不允许取消")
+    private Integer isQuote;
+
 
 }

+ 21 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/GetAdjustFormTreeVO.java

@@ -0,0 +1,21 @@
+package org.springblade.meter.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2024/4/23 15:49
+ **/
+@Data
+public class GetAdjustFormTreeVO {
+
+    @ApiModelProperty(value = "已经关联的节点id")
+    private List<Long> ids;
+
+    @ApiModelProperty(value = "材料编号")
+    private List<FormTreeVO2> vo2s;
+}

+ 4 - 4
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/ContractMaterialController.java

@@ -138,7 +138,7 @@ public class ContractMaterialController extends BladeController {
 	@PostMapping("/get-all-material2")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "调差系数-获取材料列表不分页", notes = "传入合同id,搜索条件")
-	public R<List<ContractMaterialVO4>> getAllMaterial2(@Valid @RequestBody MaterialListDTO dto) {
+	public R<List<ContractMaterialVO4>> getAllMaterial2(@RequestBody MaterialListDTO dto) {
 		List<ContractMaterialVO4> list = contractMaterialService.getAllMaterial2(dto);
 		return R.data(list);
 	}
@@ -146,9 +146,9 @@ public class ContractMaterialController extends BladeController {
 	@GetMapping("/get-adjust-form-tree")
 	@ApiOperationSupport(order = 9)
 	@ApiOperation(value = "调差系数-绑定清单-获取清单树", notes = "传入合同id,材料id")
-	public R<List<FormTreeVO2>> getAdjustFormTree(Long contractId,Long materialId) {
-		List<FormTreeVO2> list = contractMaterialService.getAdjustFormTree(contractId,materialId);
-		return R.data(list);
+	public R<GetAdjustFormTreeVO> getAdjustFormTree(Long contractId,Long materialId) {
+		GetAdjustFormTreeVO vo = contractMaterialService.getAdjustFormTree(contractId,materialId);
+		return R.data(vo);
 	}
 
 	@PostMapping("/material-link-form")

+ 1 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/ContractInventoryFormMapper.xml

@@ -174,7 +174,7 @@
         order by -sort desc,create_time
     </select>
     <select id="getAllForm2" resultType="org.springblade.meter.vo.FormTreeVO2">
-        select id ,parent_id,form_name,is_form_node,is_adjust,0 as isSelect
+        select id ,parent_id,form_name,is_form_node,is_adjust,0 as isSelect,0 as isQuote
         from s_contract_inventory_form scif where contract_id = #{contractId} and is_deleted = 0
         order by -sort desc,create_time
     </select>

+ 1 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/ContractMaterialMapper.xml

@@ -46,7 +46,7 @@
     </select>
     <select id="getALLMaterial3" resultType="org.springblade.meter.vo.ContractMaterialVO4">
         select id,material_number,material_name,unit,price
-        from s_contract_material where is_deleted = 0 and contract_id = #{contractId}
+        from s_contract_material where is_deleted = 0 and contract_id = #{dto.contractId}
         <if test="dto.materialNumber != null and dto.materialNumber != ''">
             and u.material_number like concat('%',#{dto.materialNumber},'%')
         </if>

+ 1 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/service/IContractInventoryFormService.java

@@ -64,5 +64,5 @@ public interface IContractInventoryFormService extends BaseService<ContractInven
     List<String> getAllFormNumberBySort(Long contractId);
 
     //材料调差-获取允许调差清单树,并且回显已经选择的
-    List<FormTreeVO2> getAdjustFormTree(Long contractId, Long materialId);
+    GetAdjustFormTreeVO getAdjustFormTree(Long contractId, Long materialId);
 }

+ 1 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/service/IContractMaterialService.java

@@ -51,7 +51,7 @@ public interface IContractMaterialService extends BaseService<ContractMaterial>
 
     List<ContractMaterialVO4> getAllMaterial2(MaterialListDTO dto);
 
-    List<FormTreeVO2> getAdjustFormTree(Long contractId, Long materialId);
+    GetAdjustFormTreeVO getAdjustFormTree(Long contractId, Long materialId);
 
     void materialLinkForm(MaterialLinkFormDTO dto);
 

+ 7 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/ContractInventoryFormServiceImpl.java

@@ -652,7 +652,8 @@ public class ContractInventoryFormServiceImpl extends BaseServiceImpl<ContractIn
     }
 
     @Override
-    public List<FormTreeVO2> getAdjustFormTree(Long contractId, Long materialId) {
+    public GetAdjustFormTreeVO getAdjustFormTree(Long contractId, Long materialId) {
+        GetAdjustFormTreeVO vo = new GetAdjustFormTreeVO();
         //获取已经关联的节点
         List<InventoryFormMaterial> formMaterials = formMaterialService.list(new LambdaQueryWrapper<InventoryFormMaterial>()
                 .eq(InventoryFormMaterial::getContractId, contractId)
@@ -661,6 +662,7 @@ public class ContractInventoryFormServiceImpl extends BaseServiceImpl<ContractIn
         //获取所有清单节点
         List<FormTreeVO2> vo2s = baseMapper.getAllForm2(contractId);
         List<FormTreeVO2> list = new ArrayList<>();
+        List<Long> ids = new ArrayList<>();
         //循环清单节点,把最底层节点不允许调差的删除,并且标识已关联的节点
         for (FormTreeVO2 vo2 : vo2s) {
             if (vo2.getIsFormNode() == 1){
@@ -669,6 +671,7 @@ public class ContractInventoryFormServiceImpl extends BaseServiceImpl<ContractIn
                     if(decimal != null) {
                         vo2.setAdjustFactor(decimal);
                         vo2.setIsSelect(1);
+                        ids.add(vo2.getId());
                     }
                     list.add(vo2);
                 }
@@ -678,7 +681,9 @@ public class ContractInventoryFormServiceImpl extends BaseServiceImpl<ContractIn
         }
         //转换为树
         list = ForestNodeMerger.merge(list);
-        return list;
+        vo.setVo2s(list);
+        vo.setIds(ids);
+        return vo;
     }
 
     /**

+ 1 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/ContractMaterialServiceImpl.java

@@ -200,7 +200,7 @@ public class ContractMaterialServiceImpl extends BaseServiceImpl<ContractMateria
     }
 
     @Override
-    public List<FormTreeVO2> getAdjustFormTree(Long contractId, Long materialId) {
+    public GetAdjustFormTreeVO getAdjustFormTree(Long contractId, Long materialId) {
         return formService.getAdjustFormTree(contractId,materialId);
     }