实现目录数据的上移(up)、下移(down)、置顶(top)、置底(bottom)的操作

java 复制代码
@ApiOperation("8-15 交接班-标签设置排序")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "id", dataType = "string", required = true),
            @ApiImplicitParam(name = "orgnCode", value = "机构代码", dataType = "string", required = true),
            @ApiImplicitParam(name = "sortId", value = "排序id", dataType = "string", required = true),
            @ApiImplicitParam(name = "sectionCode", value = "科室代码", dataType = "string", required = true),
            @ApiImplicitParam(name = "button", value = "上移(up)、下移(down)、置顶(top)、置底(bottom)", dataType = "string", required = true),
    })
    @GetMapping("sortOperate")
    public ResponseEntity<Object> sortOperate(@RequestParam("id") String id,
                                              @RequestParam("orgnCode") String orgnCode,
                                              @RequestParam("sortId") String sortId,
                                              @RequestParam("sectionCode") String sectionCode,
                                              @RequestParam("button") String button) {
        return shiftService.sortOperate(id, orgnCode, sortId, sectionCode, button);
    }
java 复制代码
ResponseEntity<Object> sortOperate(String id, String orgnCode, String sortId, String sectionCode, String button);
java 复制代码
@Override
    public ResponseEntity<Object> sortOperate(String id, String orgnCode, String sortId, String sectionCode, String button) {
        ResponseMessage<Object> responseMessage = new ResponseMessage();
        //上移(up)、下移(down)、置顶(top)、置底(bottom)
        if (button != null && button.equals("up")) {
        	//查出小于排序id的第一个
            HashMap<String, String> sortMap = nursingHandoverMapper.infoBySortUp(orgnCode, sectionCode, sortId);
            if (sortMap != null && !sortMap.isEmpty()) {
                String upId = sortMap.get("id");
                String upSortId = sortMap.get("sortId");
                if (StringUtil.isNotEmpty(upId) && StringUtil.isNotEmpty(upSortId)) {
                    nursingHandoverMapper.updateBySort(upId, sortId);
                    nursingHandoverMapper.updateBySort(id, upSortId);
                }
            }
        } else if (button != null && button.equals("down")) {
            HashMap<String, String> sortMap = nursingHandoverMapper.infoBySortDown(orgnCode, sectionCode, sortId);
            if (sortMap != null && !sortMap.isEmpty()) {
                String downId = sortMap.get("id");
                String downSortId = sortMap.get("sortId");
                if (StringUtil.isNotEmpty(downId) && StringUtil.isNotEmpty(downSortId)) {
                    nursingHandoverMapper.updateBySort(downId, sortId);
                    nursingHandoverMapper.updateBySort(id, downSortId);
                }
            }
        } else if (button != null && button.equals("top")) {
            HashMap<String, String> sortMap = nursingHandoverMapper.infoBySortTop(orgnCode, sectionCode);
            if (sortMap != null && !sortMap.isEmpty()) {
                String topId = sortMap.get("id");
                String topSortId = sortMap.get("sortId");
                if (StringUtil.isNotEmpty(topId) && StringUtil.isNotEmpty(topSortId)) {
                    nursingHandoverMapper.updateBySort(topId, sortId);
                    nursingHandoverMapper.updateBySort(id, topSortId);
                }
            }
        } else if (button != null && button.equals("bottom")) {
            HashMap<String, String> sortMap = nursingHandoverMapper.infoBySortTop(orgnCode, sectionCode);
            if (sortMap != null && !sortMap.isEmpty()) {
                String bottomId = sortMap.get("id");
                String bottomSortId = sortMap.get("sortId");
                if (StringUtil.isNotEmpty(bottomId) && StringUtil.isNotEmpty(bottomSortId)) {
                    nursingHandoverMapper.updateBySort(bottomId, sortId);
                    nursingHandoverMapper.updateBySort(id, bottomSortId);
                }
            }
        }
        responseMessage.setCode("T").setMessage("success");
        return new ResponseEntity<>(responseMessage, HttpStatus.OK);
    }
java 复制代码
HashMap<String, String> infoBySortUp(@Param("orgnCode") String orgnCode, @Param("sectionCode") String sectionCode, @Param("sortId") String sortId);

<select id="infoBySortUp" resultType="java.util.HashMap">
        SELECT top 1 ID id, SORT_ID sortId
        from NEMR_SET_SHIFT
        WHERE ORGN_CODE = #{orgnCode}
          AND SECTION_CODE = #{sectionCode}
          AND SORT_ID &lt; #{sortId}
        ORDER BY SORT_ID DESC
    </select>
java 复制代码
HashMap<String, String> infoBySortDown(@Param("orgnCode") String orgnCode, @Param("sectionCode") String sectionCode, @Param("sortId") String sortId);

<select id="infoBySortDown" resultType="java.util.HashMap">
        SELECT top 1 ID id, SORT_ID sortId
        from NEMR_SET_SHIFT
        WHERE ORGN_CODE = #{orgnCode}
          AND SECTION_CODE = #{sectionCode}
          AND SORT_ID &gt; #{sortId}
        ORDER BY SORT_ID asc
    </select>
java 复制代码
HashMap<String, String> infoBySortTop(@Param("orgnCode") String orgnCode, @Param("sectionCode") String sectionCode);

<select id="infoBySortTop" resultType="java.util.HashMap">
        SELECT top 1 ID id, SORT_ID sortId
        FROM NEMR_SET_SHIFT(nolock)
        WHERE ORGN_CODE = #{orgnCode}
          AND SECTION_CODE = #{sectionCode}
        order by SORT_ID asc
    </select>
java 复制代码
HashMap<String, String> infoBySortTop(@Param("orgnCode") String orgnCode, @Param("sectionCode") String sectionCode);


<select id="infoBySortTop" resultType="java.util.HashMap">
        SELECT top 1 ID id, SORT_ID sortId
        FROM NEMR_SET_SHIFT(nolock)
        WHERE ORGN_CODE = #{orgnCode}
          AND SECTION_CODE = #{sectionCode}
        order by SORT_ID asc
    </select>
相关推荐
ok!ko3 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
2402_857589363 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰4 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
哎呦没5 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
编程、小哥哥5 小时前
netty之Netty与SpringBoot整合
java·spring boot·spring
IT学长编程6 小时前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
莹雨潇潇6 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
杨哥带你写代码6 小时前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端
郭二哈7 小时前
C++——模板进阶、继承
java·服务器·c++
A尘埃7 小时前
SpringBoot的数据访问
java·spring boot·后端