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