From 27205f514e4b2c20e07a682dffd60316e9067d94 Mon Sep 17 00:00:00 2001 From: xinyb_ <xin0322> Date: 星期三, 23 二月 2022 16:48:41 +0800 Subject: [PATCH] 大图标布局后台代码调整 --- src/com/yc/layoutIcon/newLayout/service/impl/LayoutIconGroupServiceImpl.java | 39 ++++++++++++++++++++++----------------- src/com/yc/layoutIcon/action/LayoutAction.java | 2 +- src/com/yc/layoutIcon/newLayout/entity/LayoutTree.java | 2 +- src/com/yc/layoutIcon/service/LayoutImpl.java | 8 +++++--- 4 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/com/yc/layoutIcon/action/LayoutAction.java b/src/com/yc/layoutIcon/action/LayoutAction.java index ee04ae4..05d94d3 100644 --- a/src/com/yc/layoutIcon/action/LayoutAction.java +++ b/src/com/yc/layoutIcon/action/LayoutAction.java @@ -61,7 +61,7 @@ menuE.setName(DBHelper.getValue(map, "menuname")); menuE.setFormid(DBHelper.getValue(map, "formid")); menuE.setLargimagepath(DBHelper.getValue(map, "largimagepath")); - menuE.setChecked(DBHelper.getValueInt(map, "checked")==1?true:false); + menuE.setChecked(DBHelper.getValueInt(map, "isHide")==0?true:false); attributes.setFormid(DBHelper.getValue(map, "formid")); attributes.setFormtype(DBHelper.getValue(map, "formtype")); menuE.setAttributes(attributes); diff --git a/src/com/yc/layoutIcon/newLayout/entity/LayoutTree.java b/src/com/yc/layoutIcon/newLayout/entity/LayoutTree.java index d183204..542d795 100644 --- a/src/com/yc/layoutIcon/newLayout/entity/LayoutTree.java +++ b/src/com/yc/layoutIcon/newLayout/entity/LayoutTree.java @@ -13,5 +13,5 @@ private Integer formId; private Integer formType; private String largImagePath; - private Integer checked; + private Integer isHide; } diff --git a/src/com/yc/layoutIcon/newLayout/service/impl/LayoutIconGroupServiceImpl.java b/src/com/yc/layoutIcon/newLayout/service/impl/LayoutIconGroupServiceImpl.java index 52c8807..897b7c5 100644 --- a/src/com/yc/layoutIcon/newLayout/service/impl/LayoutIconGroupServiceImpl.java +++ b/src/com/yc/layoutIcon/newLayout/service/impl/LayoutIconGroupServiceImpl.java @@ -1,5 +1,6 @@ package com.yc.layoutIcon.newLayout.service.impl; +import com.yc.action.grid.GridUtils; import com.yc.layoutIcon.newLayout.entity.*; import com.yc.layoutIcon.newLayout.service.LayoutIconGroupService; import com.yc.layoutIcon.newLayout.utils.layOutIconUtils; @@ -21,9 +22,9 @@ @Override public List<LayoutTree> getLayoutTree(String userCode, Integer menuId) { try { - String sql = "select u.menuid as id,u.menuname as name,u.formid as formId,u.formtype as formType,u.largimagepath," + - "(case when a.menuid is null then 0 else 1 end) as checked from usermenu('" + userCode + "') u left join " + - " _sysWebMenuAccess a on a.menuid=u.menuid and a.UserCode='" + userCode + "'" + + String sql = "select u.menuid as id,u.menuname as name,u.formid as formId,u.formtype as formType,u.largimagepath,case when isnull(a.usercode,'') <> '' then isnull(a.ishide,0) else 1 end as ishide \n" + + " from usermenu(" + GridUtils.prossSqlParm(userCode) + ") u \n" + + " left join _sysWebMenuAccess a on a.menuid=u.menuid and a.UserCode=" + GridUtils.prossSqlParm(userCode) + " where u.parentmenu=" + menuId + " order by u.sortBy"; return super.jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(LayoutTree.class)); } catch (Exception e) { @@ -35,7 +36,7 @@ public List<LayoutIconGroup> selectIconGroup(LayoutParam param) { try { String sql = "select g.menuid,g.menuname,g.largImagePath,g.sortBy,g.formid,g.formname,g.formtype,g.menuType " + - " from getSysWebMenuAccess('" + param.getUserCode() + "',''," + param.getMenuId() + ",'') g where g.dispLageImageYN=1 order by g.sortBy"; + " from getSysWebMenuAccess(" +GridUtils.prossSqlParm(param.getUserCode()) + ",''," + param.getMenuId() + ",'') g where g.dispLageImageYN=1 order by g.sortBy"; return layOutIconUtils.assembleIconGroup(super.jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(LayoutIconGroup.class))); } catch (Exception e) { throw e; @@ -50,21 +51,25 @@ if (param.getIcons() != null && param.getIcons().size() > 0) { Integer cont = 0; String sql = "set nocount on ; \n" + - " begin \n"; - String delSql = ""; + " declare @table table (UserCode varchar(50),UserName varchar(100),menuid int,menuname varchar(50),menuType varchar(20),SortBy int)"; for (LayoutIconEntity i : param.getIcons()) { - sql += " insert into _sysWebMenuAccess(UserCode,UserName,menuid,menuname,menuType,SortBy) " + - " values('" + param.getUserCode() + "','" + param.getUserName() + "'," + i.getMenuId() + ",'" + - i.getMenuName() + "','" + i.getMenuType() + "'," + i.getSortBy() + ") \n"; + sql += " insert into @table(UserCode,UserName,menuid,menuname,menuType,SortBy) " + + " values(" + GridUtils.prossSqlParm(param.getUserCode()) + "," + GridUtils.prossSqlParm(param.getUserName()) + "," + i.getMenuId() + "," + + GridUtils.prossSqlParm(i.getMenuName()) + "," + GridUtils.prossSqlParm(i.getMenuType()) + "," + i.getSortBy() + ") \n"; } - sql += " end \n" + - " select @@ROWCOUNT"; - delSql = "set nocount on ; \n" + - " begin \n" + - " delete _sysWebMenuAccess where UserCode='" + param.getUserCode() + "' \n" + - " end \n" + - " select @@ROWCOUNT"; - super.jdbcTemplate.queryForObject(delSql, Integer.class); + sql += " update a set SortBy = b.SortBy,isHide=0 from _sysWebMenuAccess a \n" + + " join @table b on a.UserCode = b.UserCode and a.MenuId = b.MenuId \n" + + " insert into _sysWebMenuAccess(UserCode,UserName,menuid,menuname,menuType,SortBy,isHide) \n" + + " select a.UserCode,a.UserName,a.menuid,a.menuname,a.menuType,a.SortBy,0 \n" + + " from @table a \n" + + " where not exists(select 1 from _sysWebMenuAccess b where a.UserCode=b.UserCode and a.MenuId = b.MenuId ) \n" + + " update a set isHide = 1 \n" + + " from _sysWebMenuAccess a where a.UserCode=" + GridUtils.prossSqlParm(param.getUserCode()) + " and isnull(a.ProfileId,'') <> '' " + + " and not exists(select 1 from @table b where a.UserCode = b.UserCode and a.MenuId = b.MenuId ) \n" + + " delete a from _sysWebMenuAccess a \n" + + " where a.UserCode=" + GridUtils.prossSqlParm(param.getUserCode()) + " and isnull(a.ProfileId,'') = '' \n" + + " and not exists(select 1 from @table b where a.UserCode = b.UserCode and a.MenuId = b.MenuId ) \n" + + " select 1 \n"; cont = super.jdbcTemplate.queryForObject(sql, Integer.class); return cont; } else { diff --git a/src/com/yc/layoutIcon/service/LayoutImpl.java b/src/com/yc/layoutIcon/service/LayoutImpl.java index 85c42eb..3627135 100644 --- a/src/com/yc/layoutIcon/service/LayoutImpl.java +++ b/src/com/yc/layoutIcon/service/LayoutImpl.java @@ -2,6 +2,8 @@ import java.util.List; import java.util.Map; + +import com.yc.action.grid.GridUtils; import org.springframework.jdbc.support.rowset.SqlRowSet; import org.springframework.stereotype.Service; import com.yc.layoutIcon.entity.GroupEntity; @@ -29,9 +31,9 @@ public List<Map<String, Object>> getMeunlist(String usercode, int meunId) throws Exception { try { String sql="select u.menuid,u.menuname,u.sortby,u.formid,u.formtype,u.parentmenu,u.actived," - + "u.largimagepath,(case when a.menuid is null then 0 else 1 end) as checked " - + "from usermenu('"+usercode.replace("'", "")+"') u left join _sysWebMenuAccess a " - + "on a.menuid=u.menuid and a.UserCode='"+usercode+"' where u.parentmenu="+meunId; + + "u.largimagepath,case when isnull(a.usercode,'') <> '' then isnull(a.ishide,0) else 1 end as ishide " + + "from usermenu("+ GridUtils.prossSqlParm(usercode)+") u left join _sysWebMenuAccess a " + + "on a.menuid=u.menuid and a.UserCode="+GridUtils.prossSqlParm(usercode)+" where u.parentmenu="+meunId; return super.jdbcTemplate.queryForList(sql); } catch (Exception e) { throw e; -- Gitblit v1.8.0