示例#1
0
        void btnAudit_Click(object sender, RoutedEventArgs e)
        {
            ///TODO:ADD 审核
            if (DtGrid != null)
            {
                if (DtGrid.SelectedItems.Count > 0)
                {
                    T_HR_SALARYARCHIVE            tmpEnt = DtGrid.SelectedItems[0] as T_HR_SALARYARCHIVE;
                    Form.Salary.SalaryArchiveForm form   = new Form.Salary.SalaryArchiveForm(FormTypes.Audit, tmpEnt.SALARYARCHIVEID);
                    EntityBrowser browser = new EntityBrowser(form);

                    browser.ReloadDataEvent += new EntityBrowser.refreshGridView(browser_ReloadDataEvent);
                    browser.FormType         = FormTypes.Audit;
                    browser.Show <string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { });
                }
                else
                {
                    ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "AUDIT"),
                                                   Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation);
                    //Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "AUDIT"));
                    return;
                }
            }
            else
            {
                ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "AUDIT"),
                                               Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation);
                // Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "AUDIT"));
                return;
            }
        }
示例#2
0
        /// <summary>
        ///  载入自定义薪资档案
        /// </summary>
        //void LoadCustomArchive(string salaryArchiveID)
        //{
        //    int pageCount = 0;
        //    string filter = "";
        //    System.Collections.ObjectModel.ObservableCollection<string> paras = new System.Collections.ObjectModel.ObservableCollection<string>();


        //    filter += " SALARYARCHIVEID==@" + paras.Count().ToString();
        //    paras.Add(salaryArchiveID);

        //    client.GetCustomGuerdonArchiveWithPagingAsync(dataPagerDetail.PageIndex, dataPagerDetail.PageSize, " GUERDONNAME", filter, paras, pageCount);
        //}

        private void DtGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (DtGrid.SelectedItems.Count > 0)
            {
                T_HR_SALARYARCHIVE archive = DtGrid.SelectedItems[0] as T_HR_SALARYARCHIVE;
                //  LoadCustomArchive(archive.SALARYARCHIVEID);
                //  salarySolutionName.Text = "  " + archive.EMPLOYEENAME + "薪资档案-自定义薪资项";
            }
        }
示例#3
0
        void SalaryArchiveForm_Loaded(object sender, RoutedEventArgs e)
        {
            InitParas();
            if (FormType == FormTypes.Audit || FormType == FormTypes.Browse)
            {
                EnableControl();
            }
            if (FormType == FormTypes.New)
            {
                cbxSalaryLevel.IsEnabled = false;
            }
            if (string.IsNullOrEmpty(strArchiveID))
            {
                SalaryArchive = new T_HR_SALARYARCHIVE();
                SalaryArchive.SALARYARCHIVEID = Guid.NewGuid().ToString();
                SalaryArchive.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                SalaryArchive.UPDATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;

                SalaryArchive.CHECKSTATE = Convert.ToInt16(CheckStates.UnSubmit).ToString();
                SalaryArchive.OTHERSUBJOIN = System.DateTime.Now.Year;//生效年份
                SalaryArchive.OTHERADDDEDUCT = System.DateTime.Now.Month;//生效月份
                this.DataContext = SalaryArchive;
                SetToolBar();
            }
            else
            {
                client.GetSalaryArchiveMasterByIDAsync(strArchiveID);
                lkEmployee.IsEnabled = false;
                txtSalaryStandard.IsEnabled = false;
                TxtRemark.IsEnabled = true;
                strArchiveID = strArchiveID;
                // LoadCustomArchive(strArchiveID);

                //获取个人活动经费
                client.GetCustomGuerdonArchiveByArchiveIDAsync(strArchiveID);
                client.GetCustomGuerdonArchiveByArchiveIDCompleted += (o, ee) =>
                {
                    if (ee.Result != null && ee.Result.Count != 0)
                    {
                        CustomArchive = ee.Result.FirstOrDefault();
                        if (ee.Result.FirstOrDefault().SUM != null)
                        {
                            txtSum.Text = ee.Result.FirstOrDefault().SUM.ToString();
                        }
                        else
                        {
                            txtSum.Text = "0";
                        }
                        if (ee.Result.FirstOrDefault().REMARK != null)
                        {
                            txtSumRemark.Text = ee.Result.FirstOrDefault().REMARK.ToString();
                        }

                    }
                };
            }
        }
示例#4
0
        void btnEdit_Click(object sender, RoutedEventArgs e)
        {
            if (DtGrid != null)
            {
                if (DtGrid.SelectedItems.Count > 0)
                {
                    T_HR_SALARYARCHIVE tmpEnt = DtGrid.SelectedItems[0] as T_HR_SALARYARCHIVE;

                    Form.Salary.SalaryArchiveForm form = new SMT.HRM.UI.Form.Salary.SalaryArchiveForm(FormTypes.Edit, tmpEnt.SALARYARCHIVEID);
                    //if (tmpEnt.CHECKSTATE == ((int)CheckStates.Approved).ToString()
                    //    || tmpEnt.CHECKSTATE == ((int)CheckStates.Approving).ToString())
                    //{
                    //    form.IsEnabled = false;
                    //}

                    EntityBrowser browser = new EntityBrowser(form);
                    browser.FormType         = FormTypes.Edit;
                    browser.ReloadDataEvent += new EntityBrowser.refreshGridView(browser_ReloadDataEvent);
                    browser.Show <string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { });
                }
                else
                {
                    ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "EDIT"),
                                                   Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation);
                    //Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "EDIT"));
                    return;
                }
            }
            else
            {
                ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "EDIT"),
                                               Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation);
                //Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "EDIT"));
                return;
            }
        }
示例#5
0
        private void ImportSalaryRecordItem(ref string UImsg, ref string msg, string strIDNUMBER, string strEmployeeName, string strSalaryItemName, string strSalaryItemSUM, T_HR_EMPLOYEE employee, T_HR_EMPLOYEESALARYRECORD record, T_HR_SALARYARCHIVE salaryAchive)
        {
            T_HR_EMPLOYEESALARYRECORDITEM SalaryItem = new T_HR_EMPLOYEESALARYRECORDITEM();

            SalaryItem.SALARYRECORDITEMID = Guid.NewGuid().ToString();

            SalaryItem.T_HR_EMPLOYEESALARYRECORDReference.EntityKey =
                new EntityKey(qualifiedEntitySetName + "T_HR_EMPLOYEESALARYRECORD", "EMPLOYEESALARYRECORDID", record.EMPLOYEESALARYRECORDID);

            var item = (from ent in dal.GetObjects <T_HR_SALARYARCHIVEITEM>()
                        join entb in dal.GetObjects <T_HR_SALARYITEM>()
                        on ent.SALARYITEMID equals entb.SALARYITEMID
                        where entb.SALARYITEMNAME == strSalaryItemName &&
                        ent.T_HR_SALARYARCHIVE.SALARYARCHIVEID == salaryAchive.SALARYARCHIVEID
                        select ent).FirstOrDefault();

            if (item != null)
            {
                SalaryItem.SALARYITEMID     = item.SALARYITEMID;
                SalaryItem.SALARYARCHIVEID  = salaryAchive.SALARYARCHIVEID;
                SalaryItem.SALARYSTANDARDID = item.SALARYSTANDARDID;
                SalaryItem.ORDERNUMBER      = item.ORDERNUMBER;
                SalaryItem.SUM        = AES.AESEncrypt(strSalaryItemSUM);
                SalaryItem.REMARK     = "文件导入";
                SalaryItem.CREATEDATE = System.DateTime.Now;
                int iadd = dal.Add(SalaryItem);

                if (iadd >= 1)
                {
                    msg = "薪资项目导入成功,受影响的条数:" + iadd + " 身份证号码:" + strIDNUMBER
                          + " 导入的员工姓名:" + strEmployeeName + " 根据身份证号查到的员工姓名:" + employee.EMPLOYEECNAME
                          + " 薪资项目名:" + strSalaryItemName + " 薪资项目金额:" + strSalaryItemSUM;
                    UImsg += msg + System.Environment.NewLine;
                    Tracer.Debug(msg);
                }
                else
                {
                    msg = "薪资项目导入失败,受影响的条数:" + iadd + " 身份证号码:" + strIDNUMBER
                          + " 导入的员工姓名:" + strEmployeeName + " 根据身份证号查到的员工姓名:" + employee.EMPLOYEECNAME
                          + " 薪资项目名:" + strSalaryItemName + " 薪资项目金额:" + strSalaryItemSUM;
                    UImsg += msg + System.Environment.NewLine;
                    Tracer.Debug(msg);
                }
            }
            else
            {
                msg = "薪资项目导入在公司薪资项目或薪资档案中未找到相关薪资项目!" + " 身份证号码:" + strIDNUMBER
                      + " 导入的员工姓名:" + strEmployeeName + " 根据身份证号查到的员工姓名:" + employee.EMPLOYEECNAME
                      + " 薪资项目名:" + strSalaryItemName + " 薪资项目金额:" + strSalaryItemSUM;
                UImsg += msg + System.Environment.NewLine;
                Tracer.Debug(msg);
            }
        }
示例#6
0
 public void SalaryArchiveUpdate(T_HR_SALARYARCHIVE entity)
 {
     using (SalaryArchiveBLL bll = new SalaryArchiveBLL())
     {
         bll.SalaryArchiveUpdate(entity);
     }
 }
示例#7
0
 public void CreateSalaryArchive(int objectType, string objectID, T_HR_SALARYARCHIVE archive, bool createType)
 {
     using (SalaryArchiveBLL bll = new SalaryArchiveBLL())
     {
         bll.CreateSalaryArchive(objectType, objectID, archive, createType);
     }
 }
示例#8
0
        /// <summary>
        /// 根据传回的xml生成薪资档案
        /// </summary>
        /// <param name="eGFunc"></param>
        /// <returns></returns>
        private static string AddEmployeeSalaryArchive(IEnumerable<XElement> eGFunc)
        {

            try
            {
                if (eGFunc.Count() == 0)
                {
                    return "";
                }

                string strEmployeeID = string.Empty;
                string strOwnerID = string.Empty;
                string strOwnerPostID = string.Empty;
                string strOwnerDepartmentID = string.Empty;
                string strOwnerCompanyID = string.Empty;

                foreach (var q in eGFunc)
                {
                    string strName = q.Attribute("Name").Value;
                    switch (strName)
                    {
                        case "EMPLOYEEID":
                            strEmployeeID = q.Attribute("Value").Value;
                            break;
                        case "OWNERID":
                            strOwnerID = q.Attribute("Value").Value;
                            break;
                        case "OWNERPOSTID":
                            strOwnerPostID = q.Attribute("Value").Value;
                            break;
                        case "OWNERDEPARTMENTID":
                            strOwnerDepartmentID = q.Attribute("Value").Value;
                            break;
                        case "OWNERCOMPANYID":
                            strOwnerCompanyID = q.Attribute("Value").Value;
                            break;
                    }
                }


                SalaryService ser = new SalaryService();

                T_HR_SALARYARCHIVE entity = new T_HR_SALARYARCHIVE();
                entity.SALARYARCHIVEID = Guid.NewGuid().ToString();
                entity.EMPLOYEEID = strEmployeeID.Replace("{", "").Replace("}", "");

                entity.CHECKSTATE = ((int)CheckStates.UnSubmit).ToString();
                entity.EDITSTATE = ((int)EditStates.UnActived).ToString();
                entity.CREATEDATE = DateTime.Now;
                entity.OWNERID = strOwnerID;
                entity.OWNERPOSTID = strOwnerPostID;
                entity.OWNERDEPARTMENTID = strOwnerDepartmentID;
                entity.OWNERCOMPANYID = strOwnerCompanyID;
                entity.CREATEUSERID = strOwnerID;
                entity.CREATEPOSTID = strOwnerPostID;
                entity.CREATEDEPARTMENTID = strOwnerDepartmentID;
                entity.CREATECOMPANYID = strOwnerCompanyID;
                PersonnelService ps = new PersonnelService();
                T_HR_EMPLOYEEPOST emp = ps.GetEmployeePostActivedByEmployeeID(entity.EMPLOYEEID);
                if (emp != null)
                {
                    entity.EMPLOYEECODE = emp.T_HR_EMPLOYEE.EMPLOYEECODE;
                    entity.EMPLOYEENAME = emp.T_HR_EMPLOYEE.EMPLOYEECNAME;
                    
                    entity.OWNERID = emp.T_HR_EMPLOYEE.EMPLOYEEID;
                    entity.OWNERPOSTID = emp.T_HR_EMPLOYEE.OWNERPOSTID;
                    entity.OWNERDEPARTMENTID = emp.T_HR_EMPLOYEE.OWNERDEPARTMENTID;
                    entity.OWNERCOMPANYID = emp.T_HR_EMPLOYEE.OWNERCOMPANYID;
                    entity.POSTLEVEL = emp.POSTLEVEL;
                    entity.EMPLOYEEPOSTID = emp.EMPLOYEEPOSTID;
                }
                ser.SalaryArchiveAdd(entity);
                return entity.SALARYARCHIVEID;

            }
            catch (Exception e)
            {
                string abc = "<HR>Message=[" + e.Message + "]" + "<HR>Source=[" + e.Source + "]<HR>StackTrace=[" + e.StackTrace + "]<HR>TargetSite=[" + e.TargetSite + "]";
                Tracer.Debug(abc);
                return abc;

            }

        }
示例#9
0
        /// <summary>
        /// 根据传回的xml生成薪资档案
        /// </summary>
        /// <param name="eGFunc"></param>
        /// <returns></returns>
        private static string AddEmployeeSalaryArchive(IEnumerable <XElement> eGFunc)
        {
            try
            {
                if (eGFunc.Count() == 0)
                {
                    return("");
                }

                string strEmployeeID        = string.Empty;
                string strOwnerID           = string.Empty;
                string strOwnerPostID       = string.Empty;
                string strOwnerDepartmentID = string.Empty;
                string strOwnerCompanyID    = string.Empty;

                foreach (var q in eGFunc)
                {
                    string strName = q.Attribute("Name").Value;
                    switch (strName)
                    {
                    case "EMPLOYEEID":
                        strEmployeeID = q.Attribute("Value").Value;
                        break;

                    case "OWNERID":
                        strOwnerID = q.Attribute("Value").Value;
                        break;

                    case "OWNERPOSTID":
                        strOwnerPostID = q.Attribute("Value").Value;
                        break;

                    case "OWNERDEPARTMENTID":
                        strOwnerDepartmentID = q.Attribute("Value").Value;
                        break;

                    case "OWNERCOMPANYID":
                        strOwnerCompanyID = q.Attribute("Value").Value;
                        break;
                    }
                }


                SalaryService ser = new SalaryService();

                T_HR_SALARYARCHIVE entity = new T_HR_SALARYARCHIVE();
                entity.SALARYARCHIVEID = Guid.NewGuid().ToString();
                entity.EMPLOYEEID      = strEmployeeID.Replace("{", "").Replace("}", "");

                entity.CHECKSTATE         = ((int)CheckStates.UnSubmit).ToString();
                entity.EDITSTATE          = ((int)EditStates.UnActived).ToString();
                entity.CREATEDATE         = DateTime.Now;
                entity.OWNERID            = strOwnerID;
                entity.OWNERPOSTID        = strOwnerPostID;
                entity.OWNERDEPARTMENTID  = strOwnerDepartmentID;
                entity.OWNERCOMPANYID     = strOwnerCompanyID;
                entity.CREATEUSERID       = strOwnerID;
                entity.CREATEPOSTID       = strOwnerPostID;
                entity.CREATEDEPARTMENTID = strOwnerDepartmentID;
                entity.CREATECOMPANYID    = strOwnerCompanyID;
                PersonnelService  ps  = new PersonnelService();
                T_HR_EMPLOYEEPOST emp = ps.GetEmployeePostActivedByEmployeeID(entity.EMPLOYEEID);
                if (emp != null)
                {
                    entity.EMPLOYEECODE = emp.T_HR_EMPLOYEE.EMPLOYEECODE;
                    entity.EMPLOYEENAME = emp.T_HR_EMPLOYEE.EMPLOYEECNAME;

                    entity.OWNERID           = emp.T_HR_EMPLOYEE.EMPLOYEEID;
                    entity.OWNERPOSTID       = emp.T_HR_EMPLOYEE.OWNERPOSTID;
                    entity.OWNERDEPARTMENTID = emp.T_HR_EMPLOYEE.OWNERDEPARTMENTID;
                    entity.OWNERCOMPANYID    = emp.T_HR_EMPLOYEE.OWNERCOMPANYID;
                    entity.POSTLEVEL         = emp.POSTLEVEL;
                    entity.EMPLOYEEPOSTID    = emp.EMPLOYEEPOSTID;
                }
                ser.SalaryArchiveAdd(entity);
                return(entity.SALARYARCHIVEID);
            }
            catch (Exception e)
            {
                string abc = "<HR>Message=[" + e.Message + "]" + "<HR>Source=[" + e.Source + "]<HR>StackTrace=[" + e.StackTrace + "]<HR>TargetSite=[" + e.TargetSite + "]";
                Tracer.Debug(abc);
                return(abc);
            }
        }
示例#10
0
        public void UpdateEmployeeSalaryInfo(T_HR_EMPLOYEESALARYPOSTASIGN asign)
        {
            try
            {
                var balancePost = from c in dal.GetObjects <T_HR_BALANCEPOSTDETAIL>()
                                  where c.BALANCEPOSTASIGNID == asign.EMPLOYEESALARYPOSTASIGNID
                                  //&& c.SALARYSET =="1"
                                  select c;
                var entPosts = from p in dal.GetObjects <T_HR_POST>()
                               where p.POSTID == asign.BALANCEPOSTID
                               select p;
                string payCompanyId = string.Empty;
                if (entPosts.Count() > 0)
                {
                    T_HR_POST post = entPosts.FirstOrDefault();
                    if (post != null)
                    {
                        payCompanyId = post.OWNERCOMPANYID;
                    }
                    else
                    {
                        SMT.Foundation.Log.Tracer.Debug("UpdateEmployeeSalaryInfo获取岗位信息为空:");
                    }
                }
                else
                {
                    SMT.Foundation.Log.Tracer.Debug("UpdateEmployeeSalaryInfo获取岗位信息为空22222");
                }
                List <string> employeeIDs = new List <string>();
                //岗位ID集合
                List <string> SalarypostIDs     = new List <string>();
                List <string> AttendancepostIDs = new List <string>();
                if (balancePost.Count() > 0)
                {
                    foreach (var ent in balancePost)
                    {
                        employeeIDs.Add(ent.EMPLOYEEID);
                        if (ent.SALARYSET == "1")
                        {
                            //只有薪资岗位设置了才修改员工薪资档案中的结算岗位信息
                            SalarypostIDs.Add(ent.EMPLOYEEPOSTID);
                        }
                        if (ent.ATTENDANCESET == "1")
                        {
                            //考勤结算对应的岗位ID
                            AttendancepostIDs.Add(ent.EMPLOYEEPOSTID);
                        }
                        ent.EDITSTATE = "1";
                        dal.UpdateFromContext(ent);
                    }
                    #region 将原来的记录设置为失效

                    var balancePost1 = from c in dal.GetObjects <T_HR_BALANCEPOSTDETAIL>()
                                       //where employeeIDs.Contains(c.EMPLOYEEID)
                                       where SalarypostIDs.Contains(c.EMPLOYEEPOSTID) ||
                                       AttendancepostIDs.Contains(c.EMPLOYEEPOSTID)
                                       //&& c.SALARYSET == "1"
                                       select c;
                    //foreach (var id in employeeIDs)
                    //{
                    //    var entemployees = from ent in balancePost1
                    //                       where ent.EMPLOYEEID == id
                    //                       && ent.EDITSTATE == "1"
                    //                       orderby ent.CREATEDATE descending
                    //                       select ent;
                    //    if (entemployees.Count() > 0)
                    //    {
                    //        T_HR_BALANCEPOSTDETAIL updateDetail = entemployees.FirstOrDefault();
                    //        updateDetail.EDITSTATE = "0";
                    //        dal.UpdateFromContext(updateDetail);
                    //        SMT.Foundation.Log.Tracer.Debug(updateDetail.EMPLOYEENAME + updateDetail.BALANCEPOSTDETAIL + "已修改");
                    //    }
                    //}
                    foreach (var id in SalarypostIDs)
                    {
                        var entemployees = from ent in balancePost1
                                           where ent.EMPLOYEEPOSTID == id &&
                                           ent.EDITSTATE == "1"
                                           orderby ent.CREATEDATE descending
                                           select ent;
                        if (entemployees.Count() > 0)
                        {
                            T_HR_BALANCEPOSTDETAIL updateDetail = entemployees.FirstOrDefault();
                            updateDetail.EDITSTATE = "0";
                            dal.UpdateFromContext(updateDetail);
                            SMT.Foundation.Log.Tracer.Debug(updateDetail.EMPLOYEENAME + updateDetail.BALANCEPOSTDETAIL + "已修改");
                        }
                    }
                    //考勤设置对应的岗位ID
                    foreach (var id in AttendancepostIDs)
                    {
                        var entemployees = from ent in balancePost1
                                           where ent.EMPLOYEEPOSTID == id &&
                                           ent.EDITSTATE == "1"
                                           orderby ent.CREATEDATE descending
                                           select ent;
                        if (entemployees.Count() > 0)
                        {
                            T_HR_BALANCEPOSTDETAIL updateDetail = entemployees.FirstOrDefault();
                            updateDetail.EDITSTATE = "0";
                            dal.UpdateFromContext(updateDetail);
                            SMT.Foundation.Log.Tracer.Debug(updateDetail.EMPLOYEENAME + updateDetail.BALANCEPOSTDETAIL + "已修改");
                        }
                    }
                    #endregion
                }
                //var Salarys = from ent in dal.GetObjects<T_HR_SALARYARCHIVE>()
                //              where employeeIDs.Contains(ent.EMPLOYEEID)
                //              && ent.CHECKSTATE == "2"
                //              orderby ent.CREATEDATE descending
                //              select ent;
                //有薪资岗位设置才进行员工岗位变更操作
                if (SalarypostIDs.Count() > 0)
                {
                    var entEmployeePosts = from ent in dal.GetObjects <T_HR_EMPLOYEEPOST>().Include("T_HR_POST").Include("T_HR_EMPLOYEE")
                                           where SalarypostIDs.Contains(ent.T_HR_POST.POSTID) &&
                                           ent.CHECKSTATE == "2" && ent.ISAGENCY == "0" &&
                                           ent.EDITSTATE == "1"
                                           select ent;
                    List <string> postEmployeeIDs = new List <string>();
                    foreach (var a in entEmployeePosts)
                    {
                        postEmployeeIDs.Add(a.T_HR_EMPLOYEE.EMPLOYEEID);
                    }

                    //var Salarys = from ent in dal.GetObjects<T_HR_SALARYARCHIVE>()
                    //              where SalarypostIDs.Contains(ent.EMPLOYEEPOSTID)
                    //              && ent.CHECKSTATE == "2"
                    //              orderby ent.CREATEDATE descending
                    //              select ent;
                    var Salarys = from ent in dal.GetObjects <T_HR_SALARYARCHIVE>()
                                  where postEmployeeIDs.Contains(ent.EMPLOYEEID) &&
                                  ent.CHECKSTATE == "2"
                                  orderby ent.CREATEDATE descending
                                  select ent;
                    List <T_HR_SALARYARCHIVE> updateSalary = new List <T_HR_SALARYARCHIVE>();
                    if (Salarys.Count() > 0)
                    {
                        foreach (var ent in Salarys)
                        {
                            var entFirst = from a in Salarys
                                           where a.EMPLOYEEID == ent.EMPLOYEEID
                                           orderby a.CREATEDATE descending
                                           select a;
                            if (entFirst.Count() > 0)
                            {
                                T_HR_SALARYARCHIVE archive = entFirst.FirstOrDefault();
                                if (updateSalary.Count() == 0)
                                {
                                    updateSalary.Add(archive);
                                }
                                else
                                {
                                    var exists = from b in updateSalary
                                                 where b.SALARYARCHIVEID == archive.SALARYARCHIVEID
                                                 select b;
                                    if (exists.Count() == 0)
                                    {
                                        updateSalary.Add(archive);
                                    }
                                }
                            }
                        }
                    }
                    if (updateSalary.Count() > 0)
                    {
                        foreach (var ent in updateSalary)
                        {
                            SMT.Foundation.Log.Tracer.Debug(ent.EMPLOYEENAME + "原来结算岗位为:" + ent.BALANCEPOSTNAME + "岗位ID:" + ent.BALANCEPOSTID);
                            ent.BALANCEPOSTID   = asign.BALANCEPOSTID;
                            ent.BALANCEPOSTNAME = asign.BALANCEPOSTNAME;
                            if (!string.IsNullOrEmpty(payCompanyId))
                            {
                                ent.PAYCOMPANY = payCompanyId;
                            }
                            ent.OWNERCOMPANYID = asign.OWNERCOMPANYID;
                            dal.UpdateFromContext(ent);
                            SMT.Foundation.Log.Tracer.Debug(ent.EMPLOYEENAME + "修改为:" + ent.BALANCEPOSTNAME);
                        }
                    }
                }
                int i = dal.SaveContextChanges();
            }
            catch (Exception ex)
            {
                SMT.Foundation.Log.Tracer.Debug("UpdateEmployeeSalaryInfo执行时出错:" + ex.ToString());
            }
        }
示例#11
0
        private string GetXmlString(string StrSource, T_HR_SALARYARCHIVE Info)
        {
            //SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY LEFTOFFICECATEGORY = cbxEmployeeType.SelectedItem as SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY;

            decimal? stateValue = Convert.ToDecimal("1");
            string checkState = string.Empty;
            SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY checkStateDict = (Application.Current.Resources["SYS_DICTIONARY"] as List<SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY>).Where(s => s.DICTIONCATEGORY == "CHECKSTATE" && s.DICTIONARYVALUE == stateValue).FirstOrDefault();
            checkState = checkStateDict == null ? "" : checkStateDict.DICTIONARYNAME;

            SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY oldPostLevelDict = (Application.Current.Resources["SYS_DICTIONARY"] as List<SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY>).Where(s => s.DICTIONCATEGORY == "POSTLEVEL" && s.DICTIONARYVALUE == Info.OLDPOSTLEVEL).FirstOrDefault();

            SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY postLevelDict = cbxPostLevel.SelectedItem as SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY;
            SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY salaryLevelDict = cbxSalaryLevel.SelectedItem as SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY;
            SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY oldSalaryLevelDict = cbxOldSalaryLevel.SelectedItem as SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY;
            SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY payCompany = (lkSalaryCompany.DataContext as SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY);


            SMT.SaaS.MobileXml.MobileXml mx = new SMT.SaaS.MobileXml.MobileXml();
            List<SMT.SaaS.MobileXml.AutoDictionary> AutoList = new List<SMT.SaaS.MobileXml.AutoDictionary>();
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "CHECKSTATE", "1", checkState));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "POSTLEVEL", postLevelDict == null ? "" : postLevelDict.DICTIONARYVALUE.ToString(), postLevelDict == null ? "" : postLevelDict.DICTIONARYNAME));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "SALARYLEVEL", salaryLevelDict == null ? "" : salaryLevelDict.DICTIONARYVALUE.ToString(), salaryLevelDict == null ? "" : salaryLevelDict.DICTIONARYNAME));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "OLDSALARYLEVEL", oldSalaryLevelDict == null ? "" : oldSalaryLevelDict.DICTIONARYVALUE.ToString(), oldSalaryLevelDict == null ? "" : oldSalaryLevelDict.DICTIONARYNAME));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "OLDPOSTLEVEL", oldPostLevelDict == null ? "" : oldPostLevelDict.DICTIONARYVALUE.ToString(), oldPostLevelDict == null ? "" : oldPostLevelDict.DICTIONARYNAME));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "SALARYSOLUTIONID", Info.SALARYSOLUTIONID, Info.SALARYSOLUTIONNAME));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "PAYCOMPANY", Info.PAYCOMPANY, payCompany == null ? "" : payCompany.CNAME));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "SALARYSTANDARDID", Info.T_HR_SALARYSTANDARD.SALARYSTANDARDID, txtSalaryStandard.Text));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "SALARYSOLUTIONNAME", Info.SALARYSOLUTIONID, Info.SALARYSOLUTIONNAME));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "SALARYSTANDARDNAME", Info.T_HR_SALARYSTANDARD.SALARYSTANDARDID, txtSalaryStandard.Text));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "AVAILABLEDATE", Info.OTHERSUBJOIN.ToString() + Utility.GetResourceStr("YEAR") + Info.OTHERADDDEDUCT.ToString() + Utility.GetResourceStr("MONTH"), ""));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "lkAttendanceCompany", lkAttendanceCompany.TxtLookUp.Text, lkAttendanceCompany.TxtLookUp.Text));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "lkBalancePost", lkBalancePost.TxtLookUp.Text, lkBalancePost.TxtLookUp.Text));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "FUNDS", txtSum.Text, txtSum.Text));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "FUNDSREMARK", txtSumRemark.Text, txtSumRemark.Text));
            AutoList.Add(basedata("T_HR_SALARYARCHIVE", "EMPLOYEENAME", Info.EMPLOYEENAME, Info.EMPLOYEENAME));//lkEmployee.TxtLookUp.Text
            //需要转换的薪资项目
            List<V_SALARYARCHIVEITEM> listView = new List<V_SALARYARCHIVEITEM>();
            foreach (var v in archiveItemsList)
            {
                if (!string.IsNullOrEmpty(v.SUM) && v.SUM != "0")
                {
                    string desString = SMT.SaaS.FrameworkUI.Common.Utility.AESDecrypt(v.SUM);
                    if (!string.IsNullOrEmpty(desString) && desString != "0")
                    {
                        try
                        {
                            if (double.Parse(desString) > 0)
                            {
                                AutoList.Add(basedataForChild("V_SALARYARCHIVEITEM", "REMARK", v.REMARK, "", v.SALARYARCHIVEITEM));
                                listView.Add(v);
                            }
                        }
                        catch
                        {

                        }
                    }
                    
                }
            }
            string a = mx.TableToXml(Info, listView, StrSource, AutoList);

            return a;
        }