Kaynağa Gözat

公有、私有wbs树节点排序相关

liuyc 3 yıl önce
ebeveyn
işleme
7a1f2bb9b4

+ 31 - 7
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ContractInfo.java

@@ -63,12 +63,12 @@ public class ContractInfo extends BaseEntity {
     /**
      * 业主单位名称
      */
-    @ApiModelProperty(value = "业主单位名称")
+    @ApiModelProperty(value = "业主单位名称-建设方")
     private String contractorUnitName;
     /**
      * 施工单位名称
      */
-    @ApiModelProperty(value = "施工单位名称")
+    @ApiModelProperty(value = "施工单位名称-承包方")
     private String constructionUnitName;
     /**
      * 监理单位名称
@@ -134,32 +134,56 @@ public class ContractInfo extends BaseEntity {
     /**
      * 立卷人
      */
-    @ApiModelProperty(value = "filer")
+    @ApiModelProperty(value = "立卷人")
     private String filer;
 
     /**
      * 审核人
      */
-    @ApiModelProperty(value = "reviewer")
+    @ApiModelProperty(value = "审核人")
     private String reviewer;
 
     /**
      * 档案前缀
      */
-    @ApiModelProperty(value = "prefix")
+    @ApiModelProperty(value = "档案前缀")
     private String prefix;
 
     /**
      * 保管期限
      */
-    @ApiModelProperty(value = "storagePeriod")
+    @ApiModelProperty(value = "保管期限")
     private Integer storagePeriod;
 
     /**
      * 保管密级
      */
-    @ApiModelProperty(value = "securityLevel")
+    @ApiModelProperty(value = "保管密级")
     private Integer securityLevel;
 
+    /**
+     * 是否开启电签 '0'否 '1'是
+     */
+    @ApiModelProperty(value = "是否开启电签 '0'否 '1'是")
+    private Integer isElectronicSignature;
+
+    /**
+     * 是否开启试验模块 '0'否 '1'是
+     */
+    @ApiModelProperty(value = "是否开启试验模块 '0'否 '1'是")
+    private Integer isTestModule;
+
+    /**
+     * 是否引用编号 '0'否 '1'是
+     */
+    @ApiModelProperty(value = "是否引用编号 '0'否 '1'是")
+    private Integer isReferenceNumber;
+
+    /**
+     * 是否开启复制数据 '0'否 '1'是
+     */
+    @ApiModelProperty(value = "是否开启复制数据 '0'否 '1'是")
+    private Integer isCopyData;
+
 
 }

+ 2 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ProjectInfoController.java

@@ -255,8 +255,8 @@ public class ProjectInfoController extends BladeController {
     @GetMapping("/findProjectAndContractList")
     @ApiOperationSupport(order = 12)
     @ApiOperation(value = "根据用户id查询项目合同岗位列表信息", notes = "传入用户id")
-    public R<List<SaveUserInfoByProjectVO2>> findProjectAndContractList(Long userId) {
-        List<SaveUserInfoByProjectVO2> result = wbsTreeService.findProjectAndContractList(userId);
+    public R<List<Map>> findProjectAndContractList(Long userId) {
+        List<Map> result = wbsTreeService.findProjectAndContractList(userId);
         return R.data(result);
     }
 }

+ 2 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/excel/WbsExcelUtil.java

@@ -16,7 +16,7 @@ import java.util.*;
 
 public class WbsExcelUtil {
     /*public static void main(String[] args) throws IOException {
-        WbsExcelUtil excelUtil = new WbsExcelUtil();
+        *//*WbsExcelUtil excelUtil = new WbsExcelUtil();
         //读取excel数据
         int sum = 0;
         ArrayList<Map<String, String>> result = excelUtil.readExcelToObj("D:\\Download\\特大斜拉桥、特大悬索桥.xls");
@@ -24,7 +24,7 @@ public class WbsExcelUtil {
             System.out.println("输出:" + map);
             sum++;
         }
-        System.out.println("sum" + sum);
+        System.out.println("sum" + sum);*//*
     }*/
 
 

+ 5 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ContractInfoMapper.xml

@@ -38,9 +38,12 @@
         <result column="prefix" property="prefix"/>
         <result column="security_level" property="securityLevel"/>
         <result column="storage_period" property="storagePeriod"/>
-
+        <result column="is_electronic_signature" property="isElectronicSignature"/>
+        <result column="is_test_module" property="isTestModule"/>
+        <result column="is_reference_number" property="isReferenceNumber"/>
+        <result column="is_copy_data" property="isCopyData"/>
     </resultMap>
-    <!-- 通用查询映射结果 -->
+
     <resultMap id="contractInfoResultMap1" type="org.springblade.manager.vo.ContractlnfoCountVO">
         <result column="contract_name" property="contractName"/>
         <result column="contract_counts" property="contractCounts"/>
@@ -69,7 +72,6 @@
         </collection>
     </resultMap>
 
-
     <select id="selectContractByProjectIds" resultMap="contractInfoResultMap">
         select id, p_id, contract_name, contract_number from m_contract_info where is_deleted = 0 and p_id in
         <foreach collection="ids" item="pId" open="(" separator="," close=")">
@@ -146,7 +148,6 @@
         </if>
     </select>
 
-
     <select id="findUserInfoByCondition" resultType="org.springblade.system.user.entity.User">
         SELECT `name`,`account`,`password` FROM blade_user
         WHERE is_deleted = 0 AND `status` = 1

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -370,7 +370,7 @@
     </select>
 
     <select id="selectNodeListByCondition" resultType="org.springblade.manager.dto.WbsTreePrivateDTO2">
-        SELECT p_key_id as "pKeyId",dept_name AS "deptName",sort
+        SELECT p_key_id as "pKeyId",dept_name AS "tableName",sort
         FROM m_wbs_tree_private
         WHERE project_id = #{projectId}
         AND parent_id = #{parentId}

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeService.java

@@ -104,7 +104,7 @@ public interface IWbsTreeService extends BaseService<WbsTree> {
 
     List<WbsTree> findByWbsTreeNode(String ids);
 
-    List<SaveUserInfoByProjectVO2> findProjectAndContractList(Long userId);
+    List<Map> findProjectAndContractList(Long userId);
 
     List<WbsTreeDTO2> findWbsTreeSameLevel(String parentId);
 

+ 23 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -13,6 +13,7 @@ import org.springblade.manager.dto.WbsTreePrivateDTO2;
 import org.springblade.manager.dto.WbsTreePrivateDTO3;
 import org.springblade.manager.entity.ContractInfo;
 import org.springblade.manager.entity.WbsInfo;
+import org.springblade.manager.entity.WbsTree;
 import org.springblade.manager.entity.WbsTreePrivate;
 
 import org.springblade.manager.mapper.ContractInfoMapper;
@@ -26,7 +27,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 服务实现类
@@ -70,8 +73,28 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
                 String ancestors = parent.getAncestors() + "," + wbsTreePrivate.getParentId();
                 wbsTreePrivate.setAncestors(ancestors);
             }
+
+            //初始化排序sort
+            List<WbsTreePrivate> trees = baseMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
+                    .eq(WbsTreePrivate::getProjectId, wbsTreePrivate.getProjectId())
+                    .eq(WbsTreePrivate::getParentId, wbsTreePrivate.getParentId())
+                    .eq(WbsTreePrivate::getWbsId, wbsTreePrivate.getWbsId())
+                    .eq(WbsTreePrivate::getType, 1)
+            );
+            //判空
+            List<WbsTreePrivate> collect = trees.stream().filter(f -> {
+                if (f.getSort() == null) {
+                    f.setSort(0);
+                }
+                return true;
+            }).collect(Collectors.toList());
+            //获取最大Sort
+            Integer sortMax = collect.stream().max(Comparator.comparingInt(WbsTreePrivate::getSort)).get().getSort();
+            wbsTreePrivate.setSort(sortMax + 1);
+
             //新增
             int row = baseMapper.insert(wbsTreePrivate);
+
             if (row > 0) {
                 //获取当前项目下所有合同段id
                 QueryWrapper<ContractInfo> queryWrapper = new QueryWrapper<>();

+ 55 - 40
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -98,58 +98,76 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     }
 
     @Override
-    public boolean submit(WbsTree dept) {
-        if (Func.isEmpty(dept.getParentId())) {
-            dept.setTenantId(AuthUtil.getTenantId());
-            dept.setParentId(BladeConstant.TOP_PARENT_ID);
-            dept.setAncestors(String.valueOf(BladeConstant.TOP_PARENT_ID));
+    public boolean submit(WbsTree wbsTree) {
+        if (Func.isEmpty(wbsTree.getParentId())) {
+            wbsTree.setTenantId(AuthUtil.getTenantId());
+            wbsTree.setParentId(BladeConstant.TOP_PARENT_ID);
+            wbsTree.setAncestors(String.valueOf(BladeConstant.TOP_PARENT_ID));
         }
-        if (dept.getParentId() > 0) {
-            WbsTree parent = getById(dept.getParentId());
-            if (Func.toLong(dept.getParentId()) == Func.toLong(dept.getId())) {
+        if (wbsTree.getParentId() > 0) {
+            WbsTree parent = getById(wbsTree.getParentId());
+            if (Func.toLong(wbsTree.getParentId()) == Func.toLong(wbsTree.getId())) {
                 throw new ServiceException("父节点不可选择自身!");
             }
-            dept.setTenantId(parent.getTenantId());
-            String ancestors = parent.getAncestors() + StringPool.COMMA + dept.getParentId();
-            dept.setAncestors(ancestors);
+            wbsTree.setTenantId(parent.getTenantId());
+            String ancestors = parent.getAncestors() + StringPool.COMMA + wbsTree.getParentId();
+            wbsTree.setAncestors(ancestors);
+        }
+        if (wbsTree.getMajorDataType() == null) {
+            wbsTree.setMajorDataType(0);
         }
-        if (dept.getMajorDataType() == null) {
-            dept.setMajorDataType(0);
+        wbsTree.setStatus(1);
+        wbsTree.setIsDeleted(BladeConstant.DB_NOT_DELETED);
+        //新增节点默认排序
+        //获取当前同级节点List
+        if (wbsTree.getId() == null) {
+            List<WbsTree> trees = baseMapper.selectList(Wrappers.<WbsTree>query().lambda()
+                    .eq(WbsTree::getParentId, wbsTree.getParentId())
+                    .eq(WbsTree::getType, 1)
+            );
+            //判空
+            List<WbsTree> collect = trees.stream().filter(f -> {
+                if (f.getSort() == null) {
+                    f.setSort(0);
+                }
+                return true;
+            }).collect(Collectors.toList());
+            //获取最大Sort
+            Integer sortMax = collect.stream().max(Comparator.comparingInt(WbsTree::getSort)).get().getSort();
+            wbsTree.setSort(sortMax + 1);
         }
-        dept.setStatus(1);
-        dept.setIsDeleted(BladeConstant.DB_NOT_DELETED);
-        return saveOrUpdate(dept);
+        return saveOrUpdate(wbsTree);
     }
 
-    public boolean submit2(FormElementDTO dept) {
-        if (Func.isEmpty(dept.getParentId())) {
-            dept.setTenantId(AuthUtil.getTenantId());
-            dept.setParentId(BladeConstant.TOP_PARENT_ID);
-            dept.setAncestors(String.valueOf(BladeConstant.TOP_PARENT_ID));
+    public boolean submit2(FormElementDTO fd) {
+        if (Func.isEmpty(fd.getParentId())) {
+            fd.setTenantId(AuthUtil.getTenantId());
+            fd.setParentId(BladeConstant.TOP_PARENT_ID);
+            fd.setAncestors(String.valueOf(BladeConstant.TOP_PARENT_ID));
         }
-        if (dept.getParentId() > 0) {
-            WbsTree parent = getById(dept.getParentId());
-            if (Func.toLong(dept.getParentId()) == Func.toLong(dept.getId())) {
+        if (fd.getParentId() > 0) {
+            WbsTree parent = getById(fd.getParentId());
+            if (Func.toLong(fd.getParentId()) == Func.toLong(fd.getId())) {
                 throw new ServiceException("父节点不可选择自身!");
             }
-            dept.setTenantId(parent.getTenantId());
-            String ancestors = parent.getAncestors() + StringPool.COMMA + dept.getParentId();
-            dept.setAncestors(ancestors);
+            fd.setTenantId(parent.getTenantId());
+            String ancestors = parent.getAncestors() + StringPool.COMMA + fd.getParentId();
+            fd.setAncestors(ancestors);
             //设置表示该父节点下存在表单
             baseMapper.updateIsExistFormById(parent.getId());
         }
         //设置类型默认值为 '2' 表单
-        dept.setType(2);
-        dept.setIsDeleted(BladeConstant.DB_NOT_DELETED);
-        return saveOrUpdate(dept);
+        fd.setType(2);
+        fd.setIsDeleted(BladeConstant.DB_NOT_DELETED);
+        return saveOrUpdate(fd);
     }
 
-    public boolean submit3(WbsTree dept) {
-        if (dept.getParentId() > 0) {
+    public boolean submit3(WbsTree wbsTree) {
+        if (wbsTree.getParentId() > 0) {
             //设置表示该父节点下存在表单
-            baseMapper.updateIsExistFormById(dept.getParentId());
+            baseMapper.updateIsExistFormById(wbsTree.getParentId());
         }
-        return save(dept);
+        return save(wbsTree);
 
     }
 
@@ -234,6 +252,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
                 IOException | ClassNotFoundException e) {
             throw new ServiceException("操作失败,请上传正确模板内容");
         } finally {
+            assert canonicalPath != null;
             File file2 = new File(canonicalPath);
             if (file2.isFile() && file2.exists()) {
                 file2.delete();
@@ -519,10 +538,8 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
     }
 
     @Override
-    public List<SaveUserInfoByProjectVO2> findProjectAndContractList(Long userId) {
+    public List<Map> findProjectAndContractList(Long userId) {
         List<SaveUserInfoByProjectVO2> list = baseMapper.selectListByUserId(userId);
-
-        //TODO 合并projectName返回
         Map<String, List<SaveUserInfoByProjectVO2>> collect = list.stream().collect(Collectors.groupingBy(SaveUserInfoByProjectVO2::getProjectName));
         List<Map> collect1 = collect.entrySet().stream().map(entity -> {
             Map resultMap = new HashMap();
@@ -530,9 +547,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
             resultMap.put("dataInfo", entity.getValue());
             return resultMap;
         }).collect(Collectors.toList());
-
-
-        return list;
+        return collect1;
     }
 
     @Override