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

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

yangyj преди 11 месеца
родител
ревизия
c6bd1fd6e9
променени са 17 файла, в които са добавени 78 реда и са изтрити 54 реда
  1. 2 0
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MeterImport3VO.java
  2. 4 1
      blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MeterTreeContractVO.java
  3. 15 45
      blade-service/blade-meter/src/main/java/org/springblade/meter/controller/MeterTreeController.java
  4. 2 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeContractMapper.java
  5. 14 2
      blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeContractMapper.xml
  6. 1 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeProjectMapper.java
  7. 5 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeProjectMapper.xml
  8. 1 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeSystemMapper.java
  9. 6 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeSystemMapper.xml
  10. 2 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/service/MeterTreeContractService.java
  11. 2 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/service/MeterTreeProjectService.java
  12. 2 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/service/MeterTreeSystemService.java
  13. 9 4
      blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MeterTreeContractServiceImpl.java
  14. 5 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MeterTreeProjectServiceImpl.java
  15. 5 0
      blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MeterTreeSystemServiceImpl.java
  16. 1 1
      blade-service/blade-system/src/main/java/org/springblade/system/controller/RoleController.java
  17. 2 1
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java

+ 2 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MeterImport3VO.java

@@ -58,6 +58,8 @@ public class MeterImport3VO implements INode<MeterImport3VO> {
     private String remarks;
     private String contractPicture;
     private String changePicture;
+    private String startStake;
+    private String endStake;
 
 
     @ApiModelProperty(value = "项目id")

+ 4 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MeterTreeContractVO.java

@@ -24,7 +24,10 @@ public class MeterTreeContractVO extends MeterTreeContract {
     @ApiModelProperty(value = "是否已经计量:0否1是")
     private Integer isMeter;
 
-    @ApiModelProperty(value = "是否已经计量:0否1是")
+    @ApiModelProperty(value = "节点类型名称")
     private String nodeTypeName;
 
+    @ApiModelProperty(value = "子节点数量")
+    private Integer childTotal;
+
 }

+ 15 - 45
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/MeterTreeController.java

@@ -145,7 +145,7 @@ public class MeterTreeController extends BladeController {
     @ApiOperationSupport(order = 5)
     @ApiOperation(value = "系统树节点详情", notes = "传入id")
     public R<MeterTreeSystem> systemDetail(@RequestParam String id) {
-        return R.data(meterTreeSystemService.getById(id));
+        return R.data(meterTreeSystemService.systemDetail(id));
     }
 
     @PostMapping("/system/save")
@@ -357,7 +357,7 @@ public class MeterTreeController extends BladeController {
     @ApiOperationSupport(order = 14)
     @ApiOperation(value = "项目树节点详情", notes = "传入id")
     public R<MeterTreeProject> projectDetail(@RequestParam String id) {
-        return R.data(meterTreeProjectService.getById(id));
+        return R.data(meterTreeProjectService.projectDetail(id));
     }
 
     @PostMapping("/project/save")
@@ -702,50 +702,20 @@ public class MeterTreeController extends BladeController {
     @GetMapping("/contract/detail")
     @ApiOperationSupport(order = 25)
     @ApiOperation(value = "合同段树节点详情", notes = "传入id")
-    public R<MeterTreeContractVO> contractDetail(@RequestParam String id) {
-        MeterTreeContract basicInfo = jdbcTemplate.query("select * from s_meter_tree_contract where is_deleted = 0 and id = " + id, new BeanPropertyRowMapper<>(MeterTreeContract.class)).stream().findAny().orElse(null);
-        if (basicInfo != null) {
-            MeterTreeContractVO vo = new MeterTreeContractVO();
-            BeanUtil.copyProperties(basicInfo, vo);
-
-            if (ObjectUtil.isNotEmpty(basicInfo.getStakeType())) {
-                Dict dict = jdbcTemplate.query("SELECT dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_stake_type' AND dict_key = " + basicInfo.getStakeType(), new BeanPropertyRowMapper<>(Dict.class)).stream().findAny().orElse(null);
-                if (dict != null) {
-                    vo.setStakeTypeName(dict.getDictValue());
-                }
-            }
-            if (basicInfo.getNodeType() != null){
-                Dict dict = jdbcTemplate.query("SELECT dict_value FROM blade_dict_biz WHERE is_deleted = 0 AND code = 'meter_unit_type' AND dict_key = " + basicInfo.getNodeType(), new BeanPropertyRowMapper<>(Dict.class)).stream().findAny().orElse(null);
-                if (dict != null) {
-                    vo.setNodeTypeName(dict.getDictValue());
-                }
-            }
-            //判断是否为最底层节点,如果为最底层节点则直接查询清单,不为最底层节点则汇总子节点总和
-            long count = meterTreeContractService.count(new LambdaQueryWrapper<MeterTreeContract>()
-                    .eq(MeterTreeContract::getContractId, basicInfo.getContractId())
-                    .eq(MeterTreeContract::getParentId, basicInfo.getId()));
-            if (count == 0) {
-                //设置是否被计量
-                int total = Math.toIntExact(middleMeterApplyService.count(new LambdaQueryWrapper<MiddleMeterApply>()
-                        .eq(MiddleMeterApply::getContractId, basicInfo.getContractId())
-                        .eq(MiddleMeterApply::getContractUnitId, id)));
-                if (total == 0){
-                    vo.setIsMeter(0);
-                }else {
-                    vo.setIsMeter(1);
-                }
-                //设置清单
-                List<ContractFromVO> contrFormAllByContrId = contractInventoryFormService.getNodeResolveForm(basicInfo.getContractId(), basicInfo.getId());
-                vo.setDecompositionList(contrFormAllByContrId);
-                //设置关联节点信息
-                List<MeterTreeLinkWbsTreeVO> wbsTreeVOS = meterTreeLinkWbsTreeService.getWbsListByMeterId(basicInfo.getContractId(), basicInfo.getId());
-                vo.setLinkNodeList(wbsTreeVOS);
-            } else {
-                meterTreeContractService.getAllChildNodeMoney(vo);
-            }
-            return R.data(vo);
+    public R<MeterTreeContractVO> contractDetail(@RequestParam Long id) {
+        MeterTreeContractVO vo =  meterTreeContractService.contractDetail(id);
+        //判断是否是最底层
+        if (vo.getChildTotal() == 0) {
+            //设置清单
+            List<ContractFromVO> contrFormAllByContrId = contractInventoryFormService.getNodeResolveForm(vo.getContractId(), vo.getId());
+            vo.setDecompositionList(contrFormAllByContrId);
+            //设置关联节点信息
+            List<MeterTreeLinkWbsTreeVO> wbsTreeVOS = meterTreeLinkWbsTreeService.getWbsListByMeterId(vo.getContractId(), vo.getId());
+            vo.setLinkNodeList(wbsTreeVOS);
+        } else {
+            meterTreeContractService.getAllChildNodeMoney(vo);
         }
-        return R.data(null);
+        return R.data(vo);
     }
 
     @GetMapping("/contract/lazy")

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

@@ -57,4 +57,6 @@ public interface MeterTreeContractMapper extends BaseMapper<MeterTreeContract> {
     void batchUpdateMeter(@Param("list") List<MeterTreeContract> voList);
 
     void updateBatchForm(@Param("list") List<InventoryFormMeterVO> resultFormListUpdate2);
+
+    MeterTreeContractVO contractDetail(@Param("id") Long id);
 }

+ 14 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeContractMapper.xml

@@ -2,10 +2,10 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.springblade.meter.mapper.MeterTreeContractMapper">
     <insert id="batchSaveMeter">
-        INSERT INTO s_meter_tree_contract (id, parent_id, ancestor, node_name, node_type, project_id, contract_id,remarks,contract_picture,change_picture)
+        INSERT INTO s_meter_tree_contract (id, parent_id, ancestor, node_name, node_type, project_id, contract_id,remarks,contract_picture,change_picture,start_stake,end_stake)
         VALUES
         <foreach collection="list" item="item" separator="," >
-            (#{item.id},#{item.parentId},#{item.ancestor},#{item.nodeName},#{item.nodeType},#{item.projectId},#{item.contractId},#{item.remarks},#{item.contractPicture},#{item.changePicture})
+            (#{item.id},#{item.parentId},#{item.ancestor},#{item.nodeName},#{item.nodeType},#{item.projectId},#{item.contractId},#{item.remarks},#{item.contractPicture},#{item.changePicture},#{item.startStake},#{item.endStake})
         </foreach>
         ;
 
@@ -143,6 +143,18 @@
         from s_inventory_form_meter ifm
         where contract_id = #{contractId} and is_deleted = 0
     </select>
+    <select id="contractDetail" resultType="org.springblade.meter.vo.MeterTreeContractVO">
+        SELECT *, if(LENGTH(mtc1.ancestor) - LENGTH(REPLACE(mtc1.ancestor, ',', ''))>1,
+                     (select smts.node_name from s_meter_tree_contract smts
+                        WHERE smts.id = SUBSTRING_INDEX(SUBSTRING_INDEX(mtc1.ancestor, ',', 3),',', -1)),'')  as engineeringTypeName,
+               (SELECT dict_value FROM blade_dict WHERE is_deleted = 0 AND code = 'meter_stake_type' AND dict_key = mtc1.stake_type and is_deleted = 0) as stakeTypeName,
+               (SELECT dict_value FROM blade_dict_biz WHERE is_deleted = 0 AND code = 'meter_unit_type' AND dict_key = mtc1.node_type and is_deleted = 0) as nodeTypeName,
+               if((select count(1) from s_middle_meter_apply mma where mma.contract_id = mtc1.contract_id
+                                            and mma.contract_unit_id = mtc1.id and mma.is_deleted = 0 ) = 0,0,1) as isMeter,
+               (select count(1) from s_meter_tree_contract mtc2 where mtc2.contract_id = mtc1.contract_id
+                                                    and mtc2.parent_id = mtc1.id and mtc2.is_deleted = 0 ) as childTotal
+        from s_meter_tree_contract mtc1 WHERE  id = #{id}
+    </select>
 
 
 </mapper>

+ 1 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeProjectMapper.java

@@ -10,4 +10,5 @@ public interface MeterTreeProjectMapper extends BaseMapper<MeterTreeProject> {
     @Select("SELECT MAX(sort) FROM s_meter_tree_project WHERE parent_id = #{parentId} AND status = 1 AND is_deleted = 0")
     Integer selectMaxSort(@Param("parentId") Long parentId);
 
+    MeterTreeProject projectDetail(@Param("id") String id);
 }

+ 5 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeProjectMapper.xml

@@ -2,4 +2,9 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.springblade.meter.mapper.MeterTreeProjectMapper">
 
+    <select id="projectDetail" resultType="org.springblade.meter.entity.MeterTreeProject">
+        SELECT *, if(LENGTH(mts.ancestor) - LENGTH(REPLACE(mts.ancestor, ',', ''))>1,
+                     (select smts.node_name from s_meter_tree_project smts WHERE smts.id = SUBSTRING_INDEX(SUBSTRING_INDEX(mts.ancestor, ',', 3),',', -1)),'')  as engineeringTypeName
+        from s_meter_tree_project mts WHERE  id = #{id}
+    </select>
 </mapper>

+ 1 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeSystemMapper.java

@@ -10,4 +10,5 @@ public interface MeterTreeSystemMapper extends BaseMapper<MeterTreeSystem> {
     @Select("SELECT MAX(sort) FROM s_meter_tree_system WHERE parent_id = #{parentId} AND status = 1 AND is_deleted = 0")
     Integer selectMaxSort(@Param("parentId") Long parentId);
 
+    MeterTreeSystem systemDetail(@Param("id") String id);
 }

+ 6 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeSystemMapper.xml

@@ -2,4 +2,10 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.springblade.meter.mapper.MeterTreeSystemMapper">
 
+    <select id="systemDetail" resultType="org.springblade.meter.entity.MeterTreeSystem">
+        SELECT *, if(LENGTH(mts.ancestor) - LENGTH(REPLACE(mts.ancestor, ',', ''))>1,
+            (select smts.node_name from s_meter_tree_system smts WHERE smts.id = SUBSTRING_INDEX(SUBSTRING_INDEX(mts.ancestor, ',', 3),',', -1)),'')  as engineeringTypeName
+        from s_meter_tree_system mts WHERE  id = #{id}
+
+    </select>
 </mapper>

+ 2 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/MeterTreeContractService.java

@@ -50,4 +50,6 @@ public interface MeterTreeContractService extends BaseService<MeterTreeContract>
     String LinkMeterTreeAndWbsTree(LinkMeterTreeAndWbsTreeDTO dto);
 
     void deleteLinkWbsTree(Map<String, String> ids);
+
+    MeterTreeContractVO contractDetail(Long id);
 }

+ 2 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/MeterTreeProjectService.java

@@ -11,4 +11,6 @@ public interface MeterTreeProjectService extends BaseService<MeterTreeProject> {
     R<Object> projectTreeInitOrSync(Long meterTemplateId, Long projectId);
 
     void projectUpdate(MeterTreeProject obj);
+
+    MeterTreeProject projectDetail(String id);
 }

+ 2 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/MeterTreeSystemService.java

@@ -8,4 +8,6 @@ public interface MeterTreeSystemService extends BaseService<MeterTreeSystem> {
     Integer selectMaxSort(Long parentId);
 
     void systemUpdate(MeterTreeSystem obj);
+
+    MeterTreeSystem systemDetail(String id);
 }

+ 9 - 4
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MeterTreeContractServiceImpl.java

@@ -1842,10 +1842,6 @@ public class MeterTreeContractServiceImpl extends BaseServiceImpl<MeterTreeContr
             Map<Long, String> FormMap = formList.stream().collect(Collectors.toMap(l->l.getId(),l -> l.getFormNumber()));
             //校验数据,开始桩号和结束桩号必须同时存在,清单编号必须存在数据,有清单编号必须填写分解量
             parseExcelFileToList.stream().forEach(l->{
-//                if ((StringUtils.isBlank(l.get("开始桩号")) && StringUtils.isNotBlank(l.get("结束桩号")))
-//                        || (StringUtils.isNotBlank("开始桩号") && StringUtils.isBlank(l.get("结束桩号")))){
-//                    throw new ServiceException("开始桩号和结束桩号必须同时存在,请修改后重新导入");
-//                }
                 if (StringUtils.isNotBlank(l.get("清单编号"))){
                     if (numberList.indexOf(l.get("清单编号")) == -1){
                         throw new ServiceException("合同段中不存在清单编号:"+l.get("清单编号")+"请检查后重新导入");
@@ -1940,6 +1936,8 @@ public class MeterTreeContractServiceImpl extends BaseServiceImpl<MeterTreeContr
                                 vo1.setRemarks(map.get("图册"));
                                 vo1.setContractPicture(map.get("图号"));
                                 vo1.setChangePicture(vo1.getContractPicture());
+                                vo1.setStartStake(map.get("开始桩号"));
+                                vo1.setEndStake(map.get("结束桩号"));
                                 UpdateIds.add(vo1.getId());
                             }
                             childList.add(vo1);
@@ -1968,6 +1966,8 @@ public class MeterTreeContractServiceImpl extends BaseServiceImpl<MeterTreeContr
                                     vo1.setRemarks(map.get("图册"));
                                     vo1.setContractPicture(map.get("图号"));
                                     vo1.setChangePicture(vo1.getContractPicture());
+                                    vo1.setStartStake(map.get("开始桩号"));
+                                    vo1.setEndStake(map.get("结束桩号"));
                                     UpdateIds.add(vo1.getId());
                                 }
                                 thisNode.add(vo1);
@@ -2355,6 +2355,11 @@ public class MeterTreeContractServiceImpl extends BaseServiceImpl<MeterTreeContr
         meterTreeLinkWbsTreeService.removeBatchByIds(Func.toLongList(map.get("ids")));
     }
 
+    @Override
+    public MeterTreeContractVO contractDetail(Long id) {
+        return baseMapper.contractDetail(id);
+    }
+
     /**
      *  通过清单信息和合同计量单元节点,施工图数量,返回组装好的中间表对象
      */

+ 5 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MeterTreeProjectServiceImpl.java

@@ -288,6 +288,11 @@ public class MeterTreeProjectServiceImpl extends BaseServiceImpl<MeterTreeProjec
         this.updateById(obj);
     }
 
+    @Override
+    public MeterTreeProject projectDetail(String id) {
+        return baseMapper.projectDetail(id);
+    }
+
     /**
      * 获取对应的父级的ancestor字段
      *

+ 5 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MeterTreeSystemServiceImpl.java

@@ -29,4 +29,9 @@ public class MeterTreeSystemServiceImpl extends BaseServiceImpl<MeterTreeSystemM
         this.updateById(obj);
     }
 
+    @Override
+    public MeterTreeSystem systemDetail(String id) {
+        return baseMapper.systemDetail(id);
+    }
+
 }

+ 1 - 1
blade-service/blade-system/src/main/java/org/springblade/system/controller/RoleController.java

@@ -95,7 +95,7 @@ public class RoleController extends BladeController {
     @ApiOperation(value = "列表", notes = "传入role")
     public R<List<RoleVO>> list(@ApiIgnore @RequestParam Map<String, Object> role, BladeUser bladeUser) {
         QueryWrapper<Role> queryWrapper = Condition.getQueryWrapper(role, Role.class);
-        List<Role> list = roleService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()) : queryWrapper);
+        List<Role> list = roleService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()).orderByAsc(Role::getSort) : queryWrapper.orderByAsc("sort"));
         return R.data(RoleWrapper.build().listNodeVO(list));
     }
 

+ 2 - 1
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java

@@ -340,7 +340,8 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
         role.setIsDeleted(BladeConstant.DB_NOT_DELETED);
         Long aLong = baseMapper.selectCount(new QueryWrapper<Role>()
                 .eq("parent_id", role.getParentId())
-                .eq("role_name", role.getRoleName()));
+                .eq("role_name", role.getRoleName())
+                .ne("id",role.getId()));
         if (aLong > 0) {
             throw new ServiceException("角色名已存在,请重新输入");
         }