Beispiel #1
0
    public DEVOPENRULE[] GetAllOpenRule()
    {
        DEVOPENRULEREQ vrParameter = new DEVOPENRULEREQ();

        DEVOPENRULE[] vrResult;

        m_Request.Device.DevOpenRuleGet(vrParameter, out vrResult);
        return(vrResult);
    }
Beispiel #2
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 #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Session["GroupOpenRuleList"] = null;
        DEVOPENRULEREQ vrParameter = new DEVOPENRULEREQ();

        DEVOPENRULE[] vrResult;
        if (Request["delID"] != null)
        {
            DelOpenRule(Request["delID"]);
        }
        if (m_Request.Device.DevOpenRuleGet(vrParameter, out vrResult) == REQUESTCODE.EXECUTE_SUCCESS)
        {
            for (int i = 0; i < vrResult.Length; i++)
            {
                m_szOut += "<tr>";
                m_szOut += "<td data-id=\"" + vrResult[i].dwRuleSN + "\">" + vrResult[i].szRuleName + "</td>";
                m_szOut += "<td>" + vrResult[i].szMemo + "</td>";
                m_szOut += "<td><div class='OPTD'></div></td>";
                m_szOut += "</tr>";
            }
            //UpdatePageCtrl(m_Request.Device);
        }
        PutBackValue();
    }
Beispiel #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        bool   bIsNew = false;
        string szID   = Request["dwID"];

        if (szID == null)
        {
            bIsNew         = true;
            IsNewCtl.Value = "true";
        }
        else
        {
            bIsNew         = false;
            IsNewCtl.Value = "false";
        }
        m_Title = bIsNew ? "新建开放规则" : "修改开放规则";
        if (!IsPostBack)
        {
            REQUESTCODE uResponse = REQUESTCODE.EXECUTE_FAIL;
            ListItem    item0     = new ListItem();
            item0.Value = "0";
            item0.Text  = "所有人员";
            ddlGroup.Items.Add(item0);
            GROUPREQ vrGroupGet = new GROUPREQ();
            //vrGroupGet.dwGetType = (uint)GROUPREQ.DWGETTYPE.GROUPGET_BYKIND;
            vrGroupGet.dwKind = ((uint)UNIGROUP.DWKIND.GROUPKIND_OPENRULE);//.ToString();
            UNIGROUP[] vtGroupRes;
            uResponse = m_Request.Group.GetGroup(vrGroupGet, out vtGroupRes);
            if (uResponse == REQUESTCODE.EXECUTE_SUCCESS && vtGroupRes != null && vtGroupRes.Length > 0)
            {
                for (int i = 0; i < vtGroupRes.Length; i++)
                {
                    ListItem itemTemp = new ListItem();
                    itemTemp.Value = vtGroupRes[i].dwGroupID.ToString();
                    itemTemp.Text  = vtGroupRes[i].szName.ToString();
                    ddlGroup.Items.Add(itemTemp);
                }
            }
            ArrayList listProperty = GetListFromXml("Priority", 0, true);
            if (listProperty != null && listProperty.Count > 0)
            {
                int nCount = listProperty.Count;
                for (int i = 0; i < nCount; i++)
                {
                    CStatue temp = (CStatue)listProperty[i];
                    dwPriority.Items.Add(new ListItem(temp.szName, temp.szValue));
                }
            }
            BindDDL();
            if (!bIsNew)
            {
                DEVOPENRULEREQ vrGet = new DEVOPENRULEREQ();
                vrGet.dwRuleSN = ToUint(szID);
                DEVOPENRULE[] vtRes;
                uResponse = m_Request.Device.DevOpenRuleGet(vrGet, out vtRes);
                if (uResponse == REQUESTCODE.EXECUTE_SUCCESS && vtRes != null && vtRes.Length > 0)
                {
                    szRuleName.Value             = vtRes[0].szRuleName.ToString();
                    szMemo.Value                 = vtRes[0].szMemo.ToString();
                    dwRuleSN.Value               = vtRes[0].dwRuleSN.ToString();
                    Session["GroupOpenRuleList"] = vtRes[0].GroupOpenRule;
                    if (vtRes[0].GroupOpenRule.Length > 0 && vtRes[0].GroupOpenRule[0].szGroup.dwGroupID == null)
                    {
                        vtRes[0].GroupOpenRule[0].szGroup.dwGroupID = 0;
                        ddlGroup.SelectedValue = vtRes[0].GroupOpenRule[0].szGroup.dwGroupID.ToString();
                        if (vtRes[0].GroupOpenRule[0].dwOpenLimit != null)
                        {
                            if (((uint)vtRes[0].GroupOpenRule[0].dwOpenLimit & (uint)GROUPOPENRULE.DWOPENLIMIT.OPENLIMIT_FIXEDTIME) > 0)
                            {
                                chbLimit.Checked = true;
                            }
                            else
                            {
                                chbLimit.Checked = false;
                            }
                        }
                        if (vtRes[0].GroupOpenRule[0].dwPriority != null)
                        {
                            dwPriority.SelectedValue = vtRes[0].GroupOpenRule[0].dwPriority.ToString();
                        }
                        PutGroupOpenRuleToHtml(vtRes[0].GroupOpenRule[0]);
                    }
                }
            }
        }

        string szGroupID   = ddlGroup.SelectedValue;
        string szGroupIDVS = "";

        if (ViewState["GroupID"] != null)
        {
            szGroupIDVS = ViewState["GroupID"].ToString();
            //保存上一个
            SaveTempGroupOpenRule(Parse(szGroupIDVS));
            bool bIsExist = false;
            //显示选中一个
            GROUPOPENRULE[] GroupOpenRuleList = (GROUPOPENRULE[])Session["GroupOpenRuleList"];
            for (int i = 0; GroupOpenRuleList != null && i < GroupOpenRuleList.Length; i++)
            {
                if (GroupOpenRuleList[i].szGroup.dwGroupID.ToString() == szGroupID)
                {
                    PutGroupOpenRuleToHtml(GroupOpenRuleList[i]);
                    bIsExist = true;
                    break;
                }
            }
            if (!bIsExist)
            {
                SetHtmlToVoid();
            }
            ViewState["GroupID"] = szGroupID;
            //保存新的viewstate的值
        }
        else
        {
            SaveTempGroupOpenRule();
            ViewState["GroupID"] = szGroupID;
        }
    }
Beispiel #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ATTENDRULE newRule;

        for (int i = 0; i <= 23; i++)
        {
            szHour += GetInputItemHtml(CONSTHTML.option, "", i.ToString(), i.ToString("00"));
        }
        for (int i = 0; i <= 59; i++)
        {
            szMin += GetInputItemHtml(CONSTHTML.option, "", i.ToString(), i.ToString("00"));
        }
        UNIROOM[] roomList;
        roomList = GetAllRoom();
        for (int i = 0; roomList != null && i < roomList.Length; i++)
        {
            szRoomList += GetInputItemHtml(CONSTHTML.checkBox, "roomIDs", roomList[i].szRoomName, roomList[i].dwRoomID.ToString());
        }
        DEVOPENRULEREQ openRuleGet = new DEVOPENRULEREQ();

        DEVOPENRULE[] vtOpenRule;
        if (m_Request.Device.DevOpenRuleGet(openRuleGet, out vtOpenRule) == REQUESTCODE.EXECUTE_SUCCESS && vtOpenRule != null && vtOpenRule.Length > 0)
        {
            for (int i = 0; i < vtOpenRule.Length; i++)
            {
                szOpenRule += GetInputItemHtml(CONSTHTML.option, "", vtOpenRule[i].szRuleName, vtOpenRule[i].dwRuleSN.ToString());
            }
        }
        if (IsPostBack)
        {
            GetHTTPObj(out newRule);
            newRule.dwStartDate = DateToUint(Request["dwStartDate"]);
            newRule.dwEndDate   = DateToUint(Request["dwEndDate"]);

            newRule.dwEarlyInTime  = Parse(Request["dwEarlyInTimeH"]) * 100 + Parse(Request["dwEarlyInTimeM"]);
            newRule.dwLateInTime   = Parse(Request["dwLateInTimeH"]) * 100 + Parse(Request["dwLateInTimeM"]);
            newRule.dwEarlyOutTime = Parse(Request["dwEarlyOutTimeH"]) * 100 + Parse(Request["dwEarlyOutTimeM"]);
            newRule.dwLateOutTime  = Parse(Request["dwLateOutTimeH"]) * 100 + Parse(Request["dwLateOutTimeM"]);
            if (newRule.dwEarlyInTime == 0)
            {
                newRule.dwEarlyInTime = null;
            }
            if (newRule.dwLateInTime == 0)
            {
                newRule.dwLateInTime = null;
            }
            if (newRule.dwEarlyOutTime == 0)
            {
                newRule.dwEarlyOutTime = null;
            }
            if (newRule.dwLateOutTime == 0)
            {
                newRule.dwLateOutTime = null;
            }
            string    szRoomIDs    = Request["roomIDs"];
            string[]  szRoomIDList = szRoomIDs.Split(',');
            ArrayList list         = new System.Collections.ArrayList();
            for (int i = 0; i < szRoomIDList.Length; i++)
            {
                if (szRoomIDList[i] != null && szRoomIDList[i] != "")
                {
                    list.Add(szRoomIDList[i]);
                }
            }
            object[]     objList    = list.ToArray();
            ATTENDROOM[] attendRoom = new ATTENDROOM[objList.Length];
            for (int i = 0; i < objList.Length; i++)
            {
                attendRoom[i].dwRoomID = Parse(objList[i].ToString());
            }
            newRule.AttendRoom = attendRoom;
            if (Request["op"] != "set")
            {
                UNIGROUP group;
                if (NewGroup(newRule.szAttendName + "考勤组", (uint)UNIGROUP.DWKIND.GROUPKIND_ATTEND, out group))
                {
                    newRule.dwGroupID = group.dwGroupID;
                }
                else
                {
                    MessageBox(m_Request.szErrMessage, "新建考勤规则失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                    return;
                }
            }
            if (m_Request.Attendance.SetAttendRule(newRule, out newRule) != REQUESTCODE.EXECUTE_SUCCESS)
            {
                MessageBox(m_Request.szErrMessage, "新建考勤规则失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
            }
            else
            {
                MessageBox("新建考勤规则成功", "提示", MSGBOX.SUCCESS, MSGBOX_ACTION.OK);
                return;
            }
        }
        if (Request["op"] == "set")
        {
            bSet = true;
        }
        else
        {
            m_Title = "新建考勤规则";
        }
    }
Beispiel #6
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 #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        UNILAB newLab;
        uint?  uMax = 0;
        uint   uID  = PRDevice.DEVICE_BASE | PRDevice.MSREQ_LAB_SET;

        if (GetMaxValue(ref uMax, uID, "dwLabID"))
        {
        }
        if (Request["op"] != null && Request["op"] == "set")
        {
            m_szOP = "修改";
        }
        if (IsPostBack)
        {
            GetHTTPObj(out newLab);
            CAMPUSREQ   campGet = new CAMPUSREQ();
            UNICAMPUS[] vtCampres;
            if (m_Request.Account.CampusGet(campGet, out vtCampres) == REQUESTCODE.EXECUTE_SUCCESS && vtCampres != null && vtCampres.Length > 0)
            {
            }
            UNIGROUP newGroup = new UNIGROUP();
            if (!NewGroup(newLab.szLabName + "管理员组", (uint)UNIGROUP.DWKIND.GROUPKIND_MAN, out newGroup))
            {
                MessageBox(m_Request.szErrMessage, m_szOP + ConfigConst.GCLabName + "失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
                DelGroup(newGroup.dwGroupID);
                return;
            }

            DEPTREQ vrGet = new DEPTREQ();
            vrGet.dwKind = 768;
            vrGet.dwID   = newLab.dwDeptID;
            UNIDEPT[] dept;
            if (m_Request.Account.DeptGet(vrGet, out dept) == REQUESTCODE.EXECUTE_SUCCESS && dept != null && dept.Length > 0)
            {
                newLab.szLabName = dept[0].szName;
            }
            newLab.dwManGroupID = newGroup.dwGroupID;
            if (m_Request.Device.LabSet(newLab, out newLab) != REQUESTCODE.EXECUTE_SUCCESS)
            {
                MessageBox(m_Request.szErrMessage, m_szOP + ConfigConst.GCLabName + "失败", MSGBOX.ERROR, MSGBOX_ACTION.NONE);
            }
            else
            {
                UNIROOM        room        = new UNIROOM();
                DEVOPENRULEREQ openRuleReq = new DEVOPENRULEREQ();
                DEVOPENRULE[]  vtOpenRule;
                if (m_Request.Device.DevOpenRuleGet(openRuleReq, out vtOpenRule) == REQUESTCODE.EXECUTE_SUCCESS && vtOpenRule != null && vtOpenRule.Length > 0)
                {
                    room.dwOpenRuleSN = vtOpenRule[0].dwRuleSN;
                }
                room.dwCampusID = vtCampres[0].dwCampusID;
                room.dwLabID    = newLab.dwLabID;
                room.szRoomName = newLab.szLabName;
                room.szRoomNo   = newLab.szLabSN;
                m_Request.Device.RoomSet(room, out room);
                MessageBox(m_szOP + ConfigConst.GCLabName + "成功", "提示", MSGBOX.SUCCESS, MSGBOX_ACTION.OK);
                return;
            }
        }

        if (Request["op"] == "set")
        {
            bSet = true;

            LABREQ vrGetLab = new LABREQ();
            vrGetLab.dwLabID = Parse(Request["dwLabID"]);
            UNILAB[] vtLab;
            if (m_Request.Device.LabGet(vrGetLab, out vtLab) != REQUESTCODE.EXECUTE_SUCCESS)
            {
                MessageBox(m_Request.szErrMessage, "获取失败", MSGBOX.ERROR, MSGBOX_ACTION.CANCEL);
            }
            else
            {
                if (vtLab.Length == 0)
                {
                    MessageBox("获取失败", "获取失败", MSGBOX.ERROR, MSGBOX_ACTION.CANCEL);
                }
                else
                {
                    PutJSObj(vtLab[0]);
                    m_Title = "修改【" + vtLab[0].szLabName + "】";
                }
            }
        }
        else
        {
            m_Title = "新建" + ConfigConst.GCLabName;
        }
    }
Beispiel #8
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 #10
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
        {
        }
    }