예제 #1
0
        /// <summary>
        /// 结算
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBalanceCalculate_Click(object sender, RoutedEventArgs e)
        {
            if (cbxkAssignedObjectType.SelectedItem == null ||
                cbxkAssignedObjectType.SelectedIndex == 0)
            {
                MessageBox.Show("请选择结算类型!");
                return;
            }

            if (lkAssignObject.DataContext == null)
            {
                MessageBox.Show("请选择结算对象");
                return;
            }

            bool flag = false;
            int  iYear = 0, iMonth = 0;

            flag = int.TryParse(txtBalanceYear.Text, out iYear);
            if (iYear <= 0)
            {
                return;
            }

            flag = int.TryParse(txtBalanceMonth.Text, out iMonth);
            if (iMonth <= 0 || iMonth > 12)
            {
                return;
            }

            var entDic = cbxkAssignedObjectType.SelectedIndex.ToString();

            RefreshUI(RefreshedTypes.ProgressBar);

            ObservableCollection <string> ClacuEmployeePosts = new ObservableCollection <string>();

            foreach (var item in SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts)
            {
                ClacuEmployeePosts.Add(item.PostID);
            }
            string strMsg    = string.Empty;
            string strID     = string.Empty;
            string ClacuType = string.Empty;

            if (entDic == (Convert.ToInt32(AssignedObjectType.Company) + 1).ToString())
            {
                T_HR_COMPANY entCompany = lkAssignObject.DataContext as T_HR_COMPANY;
                strID     = entCompany.COMPANYID;
                ClacuType = "1";
            }
            else if (entDic == (Convert.ToInt32(AssignedObjectType.Department) + 1).ToString())
            {
                T_HR_DEPARTMENT entDepartment = lkAssignObject.DataContext as T_HR_DEPARTMENT;
                strID     = entDepartment.DEPARTMENTID;
                ClacuType = "2";
            }
            else if (entDic == (Convert.ToInt32(AssignedObjectType.Post) + 1).ToString())
            {
                T_HR_POST entPost = lkAssignObject.DataContext as T_HR_POST;
                strID     = entPost.POSTID;
                ClacuType = "3";
            }
            else if (entDic == "4")
            {
                T_HR_POST entPost = lkAssignObject.DataContext as T_HR_POST;
                strID     = entPost.POSTID;
                ClacuType = "4";
            }
            string balanceEmployeeid = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;

            clientAtt.CalculateAttendanceMonthlyAsync(iYear.ToString() + "-" + iMonth.ToString(), ClacuType, strID, ClacuEmployeePosts, balanceEmployeeid, strMsg);
        }