fs-danaus
2021-09-29 03b162821b77a3d9686b0bc2104388f10a31cf66
src/com/yc/action/grid/GTGrid.java
@@ -3070,6 +3070,9 @@
                        up.put("profilename", up.get("profilename"));
                    }
                    up.put(en.getKey(), en.getValue());
                    if(en.getKey().equals("statisids")) {
                        up.put(en.getKey(), en.getValue());
                    }
                }
                if (up.get("formid") != null && "".equalsIgnoreCase(up.get("formid")))
                    continue;//防止只是修改大图标,提交时没有formid而出错
@@ -3093,7 +3096,8 @@
                    int p16 = ((up.get("isimport") == null || "".equalsIgnoreCase(up.get("isimport"))) ? 0 : Integer.valueOf(up.get("isimport"))) == 1 ? 32768 : 0;
                    int p17 = ((up.get("islistdoc") == null || "".equalsIgnoreCase(up.get("islistdoc"))) ? 0 : Integer.valueOf(up.get("islistdoc"))) == 1 ? 65536 : 0;
                    int p18 = ((up.get("isrevokepostdoc") == null || "".equalsIgnoreCase(up.get("isrevokepostdoc"))) ? 0 : Integer.valueOf(up.get("isrevokepostdoc"))) == 1 ? 131072 : 0;
                    int optype = p1 + p2 + p3 + p4 + p5 + p7 + p8 + p9 + p10 + p11 + p12 + p13 + p14 + p15 + p16 + p17 + p18;
                    int p19 = ((up.get("is38formtype") == null || "".equalsIgnoreCase(up.get("is38formtype"))) ? 0 : Integer.valueOf(up.get("is38formtype"))) == 1 ? 262144 : 0;
                    int optype = p1 + p2 + p3 + p4 + p5 + p7 + p8 + p9 + p10 + p11 + p12 + p13 + p14 + p15 + p16 + p17 + p18+p19;
                    //新增和修改的都需要组装出来,通过判断再执行那条
                    String usercode = up.get("usercode");
                    String formid = up.get("formid");
@@ -3101,17 +3105,17 @@
                    if (treetype == 1) {//写入到用户
                        if (optype > 0 || isopen == 1)//修改
                            sb.append(" if not exists(select usercode from _sys_UserPermissions where usercode='" + usercode + "' and formid=" + formid)
                                    .append(") begin ")//新增
                                    .append("insert into _sys_UserPermissions(UserCode,UserName,FormID,FormName,optype)values('")
                                    .append(") \n begin \n")//新增
                                    .append("insert into _sys_UserPermissions(UserCode,UserName,FormID,FormName,optype,statisids)values('")
                                    .append(usercode).append("','")
                                    .append(up.get("username").trim()).append("','")
                                    .append(up.get("formid")).append("','")
                                    .append(up.get("formname")).append("',")
                                    .append(optype).append(") ")
                                    .append("end else begin")
                                    .append(optype).append(",'"+up.get("statisids")+"') ")
                                    .append("end \n else begin")
                                    .append(" update _sys_UserPermissions set optype=")
                                    .append(optype)
                                    .append(" where usercode='" + usercode + "' and formid=" + formid).append(" end ");
                                    .append(" ,statisids='"+up.get("statisids")+"' where usercode='" + usercode + "' and formid=" + formid).append(" end ");
                        else//删除
                            sb.append(" delete _sys_UserPermissions ")
                                    .append(" where usercode='" + usercode + "' and formid=" + formid);
@@ -3121,15 +3125,15 @@
                        if (optype > 0 || isopen == 1)//修改
                            sb.append(" if not exists(select ProfileID from gProfileFormOP where ProfileID='" + usercode + "' and formid=" + formid)
                                    .append(") begin ")//新增
                                    .append("insert into gProfileFormOP(ProfileID,FormID,FormName,FormOP,optype)values('")
                                    .append("insert into gProfileFormOP(ProfileID,FormID,FormName,FormOP,optype,statisids)values('")
                                    .append(usercode).append("','")
                                    .append(up.get("formid")).append("','")
                                    .append(up.get("formname")).append("','',")
                                    .append(optype).append(") ")
                                    .append(optype).append(",'"+up.get("statisids")+"') ")
                                    .append("end else begin")
                                    .append(" update gProfileFormOP set optype=")
                                    .append(optype)
                                    .append(" where ProfileID='" + usercode + "' and formid=" + formid).append(" end ");
                                    .append(" ,statisids='"+up.get("statisids")+"' where ProfileID='" + usercode + "' and formid=" + formid).append(" end ");
                        else
                            sb.append(" delete gProfileFormOP ")
                                    .append(" where ProfileID='" + usercode + "' and formid=" + formid);
@@ -4823,6 +4827,11 @@
                .append(map.get("subformtype") != null ? (HtmlUtil.getHtmlContent((String) map.get("formname"))) : ((HtmlUtil.getHtmlContent((String) map.get("menuname"))))).append("' ")
                .append(" hasiconpermission='").append(GridUtils.prossRowSetDataType_Int(map, "HasIconPermission")).append("'")
                .append(" subformtype='").append(GridUtils.prossRowSetDataType_Int(map, "subformtype")).append("'")
                .append(" statisid='").append(GridUtils.prossRowSetDataType_String(map, "statisid")).append("'")
                .append(" rowid='").append(GridUtils.prossRowSetDataType_String(map, "rowid")).append("'")
                .append(" parentrowid='").append(GridUtils.prossRowSetDataType_String(map, "parentrowid")).append("'")
                .append(" statisids='").append(GridUtils.prossRowSetDataType_String(map, "statisids")).append("'")
                .append(((map.get("formid") != null ? 0 != (Integer) map.get("formid") : false) || 1 == (Integer) map.get("LeftTreeType")) ? "  hasiconpermissionCanEdit='1' " : "  hasiconpermissionCanEdit='0' ")//去掉角色的显示大图标只读,使可以选择保存
                //.append((1==(Integer)map.get("LeftTreeType"))&&(map.get("formid")!=null?0!=(Integer)map.get("formid"):true)?"hasiconpermissionCanEdit='1'":"hasiconpermissionCanEdit='0'")
@@ -4830,24 +4839,24 @@
        sb1.append(" usercode='").append(((String) map.get("UserCode"))).append("'");
        //是否勾选上
        String checked = "";
        int ch = map.get("HasSubPermission") == null ? 0 : (Integer) map.get("HasSubPermission");
        int hasSubPermission = map.get("HasSubPermission") == null ? 0 : (Integer) map.get("HasSubPermission");
        int optype = map.get("optype") == null ? 0 : (Integer) map.get("optype");
        if ((ch == 1 && ((map.get("formid") == null && map.get("optype") == null) || optype > 0)) || (ch == 1 && (Integer) map.get("HasSubMenu") == 1))
        if ((hasSubPermission == 1 && ((map.get("formid") == null && map.get("optype") == null) || optype > 0)) || (hasSubPermission == 1 && (Integer) map.get("HasSubMenu") == 1))
            checked = " formnameChecked='2' ischecked='1' isopen='1' ";//部分权限,下级节点有部分选上
        if ((ch == 2 && ((map.get("formid") == null && map.get("optype") == null) || optype > 0)) || (ch == 2 && (Integer) map.get("HasSubMenu") == 1))
        if ((hasSubPermission == 2 && ((map.get("formid") == null && map.get("optype") == null) || optype > 0)) || (hasSubPermission == 2 && (Integer) map.get("HasSubMenu") == 1))
            checked = " formnameChecked='1' ischecked='1' isopen='1' ";//全部权限
        sb1.append(checked)
                //设置树节点全部为折叠
                .append(" Expanded='0' ");
        if (ch == 0) {//表示当前自己有没权限
        if (hasSubPermission == 0) {//表示当前自己没权限
            sb1.append((map.get("HasPermission") == null || (Integer) map.get("HasPermission") == 0) ? "  " : " formnameChecked='1' HasPermission='1' isopen='1' ");
            //if(optype>0)//为0则表示全为空,也应该不勾选
            //  sb1.append(" formnameChecked='1' ischecked='1' ");
        }
        if ((Integer) map.get("treetype") == 2) {//角色时候
            if (ch == 1)
            if (hasSubPermission == 1)
                sb1.append(" formnameChecked='2' ");
            else if (ch == 2)
            else if (hasSubPermission == 2)
                sb1.append(" formnameChecked='1' ");
            else
                sb1.append((map.get("HasPermission") == null || (Integer) map.get("HasPermission") == 0) ? " isrol='0' isrolCanEdit='1' " : " formnameChecked='1'  isrol='1' isrolCanEdit='1' ");
@@ -4876,7 +4885,7 @@
        String s = " isexport='0' isprint='0' issave='0' isdelrow='0' " +
                " iscopyrow='0' isaddrow='0' isexecsp='0' " +
                " isopenquery='0' iscancelpostdoc='0' isrevokepostdoc='0'  isdeldoc='0' ispostdoc='0' isnewdoc='0' " +
                " isreportdesign='0' iscopydoc='0' isimport='0' islistdoc='0' ";
                " isreportdesign='0' iscopydoc='0' isimport='0' islistdoc='0' is38formtype='0' ";
        if ((optype & 1) == 1) {
            if (sb.indexOf("isexportCanEdit='0'") < 0)
                s = s.replaceFirst("isexport='0'", " isexport='1' ");
@@ -4948,12 +4957,16 @@
            if (sb.indexOf("isrevokepostdocCanEdit='0'") < 0)
                s = s.replaceFirst("isrevokepostdoc='0'", " isrevokepostdoc='1' ");
        }
        if ((optype & 262144) == 262144) {
            if (sb.indexOf("is38formtypeCanEdit='0'") < 0)
                s = s.replaceFirst("is38formtype='0'", " is38formtype='1' ");
        }
        sb.append(s);
    }
    private void prossFormType(Map<String, Object> map, StringBuffer sb) {
        int formtype = map.get("formtype") == null ? 0 : (Integer) map.get("formtype");
        int formtype =GridUtils.prossRowSetDataType_Int(map,"formtype");
        int subformtype =GridUtils.prossRowSetDataType_Int(map,"subformtype");
        switch (formtype) {
            case 1:
            case 2:
@@ -4986,7 +4999,10 @@
            case 18:
            case 38:
            case 238:
                sb.append(" isaddrowCanEdit='0'  isdelrowCanEdit='0' iscopyrowCanEdit='0'  issaveCanEdit='0'  isnewdocCanEdit='0' ispostdocCanEdit='0' isdeldocCanEdit='0'  iscancelpostdocCanEdit='0'  isrevokepostdocCanEdit='0' isexecspCanEdit='0' iscopydocCanEdit='0' islistdocCanEdit='0' isopenqueryCanEdit='1' isreportdesignCanEdit='1' isprintCanEdit='1' isexportCanEdit='1' isimportCanEdit='0' ");
                if(subformtype==5)//表示38类型的汇总项
                    sb.append(" isaddrowCanEdit='0'  isdelrowCanEdit='0' iscopyrowCanEdit='0'  issaveCanEdit='0'  isnewdocCanEdit='0' ispostdocCanEdit='0' isdeldocCanEdit='0'  iscancelpostdocCanEdit='0'  isrevokepostdocCanEdit='0' isexecspCanEdit='0' iscopydocCanEdit='0' islistdocCanEdit='0' isopenqueryCanEdit='0' isreportdesignCanEdit='0' isprintCanEdit='0' isexportCanEdit='0' isimportCanEdit='0' is38formtypeCanEdit='0'");
                else
                    sb.append(" isaddrowCanEdit='0'  isdelrowCanEdit='0' iscopyrowCanEdit='0'  issaveCanEdit='0'  isnewdocCanEdit='0' ispostdocCanEdit='0' isdeldocCanEdit='0'  iscancelpostdocCanEdit='0'  isrevokepostdocCanEdit='0' isexecspCanEdit='0' iscopydocCanEdit='0' islistdocCanEdit='0' isopenqueryCanEdit='1' isreportdesignCanEdit='1' isprintCanEdit='1' isexportCanEdit='1' isimportCanEdit='0' is38formtypeCanEdit='1'");
                break;
            case 19:
                sb.append(" isaddrowCanEdit='0'  isdelrowCanEdit='0' iscopyrowCanEdit='0'  issaveCanEdit='0'  isnewdocCanEdit='0' ispostdocCanEdit='0' isdeldocCanEdit='0'  iscancelpostdocCanEdit='0' isrevokepostdocCanEdit='0' isopenqueryCanEdit='0'  iscopydocCanEdit='0' islistdocCanEdit='0' isexecspCanEdit='1' isreportdesignCanEdit='1' isprintCanEdit='1' isexportCanEdit='1' isimportCanEdit='0' ");