diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java index 0882352..15df7d1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java @@ -7,6 +7,6 @@ */ public class AreaExtendController { /** - * 全部国家列表 + * 全部国家列表,前端已实现 */ } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java index 0882352..15df7d1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java @@ -7,6 +7,6 @@ */ public class AreaExtendController { /** - * 全部国家列表 + * 全部国家列表,前端已实现 */ } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java index c6ff4d2..89850fb 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java @@ -155,6 +155,8 @@ /** * 获取发起人主管层级数 + * 主管的角色是组织负责人(TIPS字段为director) + * 需要保证用户所在组织机构一定要有个角色的TIPS为director的角色的人 */ @ApiOperation("获取发起人主管层级数") @GetMapping("/directorLevel") @@ -164,6 +166,9 @@ throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); int level = flowFormService.getDirectorLevel(userId); + if(0 == level){ + return ReturnUtil.failed("该用户无部门主管或该用户为系统管理员!"); + } HashMap map = new HashMap<>(); map.put("level", level); return ReturnUtil.success(map); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java index 0882352..15df7d1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java @@ -7,6 +7,6 @@ */ public class AreaExtendController { /** - * 全部国家列表 + * 全部国家列表,前端已实现 */ } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java index c6ff4d2..89850fb 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java @@ -155,6 +155,8 @@ /** * 获取发起人主管层级数 + * 主管的角色是组织负责人(TIPS字段为director) + * 需要保证用户所在组织机构一定要有个角色的TIPS为director的角色的人 */ @ApiOperation("获取发起人主管层级数") @GetMapping("/directorLevel") @@ -164,6 +166,9 @@ throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); int level = flowFormService.getDirectorLevel(userId); + if(0 == level){ + return ReturnUtil.failed("该用户无部门主管或该用户为系统管理员!"); + } HashMap map = new HashMap<>(); map.put("level", level); return ReturnUtil.success(map); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index cb7edd1..938b88a 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -97,7 +97,7 @@ } else if ("2".equals(jsonObject1.getString("type"))) { //按角色查询用户id QueryWrapper ruWrapper = new QueryWrapper<>(); - wrapper.eq("ROLEID", targetId); + ruWrapper.eq("ROLEID", targetId); List ruRelations = ruRelationMapper.selectList(ruWrapper); if (!CollectionUtils.isEmpty(ruRelations)) { List collect = ruRelations.stream().map(RuRelation::getUserId).map(x -> x + "").collect(Collectors.toList()); @@ -158,12 +158,16 @@ String replace = pids.replace("[", "").replace("]", ""); pids = replace.substring(0, replace.length() - 1); //在角色管理中配置的角色所在组织机构,要保证该机构的子组织结构使用该角色也可以生效 - deptIds = Arrays.asList(pids.split(",")); + deptIds = new ArrayList<>(Arrays.asList(pids.split(","))); } if(i > 1){ //主管获取所在的上级部门 deptId = dept.getPid(); } + //保证无父id时deptIds有值,sql正常执行 + if(CollectionUtils.isEmpty(deptIds)){ + deptIds.add(String.valueOf(deptId)); + } List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + "JOIN sys_user su ON srr.USERID = su.ID " + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java index 0882352..15df7d1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java @@ -7,6 +7,6 @@ */ public class AreaExtendController { /** - * 全部国家列表 + * 全部国家列表,前端已实现 */ } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java index c6ff4d2..89850fb 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java @@ -155,6 +155,8 @@ /** * 获取发起人主管层级数 + * 主管的角色是组织负责人(TIPS字段为director) + * 需要保证用户所在组织机构一定要有个角色的TIPS为director的角色的人 */ @ApiOperation("获取发起人主管层级数") @GetMapping("/directorLevel") @@ -164,6 +166,9 @@ throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); int level = flowFormService.getDirectorLevel(userId); + if(0 == level){ + return ReturnUtil.failed("该用户无部门主管或该用户为系统管理员!"); + } HashMap map = new HashMap<>(); map.put("level", level); return ReturnUtil.success(map); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index cb7edd1..938b88a 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -97,7 +97,7 @@ } else if ("2".equals(jsonObject1.getString("type"))) { //按角色查询用户id QueryWrapper ruWrapper = new QueryWrapper<>(); - wrapper.eq("ROLEID", targetId); + ruWrapper.eq("ROLEID", targetId); List ruRelations = ruRelationMapper.selectList(ruWrapper); if (!CollectionUtils.isEmpty(ruRelations)) { List collect = ruRelations.stream().map(RuRelation::getUserId).map(x -> x + "").collect(Collectors.toList()); @@ -158,12 +158,16 @@ String replace = pids.replace("[", "").replace("]", ""); pids = replace.substring(0, replace.length() - 1); //在角色管理中配置的角色所在组织机构,要保证该机构的子组织结构使用该角色也可以生效 - deptIds = Arrays.asList(pids.split(",")); + deptIds = new ArrayList<>(Arrays.asList(pids.split(","))); } if(i > 1){ //主管获取所在的上级部门 deptId = dept.getPid(); } + //保证无父id时deptIds有值,sql正常执行 + if(CollectionUtils.isEmpty(deptIds)){ + deptIds.add(String.valueOf(deptId)); + } List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + "JOIN sys_user su ON srr.USERID = su.ID " + diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index ae4c45a..c08bd5d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -132,7 +132,7 @@ //todo:更新溯源供方标准装置信息 - if (updateFlag > 0 && saveOrUpdateFlag) { + if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -226,7 +226,7 @@ //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()) == toBeApprovedDTO.getBusinessKey()){ + if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java index 0882352..15df7d1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java @@ -7,6 +7,6 @@ */ public class AreaExtendController { /** - * 全部国家列表 + * 全部国家列表,前端已实现 */ } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java index c6ff4d2..89850fb 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java @@ -155,6 +155,8 @@ /** * 获取发起人主管层级数 + * 主管的角色是组织负责人(TIPS字段为director) + * 需要保证用户所在组织机构一定要有个角色的TIPS为director的角色的人 */ @ApiOperation("获取发起人主管层级数") @GetMapping("/directorLevel") @@ -164,6 +166,9 @@ throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); int level = flowFormService.getDirectorLevel(userId); + if(0 == level){ + return ReturnUtil.failed("该用户无部门主管或该用户为系统管理员!"); + } HashMap map = new HashMap<>(); map.put("level", level); return ReturnUtil.success(map); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index cb7edd1..938b88a 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -97,7 +97,7 @@ } else if ("2".equals(jsonObject1.getString("type"))) { //按角色查询用户id QueryWrapper ruWrapper = new QueryWrapper<>(); - wrapper.eq("ROLEID", targetId); + ruWrapper.eq("ROLEID", targetId); List ruRelations = ruRelationMapper.selectList(ruWrapper); if (!CollectionUtils.isEmpty(ruRelations)) { List collect = ruRelations.stream().map(RuRelation::getUserId).map(x -> x + "").collect(Collectors.toList()); @@ -158,12 +158,16 @@ String replace = pids.replace("[", "").replace("]", ""); pids = replace.substring(0, replace.length() - 1); //在角色管理中配置的角色所在组织机构,要保证该机构的子组织结构使用该角色也可以生效 - deptIds = Arrays.asList(pids.split(",")); + deptIds = new ArrayList<>(Arrays.asList(pids.split(","))); } if(i > 1){ //主管获取所在的上级部门 deptId = dept.getPid(); } + //保证无父id时deptIds有值,sql正常执行 + if(CollectionUtils.isEmpty(deptIds)){ + deptIds.add(String.valueOf(deptId)); + } List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + "JOIN sys_user su ON srr.USERID = su.ID " + diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index ae4c45a..c08bd5d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -132,7 +132,7 @@ //todo:更新溯源供方标准装置信息 - if (updateFlag > 0 && saveOrUpdateFlag) { + if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -226,7 +226,7 @@ //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()) == toBeApprovedDTO.getBusinessKey()){ + if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index 01b5844..2b54745 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -269,7 +269,7 @@ //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()) == toBeApprovedDTO.getBusinessKey()){ + if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java index 0882352..15df7d1 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/AreaExtendController.java @@ -7,6 +7,6 @@ */ public class AreaExtendController { /** - * 全部国家列表 + * 全部国家列表,前端已实现 */ } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java index c6ff4d2..89850fb 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemFlowDefController.java @@ -155,6 +155,8 @@ /** * 获取发起人主管层级数 + * 主管的角色是组织负责人(TIPS字段为director) + * 需要保证用户所在组织机构一定要有个角色的TIPS为director的角色的人 */ @ApiOperation("获取发起人主管层级数") @GetMapping("/directorLevel") @@ -164,6 +166,9 @@ throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); int level = flowFormService.getDirectorLevel(userId); + if(0 == level){ + return ReturnUtil.failed("该用户无部门主管或该用户为系统管理员!"); + } HashMap map = new HashMap<>(); map.put("level", level); return ReturnUtil.success(map); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index cb7edd1..938b88a 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -97,7 +97,7 @@ } else if ("2".equals(jsonObject1.getString("type"))) { //按角色查询用户id QueryWrapper ruWrapper = new QueryWrapper<>(); - wrapper.eq("ROLEID", targetId); + ruWrapper.eq("ROLEID", targetId); List ruRelations = ruRelationMapper.selectList(ruWrapper); if (!CollectionUtils.isEmpty(ruRelations)) { List collect = ruRelations.stream().map(RuRelation::getUserId).map(x -> x + "").collect(Collectors.toList()); @@ -158,12 +158,16 @@ String replace = pids.replace("[", "").replace("]", ""); pids = replace.substring(0, replace.length() - 1); //在角色管理中配置的角色所在组织机构,要保证该机构的子组织结构使用该角色也可以生效 - deptIds = Arrays.asList(pids.split(",")); + deptIds = new ArrayList<>(Arrays.asList(pids.split(","))); } if(i > 1){ //主管获取所在的上级部门 deptId = dept.getPid(); } + //保证无父id时deptIds有值,sql正常执行 + if(CollectionUtils.isEmpty(deptIds)){ + deptIds.add(String.valueOf(deptId)); + } List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + "JOIN sys_user su ON srr.USERID = su.ID " + diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index ae4c45a..c08bd5d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -132,7 +132,7 @@ //todo:更新溯源供方标准装置信息 - if (updateFlag > 0 && saveOrUpdateFlag) { + if (updateFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -226,7 +226,7 @@ //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()) == toBeApprovedDTO.getBusinessKey()){ + if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index 01b5844..2b54745 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -269,7 +269,7 @@ //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()) == toBeApprovedDTO.getBusinessKey()){ + if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ approval.setTaskId(toBeApprovedDTO.getTaskId()); } }); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemFlowFormServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemFlowFormServiceImpl.java index 8d70f8f..a5f7e6a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemFlowFormServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemFlowFormServiceImpl.java @@ -51,16 +51,20 @@ String replace = pids.replace("[", "").replace("]", ""); pids = replace.substring(0, replace.length() - 1); //在角色管理中配置的角色所在组织机构,要保证该机构的子组织结构使用该角色也可以生效 - deptIds = Arrays.asList(pids.split(",")); + deptIds = new ArrayList<>(Arrays.asList(pids.split(","))); } if(level >= 1){ //主管获取所在的上级部门 deptId = dept.getPid(); } + //保证无父id时deptIds有值,sql正常执行 + if(CollectionUtils.isEmpty(deptIds)){ + deptIds.add(String.valueOf(deptId)); + } List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + "JOIN sys_user su ON srr.USERID = su.ID " + - "WHERE (sr.DEPT_ID = {2} or sr.DEPT_ID in {0})" + + "WHERE (sr.DEPT_ID = {2} or sr.DEPT_ID in {0})" +//角色所在的组织机构及该结构的子结构 "AND sr.TIPS = {1}" + "AND su.DEPT_ID = {2}", deptIds, "director", String.valueOf(deptId));