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(); } } }
private void CopySalaryStandardToArchive(T_HR_SALARYSTANDARD stand) { if (stand == null) { return; } }
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) => { }); }
void client_GetSalaryStandardByIDCompleted(object sender, GetSalaryStandardByIDCompletedEventArgs e) { if (e.Result != null) { salaryStander = e.Result; } }
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(); } }
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) => { }); }
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(); } } }
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 }
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"); } }
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) => { }); } }
/// <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; } }
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); } }
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); } }
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"; } }
public void SalaryStandardUpdate(T_HR_SALARYSTANDARD entity) { using (SalaryStandardBLL bll = new SalaryStandardBLL()) { bll.SalaryStandardUpdate(entity); } }
public string AddSalaryStanderAndItems(T_HR_SALARYSTANDARD entity, List<T_HR_SALARYSTANDARDITEM> salaryItems) { using (SalaryStandardBLL bll = new SalaryStandardBLL()) { return bll.AddSalaryStanderAndItems(entity, salaryItems); } }
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(); } }
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(); } }
private void CopySalaryStandardToArchive(T_HR_SALARYSTANDARD stand) { if (stand == null) return; }
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) => { }); }
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 }
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; }
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); } }
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; } }
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); } }