xinyb
2023-05-30 95fbeede8848a932bedef5db4421629f0688b349
桌面分组显示和设置的调整
3个文件已修改
30 ■■■■ 已修改文件
WebRoot/general/home/desktop.jsp 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/service/personalized/CustomHomePanelPositionIfc.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/service/personalized/CustomHomePanelPositionImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebRoot/general/home/desktop.jsp
@@ -84,6 +84,7 @@
    <%
    String userCode = (String)session.getAttribute(SessionKey.HRCODE);
    String isSuperUser = (String)session.getAttribute(SessionKey.SUPPER_USER);
    try{
        com.yc.multiData.SpObserver.setDBtoInstance("_"+session.getAttribute(SessionKey.DATA_BASE_ID));
    CustomHomeGroupIfc groupIfc = (CustomHomeGroupIfc)FactoryBean.getBean("CustomHomeGroupImpl");
@@ -95,6 +96,7 @@
        groups = groupIfc.getGroups(userCode);
    }
    List<Map<String,Object>> positions = positionIfc.getDisplayPanelPosition(userCode);
    boolean isNoChgId=true;//有排序桌面信息(positions有数据) 但是没有分组的chgId值对应的情况。 xin 2023-5-30 16:38:09
%>
    <body style="margin: 0px;padding:0px;">
                    <div id="scrollbody">
@@ -112,7 +114,8 @@
                        <%
                            for(int j=0;j<positions.size();j++){
                                temp = positions.get(j);
                                if(gid==Integer.parseInt(temp.get("chgid").toString()) && (perssion.get(temp.get("formid").toString())!=null || "1".equals(session.getAttribute(SessionKey.SUPPER_USER)))){
                                if(gid==Integer.parseInt(temp.get("chgid").toString()) && (perssion.get(temp.get("formid").toString())!=null || "1".equals(session.getAttribute(SessionKey.SUPPER_USER)))){
                                    isNoChgId=false;
                        %>                    
                                <div class="item drag" formid="<%=temp.get("formid") %>" formtype="<%=temp.get("formtype") %>" pid="<%=temp.get("pid") %>">
                                    <div class="item-header"><font class="allowDrag"><%=temp.get("formname") %></font></div>
@@ -124,6 +127,10 @@
                            </span>
                        <%
                            }
                            if(isNoChgId && positions.size()>0){//有排序桌面信息在表但是没有分组表的ChgID值对应 xin 2023-5-30 16:41:56
                                //把这个账号的桌面排序信息都删除了,然后重新设置一次(只针对分组里没有对应的ChgId情况,如果分组里也有Chgid但是是隐藏排序信息情况不处理)
                                positionIfc.deletePanelPosition(userCode);
                            }
    }finally{
        com.yc.multiData.SpObserver.setDBtoInstance();
    }
src/com/yc/service/personalized/CustomHomePanelPositionIfc.java
@@ -16,6 +16,8 @@
    
    public List<Map<String,Object>> getDisplayPanelPositionFormids(String userCode);
    public void deletePanelPosition(String userCode);
    /**
     * 更新模块所在分组  如:将其从第一组移动到第二组
     * @param newGid
src/com/yc/service/personalized/CustomHomePanelPositionImpl.java
@@ -1,13 +1,14 @@
package com.yc.service.personalized;
import com.yc.service.BaseService;
import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.support.rowset.SqlRowSet;
import org.springframework.stereotype.Service;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.support.rowset.SqlRowSet;
import org.springframework.stereotype.Service;
import com.yc.service.BaseService;
@Service("CustomHomePanelPositionImpl")
@@ -84,6 +85,16 @@
    }
    @Override
    public void deletePanelPosition(String userCode) {
        try {
            String sql="delete _sys_customHomePanelPosition where userCode=?";
            this.jdbcTemplate.update(sql,userCode);
        }catch (Exception e){
        }
    }
    @Override
    public void addPanelPosition(final List<Map<String, String>> inserts,final int maxSort,final int chgid,final String userCode) {
        this.jdbcTemplate.batchUpdate(ADD_POSITION,new BatchPreparedStatementSetter() {