Преглед на файлове

Merge remote-tracking branch 'origin/master' into master

yangyj преди 2 години
родител
ревизия
a0338d30e1

+ 5 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/ArchiveFile.java

@@ -223,5 +223,9 @@ public class ArchiveFile extends BaseEntity {
 	@ApiModelProperty("删除时间")
 	private LocalDateTime delTime;
 
-
+	/**
+	 * 排序
+	 */
+	@ApiModelProperty("排序")
+	private Integer sort;
 }

+ 6 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/ArchiveFileClient.java

@@ -1,5 +1,7 @@
 package org.springblade.business.feign;
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.business.vo.ArchiveFileVO;
 import org.springblade.common.constant.BusinessConstant;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -16,6 +18,9 @@ public interface ArchiveFileClient {
      * 接口前缀
      */
     String API_PREFIX = "/api/business";
-    @PostMapping(API_PREFIX + "/savePushUserMessageWarning")
+    @PostMapping(API_PREFIX + "/saveArchiveFile")
     void saveArchiveFile(@RequestBody ArchiveFileVO vo);
+
+    @PostMapping(API_PREFIX + "/selectArchiveFilePage")
+    JSONObject selectArchiveFilePage(@RequestBody ArchiveFileVO archiveFile);
 }

+ 24 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ArchiveTreeContractClient.java

@@ -0,0 +1,24 @@
+package org.springblade.manager.feign;
+
+import org.springblade.manager.entity.ArchiveTreeContract;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX;
+
+@FeignClient(value = APPLICATION_NAME_PREFIX + "manager")
+public interface ArchiveTreeContractClient {
+
+    /**
+     * 接口前缀
+     */
+    String API_PREFIX = "/api/manager/archiveContract";
+
+    @PostMapping(API_PREFIX + "/queryAllChildByAncestors")
+    List<ArchiveTreeContract> queryAllChildByAncestors(@RequestParam String id);
+
+
+}

+ 36 - 6
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveFileController.java

@@ -2,6 +2,7 @@ package org.springblade.archive.controller;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -16,11 +17,15 @@ import org.springblade.core.boot.ctrl.BladeController;
 
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.tool.api.R;
+import org.springblade.manager.entity.ArchiveTree;
+import org.springblade.manager.entity.ArchiveTreeContract;
+import org.springblade.manager.feign.ArchiveTreeContractClient;
 import org.springblade.resource.feign.IOSSClient;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
@@ -37,6 +42,7 @@ public class ArchiveFileController extends BladeController {
 
 	private final ArchiveFileClient archiveFileClient;
     private final IOSSClient iossClient;
+    private final ArchiveTreeContractClient archiveTreeContractClient;
     /**
      * 上传文件
      *
@@ -63,14 +69,38 @@ public class ArchiveFileController extends BladeController {
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "批量新增")
     public R<Boolean> batchSave(@RequestBody ArchiveFileVO vo){
-        List<ArchiveFileVO> saveList = vo.getList();
-        if(saveList != null && saveList.size() > 0){
-            for(ArchiveFileVO saveVo : saveList){
-                saveVo.setStatus(new Integer("0").equals(saveVo.getIsApproval()) ? 2 : 0);
-                saveVo.setIsCertification(new Integer("0").equals(saveVo.getIsNeedCertification()) ? 1 : 0);
+        try {
+            List<ArchiveFileVO> saveList = vo.getList();
+            if(saveList != null && saveList.size() > 0){
+                for(ArchiveFileVO saveVo : saveList){
+                    saveVo.setStatus(new Integer("0").equals(saveVo.getIsApproval()) ? 2 : 0);
+                    saveVo.setIsCertification(new Integer("0").equals(saveVo.getIsNeedCertification()) ? 1 : 0);
+                }
             }
+            this.archiveFileClient.saveArchiveFile(vo);
+        } catch (NumberFormatException e) {
+            e.printStackTrace();
+            return R.data(false);
         }
-        archiveFileClient.saveArchiveFile(vo);
         return R.data(true);
     }
+    /**
+     * 分页
+     */
+    @PostMapping("/page")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "分页")
+    public R<Object> page(ArchiveFileVO queryVo){
+        if(queryVo.getNodeIds().isEmpty() || queryVo.getNodeIds().equals("")){
+            return  R.data(null);
+        }
+        List<ArchiveTreeContract> archiveTreeContracts = this.archiveTreeContractClient.queryAllChildByAncestors(queryVo.getNodeIds());
+        if(archiveTreeContracts != null && archiveTreeContracts.size() > 0){
+            List<String> ids = JSONArray.parseArray(JSONObject.toJSONString(archiveTreeContracts.stream().map(ArchiveTreeContract::getId).distinct().collect(Collectors.toList())), String.class);
+            ids.add(queryVo.getNodeIds());
+            queryVo.setNodeIdArray(ids);
+        }
+
+        return R.data(this.archiveFileClient.selectArchiveFilePage(queryVo));
+    }
 }

+ 27 - 22
blade-service/blade-business/src/main/java/org/springblade/business/controller/NeiYeController.java

@@ -78,7 +78,9 @@ public class NeiYeController {
             }
             //不是工序,则查询当前节点下的所有填报节点
             List<QueryProcessDataVO> queryDataResult = new ArrayList<>();
-            if(!new Integer("6").equals(node.getNodeType()) && !Arrays.asList("1,2,3,4".split(",")).contains(node.getMajorDataType().toString())){
+            //有些填报节点的MajorDataType为0
+            if(!new Integer("6").equals(node.getNodeType()) && !Arrays.asList("1,2,3,4".split(",")).contains(node.getMajorDataType().toString())
+                    && !node.getNodeName().contains("开工报告")&& !node.getNodeName().contains("质量检验评定表")){
                 //非填报节点
                 if (node.getParentId() == 0){
                     String contractI = node.getContractId();
@@ -101,32 +103,35 @@ public class NeiYeController {
             if (queryDataResult != null && queryDataResult.size() > 0) {
                 //删除掉首件
                 queryDataResult.removeIf(query -> StringUtils.isNotEmpty(query.getQueryType()) && "3".equals(query.getQueryType()));
-                //过滤Evaluate
-                queryDataResult.stream().forEach(qdr->{
-                    Integer status = qdr.getStatus();
-                    if (status == null){
-                        qdr.setStatus(0);
-                        qdr.setEvaluate("false");
-                    }else if (status.equals(2)){
-                        qdr.setEvaluate("true");
-                    }else {
-                        qdr.setEvaluate("false");
+                //设置评定值
+                queryDataResult.stream().forEach(qdr->qdr.setEvaluate("false"));
+                List<QueryProcessDataVO> vos = queryDataResult.stream().filter(qdr -> qdr.getTitle().contains("质量检验评定表"))
+                        .filter(qdr -> "2".equals(qdr.getStatus() + "")).collect(Collectors.toList());
+                if (vos != null && vos.size() > 0){
+                    //获取父节点,为所有子节点设置已评定
+                    for (QueryProcessDataVO vo : vos) {
+                        String parentId = vo.getParentId();
+                        queryDataResult.stream().forEach(qdr->{
+                            if (qdr.getAncestors().contains(parentId)){
+                                qdr.setEvaluate("true");
+                            }
+                        });
                     }
-                });
-                String isEvaluate = String.valueOf(queryVO.getIsEvaluate());
-                if (!"".equals(isEvaluate) && !"null".equals(isEvaluate) && isEvaluate != null) {
-                        queryDataResult = queryDataResult.stream()
-                                .filter(qdr->isEvaluate.equals(qdr.getEvaluate())).collect(Collectors.toList());
-                }
-                if (queryDataResult.size() <= 0){
-                    return R.data(300, null, "未查询到数据");
                 }
                 //审批状态
                 String taskStatus = queryVO.getTaskStatus();
                 if (!"".equals(taskStatus) && !"null".equals(taskStatus) && taskStatus != null) {
-                    Integer sta = Integer.valueOf(taskStatus) -1;
                     queryDataResult = queryDataResult.stream()
-                            .filter(qdr->sta.equals(qdr.getStatus())).collect(Collectors.toList());
+                            .filter(qdr->taskStatus.equals(qdr.getStatus()+"")).collect(Collectors.toList());
+                }
+                if (queryDataResult.size() <= 0){
+                    return R.data(300, null, "未查询到数据");
+                }
+                //过滤Evaluate是否评定
+                String isEvaluate = String.valueOf(queryVO.getIsEvaluate());
+                if (!"".equals(isEvaluate) && !"null".equals(isEvaluate) && isEvaluate != null) {
+                        queryDataResult = queryDataResult.stream()
+                                .filter(qdr->isEvaluate.equals(qdr.getEvaluate())).collect(Collectors.toList());
                 }
                 if (queryDataResult.size() <= 0){
                     return R.data(300, null, "未查询到数据");
@@ -157,7 +162,7 @@ public class NeiYeController {
                 if (queryDataResult.size() <= 0){
                     return R.data(300, null, "未查询到数据");
                 }
-                //上报批次
+                //上报批次  ,保存节点的时候没有上传批次,只能去流程查
                 for (QueryProcessDataVO vo : queryDataResult) {
                     if (vo.getInformationQueryId() != null && vo.getStatus() != 0){
                         List<Task> tasks = taskClient.queryTaskListByFormDataId(vo.getInformationQueryId());

+ 8 - 0
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/ArchiveFileClientImpl.java

@@ -1,5 +1,7 @@
 package org.springblade.business.feignClient;
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.springblade.business.feign.ArchiveFileClient;
 import org.springblade.business.service.IArchiveFileService;
@@ -18,4 +20,10 @@ public class ArchiveFileClientImpl implements ArchiveFileClient {
     public void saveArchiveFile(ArchiveFileVO vo) {
         this.iArchiveFileService.saveArchiveFile(vo.getList());
     }
+
+    @Override
+    public JSONObject selectArchiveFilePage(ArchiveFileVO archiveFile) {
+        IPage<ArchiveFileVO> archiveFileVOIPage = this.iArchiveFileService.selectArchiveFilePage(archiveFile);
+        return JSONObject.parseObject(JSONObject.toJSONString(archiveFileVOIPage));
+    }
 }

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveFileMapper.xml

@@ -55,7 +55,7 @@
         </foreach>
     </update>
 
-    <select id="selectArchiveFileCount" resultMap="archiveFileResultMap">
+    <select id="selectArchiveFileCount" resultType="java.lang.Integer">
         select count(id) from u_archive_file where is_deleted = 0
         <if test="vo.isApprovalValue != null and vo.isApprovalValue != ''">
             and status = #{vo.isApprovalValue}

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/InformationQueryMapper.xml

@@ -458,7 +458,7 @@
             IFNULL(if(length(trim(wtc.full_name)) > 0, wtc.full_name, wtc.node_name),wtc.node_name) AS title,
             wtc.parent_id AS parentId,
             uiq.id AS informationQueryId,
-            uiq.status,
+            IFNULL(uiq.status,0) AS status,
             uiq.type AS queryType
         FROM
             m_wbs_tree_contract AS wtc

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/MetadataClassificationMapper.xml

@@ -63,7 +63,7 @@
     </select>
 
     <select id="classificationDetail" resultMap="ResultEntityMap">
-        select * from u_metadata_classification where file_storage_type = #{type} order by create_time desc
+        select * from u_metadata_classification where locate(#{type},file_storage_type) > 0 order by create_time desc
     </select>
     <select id="selectMetadaOne" resultMap="ResultEntityMap">
         select * from u_metadata_classification where (container_name = #{containerName} or code = #{code} or field_key = #{fieldKey} )

+ 0 - 3
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/InformationQueryServiceImpl.java

@@ -123,9 +123,6 @@ public class InformationQueryServiceImpl extends BaseServiceImpl<InformationQuer
     @Override
     public List<QueryProcessDataVO> queryProcessDataByParentIdAndContractIdTwo(String parentId, Integer classify, String contractId) {
         List<QueryProcessDataVO> result = this.baseMapper.queryProcessDataByParentIdAndContractIdTwo(parentId, classify, contractId);
-        if (result == null || result.size() <= 0) {
-            result = this.baseMapper.queryProcessDataByParentIdAndContractIdTwo("", classify, contractId);
-        }
         return result;
     }
 

+ 32 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/ArchiveTreeContractImpl.java

@@ -0,0 +1,32 @@
+package org.springblade.manager.feign;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import org.springblade.manager.entity.ArchiveTreeContract;
+import org.springblade.manager.service.IArchiveTreeContractService;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+public class ArchiveTreeContractImpl implements ArchiveTreeContractClient {
+
+    private final IArchiveTreeContractService archiveTreeContractService;
+
+    @Override
+    public List<ArchiveTreeContract> queryAllChildByAncestors(String id) {
+        List<ArchiveTreeContract> archiveTreeList = this.archiveTreeContractService.list(Wrappers.<ArchiveTreeContract>lambdaQuery().like(ArchiveTreeContract::getAncestors, id));
+        if(archiveTreeList == null || archiveTreeList.size() <= 0){
+            //有可能已经是最底节点
+            archiveTreeList = new ArrayList<>();
+            ArchiveTreeContract archiveTree = this.archiveTreeContractService.getById(id);
+            if(archiveTree != null){
+                archiveTreeList.add(archiveTree);
+            }
+        }
+
+        return archiveTreeList;
+    }
+}