Beispiel #1
0
    protected void btnOk_Click(object sender, EventArgs e)
    {
        DEVOPENRULE openRule = new DEVOPENRULE();

        GetHTTPObj(out openRule);
        GROUPOPENRULE[] GroupOpenRule = (GROUPOPENRULE[])Session["GroupOpenRuleList"];
        if (GroupOpenRule == null)
        {
            GroupOpenRule    = new GROUPOPENRULE[1];
            GroupOpenRule[0] = new GROUPOPENRULE();
            GroupOpenRule[0] = GetGroupOpenRuleFromHtml(null);
        }
        openRule.GroupOpenRule = GroupOpenRule;
        string szOp = IsNewCtl.Value == "true" ? "新建" : "修改";

        if (m_Request.Device.DevOpenRuleSet(openRule, out openRule) != REQUESTCODE.EXECUTE_SUCCESS)
        {
            ViewState["info"] = szOp + "失败" + m_Request.szErrMessage;
            MessageBox(m_Request.szErrMessage, szOp + "失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
        }
        else
        {
            ViewState["info"] = szOp + "成功";
            MessageBox(szOp + "成功", "提示", MSGBOX.SUCCESS, MSGBOX_ACTION.OK);
            return;
        }
    }
Beispiel #2
0
    private void DelOpenRule(string szID)
    {
        REQUESTCODE uResponse = REQUESTCODE.EXECUTE_FAIL;
        DEVOPENRULE delRule   = new DEVOPENRULE();

        delRule.dwRuleSN = Parse(szID);
        uResponse        = m_Request.Device.DevOpenRuleDel(delRule);
        if (uResponse != REQUESTCODE.EXECUTE_SUCCESS)
        {
            MessageBox(m_Request.szErrMessage, "提示", MSGBOX.ERROR);
        }
    }
Beispiel #3
0
 private bool newOpenRuleSN(DEVOPENRULE openRule, out DEVOPENRULE returnOpenRule, string szRoomName)
 {
     returnOpenRule = new DEVOPENRULE();
     GROUPOPENRULE[] openrule = openRule.GroupOpenRule;
     returnOpenRule.szRuleName     = szRoomName;
     openrule[0].szGroup.dwGroupID = 0;
     returnOpenRule.GroupOpenRule  = openrule;
     if (m_Request.Device.DevOpenRuleSet(returnOpenRule, out returnOpenRule) == REQUESTCODE.EXECUTE_SUCCESS)
     {
         return(true);
     }
     else
     {
         Logger.trace("新建开放规则失败");
         return(false);
     }
 }
Beispiel #4
0
    public bool getOpenRuleByID(string szID, out DEVOPENRULE openRule)
    {
        openRule = new DEVOPENRULE();

        DEVOPENRULEREQ vrGet = new DEVOPENRULEREQ();

        vrGet.dwRuleSN = Parse(szID);

        DEVOPENRULE[] vtRes;
        REQUESTCODE   uRes = m_Request.Device.DevOpenRuleGet(vrGet, out vtRes);

        if (uRes == REQUESTCODE.EXECUTE_SUCCESS && vtRes != null && vtRes.Length > 0)
        {
            openRule = vtRes[0];
            return(true);
        }
        return(false);
    }
Beispiel #5
0
    private void SyRoom(DataSet dsTable)
    {
        int            uAll        = 0;
        int            uUnSy       = 0;
        int            uADD        = 0;
        int            uAddSuccse  = 0;
        int            uAddFail    = 0;
        int            uSet        = 0;
        int            uSetSuccse  = 0;
        int            uSetFail    = 0;
        DEVOPENRULE    setOpenRule = new DEVOPENRULE();
        DEVOPENRULEREQ vrOpenRule  = new DEVOPENRULEREQ();

        DEVOPENRULE[] devOpenRule;
        if (m_Request.Device.DevOpenRuleGet(vrOpenRule, out devOpenRule) == REQUESTCODE.EXECUTE_SUCCESS && devOpenRule != null && devOpenRule.Length > 0)
        {
            setOpenRule = devOpenRule[0];
        }
        else
        {
            Logger.trace("对应的开放规则不存在");
        }
        UNICAMPUS[]   camp        = GetAllCampus();
        UNIBUILDING[] allBuilding = getAllBuilding();
        UNIDEPT[]     allDept     = GetAllDept();
        UNIROOM[]     allRoom     = GetAllRoom();
        UNILAB[]      allLab      = GetAllLab();
        UNIDEVCLS[]   allDevClass = GetAllDevCls();
        UNIDEVKIND[]  allDevKind  = GetAllDevKind();
        UNIDEVICE[]   allDev;
        GetAllDev(out allDev);
        if (camp == null || camp.Length == 0)
        {
            Logger.trace("校区内容为空 不同步房间");
            return;
        }
        if (allLab == null || allLab.Length == 0)
        {
            Logger.trace("实验室内容为空 不同步房间");
            return;
        }
        if (allBuilding == null || allBuilding.Length == 0)
        {
            Logger.trace("楼宇内容为空 不同步房间");
            return;
        }
        if (allDevClass == null || allDevClass.Length == 0)
        {
            Logger.trace("楼宇类型为空 不同步房间");
            return;
        }
        DataTable dtRoom = new DataTable();

        dtRoom = dsTable.Tables[0];
        uAll   = dtRoom.Rows.Count;
        Logger.trace("allroomList" + allRoom.Length);
        for (int op = 0; op < allRoom.Length; op++)
        {
            UNIROOM setRoom = new UNIROOM();
            setRoom = allRoom[op];
            if (setRoom.dwBuildingID != null && setRoom.dwBuildingID.ToString() != "" && setRoom.dwBuildingID.ToString() != "0")
            {
                continue;
            }
            Logger.trace("房间需要设置楼宇" + setRoom.szRoomName);
            string szRoomNameObj = setRoom.szRoomName;
            for (int i = 0; i < dtRoom.Rows.Count; i++)
            {
                string szRoomName = "";
                if (dtRoom.Rows[i]["room_name"] != null)
                {
                    szRoomName = dtRoom.Rows[i]["room_name"].ToString();
                }
                string szRoomNo = "";
                if (dtRoom.Rows[i]["room_no"] != null)
                {
                    szRoomNo = dtRoom.Rows[i]["room_no"].ToString();
                }
                if (!(szRoomName.IndexOf(szRoomNo) > -1))
                {
                    szRoomName = szRoomName + szRoomNo;
                }
                string szBulidingName = "";
                if (szRoomNameObj == szRoomName)
                {
                    szBulidingName = dtRoom.Rows[i]["house_name"].ToString();
                }
                bool bRead = false;
                if (szBulidingName != "")
                {
                    Logger.trace("房间需要设置楼宇" + setRoom.szRoomName + szBulidingName);
                    for (int n = 0; n < allBuilding.Length; n++)
                    {
                        if (szBulidingName == allBuilding[n].szBuildingName.ToString())
                        {
                            Logger.trace("找到对应房间需要设置楼宇" + setRoom.szRoomName + szBulidingName);
                            setRoom.dwBuildingID = allBuilding[n].dwBuildingID;
                            m_Request.Device.RoomSet(setRoom, out setRoom);
                            Logger.trace("房间所在楼宇设置成功");
                            bRead = true;
                            break;
                        }
                    }
                }
                if (bRead)
                {
                    break;
                }
            }
        }
        // return;


        Logger.trace("dtRoom.Rows.Count.ToString()" + dtRoom.Rows.Count.ToString());
        for (int i = 0; i < dtRoom.Rows.Count; i++)
        {
            string szRoomName = "";
            if (dtRoom.Rows[i]["room_name"] != null)
            {
                szRoomName = dtRoom.Rows[i]["room_name"].ToString();
            }
            string szRoomNo = "";
            if (dtRoom.Rows[i]["room_no"] != null)
            {
                szRoomNo = dtRoom.Rows[i]["room_no"].ToString();
            }
            if (!(szRoomName.IndexOf(szRoomNo) > -1))
            {
                szRoomName = szRoomName + szRoomNo;
            }
            string szRoomNameCamp = szRoomName + "(" + dtRoom.Rows[i]["campus_name"].ToString() + ")";
            bool   bbread         = false;
            for (int j = 0; j < allRoom.Length; j++)
            {
                UNIROOM setRoom = new UNIROOM();

                setRoom = allRoom[j];
                //Logger.trace("房间所在楼宇设置已存在"+setRoom.szRoomName);
                if (setRoom.dwBuildingID != null)
                {
                    //Logger.trace("房间所在楼宇设置已存在");
                    continue;
                }
                if (GetRoomByName(szRoomName, out setRoom))
                {
                    // Logger.trace("房间所在楼宇设置开始" + setRoom.szRoomName);

                    string szBuilding = dtRoom.Rows[i]["house_name"].ToString();
                    for (int n = 0; n < allBuilding.Length; n++)
                    {
                        if (szBuilding == allBuilding[n].szBuildingName.ToString())
                        {
                            Logger.trace("找到房间所在楼宇设置开始" + setRoom.szRoomName);
                            setRoom.dwBuildingID = allBuilding[n].dwBuildingID;
                            m_Request.Device.RoomSet(setRoom, out setRoom);
                            // Logger.trace("房间所在楼宇设置成功");
                            break;
                        }
                    }
                }
                else
                {
                    //  szRoomName = szRoomName + "(" + dtRoom.Rows[i]["campus_name"].ToString() + ")";
                    string szBuilding = dtRoom.Rows[i]["house_name"].ToString();
                    if (GetRoomByName(szRoomNameCamp, out setRoom))
                    {
                    }
                }
                if (bbread)
                {
                    break;
                }
            }
        }
        //return;
        //
        for (int i = 0; i < dtRoom.Rows.Count; i++)
        {
            string szCampName = "";
            if (dtRoom.Rows[i]["campus_name"] != null)
            {
                szCampName = dtRoom.Rows[i]["campus_name"].ToString();
            }
            string szDeptName = "";
            if (dtRoom.Rows[i]["department_name"] != null)
            {
                szDeptName = dtRoom.Rows[i]["department_name"].ToString();
            }
            if (szDeptName == "")
            {
                uUnSy = uUnSy + 1;
                Logger.trace("房间对应的实验室名称为空 不同步房间,第三方部门名称:" + dtRoom.Rows[i]["room_name"].ToString() + "保存为其他" + szDeptName);
                szDeptName = "上海财经大学";
                //continue;
            }
            string szBuidlName = "";
            if (dtRoom.Rows[i]["house_name"] != null)
            {
                szBuidlName = dtRoom.Rows[i]["house_name"].ToString();
            }
            if (szBuidlName == "")
            {
                uUnSy = uUnSy + 1;
                Logger.trace("房间对应的楼宇名称为空 不同步房间,第三方房间名称:" + szBuidlName);
                continue;
            }
            UNILAB setLab      = new UNILAB();
            UNILAB setOtherLab = new UNILAB();
            for (int m = 0; m < allLab.Length; m++)
            {
                if (allLab[m].szLabName.ToString() == szDeptName)
                {
                    setLab = allLab[m];
                    break;
                }
                if (allLab[m].szLabName.ToString() == "其他")
                {
                    setOtherLab = allLab[m];
                }
            }
            if (setLab.dwLabID == null)
            {
                if (setOtherLab.dwLabID != null)
                {
                    setLab = setOtherLab;
                }
                else
                {
                    /*
                     * UNILAB tempLab;
                     * if (GetLabByID(100661724, out tempLab))
                     * {
                     *  uUnSy = uUnSy + 1;
                     *  Logger.trace("房间对应的实验室不存在 不同步房间,第三方部门名称:" + szDeptName);
                     *  setLab = tempLab;
                     * }
                     */
                    uUnSy = uUnSy + 1;
                    Logger.trace("房间对应的实验室不存在 不同步房间,第三方部门名称:" + szDeptName);
                    continue;
                }
            }
            UNIBUILDING setBuliding = new UNIBUILDING();
            for (int m = 0; m < allBuilding.Length; m++)
            {
                if (allBuilding[m].szBuildingName.ToString() == szBuidlName)
                {
                    setBuliding = allBuilding[m];
                    break;
                }
            }
            if (setBuliding.dwBuildingID == null)
            {
                uUnSy = uUnSy + 1;
                Logger.trace("房间对应的楼宇名称为空 不同步房间,第三方房间名称:" + szBuidlName);
                continue;
            }
            string szDevClssName = "";
            if (dtRoom.Rows[i]["classroom_type_name"] != null)
            {
                if (dtRoom.Rows[i]["classroom_type_name"].ToString() == "")
                {
                    szDevClssName = "空白";
                }
                else
                {
                    szDevClssName = dtRoom.Rows[i]["classroom_type_name"].ToString();
                }
            }
            UNIDEVCLS setDevClass = new UNIDEVCLS();
            for (int m = 0; m < allDevClass.Length; m++)
            {
                if (allDevClass[m].szClassName.ToString() == szDevClssName)
                {
                    setDevClass = allDevClass[m];
                    break;
                }
            }
            if (setDevClass.dwClassID == null)
            {
                uUnSy = uUnSy + 1;
                Logger.trace("房间对应的类型不存在 不同步房间:" + szDevClssName);
                continue;
            }

            string szRoomName = "";
            if (dtRoom.Rows[i]["room_name"] != null)
            {
                szRoomName = dtRoom.Rows[i]["room_name"].ToString();
            }

            uint uMaxUser = 1;
            if (dtRoom.Rows[i]["seat_amt"] != null)
            {
                uMaxUser = Parse(dtRoom.Rows[i]["seat_amt"].ToString());
            }
            string szRoomNo = "";
            if (dtRoom.Rows[i]["room_no"] != null)
            {
                szRoomNo = dtRoom.Rows[i]["room_no"].ToString();
            }
            if (!(szRoomName.IndexOf(szRoomNo) > -1))
            {
                szRoomName = szRoomName + szRoomNo;
            }
            UNIDEVKIND setDevKind         = new UNIDEVKIND();
            UNIDEVKIND setDevKindCampName = new UNIDEVKIND();
            bool       bAddKind           = true;
            bool       bAddKindCampName   = true;
            for (int m = 0; allDevKind != null && m < allDevKind.Length; m++)
            {
                if (allDevKind[m].szProducer == dtRoom.Rows[i]["room_code"].ToString())
                {
                    for (int k = 0; k < allDevKind.Length; k++)
                    {
                        if (allDevKind[k].szKindName == szRoomName)
                        {
                            bAddKind         = false;
                            bAddKindCampName = false;
                            setDevKind       = allDevKind[k];
                            break;
                        }
                    }
                }
            }
            if (bAddKind)
            {
                setDevKind.dwClassID  = setDevClass.dwClassID;
                setDevKind.dwMaxUsers = uMaxUser;
                setDevKind.dwMinUsers = 1;
                setDevKind.szKindName = szRoomName;
                setDevKind.szProducer = dtRoom.Rows[i]["room_code"].ToString();
                setDevKind.dwProperty = (uint)UNIDEVKIND.DWPROPERTY.DEVPROP_EXCLUSIVE;
                setDevKindCampName    = setDevKind;
                if (m_Request.Device.DevKindSet(setDevKind, out setDevKind) == REQUESTCODE.EXECUTE_SUCCESS)
                {
                    //uAddSuccse = uAddSuccse + 1;
                    Logger.trace("房间对应的类型新建成功:" + szRoomName);
                    allDevKind = GetAllDevKind();
                }
                else
                {
                    // uAddFail = uAddFail + 1;
                    Logger.trace("房间对应的类型新建失败:" + m_Request.szErrMessage.ToString());
                    if (m_Request.szErrMessage.ToString().IndexOf("已存在") > -1)
                    {
                        szRoomName            = szRoomName + "(" + szCampName + ")";
                        setDevKind.szKindName = szRoomName;
                        if (m_Request.Device.DevKindSet(setDevKindCampName, out setDevKindCampName) == REQUESTCODE.EXECUTE_SUCCESS)
                        {
                            Logger.trace("房间对应的类型新建成功-添加校区名:" + szRoomName);
                            allDevKind = GetAllDevKind();
                        }
                        else
                        {
                            Logger.trace("房间对应的类型新建失败-添加校区名:" + szRoomName);
                            continue;
                        }
                    }
                }
            }
            else
            {
                if (!((((uint)setDevKind.dwProperty) & (uint)UNIDEVKIND.DWPROPERTY.DEVPROP_SHARE) > 0))
                {
                    if (uMaxUser > 0)
                    {
                        setDevKind.dwMaxUsers = uMaxUser;
                    }
                    else
                    {
                        setDevKind.dwMaxUsers = 1;
                    }
                    setDevKind.dwMinUsers = 1;
                    setDevKind.dwMaxUsers = uMaxUser;
                    setDevKind.szProducer = dtRoom.Rows[i]["room_code"].ToString();
                    if (m_Request.Device.DevKindSet(setDevKind, out setDevKind) == REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        Logger.trace(setDevKind.dwKindID + "房间类型修改成功:" + setDevKind.dwMaxUsers + szRoomName);

                        allDevKind = GetAllDevKind();
                    }
                    else
                    {
                        Logger.trace("房间类型修改失败:" + m_Request.szErrMessage + szRoomName);
                    }
                }
                else
                {
                    setDevKind.dwMinUsers = 1;
                    setDevKind.szProducer = dtRoom.Rows[i]["room_code"].ToString();

                    setDevKind.szKindName = szRoomName;
                    if (m_Request.Device.DevKindSet(setDevKind, out setDevKind) == REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        Logger.trace("房间类型修改成功:" + szRoomName);
                        allDevKind = GetAllDevKind();
                    }
                    else
                    {
                        Logger.trace("房间类型修改失败:" + m_Request.szErrMessage + szRoomName);
                    }
                }
                //  uSet = uSet + 1;
            }
            string szRoomCode = "";
            if (dtRoom.Rows[i]["room_code"] != null)
            {
                szRoomCode = dtRoom.Rows[i]["room_code"].ToString();
            }
            uint uRoomSize = 0;
            if (dtRoom.Rows[i]["build_area"] != null)
            {
                uRoomSize = Parse(dtRoom.Rows[i]["build_area"].ToString());
            }
            UNIROOM newRoom         = new UNIROOM();
            UNIROOM newRoomCampName = new UNIROOM();
            bool    bNewRoom        = true;
            UNIROOM bExistRoom      = new UNIROOM();
            for (int k = 0; k < allRoom.Length; k++)
            {
                if (allRoom[k].szRoomNo == szRoomCode)
                {
                    //if (allRoom[k].szRoomNo == szRoomCode)
                    {
                        bExistRoom = allRoom[k];
                        bNewRoom   = false;
                        break;
                    }
                }
            }
            if (!bNewRoom)
            {
                uint   uOldBuilding = (uint)bExistRoom.dwBuildingID;
                string szOldName    = bExistRoom.szRoomName;
                if (bExistRoom.dwBuildingID != setBuliding.dwBuildingID)
                {
                    bExistRoom.dwBuildingID = setBuliding.dwBuildingID;
                    if (m_Request.Device.RoomSet(bExistRoom, out bExistRoom) == REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        Logger.trace("房间所在楼宇变动" + uOldBuilding.ToString() + "改为" + setBuliding.dwBuildingID.ToString());
                    }
                }
                if (bExistRoom.szRoomName != szRoomName)
                {
                    bExistRoom.szRoomName   = szRoomName;
                    bExistRoom.dwBuildingID = setBuliding.dwBuildingID;
                    if (m_Request.Device.RoomSet(bExistRoom, out bExistRoom) == REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        Logger.trace("房间名称变动" + szOldName.ToString() + "改为" + szRoomName.ToString());
                    }
                }
            }
            if (bNewRoom)
            {
                newRoom.szRoomName   = szRoomName;
                newRoom.dwBuildingID = setBuliding.dwBuildingID;
                //newRoom.dwCampusID = setBuliding.dwCampusID;
                newRoom.dwCampusID = Parse(dtRoom.Rows[i]["CAMPUS_CODE"].ToString());
                newRoom.dwLabID    = setLab.dwLabID;

                newRoom.dwRoomSize = uRoomSize;
                newRoom.szRoomNo   = szRoomCode;
                DEVOPENRULE newOpenRule = new DEVOPENRULE();
                if (newOpenRuleSN(setOpenRule, out newOpenRule, szRoomName))
                {
                    newRoom.dwOpenRuleSN = newOpenRule.dwRuleSN;
                }
                else
                {
                    Logger.trace("开放规则新建成功:" + m_Request.szErrMessage);
                    newRoom.dwOpenRuleSN = setOpenRule.dwRuleSN;
                }
                UNIGROUP manGroup = new UNIGROUP();
                if (NewGroup(szRoomName, (uint)UNIGROUP.DWKIND.GROUPKIND_MAN, out manGroup))
                {
                    Logger.trace("房间对应的管理员新建成功:");
                    newRoom.dwManGroupID = manGroup.dwGroupID;
                }
                else
                {
                    Logger.trace("房间对应的管理员新建失败" + ";" + m_Request.szErrMessage.ToString());
                    continue;
                }
                newRoomCampName = newRoom;

                if (m_Request.Device.RoomSet(newRoom, out newRoom) == REQUESTCODE.EXECUTE_SUCCESS)
                {
                    Logger.trace("房间新建成功" + szRoomName);
                    allRoom = GetAllRoom();
                }
                else
                {
                    uAddFail = uAddFail + 1;
                    Logger.trace("房间新建失败:" + szRoomName + ";" + m_Request.szErrMessage.ToString());
                    szRoomName = szRoomName + "(" + szCampName + ")";
                    newRoomCampName.szRoomName = szRoomName;
                    if (m_Request.szErrMessage.IndexOf("已存在") > -1)
                    {
                        if (m_Request.Device.RoomSet(newRoomCampName, out newRoomCampName) == REQUESTCODE.EXECUTE_SUCCESS)
                        {
                            Logger.trace("房间新建成功" + szRoomName);
                            allRoom = GetAllRoom();
                        }
                        else
                        {
                            Logger.trace("房间新建失败:" + szRoomName + ";" + m_Request.szErrMessage.ToString());

                            continue;
                        }
                    }
                }
            }
            GetAllDev(out allDev);
            UNIDEVICE setDev  = new UNIDEVICE();
            bool      bAddDev = true;
            for (int m = 0; m < allDev.Length; m++)
            {
                if (allDev[m].dwDevSN.ToString() == szRoomCode)
                {
                    setDev  = allDev[m];
                    bAddDev = false;
                    break;
                }
            }
            if (bAddDev)
            {
                setDev.szDevName = szRoomName;
                setDev.dwRoomID  = newRoom.dwRoomID;
                setDev.dwKindID  = setDevKind.dwKindID;
                uint uDevSN = Parse(szRoomCode);
                if (uDevSN == 0)
                {
                    uDevSN = (uint)newRoom.dwRoomID;
                }
                setDev.dwDevSN    = uDevSN;
                setDev.szAssertSN = uDevSN.ToString();
                if (setDev.dwRoomID == null || setDev.dwRoomID == 0)
                {
                    Logger.trace("房间编号为空或者0:" + setDev.szDevName.ToString());
                    continue;
                }
                if (m_Request.Device.Set(setDev, out setDev) == REQUESTCODE.EXECUTE_SUCCESS)
                {
                    uAddSuccse = uAddSuccse + 1;
                    Logger.trace("房间新建成功:" + setDev.szDevName.ToString());
                }
                else
                {
                    uAddFail = uAddFail + 1;
                    Logger.trace("房间新建失败:" + szRoomName + m_Request.szErrMessage.ToString());
                }
            }
            else
            {
                setDev.dwRoomID = newRoom.dwRoomID;
                setDev.dwKindID = setDevKind.dwKindID;
                uint uDevSN = Parse(szRoomCode);
                if (uDevSN == 0)
                {
                    uDevSN = (uint)newRoom.dwRoomID;
                }
                setDev.dwDevSN    = uDevSN;
                setDev.szDevName  = szRoomName;
                setDev.szAssertSN = uDevSN.ToString();
                if (m_Request.Device.Set(setDev, out setDev) == REQUESTCODE.EXECUTE_SUCCESS)
                {
                    uSetSuccse = uSetSuccse + 1;
                    Logger.trace("房间更新成功:" + setDev.szDevName.ToString());
                }
                else
                {
                    uSetFail = uSetFail + 1;
                    Logger.trace("房间更新失败:" + m_Request.szErrMessage.ToString());
                }
            }
        }
        Logger.trace("房间总共需同步数据:" + uAll + ";新建数据" + uADD + ";新建成功:" + uAddSuccse + ";新建失败:" + uAddFail + ";更新总数据:" + uSet + ";更新成功:" + uSetSuccse + ";更新失败:" + uSetFail);
    }
Beispiel #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            uint uGroup             = Parse(Request["dwGroupID"]);
            GROUPMEMDETAILREQ vrGet = new GROUPMEMDETAILREQ();
            vrGet.dwGroupID = uGroup;
            GROUPMEMDETAIL[] groupMemberList;
            if (m_Request.Group.GetGroupMemDetail(vrGet, out groupMemberList) == REQUESTCODE.EXECUTE_SUCCESS && groupMemberList != null && groupMemberList.Length > 0)
            {
                DEVOPENRULEREQ vrRuleGet = new DEVOPENRULEREQ();
                vrRuleGet.dwRuleSN = Parse(Request["id"]);
                DEVOPENRULE[] vtRes;
                if (m_Request.Device.DevOpenRuleGet(vrRuleGet, out vtRes) == REQUESTCODE.EXECUTE_SUCCESS && vtRes != null && vtRes.Length > 0)
                {
                    DEVOPENRULE setValue = new DEVOPENRULE();
                    setValue = vtRes[0];
                    setValue.GroupOpenRule = null;
                    CHANGEGROUPOPENRULE delOpenRule = new CHANGEGROUPOPENRULE();
                    delOpenRule.dwRuleSN     = setValue.dwRuleSN;
                    delOpenRule.dwOldGroupID = 0;
                    delOpenRule.dwGroupID    = uGroup;

                    if (m_Request.Device.GroupOpenRuleDel(delOpenRule) == REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        setValue.GroupOpenRule    = new GROUPOPENRULE[1];
                        setValue.GroupOpenRule[0] = new GROUPOPENRULE();
                        GROUPOPENRULE groupOpenRule = (GROUPOPENRULE)Session["groupOpenRuleSetMember"];
                        setValue.GroupOpenRule[0] = groupOpenRule;
                        if (m_Request.Device.DevOpenRuleSet(setValue, out setValue) == REQUESTCODE.EXECUTE_SUCCESS)
                        {
                            MessageBox("修改成功", "修改成功", MSGBOX.SUCCESS, MSGBOX_ACTION.OK);
                            return;
                        }
                        else
                        {
                            MessageBox(m_Request.szErrMessage, "修改失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                            return;
                        }
                    }
                    else
                    {
                        MessageBox(m_Request.szErrMessage, "修改失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                        return;
                    }

                    /*
                     *
                     * */
                }
            }

            else
            {
                DEVOPENRULEREQ vrRuleGet = new DEVOPENRULEREQ();
                vrRuleGet.dwRuleSN = Parse(Request["id"]);
                DEVOPENRULE[] vtRes;
                if (m_Request.Device.DevOpenRuleGet(vrRuleGet, out vtRes) == REQUESTCODE.EXECUTE_SUCCESS && vtRes != null && vtRes.Length > 0)
                {
                    DEVOPENRULE setValue = new DEVOPENRULE();
                    setValue = vtRes[0];
                    GROUPOPENRULE openruleNullGroup = setValue.GroupOpenRule[0];
                    setValue.GroupOpenRule = null;
                    CHANGEGROUPOPENRULE delOpenRule = new CHANGEGROUPOPENRULE();
                    delOpenRule.dwRuleSN     = setValue.dwRuleSN;
                    delOpenRule.dwOldGroupID = uGroup;
                    delOpenRule.dwGroupID    = 0;

                    if (m_Request.Device.GroupOpenRuleDel(delOpenRule) == REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        setValue.GroupOpenRule    = new GROUPOPENRULE[1];
                        setValue.GroupOpenRule[0] = new GROUPOPENRULE();
                        UNIGROUP groupTemp = new UNIGROUP();
                        groupTemp.dwGroupID       = 0;
                        openruleNullGroup.szGroup = groupTemp;
                        GROUPOPENRULE groupOpenRule = openruleNullGroup;
                        setValue.GroupOpenRule[0] = groupOpenRule;
                        if (m_Request.Device.DevOpenRuleSet(setValue, out setValue) == REQUESTCODE.EXECUTE_SUCCESS)
                        {
                            MessageBox("修改成功", "修改成功", MSGBOX.SUCCESS, MSGBOX_ACTION.OK);
                            return;
                        }
                        else
                        {
                            MessageBox(m_Request.szErrMessage, "修改失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                            return;
                        }
                    }
                    else
                    {
                        MessageBox(m_Request.szErrMessage, "修改失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                        return;
                    }
                }
            }
        }
        if (Request["op"] == "set")
        {
            bSet = true;
            DEVOPENRULEREQ vrGet = new DEVOPENRULEREQ();
            vrGet.dwRuleSN = Parse(Request["id"]);
            DEVOPENRULE[] vtRes;
            if (m_Request.Device.DevOpenRuleGet(vrGet, out vtRes) == REQUESTCODE.EXECUTE_SUCCESS && vtRes != null && vtRes.Length > 0)
            {
                DEVOPENRULE setGroupRule = new DEVOPENRULE();
                setGroupRule = vtRes[0];
                GROUPOPENRULE[] vtGroupOpenRule = setGroupRule.GroupOpenRule;
                if (vtGroupOpenRule != null && vtGroupOpenRule.Length > 0)
                {
                    bool IsGroup = false;
                    for (int i = 0; i < vtGroupOpenRule.Length; i++)
                    {
                        UNIGROUP group = new UNIGROUP();
                        group = vtGroupOpenRule[i].szGroup;
                        if (group.dwGroupID != null && ((uint)group.dwGroupID != 0))
                        {
                            PutMemberValue("dwGroupID", group.dwGroupID.ToString());

                            IsGroup = true;
                            break;
                        }
                    }
                    if (!IsGroup)
                    {
                        UNIGROUP setGroup = new UNIGROUP();
                        if (NewGroup(setGroupRule.szRuleName + "开放规则组", (uint)UNIGROUP.DWKIND.GROUPKIND_OPENRULE, out setGroup))
                        {
                            GROUPOPENRULE setGroupOpenRule = new GROUPOPENRULE();
                            setGroupOpenRule                  = vtGroupOpenRule[0];
                            setGroupOpenRule.szGroup          = new UNIGROUP();
                            setGroupOpenRule.szGroup          = setGroup;
                            Session["groupOpenRuleSetMember"] = setGroupOpenRule;
                            // ViewState["groupOpenRule"] = setGroupOpenRule;
                            PutMemberValue("dwGroupID", setGroup.dwGroupID.ToString());
                        }
                    }
                }
            }
        }
        else
        {
            uint?uMax = 0;
            uint uID  = PRStation.DOORCTRLSRV_BASE | PRDoorCtrlSrv.MSREQ_DCS_SET;

            if (GetMaxValue(ref uMax, uID, "dwSN"))
            {
            }
            m_Title = "新建管理员";
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        UNICAMPUS[] vtCamp = GetAllCampus();
        if (vtCamp != null && vtCamp.Length > 0)
        {
            for (int i = 0; i < vtCamp.Length; i++)
            {
                szCamp += GetInputItemHtml(CONSTHTML.option, "", vtCamp[i].szCampusName, vtCamp[i].dwCampusID.ToString());
            }
        }
        UNIBUILDING[] vtBuilding = getAllBuilding();
        szBuilding += GetInputItemHtml(CONSTHTML.option, "", "全部", "");
        for (int i = 0; i < vtBuilding.Length; i++)
        {
            if (vtBuilding[i].dwCampusID.ToString() == vtCamp[0].dwCampusID.ToString())
            {
                szBuilding += GetInputItemHtml(CONSTHTML.option, "", vtBuilding[i].szBuildingName.ToString(), vtBuilding[i].dwBuildingID.ToString());
            }
        }
        if (IsPostBack)
        {
            uint uGroupid = Parse(Request["dwGroupID"]);
            if (uGroupid == 0)
            {
                MessageBox("找不到需要复制的成员", "复制失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                return;
            }
            UNIGROUP[] setGroupList = GetGroupByID(uGroupid);
            if (setGroupList == null || setGroupList.Length == 0 || setGroupList[0].szMembers == null || setGroupList[0].szMembers.Length == 0)
            {
                MessageBox("复制成员数0", "复制成功", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                return;
            }
            GROUPMEMBER[] groupMemberList = setGroupList[0].szMembers;
            string        devidchk        = Request["devidchk"];
            string[]      openruleList    = devidchk.Split(',');
            for (int k = 0; k < openruleList.Length; k++)
            {
                string        szRuleSN         = openruleList[k];
                GROUPOPENRULE setGroupOpenRule = new GROUPOPENRULE();

                uint           uGroupIDValue = 0;
                DEVOPENRULEREQ vrGet         = new DEVOPENRULEREQ();
                vrGet.dwRuleSN = Parse(szRuleSN);
                DEVOPENRULE[] vtRes;
                if (!(m_Request.Device.DevOpenRuleGet(vrGet, out vtRes) == REQUESTCODE.EXECUTE_SUCCESS && vtRes != null && vtRes.Length > 0))
                {
                    continue;
                }
                else
                {
                    DEVOPENRULE setGroupRule = new DEVOPENRULE();
                    setGroupRule = vtRes[0];
                    GROUPOPENRULE[] vtGroupOpenRule = setGroupRule.GroupOpenRule;

                    if (vtGroupOpenRule != null && vtGroupOpenRule.Length > 0)
                    {
                        for (int n = 0; n < vtGroupOpenRule.Length; n++)
                        {
                            UNIGROUP group = new UNIGROUP();
                            group = vtGroupOpenRule[n].szGroup;
                            if (group.dwGroupID != null && ((uint)group.dwGroupID != 0))
                            {
                                uGroupIDValue = (uint)group.dwGroupID;
                                break;
                            }
                        }
                        if (uGroupIDValue == 0)
                        {
                            UNIGROUP setGroup = new UNIGROUP();
                            if (NewGroup(setGroupRule.szRuleName + "开放规则组", (uint)UNIGROUP.DWKIND.GROUPKIND_OPENRULE, out setGroup))
                            {
                                setGroupOpenRule         = vtGroupOpenRule[0];
                                setGroupOpenRule.szGroup = new UNIGROUP();
                                setGroupOpenRule.szGroup = setGroup;
                                uGroupIDValue            = (uint)setGroup.dwGroupID;
                            }
                            else
                            {
                                MessageBox("新建白名单组失败", "复制失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                                continue;
                            }
                        }
                    }

                    DEVOPENRULE setValue = new DEVOPENRULE();
                    setValue = vtRes[0];
                    setValue.GroupOpenRule = null;
                    CHANGEGROUPOPENRULE delOpenRule = new CHANGEGROUPOPENRULE();
                    delOpenRule.dwRuleSN     = setValue.dwRuleSN;
                    delOpenRule.dwOldGroupID = 0;
                    delOpenRule.dwGroupID    = uGroupIDValue;
                    if (m_Request.Device.GroupOpenRuleDel(delOpenRule) == REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        setValue.GroupOpenRule    = new GROUPOPENRULE[1];
                        setValue.GroupOpenRule[0] = setGroupOpenRule;
                        if (m_Request.Device.DevOpenRuleSet(setValue, out setValue) == REQUESTCODE.EXECUTE_SUCCESS)
                        {
                            for (int i = 0; i < groupMemberList.Length; i++)
                            {
                                if (uGroupIDValue != 0)
                                {
                                    AddGroupMember(uGroupIDValue, groupMemberList[i].dwMemberID, (uint)groupMemberList[i].dwKind, groupMemberList[i].szName.ToString());
                                }
                            }
                        }
                    }
                }
            }
            MessageBox("复制成功", "复制成功", MSGBOX.SUCCESS, MSGBOX_ACTION.OK);
            return;
        }
        if (Request["op"] == "set")
        {
            bSet = true;
            DEVOPENRULEREQ vrGet = new DEVOPENRULEREQ();
            vrGet.dwRuleSN = Parse(Request["id"]);
            DEVOPENRULE[] vtRes;
            if (m_Request.Device.DevOpenRuleGet(vrGet, out vtRes) == REQUESTCODE.EXECUTE_SUCCESS && vtRes != null && vtRes.Length > 0)
            {
                DEVOPENRULE setGroupRule = new DEVOPENRULE();
                setGroupRule = vtRes[0];
                GROUPOPENRULE[] vtGroupOpenRule = setGroupRule.GroupOpenRule;
                if (vtGroupOpenRule != null && vtGroupOpenRule.Length > 0)
                {
                    bool IsGroup = false;
                    for (int i = 0; i < vtGroupOpenRule.Length; i++)
                    {
                        UNIGROUP group = new UNIGROUP();
                        group = vtGroupOpenRule[i].szGroup;
                        if (group.dwGroupID != null && ((uint)group.dwGroupID != 0))
                        {
                            PutMemberValue("dwGroupID", group.dwGroupID.ToString());

                            IsGroup = true;
                            break;
                        }
                    }
                    if (!IsGroup)
                    {
                        UNIGROUP setGroup = new UNIGROUP();
                        if (NewGroup(setGroupRule.szRuleName + "开放规则组", (uint)UNIGROUP.DWKIND.GROUPKIND_OPENRULE, out setGroup))
                        {
                            GROUPOPENRULE setGroupOpenRule = new GROUPOPENRULE();
                            setGroupOpenRule                  = vtGroupOpenRule[0];
                            setGroupOpenRule.szGroup          = new UNIGROUP();
                            setGroupOpenRule.szGroup          = setGroup;
                            Session["groupOpenRuleSetMember"] = setGroupOpenRule;
                            // ViewState["groupOpenRule"] = setGroupOpenRule;
                            PutMemberValue("dwGroupID", setGroup.dwGroupID.ToString());
                        }
                    }
                }
            }
        }
        else
        {
            uint?uMax = 0;
            uint uID  = PRStation.DOORCTRLSRV_BASE | PRDoorCtrlSrv.MSREQ_DCS_SET;

            if (GetMaxValue(ref uMax, uID, "dwSN"))
            {
            }
            m_Title = "新建管理员";
        }
    }
Beispiel #8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        for (int i = 0; i < 24; i++)
        {
            m_H += GetInputItemHtml(CONSTHTML.option, "", i.ToString("00"), i.ToString("00"));
        }
        for (int i = 0; i < 59; i++)
        {
            m_M += GetInputItemHtml(CONSTHTML.option, "", i.ToString("00"), i.ToString("00"));
        }
        if (IsPostBack)
        {
            bSet = true;
            ArrayList alist = new ArrayList();
            for (int i = 1; i <= 3; i++)
            {
                PERIODOPENRULE peri        = new PERIODOPENRULE();
                string         szStartDate = Request["dwStartDay" + i];
                string         szEndDate   = Request["dwEndDay" + i];

                if (szStartDate != null && szStartDate != "" && szEndDate != null && szEndDate != "")
                {
                    peri.dwStartDay = (GetDate(szStartDate));
                    peri.dwEndDay   = (GetDate(szEndDate));
                    ArrayList listDateTime = new ArrayList();
                    for (int j = 1; j <= 3; j++)
                    {
                        string      szStartH     = Request["starth" + i.ToString() + j.ToString()];
                        string      szStartM     = Request["startm" + i.ToString() + j.ToString()];
                        string      szEndH       = Request["endh" + i.ToString() + j.ToString()];
                        string      szEndM       = Request["endm" + i.ToString() + j.ToString()];
                        DAYOPENRULE openDateTime = new DAYOPENRULE();
                        uint        uDayBegTime  = Parse(szStartH + szStartM);
                        uint        uDayEndTime  = Parse(szEndH + szEndM);
                        if (uDayBegTime != 0 && uDayEndTime != 0 && uDayBegTime != uDayEndTime)
                        {
                            openDateTime.dwBegin       = Parse(szStartH + szStartM);
                            openDateTime.dwEnd         = Parse(szEndH + szEndM);
                            openDateTime.dwOpenLimit   = 0;
                            openDateTime.dwOpenPurpose = uopenpuope;
                            listDateTime.Add(openDateTime);
                        }
                    }
                    DAYOPENRULE[] openDayTimeList = new DAYOPENRULE[listDateTime.Count];
                    for (int m = 0; m < listDateTime.Count; m++)
                    {
                        openDayTimeList[m] = new DAYOPENRULE();
                        openDayTimeList[m] = (DAYOPENRULE)listDateTime[m];
                    }
                    peri.DayOpenRule = new DAYOPENRULE[listDateTime.Count];
                    peri.DayOpenRule = openDayTimeList;
                    alist.Add(peri);
                }
            }
            DEVOPENRULEREQ vrGet = new DEVOPENRULEREQ();
            vrGet.dwRuleSN = Parse(Request["dwID"]);
            ArrayList     delList = new ArrayList();
            DEVOPENRULE[] vtRes;
            if (m_Request.Device.DevOpenRuleGet(vrGet, out vtRes) == REQUESTCODE.EXECUTE_SUCCESS && vtRes != null && vtRes.Length > 0)
            {
                GROUPOPENRULE[] openrule = vtRes[0].GroupOpenRule;
                if (openrule != null && openrule.Length > 0)
                {
                    for (int i = 0; i < openrule.Length; i++)
                    {
                        PERIODOPENRULE[] periodlist = openrule[i].PeriodOpenRule;
                        for (int j = 0; j < periodlist.Length; j++)
                        {
                            if (periodlist[j].dwEndDay < 10)//
                            {
                                alist.Add(periodlist[j]);
                            }
                            else
                            {
                                PERIODOPENRULE peroidTemp = new PERIODOPENRULE();
                                peroidTemp = periodlist[j];
                                //alist.Add(isExist(peroidTemp, alist));
                                delList.Add(peroidTemp);
                            }
                        }

                        openrule[i].PeriodOpenRule = new PERIODOPENRULE[alist.Count];
                        for (int k = 0; k < alist.Count; k++)
                        {
                            openrule[i].PeriodOpenRule[k] = new PERIODOPENRULE();
                            openrule[i].PeriodOpenRule[k] = (PERIODOPENRULE)alist[k];
                        }
                        if (openrule[i].szGroup.dwGroupID == null)
                        {
                            openrule[i].szGroup           = new UNIGROUP();
                            openrule[i].szGroup.dwGroupID = 0;
                        }
                        vtRes[0].GroupOpenRule = openrule;
                    }
                }

                for (int k = 0; k < delList.Count; k++)
                {
                    PERIODOPENRULE       temp   = (PERIODOPENRULE)delList[k];
                    CHANGEPERIODOPENRULE change = new CHANGEPERIODOPENRULE();
                    change.dwRuleSN      = vtRes[0].dwRuleSN;
                    change.dwGroupID     = 0;
                    change.dwOldStartDay = temp.dwStartDay;
                    change.DayOpenRule   = temp.DayOpenRule;
                    m_Request.Device.PeriodOpenRuleDel(change);
                }

                DEVOPENRULE setValue = new DEVOPENRULE();
                setValue = vtRes[0];
                if (m_Request.Device.DevOpenRuleSet(setValue, out setValue) == REQUESTCODE.EXECUTE_SUCCESS)
                {
                    MessageBox("修改成功", "提示", MSGBOX.SUCCESS, MSGBOX_ACTION.OK);
                    return;
                }
                else
                {
                    MessageBox(m_Request.szErrMessage, "修改失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                    return;
                }
            }
            else
            {
            }
        }
        if (Request["op"] == "set")
        {
            bSet = true;
            //Session["listSession"] = null;
            DEVOPENRULEREQ vrGet = new DEVOPENRULEREQ();
            vrGet.dwRuleSN = Parse(Request["dwID"]);
            DEVOPENRULE[] vtRes;
            if (m_Request.Device.DevOpenRuleGet(vrGet, out vtRes) != REQUESTCODE.EXECUTE_SUCCESS)
            {
                MessageBox(m_Request.szErrMessage, "获取失败", MSGBOX.ERROR, MSGBOX_ACTION.CANCEL);
            }
            else
            {
                if (vtRes.Length == 0)
                {
                    MessageBox("获取失败", "获取失败", MSGBOX.ERROR, MSGBOX_ACTION.CANCEL);
                }
                else
                {
                    GROUPOPENRULE[] openrule = vtRes[0].GroupOpenRule;
                    if (openrule != null && openrule.Length > 0)
                    {
                        PERIODOPENRULE[] periooplist = openrule[0].PeriodOpenRule;
                        if (periooplist != null && periooplist.Length > 0)
                        {
                            int       count       = 1;
                            ArrayList listSession = new ArrayList();
                            for (int i = 0; i < periooplist.Length; i++)
                            {
                                if (periooplist[i].dwStartDay > 20100101 && periooplist[i].dwStartDay != 20990101)
                                {
                                    uint uDayOpenTimeLen = 0;
                                    if (periooplist[i].DayOpenRule != null)
                                    {
                                        uDayOpenTimeLen = (uint)periooplist[i].DayOpenRule.Length;
                                    }
                                    DAYOPENRULE[] openDateTime = new DAYOPENRULE[uDayOpenTimeLen];
                                    openDateTime = periooplist[i].DayOpenRule;
                                    for (int m = 1; m <= uDayOpenTimeLen; m++)
                                    {
                                        PutMemberValue("dwStartDay" + count, GetDateStr(periooplist[i].dwStartDay));
                                        PutMemberValue("dwEndDay" + count, GetDateStr(periooplist[i].dwEndDay));

                                        uint uBeginTime = (uint)openDateTime[m - 1].dwBegin;
                                        uint uEndTime   = (uint)openDateTime[m - 1].dwEnd;
                                        PutMemberValue("starth" + count.ToString() + m.ToString(), (uBeginTime / 100).ToString("00"));
                                        PutMemberValue("startm" + count.ToString() + m.ToString(), (uBeginTime % 100).ToString("00"));

                                        PutMemberValue("endh" + count.ToString() + m.ToString(), (uEndTime / 100).ToString("00"));
                                        PutMemberValue("endm" + count.ToString() + m.ToString(), (uEndTime % 100).ToString("00"));
                                        count = count + 1;
                                    }
                                    listSession.Add(periooplist[i]);
                                }
                            }
                            // Session["listSession"] = listSession;
                        }
                    }
                }
            }
        }
        else
        {
        }
    }