def onCreate(self, evt):
        if self.userNameInput.GetValue().strip() == '':
            wx.MessageBox(u'员工名不能为空')
            return

        controller = UserController()
        newUser = User(self.userNameInput.GetValue(),
                       self.groupInnerMap.get(self.userGroupDropDown.GetSelection(), Group(groupId=0)).groupId,
                       self.userDescInput.GetValue())
        eid = controller.createUser(newUser)
        if eid == -1:
            wx.MessageBox(u'创建用户失败')
            return

        newUser.userId = eid
        self.insertSingleUserIntoGrid(newUser)
        self.userNameInput.Clear()
        self.userGroupDropDown.SetSelection(-1)
    def onBatchImport(self, evt):
        dlg = wx.SingleChoiceDialog(None, "请选择将要安排的班组",
                                    "班组列表",
                                    self.loadGroupList())
        if dlg.ShowModal() == wx.ID_OK:
            groupId = self.groupInnerMap.get(dlg.GetSelection(), Group(groupId=0)).groupId

            dialog = wx.FileDialog(self, u"选择要导入的数据文件",
                                   os.getcwd(), style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST, wildcard="*.txt")
            if dialog.ShowModal() == wx.ID_OK:
                workerList = self.onFileRead(dialog.GetPath())
                if len(workerList) > 0:
                    for worker in workerList:
                        newUser = User(worker, groupId)
                        eid = UserController().createUser(newUser)
                        if eid == -1:
                            wx.MessageBox(u'创建用户[' + worker + u']失败')
                        else:
                            newUser.userId = eid
                            self.insertSingleUserIntoGrid(newUser)

            dialog.Destroy()