Пример #1
0
        void client_GetSalaryStandardPagingCompleted(object sender, GetSalaryStandardPagingCompletedEventArgs e)
        {
            List <T_HR_SALARYSTANDARD> list = new List <T_HR_SALARYSTANDARD>();

            if (e.Error != null)
            {
                ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Error);
                loadbar.Stop();
            }
            else
            {
                if (e.Result != null)
                {
                    list = e.Result.ToList();
                }
                DtGridStand.ItemsSource  = list;
                dataPagerStand.PageCount = e.pageCount;
                if (list.Count > 0)
                {
                    selectedStandard = list.FirstOrDefault() as T_HR_SALARYSTANDARD;
                    if (treeOrganization.Visibility == Visibility.Collapsed)
                    {
                        LoadDefaultData();
                    }
                    else
                    {
                        LoadData();
                    }
                }
                else
                {
                    loadbar.Stop();
                }
            }
        }
Пример #2
0
 private void CopySalaryStandardToArchive(T_HR_SALARYSTANDARD stand)
 {
     if (stand == null)
     {
         return;
     }
 }
Пример #3
0
        private void lkSalaryStandard_FindClick(object sender, EventArgs e)
        {
            //TODO: 根据薪资方案分配过滤出可用的标准
            Dictionary <string, string> cols = new Dictionary <string, string>();

            cols.Add("SALARYSTANDARDNAME", "SALARYSTANDARDNAME");
            cols.Add("POSTSALARY", "POSTSALARY");
            cols.Add("SECURITYALLOWANCE", "SECURITYALLOWANCE");
            cols.Add("HOUSINGALLOWANCE", "HOUSINGALLOWANCE");
            cols.Add("AREADIFALLOWANCE", "AREADIFALLOWANCE");

            LookupForm lookup = new LookupForm(EntityNames.SalaryStandard,
                                               typeof(List <T_HR_SALARYSTANDARD>), cols);

            lookup.SelectedClick += (o, ev) =>
            {
                T_HR_SALARYSTANDARD ent = lookup.SelectedObj as T_HR_SALARYSTANDARD;
                if (ent != null)
                {
                    //lkSalaryStandard.DataContext = ent;
                    CopySalaryStandardToArchive(ent);
                }
            };

            lookup.Show <string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { });
        }
Пример #4
0
 void client_GetSalaryStandardByIDCompleted(object sender, GetSalaryStandardByIDCompletedEventArgs e)
 {
     if (e.Result != null)
     {
         salaryStander = e.Result;
     }
 }
Пример #5
0
 private void DtGridStand_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (DtGridStand.SelectedItems.Count > 0)
     {
         selectedStand    = DtGridStand.SelectedItems[0] as T_HR_SALARYSTANDARD;
         salaryStandardid = selectedStand.SALARYSTANDARDID;
         LoadSalaryRecordData();
     }
 }
Пример #6
0
        private void lkCustomSalary_FindClick(object sender, EventArgs e)
        {
            string filter = "";
            ObservableCollection <object> paras = new ObservableCollection <object>();
            Dictionary <string, string>   cols  = new Dictionary <string, string>();

            cols.Add("GUERDONNAME", "GUERDONNAME");
            cols.Add("GUERDONSUM", "GUERDONSUM");
            cols.Add("UPDATEDATE", "UPDATEDATE");
            filter += "OWNERCOMPANYID==@" + paras.Count().ToString();
            paras.Add(SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID);
            LookupForm lookup = new LookupForm(EntityNames.CustomGuerdonSet,
                                               typeof(List <T_HR_CUSTOMGUERDONSET>), cols, filter, paras);

            lookup.TitleContent   = Utility.GetResourceStr("CUSTOMSALARY");
            lookup.SelectedClick += (o, ev) =>
            {
                T_HR_CUSTOMGUERDONSET ent = lookup.SelectedObj as T_HR_CUSTOMGUERDONSET;
                if (!GetExit(ent.GUERDONNAME))
                {
                    if (ent != null)
                    {
                        lkCustomSalary.DataContext = ent;
                        T_HR_SALARYSTANDARD entSALARYSTANDARD = new T_HR_SALARYSTANDARD();
                        entSALARYSTANDARD.SALARYSTANDARDID  = SAVEID;
                        customGuerdon.CUSTOMGUERDONID       = Guid.NewGuid().ToString();
                        customGuerdon.T_HR_SALARYSTANDARD   = entSALARYSTANDARD;
                        customGuerdon.T_HR_CUSTOMGUERDONSET = ent;
                        customGuerdon.SUM        = ent.GUERDONSUM;
                        customGuerdon.CREATEDATE = System.DateTime.Now;

                        customGuerdon.OWNERCOMPANYID     = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                        customGuerdon.OWNERDEPARTMENTID  = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                        customGuerdon.OWNERID            = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                        customGuerdon.OWNERPOSTID        = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                        customGuerdon.CREATEUSERID       = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                        customGuerdon.CREATECOMPANYID    = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                        customGuerdon.CREATEDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                        customGuerdon.CREATEPOSTID       = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;

                        client.CustomGuerdonAddAsync(customGuerdon);
                        RefreshUI(RefreshedTypes.ProgressBar);
                    }
                }
                else
                {
                    ent.GUERDONNAME            = "";// Utility.GetResourceStr("ALREADYEXISTS");
                    lkCustomSalary.DataContext = ent;
                    Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("ALREADYEXISTS"));
                }
            };
            lookup.Show <string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { });
        }
Пример #7
0
 private void DtGridStand_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (DtGridStand.SelectedItems.Count > 0)
     {
         selectedStandard = DtGridStand.SelectedItems[0] as T_HR_SALARYSTANDARD;
         if (treeOrganization.Visibility == Visibility.Collapsed)
         {
             LoadDefaultData();
         }
         else
         {
             LoadData();
         }
     }
 }
Пример #8
0
        void btnNew_Click(object sender, RoutedEventArgs e)
        {
            string filter = "";
            ObservableCollection <object> paras = new ObservableCollection <object>();
            T_HR_SALARYSTANDARDITEM       salarystandarditem = new T_HR_SALARYSTANDARDITEM();
            T_HR_SALARYSTANDARD           salarystandard     = new T_HR_SALARYSTANDARD();

            salarystandard.SALARYSTANDARDID = savesid;
            Dictionary <string, string> cols = new Dictionary <string, string>();

            cols.Add("SALARYITEMNAME", "SALARYITEMNAME");
            cols.Add("GUERDONSUM", "GUERDONSUM");
            cols.Add("CALCULATEFORMULA", "CALCULATEFORMULA");
            RefreshUI(RefreshedTypes.ProgressBar);
            filter += "CREATECOMPANYID==@" + paras.Count().ToString();
            paras.Add(SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID);
            LookupForm lookup = new LookupForm(EntityNames.SalaryItemSet,
                                               typeof(List <T_HR_SALARYITEM>), cols, filter, paras);

            lookup.TitleContent   = Utility.GetResourceStr("SALARYITEM");
            lookup.SelectedClick += (o, ev) =>
            {
                T_HR_SALARYITEM ent = lookup.SelectedObj as T_HR_SALARYITEM;
                if (ent != null)
                {
                    salarystandarditem.STANDRECORDITEMID   = Guid.NewGuid().ToString();
                    salarystandarditem.T_HR_SALARYITEM     = ent;
                    salarystandarditem.T_HR_SALARYSTANDARD = salarystandard;
                    salarystandarditem.SUM          = ent.GUERDONSUM.ToString();
                    salarystandarditem.REMARK       = ent.REMARK;
                    salarystandarditem.CREATEDATE   = System.DateTime.Now;
                    salarystandarditem.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                    client.SalaryStandardItemAddAsync(salarystandarditem);
                }
            };
            lookup.Show <string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { });

            #region ----
            //System.Collections.ObjectModel.ObservableCollection<object> paras = new System.Collections.ObjectModel.ObservableCollection<object>();
            ////string filter = "";
            ////filter = "CHECKSTATE==@" + paras.Count;
            //paras.Add(Convert.ToInt16(CheckStates.Approved).ToString());
            //LookupForm lookup = new LookupForm(EntityNames.SalaryStandard,
            //  typeof(List<T_HR_SALARYSTANDARD>), cols, filter, paras);
            #endregion
        }
Пример #9
0
        public string AddSalaryStanderAndItems(T_HR_SALARYSTANDARD stand, List <T_HR_SALARYSTANDARDITEM> salaryItems)
        {
            try
            {
                salaryItems.ForEach(item =>
                {
                    stand.T_HR_SALARYSTANDARDITEM.Add(item);
                    Utility.RefreshEntity(item);
                });
                dal.Add(stand);

                return("");
            }
            catch (Exception ex)
            {
                SMT.Foundation.Log.Tracer.Debug(ex.Message);
                dal.RollbackTransaction();
                return("Error");
            }
        }
Пример #10
0
        private void btnStandardAdd_Click(object sender, RoutedEventArgs e)
        {
            T_HR_SALARYSOLUTIONSTANDARD solutionSatandard = new T_HR_SALARYSOLUTIONSTANDARD();

            if (SalarySolution != null && !string.IsNullOrEmpty(SalarySolution.SALARYSOLUTIONID))
            {
                solutionSatandard.T_HR_SALARYSOLUTION = new T_HR_SALARYSOLUTION();
                solutionSatandard.T_HR_SALARYSOLUTION.SALARYSOLUTIONID = SalarySolution.SALARYSOLUTIONID;
                Dictionary <string, string> cols = new Dictionary <string, string>();
                cols.Add("SALARYSTANDARDNAME", "SALARYSTANDARDNAME");
                cols.Add("POSTSALARY", "POSTSALARY");
                cols.Add("SECURITYALLOWANCE", "SECURITYALLOWANCE");
                cols.Add("HOUSINGALLOWANCE", "HOUSINGALLOWANCE");
                cols.Add("AREADIFALLOWANCE", "AREADIFALLOWANCE");

                System.Collections.ObjectModel.ObservableCollection <object> paras = new System.Collections.ObjectModel.ObservableCollection <object>();
                string filter = "";
                filter = "CHECKSTATE==@" + paras.Count;
                paras.Add(Convert.ToInt16(CheckStates.Approved).ToString());

                LookupForm lookup = new LookupForm(EntityNames.SalaryStandard,
                                                   typeof(List <T_HR_SALARYSTANDARD>), cols);
                //LookupForm lookup = new LookupForm(EntityNames.SalaryStandard,
                //  typeof(List<T_HR_SALARYSTANDARD>), cols, filter, paras);
                lookup.SelectedClick += (o, ev) =>
                {
                    T_HR_SALARYSTANDARD ent = lookup.SelectedObj as T_HR_SALARYSTANDARD;
                    if (ent != null)
                    {
                        solutionSatandard.SOLUTIONSTANDARDID  = Guid.NewGuid().ToString();
                        solutionSatandard.CREATEUSERID        = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                        solutionSatandard.CREATEDATE          = System.DateTime.Now;
                        solutionSatandard.T_HR_SALARYSTANDARD = new T_HR_SALARYSTANDARD();
                        solutionSatandard.T_HR_SALARYSTANDARD.SALARYSTANDARDID = ent.SALARYSTANDARDID;
                        client.SalarySolutionStandardAddAsync(solutionSatandard);
                    }
                };

                lookup.Show <string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { });
            }
        }
Пример #11
0
        /// <summary>
        /// 批量生成标准
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void btnCreate_Click(object sender, RoutedEventArgs e)
        {
            ///TODO:ADD 审核
            if (DtGrid.SelectedItems.Count > 0)
            {
                T_HR_SALARYSOLUTION tmpEnt = DtGrid.SelectedItems[0] as T_HR_SALARYSOLUTION;
                if (tmpEnt.CHECKSTATE == Convert.ToInt32(CheckStates.Approved).ToString())
                {
                    T_HR_SALARYSTANDARD standtmp = new T_HR_SALARYSTANDARD();
                    standtmp.SALARYSTANDARDID   = Guid.NewGuid().ToString();
                    standtmp.CREATECOMPANYID    = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                    standtmp.CREATEDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                    standtmp.CREATEPOSTID       = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                    standtmp.CREATEUSERID       = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;

                    standtmp.OWNERCOMPANYID    = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                    standtmp.OWNERDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                    standtmp.OWNERID           = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                    standtmp.OWNERPOSTID       = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                    loadbar.Start();
                    client.CreateSalaryStandBatchAsync(tmpEnt, postlevels, standtmp);
                    this.IsEnabled = false;
                }
                else
                {
                    ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SALARYSOLUTIONUNAPPROVED"),
                                                   Utility.GetResourceStr("CONFIRM"), MessageIcon.Error);
                    //Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SALARYSOLUTIONUNAPPROVED"));
                    return;
                }
            }
            else
            {
                ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "BATCHCREATESTAND"),
                                               Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation);
                //Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "BATCHCREATESTAND"));
                return;
            }
        }
Пример #12
0
        void SalaryStandardForm_Loaded(object sender, RoutedEventArgs e)
        {
            InitParas();
            //FormType = type;
            //if (type != FormTypes.Edit)
            //{
            //  bt_AddCustomSalary.Visibility = Visibility.Collapsed;
            //    txtbsign.Visibility = Visibility.Collapsed;
            txtRemark.Height = 60;
            //}
            if (string.IsNullOrEmpty(StandardID))
            {
                SalaryStandard = new T_HR_SALARYSTANDARD();
                SalaryStandard.SALARYSTANDARDID = Guid.NewGuid().ToString();
                SalaryStandard.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                SalaryStandard.CREATEDATE = System.DateTime.Now;

                SalaryStandard.UPDATEDATE = System.DateTime.Now;
                SalaryStandard.UPDATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;

                SalaryStandard.OWNERCOMPANYID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                SalaryStandard.OWNERDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                SalaryStandard.OWNERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                SalaryStandard.OWNERPOSTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                SalaryStandard.CHECKSTATE = Convert.ToInt32(CheckStates.UnSubmit).ToString();
                this.DataContext = SalaryStandard;
                StandardItemWinForm.SAVEID = SalaryStandard.SALARYSTANDARDID;
                SetToolBar();
            }
            else
            {
                client.GetSalaryStandardByIDAsync(StandardID);
                // StandardItemWinForm.SAVEID = standardID;
                StandardItemWinForm.LoadData(StandardID);
            }
        }
Пример #13
0
        void SalaryStandardForm_Loaded(object sender, RoutedEventArgs e)
        {
            InitParas();
            //FormType = type;
            //if (type != FormTypes.Edit)
            //{
            //  bt_AddCustomSalary.Visibility = Visibility.Collapsed;
            //    txtbsign.Visibility = Visibility.Collapsed;
            txtRemark.Height = 60;
            //}
            if (string.IsNullOrEmpty(StandardID))
            {
                SalaryStandard = new T_HR_SALARYSTANDARD();
                SalaryStandard.SALARYSTANDARDID = Guid.NewGuid().ToString();
                SalaryStandard.CREATEUSERID     = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                SalaryStandard.CREATEDATE       = System.DateTime.Now;

                SalaryStandard.UPDATEDATE   = System.DateTime.Now;
                SalaryStandard.UPDATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;

                SalaryStandard.OWNERCOMPANYID    = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                SalaryStandard.OWNERDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                SalaryStandard.OWNERID           = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                SalaryStandard.OWNERPOSTID       = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                SalaryStandard.CHECKSTATE        = Convert.ToInt32(CheckStates.UnSubmit).ToString();
                this.DataContext           = SalaryStandard;
                StandardItemWinForm.SAVEID = SalaryStandard.SALARYSTANDARDID;
                SetToolBar();
            }
            else
            {
                client.GetSalaryStandardByIDAsync(StandardID);
                // StandardItemWinForm.SAVEID = standardID;
                StandardItemWinForm.LoadData(StandardID);
            }
        }
Пример #14
0
 void client_GetSalaryStandardByIDCompleted(object sender, GetSalaryStandardByIDCompletedEventArgs e)
 {
     if (e.Result != null)
     {
         salaryStander = e.Result;
     }
 }
Пример #15
0
 private void DtGridStand_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (DtGridStand.SelectedItems.Count > 0)
     {
         selectedStand = DtGridStand.SelectedItems[0] as T_HR_SALARYSTANDARD;
         salaryStandardid = selectedStand.SALARYSTANDARDID;
         LoadSalaryRecordData();
     }
 }
Пример #16
0
        public void CreateSalaryStandBatch()
        {
            try
            {

                EmployeeSalaryRecordBLL bll = new EmployeeSalaryRecordBLL();
                SalaryStandardItemBLL itemBLL = new SalaryStandardItemBLL();

                string strsolutionall = @"上海神达物流有限公司薪资方案(A类城市)
                                上海酷武供应链管理服务有限公司薪资方案(A类)
                                北京市神通物流有限公司薪资方案(A类城市)
                                南京红之衣物流有限公司薪资方案(B类城市)
                                南宁市神州通货运代理有限公司薪资方案(D类城市)
                                南昌神州通物流有限公司薪资方案(E类城市)
                                合肥神州通物流有限公司薪资方案(D类城市)
                                哈尔滨神达通运输有限责任公司薪资方案(D类城市)
                                天津神州通物流有限公司薪资方案(C类城市)
                                太原市神通物流有限公司薪资方案(E类城市)
                                广州市神通物流有限公司薪资方案(A类城市)
                                成都通神州物流有限公司薪资方案(D类城市)
                                昆明神州通物流有限公司薪资方案(D类城市)
                                杭州新神州通货物运输有限公司薪资方案(B类城市)
                                武汉通神州仓储服务有限责任公司薪资方案(C类城市)
                                沈阳神州通物流有限公司薪资方案(C类城市)
                                济南神州通物流有限公司薪资方案(C类城市)
                                深圳市神州通物流有限公司薪资方案(A类城市)
                                深圳市神州通物流有限公司薪资方案(B类城市)
                                深圳市神州通物流有限公司薪资方案(C类城市)
                                深圳市神州通物流有限公司薪资方案(D类城市)
                                深圳市神州通物流有限公司薪资方案(E类城市)
                                深圳市神州通物流有限公司贵阳分公司(E类城市)
                                深圳市通神州物流公司薪资方案(A类城市)
                                石家庄神州通物流有限公司薪资方案(D类城市)
                                福州市神州通货运代理有限公司薪资方案(C类城市)
                                西安市神之通物流有限公司薪资方案(D类城市)
                                贵阳市神州通物流有限公司(E类城市)
                                郑州市神州通物流有限公司薪资方案(D类城市)
                                重庆新神州通物流有限公司薪资方案(D类城市)
                                长春市神之通物流有限公司薪资方案(D类城市)
                                长沙市神通物流服务有限公司薪资方案(C类城市)
                                青海神之通电子商务有限公司薪资方案(E类)";
                var solutionAll = (from ent in dal.GetObjects<T_HR_SALARYSOLUTION>().Include("T_HR_SALARYSYSTEM")
                                   where ent.SALARYSOLUTIONNAME.Contains(strsolutionall)
                                   && ent.CHECKSTATE == "2"
                                   select ent).ToList();

                foreach (var solutionItem in solutionAll)
                {
                    solution = solutionItem;


                    standtmp = new T_HR_SALARYSTANDARD();
                    standtmp.SALARYSTANDARDID = Guid.NewGuid().ToString();
                    standtmp.CREATECOMPANYID = solution.CREATECOMPANYID;
                    standtmp.CREATEDEPARTMENTID = solution.CREATEDEPARTMENTID;
                    standtmp.CREATEPOSTID = solution.CREATEPOSTID;
                    standtmp.CREATEUSERID = solution.CREATEUSERID;

                    standtmp.OWNERCOMPANYID = solution.OWNERCOMPANYID;
                    standtmp.OWNERDEPARTMENTID = solution.OWNERDEPARTMENTID;
                    standtmp.OWNERID = solution.OWNERID;
                    standtmp.OWNERPOSTID = solution.OWNERPOSTID;
                    //loadbar.Start();

                    // 薪资方案的体系ID
                    string salarySystemID = solution.T_HR_SALARYSYSTEM.SALARYSYSTEMID;
                    //薪资体系名
                    string salarySystemName = solution.T_HR_SALARYSYSTEM.SALARYSYSTEMNAME;
                    // 岗位级别名
                    string postLevelName = "";

                    //薪资方案所属的薪资体系
                    List<T_HR_SALARYLEVEL> salarylevelList = new List<T_HR_SALARYLEVEL>();
                    //薪资方案的薪资项集合
                    List<V_SALARYITEM> salaryItems = new List<V_SALARYITEM>();

                    salarylevelList = (from c in dal.GetObjects<T_HR_SALARYLEVEL>().Include("T_HR_POSTLEVELDISTINCTION")
                                       where c.T_HR_POSTLEVELDISTINCTION.T_HR_SALARYSYSTEM.SALARYSYSTEMID == salarySystemID
                                       select c).ToList().OrderBy(m => m.SALARYLEVEL).OrderBy(x => x.T_HR_POSTLEVELDISTINCTION.POSTLEVEL).ToList();

                    salaryItems = (from n in dal.GetObjects<T_HR_SALARYITEM>()
                                   join m in dal.GetObjects<T_HR_SALARYSOLUTIONITEM>() on n.SALARYITEMID equals m.T_HR_SALARYITEM.SALARYITEMID
                                   where m.T_HR_SALARYSOLUTION.SALARYSOLUTIONID == solution.SALARYSOLUTIONID
                                   select new V_SALARYITEM
                                   {
                                       T_HR_SALARYITEM = n,
                                       ORDERNUMBER = m.ORDERNUMBER
                                   }
                                   ).ToList();

                    //方案所属地区差异补贴
                    List<T_HR_AREAALLOWANCE> areaAllowance = new List<T_HR_AREAALLOWANCE>();
                    areaAllowance = (from c in dal.GetObjects<T_HR_AREAALLOWANCE>()
                                     join b in dal.GetObjects<T_HR_SALARYSOLUTION>().Include("T_HR_AREADIFFERENCE") on c.T_HR_AREADIFFERENCE.AREADIFFERENCEID equals b.T_HR_AREADIFFERENCE.AREADIFFERENCEID
                                     where b.SALARYSOLUTIONID == solution.SALARYSOLUTIONID
                                     select c).ToList();

                    int num = 0;

                    //dal.BeginTransaction();
                    foreach (var sl in salarylevelList)
                    {
                        var ent = from c in postlevels
                                  join b in salarylevelList on c.Value equals b.T_HR_POSTLEVELDISTINCTION.POSTLEVEL.ToString()
                                  where b.SALARYLEVELID == sl.SALARYLEVELID
                                  select c.Key;
                        if (ent.Count() > 0)
                        {
                            postLevelName = ent.FirstOrDefault().ToString();
                        }
                        var ents = (from a in dal.GetObjects<T_HR_SALARYSTANDARD>()
                                    where a.T_HR_SALARYLEVEL.SALARYLEVELID == sl.SALARYLEVELID
                                    && a.SALARYSOLUTIONID == solution.SALARYSOLUTIONID
                                    select new
                                    {
                                        a.SALARYSTANDARDID,
                                        a.SALARYSTANDARDNAME,
                                        a.T_HR_SALARYLEVEL.SALARYLEVEL
                                    });
                        if (ents.Count() > 0)
                        {
                           

                            var checkEntity = ents.FirstOrDefault();
                            ShowMessage(txtMsg, "薪资标准已存在,跳过:" + solution.SALARYSOLUTIONNAME + " " + checkEntity.SALARYSTANDARDNAME + System.Environment.NewLine);
                            //已存在,跳过生成
                            continue;
                            //if (int.Parse(checkEntity.SALARYLEVEL) > 40)
                            //{
                            //    try { 
                            //    var delentity = (from a in dal.GetObjects<T_HR_SALARYSTANDARD>().Include("T_HR_SALARYSTANDARDITEM")
                            //                     where a.SALARYSTANDARDID
                            //                     == checkEntity.SALARYSTANDARDID
                            //                     select a).FirstOrDefault();
                            //    foreach (var entity in delentity.T_HR_SALARYSTANDARDITEM)
                            //    {
                            //        dal.Delete(entity);
                            //    }
                            //    dal.Delete(delentity);
                            //    ShowMessage(txtMsg, "删除薪资标准成功!" + solution.SALARYSOLUTIONNAME + " " + checkEntity.SALARYSTANDARDNAME + System.Environment.NewLine);
                            //        }catch(Exception ex)
                            //    {
                            //        ShowMessage(txtMsg, "薪资标准已被使用,跳过:" + solution.SALARYSOLUTIONNAME + " " + checkEntity.SALARYSTANDARDNAME + System.Environment.NewLine);
                            //        continue;
                            //    }
                            //}
                            //else
                            //{
                            //    ShowMessage(txtMsg, "薪资标准已存在,跳过:" + solution.SALARYSOLUTIONNAME + " " + checkEntity.SALARYSTANDARDNAME + System.Environment.NewLine);
                            //    //已存在,跳过生成
                            //    continue;
                            //}
                        }
                        // 薪资体系的每条记录都对应一个标准 根据sl生成薪资标准
                        T_HR_SALARYSTANDARD stand = new T_HR_SALARYSTANDARD();
                        //薪资标准的薪资项集合
                        List<T_HR_SALARYSTANDARDITEM> standSalaryitems = new List<T_HR_SALARYSTANDARDITEM>();
                        //获取岗位级别名


                        //薪资标准名= 薪资体系名+岗位级别名+"-"+薪资级别名
                        stand.SALARYSTANDARDNAME = salarySystemName + postLevelName + "-" + sl.SALARYLEVEL.ToString();
                        stand.SALARYSTANDARDID = Guid.NewGuid().ToString();
                        // stand.T_HR_SALARYLEVEL = new T_HR_SALARYLEVEL();
                        stand.T_HR_SALARYLEVELReference.EntityKey
                              = new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_SALARYLEVEL", "SALARYLEVELID", sl.SALARYLEVELID);
                        //  stand.T_HR_SALARYLEVEL.SALARYLEVELID = sl.SALARYLEVELID;
                        stand.SALARYSOLUTIONID = solution.SALARYSOLUTIONID;
                        stand.CHECKSTATE = "2";
                        stand.BASESALARY = sl.SALARYSUM;
                        stand.CREATEDATE = System.DateTime.Now;

                        //有关权限的字段
                        stand.CREATECOMPANYID = standtmp.CREATECOMPANYID;
                        stand.CREATEDEPARTMENTID = standtmp.CREATEDEPARTMENTID;
                        stand.CREATEPOSTID = standtmp.CREATEPOSTID;
                        stand.CREATEUSERID = standtmp.CREATEUSERID;
                        stand.OWNERCOMPANYID = standtmp.OWNERCOMPANYID;
                        stand.OWNERDEPARTMENTID = standtmp.OWNERDEPARTMENTID;
                        stand.OWNERID = standtmp.OWNERID;
                        stand.OWNERPOSTID = standtmp.OWNERPOSTID;


                        //增加排序号
                        stand.PERSONALSIRATIO = num;
                        num++;


                        //标准对应的地区差异补贴(和岗位级别有关)
                        decimal? allowance = 0;
                        if (areaAllowance != null)
                        {
                            allowance = (from al in areaAllowance
                                         where al.POSTLEVEL == sl.T_HR_POSTLEVELDISTINCTION.POSTLEVEL.ToString()
                                         select al.ALLOWANCE).FirstOrDefault();
                        }
                        //计算标准的基础数据
                        decimal? BasicData = sl.SALARYSUM;

                        //按照方案的薪资项集合生成薪资标准的薪资项
                        foreach (var item in salaryItems)
                        {
                            T_HR_SALARYSTANDARDITEM standItem = new T_HR_SALARYSTANDARDITEM();
                            standItem.STANDRECORDITEMID = Guid.NewGuid().ToString();
                            standItem.T_HR_SALARYITEMReference.EntityKey
                                = new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_SALARYITEM", "SALARYITEMID", item.T_HR_SALARYITEM.SALARYITEMID);
                            // standItem.T_HR_SALARYITEM.SALARYITEMID = item.T_HR_SALARYITEM.SALARYITEMID;
                            standItem.CREATEUSERID = solution.CREATEUSERID;
                            standItem.T_HR_SALARYSTANDARDReference.EntityKey
                                = new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_SALARYSTANDARD", "SALARYSTANDARDID", stand.SALARYSTANDARDID);
                            // standItem.T_HR_SALARYSTANDARD.SALARYSTANDARDID = stand.SALARYSTANDARDID;
                            standItem.CREATEDATE = System.DateTime.Now;
                            standItem.ORDERNUMBER = item.ORDERNUMBER;
                            //计算类型是手动输入的 金额是薪资项设置是输入的值
                            if (item.T_HR_SALARYITEM.CALCULATORTYPE == "1" || (item.T_HR_SALARYITEM.CALCULATORTYPE == "4" && item.T_HR_SALARYITEM.GUERDONSUM != null))
                            {
                                standItem.SUM = item.T_HR_SALARYITEM.GUERDONSUM.ToString();
                            }
                            //计算类型是公式计算 而且不是在生成薪资时计算  
                            else if (item.T_HR_SALARYITEM.CALCULATORTYPE == "3" && item.T_HR_SALARYITEM.ISAUTOGENERATE == "0")
                            {
                                standItem.SUM = bll.AutoCalculateItem(item.T_HR_SALARYITEM.SALARYITEMID, Convert.ToDecimal(BasicData), allowance.ToString()).ToString();
                            }
                            //地区差异补贴
                            else if (item.T_HR_SALARYITEM.ENTITYCOLUMNCODE == "AREADIFALLOWANCE")
                            {
                                standItem.SUM = allowance.ToString();
                            }
                            standSalaryitems.Add(standItem);
                        }
                        //SalaryStandardAdd(stand);
                        //itemBLL.SalaryStandardItemsAdd(standSalaryitems);
                        AddSalaryStanderAndItems(stand, standSalaryitems);
                        ShowMessage(txtMsg, "生成薪资标准:" + solution.SALARYSOLUTIONNAME + " " + stand.SALARYSTANDARDNAME + "成功!" + System.Environment.NewLine);
                    }
                }
                //dal.CommitTransaction();
                ShowMessage(txtMsg, "生成所有薪资标准成功!" + System.Environment.NewLine);
                MessageBox.Show("生成所有薪资标准成功!");
            }
            catch (Exception ex)
            {
                //dal.RollbackTransaction();
                MessageBox.Show("生成失败,错误信息:" + ex.ToString());
                SMT.Foundation.Log.Tracer.Debug(ex.Message);
            }
        }
Пример #17
0
        public string AddSalaryStanderAndItems(T_HR_SALARYSTANDARD stand, List<T_HR_SALARYSTANDARDITEM> salaryItems)
        {
            try
            {
                salaryItems.ForEach(item =>
                {

                    stand.T_HR_SALARYSTANDARDITEM.Add(item);
                    Utility.RefreshEntity(item);
                });
                dal.Add(stand);

                return "";
            }
            catch (Exception ex)
            {
                SMT.Foundation.Log.Tracer.Debug(ex.Message);
                dal.RollbackTransaction();
                return "Error";
            }
        }
Пример #18
0
 public void SalaryStandardUpdate(T_HR_SALARYSTANDARD entity)
 {
     using (SalaryStandardBLL bll = new SalaryStandardBLL())
     {
         bll.SalaryStandardUpdate(entity);
     }
 }
Пример #19
0
 public string AddSalaryStanderAndItems(T_HR_SALARYSTANDARD entity, List<T_HR_SALARYSTANDARDITEM> salaryItems)
 {
     using (SalaryStandardBLL bll = new SalaryStandardBLL())
     {
         return bll.AddSalaryStanderAndItems(entity, salaryItems);
     }
 }
Пример #20
0
        void client_GetSalaryStandardPagingCompleted(object sender, GetSalaryStandardPagingCompletedEventArgs e)
        {
            List<T_HR_SALARYSTANDARD> list = new List<T_HR_SALARYSTANDARD>();
            if (e.Error != null)
            {
                ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Error);
                loadbar.Stop();
            }
            else
            {
                if (e.Result != null)
                {
                    list = e.Result.ToList();
                }
                DtGridStand.ItemsSource = list;
                dataPagerStand.PageCount = e.pageCount;
                if (list.Count > 0)
                {
                    selectedStandard = list.FirstOrDefault() as T_HR_SALARYSTANDARD;
                    if (treeOrganization.Visibility == Visibility.Collapsed)
                    {
                        LoadDefaultData();
                    }
                    else
                    {
                        LoadData();
                    }
                }
                else
                    loadbar.Stop();

            }

        }
Пример #21
0
        void client_GetSalaryArchiveMasterByIDCompleted(object sender, GetSalaryArchiveMasterByIDCompletedEventArgs e)
        {
            if (e.Error != null && !string.IsNullOrEmpty(e.Error.Message))
            {
                ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Error);
            }
            else
            {
                if (e.Result == null)
                {
                    ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("NOTFOUND"), Utility.GetResourceStr("CONFIRM"), MessageIcon.Error);
                    return;
                }
                SalaryArchive = e.Result.archive;
                this.DataContext = SalaryArchive;

                //显示员工名
                SMT.Saas.Tools.PersonnelWS.T_HR_EMPLOYEE ent = new SMT.Saas.Tools.PersonnelWS.T_HR_EMPLOYEE();
                ent.EMPLOYEEID = SalaryArchive.EMPLOYEEID;
                ent.EMPLOYEECODE = SalaryArchive.EMPLOYEECODE;
                ent.EMPLOYEECNAME = SalaryArchive.EMPLOYEENAME;
                lkEmployee.DataContext = ent;
                string fullName = string.Empty;
                //if (string.IsNullOrEmpty(e.Result.PostName))
                //{
                //    fullName = SalaryArchive.EMPLOYEENAME;
                //}
                //else
                //{
                //    fullName = SalaryArchive.EMPLOYEENAME + " - " + e.Result.PostName + " - " + GetFullOrgName(e.Result.DepartmentID);
                //}
                lkEmployee.TxtLookUp.Text = SalaryArchive.EMPLOYEENAME;

                //显示薪资方案名
                T_HR_SALARYSOLUTION tmp = new T_HR_SALARYSOLUTION();
                tmp.SALARYSOLUTIONNAME = SalaryArchive.SALARYSOLUTIONNAME;
                tmp.SALARYSOLUTIONID = SalaryArchive.SALARYSOLUTIONID;
                lkSalarySolution.DataContext = tmp;

                //发薪机构
                var companys = Application.Current.Resources["SYS_CompanyInfo"] as List<OrganizationWS.T_HR_COMPANY>;
                if (companys != null)
                {
                    OrganizationWS.T_HR_COMPANY company = companys.Where(s => s.COMPANYID == SalaryArchive.PAYCOMPANY).FirstOrDefault();
                    lkSalaryCompany.DataContext = company;
                }

                //考勤机构
                if (!string.IsNullOrWhiteSpace(SalaryArchive.ATTENDANCEORGNAME))
                {
                    lkAttendanceCompany.TxtLookUp.Text = SalaryArchive.ATTENDANCEORGNAME;
                }

                //结算岗位
                if (!string.IsNullOrWhiteSpace(SalaryArchive.BALANCEPOSTNAME))
                {
                    lkBalancePost.TxtLookUp.Text = SalaryArchive.BALANCEPOSTNAME;
                }

                //薪资标准
                salaryStand = new T_HR_SALARYSTANDARD();
                salaryStand.SALARYSTANDARDID = e.Result.standerID;
                salaryStand.SALARYSTANDARDNAME = e.Result.standerName;
                SalaryArchive.T_HR_SALARYSTANDARD = salaryStand;

                //传给流程的参数
                createCompanyID = e.Result.CompanyID;
                createDepartmentID = e.Result.DepartmentID;
                createPostID = e.Result.PostID;

                //加载薪资项
                LoadData();

                //重新提交把审核状态修改为未提交
                if (FormType == FormTypes.Resubmit)
                {
                    SalaryArchive.CHECKSTATE = Convert.ToInt32(CheckStates.UnSubmit).ToString();
                    SalaryArchive.EDITSTATE = Convert.ToInt32(EditStates.UnActived).ToString();
                }
                //禁用控件
                if (SalaryArchive.CHECKSTATE != Convert.ToInt32(CheckStates.UnSubmit).ToString())
                {
                    EnableControl();
                }
                if (SalaryArchive.POSTLEVEL != null)
                {
                    BindPostLevel(SalaryArchive.POSTLEVEL);
                    PostLevel = SalaryArchive.POSTLEVEL.ToString();
                }

                if (SalaryArchive.OLDSALARYLEVEL != null)
                {
                    oldsalaryLevel = SalaryArchive.OLDSALARYLEVEL;
                    oldpostlevel = SalaryArchive.OLDPOSTLEVEL == null ? 0 : SalaryArchive.OLDPOSTLEVEL;
                    foreach (SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY item in cbxOldSalaryLevel.Items)
                    {
                        if (item.DICTIONARYVALUE == oldsalaryLevel)
                        {
                            cbxOldSalaryLevel.SelectedItem = item;
                            break;
                        }
                    }
                    foreach (SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY item in cbxOldPostLevel.Items)
                    {
                        if (item.DICTIONARYVALUE == oldpostlevel)
                        {
                            cbxOldPostLevel.SelectedItem = item;
                            break;
                        }
                    }

                }
                if (SalaryArchive.BALANCE != null)
                {
                    txtbBalance.Text = SalaryArchive.BALANCE.ToString();
                }

                RefreshUI(RefreshedTypes.AuditInfo);
                SetToolBar();
            }
        }
Пример #22
0
        private void CopySalaryStandardToArchive(T_HR_SALARYSTANDARD stand)
        {
            if (stand == null)
                return;



        }
Пример #23
0
        private void lkCustomSalary_FindClick(object sender, EventArgs e)
        {
            string filter = "";
            ObservableCollection<object> paras = new ObservableCollection<object>();
            Dictionary<string, string> cols = new Dictionary<string, string>();
            cols.Add("GUERDONNAME", "GUERDONNAME");
            cols.Add("GUERDONSUM", "GUERDONSUM");
            cols.Add("UPDATEDATE", "UPDATEDATE");
            filter += "OWNERCOMPANYID==@" + paras.Count().ToString();
            paras.Add(SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID);
            LookupForm lookup = new LookupForm(EntityNames.CustomGuerdonSet,
                typeof(List<T_HR_CUSTOMGUERDONSET>), cols, filter, paras);
            lookup.TitleContent = Utility.GetResourceStr("CUSTOMSALARY");
            lookup.SelectedClick += (o, ev) =>
            {
                T_HR_CUSTOMGUERDONSET ent = lookup.SelectedObj as T_HR_CUSTOMGUERDONSET;
                if (!GetExit(ent.GUERDONNAME))
                {
                    if (ent != null)
                    {
                        lkCustomSalary.DataContext = ent;
                        T_HR_SALARYSTANDARD entSALARYSTANDARD = new T_HR_SALARYSTANDARD();
                        entSALARYSTANDARD.SALARYSTANDARDID = SAVEID;
                        customGuerdon.CUSTOMGUERDONID = Guid.NewGuid().ToString();
                        customGuerdon.T_HR_SALARYSTANDARD = entSALARYSTANDARD;
                        customGuerdon.T_HR_CUSTOMGUERDONSET = ent;
                        customGuerdon.SUM = ent.GUERDONSUM;
                        customGuerdon.CREATEDATE = System.DateTime.Now;

                        customGuerdon.OWNERCOMPANYID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                        customGuerdon.OWNERDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                        customGuerdon.OWNERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                        customGuerdon.OWNERPOSTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                        customGuerdon.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                        customGuerdon.CREATECOMPANYID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                        customGuerdon.CREATEDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                        customGuerdon.CREATEPOSTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;

                        client.CustomGuerdonAddAsync(customGuerdon);
                        RefreshUI(RefreshedTypes.ProgressBar);
                    }
                }
                else
                {
                    ent.GUERDONNAME = "";// Utility.GetResourceStr("ALREADYEXISTS");
                    lkCustomSalary.DataContext = ent;
                    Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("ALREADYEXISTS"));
                }
            };
            lookup.Show<string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { });

        }
Пример #24
0
        /// <summary>
        /// 批量生成标准
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void btnCreate_Click(object sender, RoutedEventArgs e)
        {
            ///TODO:ADD 审核  
            if (DtGrid.SelectedItems.Count > 0)
            {
                T_HR_SALARYSOLUTION tmpEnt = DtGrid.SelectedItems[0] as T_HR_SALARYSOLUTION;
                if (tmpEnt.CHECKSTATE == Convert.ToInt32(CheckStates.Approved).ToString())
                {
                    T_HR_SALARYSTANDARD standtmp = new T_HR_SALARYSTANDARD();
                    standtmp.SALARYSTANDARDID = Guid.NewGuid().ToString();
                    standtmp.CREATECOMPANYID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                    standtmp.CREATEDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                    standtmp.CREATEPOSTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                    standtmp.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;

                    standtmp.OWNERCOMPANYID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                    standtmp.OWNERDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                    standtmp.OWNERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                    standtmp.OWNERPOSTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                    loadbar.Start();
                    client.CreateSalaryStandBatchAsync(tmpEnt, postlevels, standtmp);
                    this.IsEnabled = false;
                }
                else
                {
                    ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SALARYSOLUTIONUNAPPROVED"),
Utility.GetResourceStr("CONFIRM"), MessageIcon.Error);
                    //Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SALARYSOLUTIONUNAPPROVED"));
                    return;
                }
            }
            else
            {
                ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "BATCHCREATESTAND"),
Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation);
                //Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr("SELECTERROR", "BATCHCREATESTAND"));
                return;
            }
        }
Пример #25
0
        void btnNew_Click(object sender, RoutedEventArgs e)
        {
            string filter = "";
            ObservableCollection<object> paras = new ObservableCollection<object>();
                T_HR_SALARYSTANDARDITEM salarystandarditem = new T_HR_SALARYSTANDARDITEM();
                T_HR_SALARYSTANDARD salarystandard = new T_HR_SALARYSTANDARD();
                salarystandard.SALARYSTANDARDID = savesid;
                Dictionary<string, string> cols = new Dictionary<string, string>();
                cols.Add("SALARYITEMNAME", "SALARYITEMNAME");
                cols.Add("GUERDONSUM", "GUERDONSUM");
                cols.Add("CALCULATEFORMULA", "CALCULATEFORMULA");
                RefreshUI(RefreshedTypes.ProgressBar);
                filter += "CREATECOMPANYID==@" + paras.Count().ToString();
                paras.Add(SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID);
                LookupForm lookup = new LookupForm(EntityNames.SalaryItemSet,
                    typeof(List<T_HR_SALARYITEM>), cols, filter,paras);
                lookup.TitleContent = Utility.GetResourceStr("SALARYITEM");
                lookup.SelectedClick += (o, ev) =>
                {
                    T_HR_SALARYITEM ent = lookup.SelectedObj as T_HR_SALARYITEM;
                    if (ent != null)
                    {
                        salarystandarditem.STANDRECORDITEMID = Guid.NewGuid().ToString();
                        salarystandarditem.T_HR_SALARYITEM = ent;
                        salarystandarditem.T_HR_SALARYSTANDARD = salarystandard;
                        salarystandarditem.SUM = ent.GUERDONSUM.ToString();
                        salarystandarditem.REMARK = ent.REMARK;
                        salarystandarditem.CREATEDATE = System.DateTime.Now;
                        salarystandarditem.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                        client.SalaryStandardItemAddAsync(salarystandarditem);
                    }
                };
                lookup.Show<string>(DialogMode.Default, SMT.SAAS.Main.CurrentContext.Common.ParentLayoutRoot, "", (result) => { });

            #region ----
            //System.Collections.ObjectModel.ObservableCollection<object> paras = new System.Collections.ObjectModel.ObservableCollection<object>();
            ////string filter = "";
            ////filter = "CHECKSTATE==@" + paras.Count;
            //paras.Add(Convert.ToInt16(CheckStates.Approved).ToString());
            //LookupForm lookup = new LookupForm(EntityNames.SalaryStandard,
            //  typeof(List<T_HR_SALARYSTANDARD>), cols, filter, paras);
            #endregion

        }
Пример #26
0
        private void DtGridStand_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

            if (DtGridStand.SelectedItems.Count > 0)
            {
                selectedStandard = DtGridStand.SelectedItems[0] as T_HR_SALARYSTANDARD;
                if (treeOrganization.Visibility == Visibility.Collapsed)
                {
                    LoadDefaultData();
                }
                else
                {
                    LoadData();
                }
            }
        }
Пример #27
0
        private void CopySalaryStandardToArchive(T_HR_SALARYSTANDARD stander)
        {
            archive.SALARYARCHIVEID = Guid.NewGuid().ToString();
            archive.AREADIFALLOWANCE = stander.AREADIFALLOWANCE;
            archive.FOODALLOWANCE = stander.FOODALLOWANCE;

            archive.HOUSINGALLOWANCEDEDUCT = stander.HOUSINGALLOWANCEDEDUCT;
            archive.OTHERADDDEDUCT = stander.OTHERADDDEDUCT;
            archive.OTHERADDDEDUCTDESC = stander.OTHERADDDEDUCTDESC;

            archive.OTHERSUBJOIN = stander.OTHERSUBJOIN;
            archive.OTHERSUBJOINDESC = stander.OTHERSUBJOINDESC;
            archive.PERSONALINCOMERATIO = stander.PERSONALINCOMERATIO;
            archive.PERSONALSIRATIO = stander.PERSONALSIRATIO;

            archive.POSTSALARY = stander.POSTSALARY;
            archive.HOUSINGALLOWANCE = stander.HOUSINGALLOWANCE;
            archive.SECURITYALLOWANCE = stander.SECURITYALLOWANCE;

            archive.T_HR_SALARYSTANDARD = new T_HR_SALARYSTANDARD();
            archive.T_HR_SALARYSTANDARD.SALARYSTANDARDID = stander.SALARYSTANDARDID;
            //if (stander.T_HR_SALARYSOLUTION != null)
            //{
            //    archive.SALARYSOLUTIONID = stander.T_HR_SALARYSOLUTION.SALARYSOLUTIONID;
            //}

            archive.CREATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
            archive.UPDATEUSERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;

        }
Пример #28
0
 public string CreateSalaryStandBatch(T_HR_SALARYSOLUTION solution, Dictionary<string, string> postlevel, T_HR_SALARYSTANDARD standModel)
 {
     using (SalaryStandardBLL bll = new SalaryStandardBLL())
     {
         return bll.CreateSalaryStandBatch(solution, postlevel, standModel);
     }
 }
Пример #29
0
        void btnEdit_Click(object sender, RoutedEventArgs e)
        {
            if (DtGridStand.SelectedItems.Count > 0)
            {
                selectedStand = DtGrid.SelectedItems[0] as T_HR_SALARYSTANDARD;
                //  T_HR_SALARYSTANDARD tmpStandard = DtGrid.SelectedItems[0] as T_HR_SALARYSTANDARD;

                Form.Salary.SalaryStandardForm form = new SMT.HRM.UI.Form.Salary.SalaryStandardForm(FormTypes.Edit, selectedStand.SALARYSTANDARDID);

                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;
            }
        }
Пример #30
0
        public void CreateSalaryStandBatch()
        {
            try
            {
                EmployeeSalaryRecordBLL bll     = new EmployeeSalaryRecordBLL();
                SalaryStandardItemBLL   itemBLL = new SalaryStandardItemBLL();

                string strsolutionall = @"上海神达物流有限公司薪资方案(A类城市)
                                上海酷武供应链管理服务有限公司薪资方案(A类)
                                北京市神通物流有限公司薪资方案(A类城市)
                                南京红之衣物流有限公司薪资方案(B类城市)
                                南宁市神州通货运代理有限公司薪资方案(D类城市)
                                南昌神州通物流有限公司薪资方案(E类城市)
                                合肥神州通物流有限公司薪资方案(D类城市)
                                哈尔滨神达通运输有限责任公司薪资方案(D类城市)
                                天津神州通物流有限公司薪资方案(C类城市)
                                太原市神通物流有限公司薪资方案(E类城市)
                                广州市神通物流有限公司薪资方案(A类城市)
                                成都通神州物流有限公司薪资方案(D类城市)
                                昆明神州通物流有限公司薪资方案(D类城市)
                                杭州新神州通货物运输有限公司薪资方案(B类城市)
                                武汉通神州仓储服务有限责任公司薪资方案(C类城市)
                                沈阳神州通物流有限公司薪资方案(C类城市)
                                济南神州通物流有限公司薪资方案(C类城市)
                                深圳市神州通物流有限公司薪资方案(A类城市)
                                深圳市神州通物流有限公司薪资方案(B类城市)
                                深圳市神州通物流有限公司薪资方案(C类城市)
                                深圳市神州通物流有限公司薪资方案(D类城市)
                                深圳市神州通物流有限公司薪资方案(E类城市)
                                深圳市神州通物流有限公司贵阳分公司(E类城市)
                                深圳市通神州物流公司薪资方案(A类城市)
                                石家庄神州通物流有限公司薪资方案(D类城市)
                                福州市神州通货运代理有限公司薪资方案(C类城市)
                                西安市神之通物流有限公司薪资方案(D类城市)
                                贵阳市神州通物流有限公司(E类城市)
                                郑州市神州通物流有限公司薪资方案(D类城市)
                                重庆新神州通物流有限公司薪资方案(D类城市)
                                长春市神之通物流有限公司薪资方案(D类城市)
                                长沙市神通物流服务有限公司薪资方案(C类城市)
                                青海神之通电子商务有限公司薪资方案(E类)";
                var    solutionAll    = (from ent in dal.GetObjects <T_HR_SALARYSOLUTION>().Include("T_HR_SALARYSYSTEM")
                                         where ent.SALARYSOLUTIONNAME.Contains(strsolutionall) &&
                                         ent.CHECKSTATE == "2"
                                         select ent).ToList();

                foreach (var solutionItem in solutionAll)
                {
                    solution = solutionItem;


                    standtmp = new T_HR_SALARYSTANDARD();
                    standtmp.SALARYSTANDARDID   = Guid.NewGuid().ToString();
                    standtmp.CREATECOMPANYID    = solution.CREATECOMPANYID;
                    standtmp.CREATEDEPARTMENTID = solution.CREATEDEPARTMENTID;
                    standtmp.CREATEPOSTID       = solution.CREATEPOSTID;
                    standtmp.CREATEUSERID       = solution.CREATEUSERID;

                    standtmp.OWNERCOMPANYID    = solution.OWNERCOMPANYID;
                    standtmp.OWNERDEPARTMENTID = solution.OWNERDEPARTMENTID;
                    standtmp.OWNERID           = solution.OWNERID;
                    standtmp.OWNERPOSTID       = solution.OWNERPOSTID;
                    //loadbar.Start();

                    // 薪资方案的体系ID
                    string salarySystemID = solution.T_HR_SALARYSYSTEM.SALARYSYSTEMID;
                    //薪资体系名
                    string salarySystemName = solution.T_HR_SALARYSYSTEM.SALARYSYSTEMNAME;
                    // 岗位级别名
                    string postLevelName = "";

                    //薪资方案所属的薪资体系
                    List <T_HR_SALARYLEVEL> salarylevelList = new List <T_HR_SALARYLEVEL>();
                    //薪资方案的薪资项集合
                    List <V_SALARYITEM> salaryItems = new List <V_SALARYITEM>();

                    salarylevelList = (from c in dal.GetObjects <T_HR_SALARYLEVEL>().Include("T_HR_POSTLEVELDISTINCTION")
                                       where c.T_HR_POSTLEVELDISTINCTION.T_HR_SALARYSYSTEM.SALARYSYSTEMID == salarySystemID
                                       select c).ToList().OrderBy(m => m.SALARYLEVEL).OrderBy(x => x.T_HR_POSTLEVELDISTINCTION.POSTLEVEL).ToList();

                    salaryItems = (from n in dal.GetObjects <T_HR_SALARYITEM>()
                                   join m in dal.GetObjects <T_HR_SALARYSOLUTIONITEM>() on n.SALARYITEMID equals m.T_HR_SALARYITEM.SALARYITEMID
                                   where m.T_HR_SALARYSOLUTION.SALARYSOLUTIONID == solution.SALARYSOLUTIONID
                                   select new V_SALARYITEM
                    {
                        T_HR_SALARYITEM = n,
                        ORDERNUMBER = m.ORDERNUMBER
                    }
                                   ).ToList();

                    //方案所属地区差异补贴
                    List <T_HR_AREAALLOWANCE> areaAllowance = new List <T_HR_AREAALLOWANCE>();
                    areaAllowance = (from c in dal.GetObjects <T_HR_AREAALLOWANCE>()
                                     join b in dal.GetObjects <T_HR_SALARYSOLUTION>().Include("T_HR_AREADIFFERENCE") on c.T_HR_AREADIFFERENCE.AREADIFFERENCEID equals b.T_HR_AREADIFFERENCE.AREADIFFERENCEID
                                     where b.SALARYSOLUTIONID == solution.SALARYSOLUTIONID
                                     select c).ToList();

                    int num = 0;

                    //dal.BeginTransaction();
                    foreach (var sl in salarylevelList)
                    {
                        var ent = from c in postlevels
                                  join b in salarylevelList on c.Value equals b.T_HR_POSTLEVELDISTINCTION.POSTLEVEL.ToString()
                                      where b.SALARYLEVELID == sl.SALARYLEVELID
                                  select c.Key;

                        if (ent.Count() > 0)
                        {
                            postLevelName = ent.FirstOrDefault().ToString();
                        }
                        var ents = (from a in dal.GetObjects <T_HR_SALARYSTANDARD>()
                                    where a.T_HR_SALARYLEVEL.SALARYLEVELID == sl.SALARYLEVELID &&
                                    a.SALARYSOLUTIONID == solution.SALARYSOLUTIONID
                                    select new
                        {
                            a.SALARYSTANDARDID,
                            a.SALARYSTANDARDNAME,
                            a.T_HR_SALARYLEVEL.SALARYLEVEL
                        });
                        if (ents.Count() > 0)
                        {
                            var checkEntity = ents.FirstOrDefault();
                            ShowMessage(txtMsg, "薪资标准已存在,跳过:" + solution.SALARYSOLUTIONNAME + " " + checkEntity.SALARYSTANDARDNAME + System.Environment.NewLine);
                            //已存在,跳过生成
                            continue;
                            //if (int.Parse(checkEntity.SALARYLEVEL) > 40)
                            //{
                            //    try {
                            //    var delentity = (from a in dal.GetObjects<T_HR_SALARYSTANDARD>().Include("T_HR_SALARYSTANDARDITEM")
                            //                     where a.SALARYSTANDARDID
                            //                     == checkEntity.SALARYSTANDARDID
                            //                     select a).FirstOrDefault();
                            //    foreach (var entity in delentity.T_HR_SALARYSTANDARDITEM)
                            //    {
                            //        dal.Delete(entity);
                            //    }
                            //    dal.Delete(delentity);
                            //    ShowMessage(txtMsg, "删除薪资标准成功!" + solution.SALARYSOLUTIONNAME + " " + checkEntity.SALARYSTANDARDNAME + System.Environment.NewLine);
                            //        }catch(Exception ex)
                            //    {
                            //        ShowMessage(txtMsg, "薪资标准已被使用,跳过:" + solution.SALARYSOLUTIONNAME + " " + checkEntity.SALARYSTANDARDNAME + System.Environment.NewLine);
                            //        continue;
                            //    }
                            //}
                            //else
                            //{
                            //    ShowMessage(txtMsg, "薪资标准已存在,跳过:" + solution.SALARYSOLUTIONNAME + " " + checkEntity.SALARYSTANDARDNAME + System.Environment.NewLine);
                            //    //已存在,跳过生成
                            //    continue;
                            //}
                        }
                        // 薪资体系的每条记录都对应一个标准 根据sl生成薪资标准
                        T_HR_SALARYSTANDARD stand = new T_HR_SALARYSTANDARD();
                        //薪资标准的薪资项集合
                        List <T_HR_SALARYSTANDARDITEM> standSalaryitems = new List <T_HR_SALARYSTANDARDITEM>();
                        //获取岗位级别名


                        //薪资标准名= 薪资体系名+岗位级别名+"-"+薪资级别名
                        stand.SALARYSTANDARDNAME = salarySystemName + postLevelName + "-" + sl.SALARYLEVEL.ToString();
                        stand.SALARYSTANDARDID   = Guid.NewGuid().ToString();
                        // stand.T_HR_SALARYLEVEL = new T_HR_SALARYLEVEL();
                        stand.T_HR_SALARYLEVELReference.EntityKey
                            = new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_SALARYLEVEL", "SALARYLEVELID", sl.SALARYLEVELID);
                        //  stand.T_HR_SALARYLEVEL.SALARYLEVELID = sl.SALARYLEVELID;
                        stand.SALARYSOLUTIONID = solution.SALARYSOLUTIONID;
                        stand.CHECKSTATE       = "2";
                        stand.BASESALARY       = sl.SALARYSUM;
                        stand.CREATEDATE       = System.DateTime.Now;

                        //有关权限的字段
                        stand.CREATECOMPANYID    = standtmp.CREATECOMPANYID;
                        stand.CREATEDEPARTMENTID = standtmp.CREATEDEPARTMENTID;
                        stand.CREATEPOSTID       = standtmp.CREATEPOSTID;
                        stand.CREATEUSERID       = standtmp.CREATEUSERID;
                        stand.OWNERCOMPANYID     = standtmp.OWNERCOMPANYID;
                        stand.OWNERDEPARTMENTID  = standtmp.OWNERDEPARTMENTID;
                        stand.OWNERID            = standtmp.OWNERID;
                        stand.OWNERPOSTID        = standtmp.OWNERPOSTID;


                        //增加排序号
                        stand.PERSONALSIRATIO = num;
                        num++;


                        //标准对应的地区差异补贴(和岗位级别有关)
                        decimal?allowance = 0;
                        if (areaAllowance != null)
                        {
                            allowance = (from al in areaAllowance
                                         where al.POSTLEVEL == sl.T_HR_POSTLEVELDISTINCTION.POSTLEVEL.ToString()
                                         select al.ALLOWANCE).FirstOrDefault();
                        }
                        //计算标准的基础数据
                        decimal?BasicData = sl.SALARYSUM;

                        //按照方案的薪资项集合生成薪资标准的薪资项
                        foreach (var item in salaryItems)
                        {
                            T_HR_SALARYSTANDARDITEM standItem = new T_HR_SALARYSTANDARDITEM();
                            standItem.STANDRECORDITEMID = Guid.NewGuid().ToString();
                            standItem.T_HR_SALARYITEMReference.EntityKey
                                = new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_SALARYITEM", "SALARYITEMID", item.T_HR_SALARYITEM.SALARYITEMID);
                            // standItem.T_HR_SALARYITEM.SALARYITEMID = item.T_HR_SALARYITEM.SALARYITEMID;
                            standItem.CREATEUSERID = solution.CREATEUSERID;
                            standItem.T_HR_SALARYSTANDARDReference.EntityKey
                                = new System.Data.EntityKey(qualifiedEntitySetName + "T_HR_SALARYSTANDARD", "SALARYSTANDARDID", stand.SALARYSTANDARDID);
                            // standItem.T_HR_SALARYSTANDARD.SALARYSTANDARDID = stand.SALARYSTANDARDID;
                            standItem.CREATEDATE  = System.DateTime.Now;
                            standItem.ORDERNUMBER = item.ORDERNUMBER;
                            //计算类型是手动输入的 金额是薪资项设置是输入的值
                            if (item.T_HR_SALARYITEM.CALCULATORTYPE == "1" || (item.T_HR_SALARYITEM.CALCULATORTYPE == "4" && item.T_HR_SALARYITEM.GUERDONSUM != null))
                            {
                                standItem.SUM = item.T_HR_SALARYITEM.GUERDONSUM.ToString();
                            }
                            //计算类型是公式计算 而且不是在生成薪资时计算
                            else if (item.T_HR_SALARYITEM.CALCULATORTYPE == "3" && item.T_HR_SALARYITEM.ISAUTOGENERATE == "0")
                            {
                                standItem.SUM = bll.AutoCalculateItem(item.T_HR_SALARYITEM.SALARYITEMID, Convert.ToDecimal(BasicData), allowance.ToString()).ToString();
                            }
                            //地区差异补贴
                            else if (item.T_HR_SALARYITEM.ENTITYCOLUMNCODE == "AREADIFALLOWANCE")
                            {
                                standItem.SUM = allowance.ToString();
                            }
                            standSalaryitems.Add(standItem);
                        }
                        //SalaryStandardAdd(stand);
                        //itemBLL.SalaryStandardItemsAdd(standSalaryitems);
                        AddSalaryStanderAndItems(stand, standSalaryitems);
                        ShowMessage(txtMsg, "生成薪资标准:" + solution.SALARYSOLUTIONNAME + " " + stand.SALARYSTANDARDNAME + "成功!" + System.Environment.NewLine);
                    }
                }
                //dal.CommitTransaction();
                ShowMessage(txtMsg, "生成所有薪资标准成功!" + System.Environment.NewLine);
                MessageBox.Show("生成所有薪资标准成功!");
            }
            catch (Exception ex)
            {
                //dal.RollbackTransaction();
                MessageBox.Show("生成失败,错误信息:" + ex.ToString());
                SMT.Foundation.Log.Tracer.Debug(ex.Message);
            }
        }