示例#1
0
        /// <summary>
        /// 保存单据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void EditForm_Saving(object sender, SavingEventArgs e)
        {
            List <string> msgs = new List <string>();
            T_FB_PERSONMONEYASSIGNMASTER entCurr = this.OrderEntity.Entity as T_FB_PERSONMONEYASSIGNMASTER;

            if (string.IsNullOrWhiteSpace(entCurr.ASSIGNCOMPANYID) || string.IsNullOrWhiteSpace(entCurr.ASSIGNCOMPANYNAME))
            {
                msgs.Add("下拨公司不能为空");
                e.Action = Actions.Cancel;
                CommonFunction.ShowErrorMessage(msgs);
                return;
            }

            ObservableCollection <FBEntity> details = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONMONEYASSIGNDETAIL).Name);

            ObservableCollection <FBEntity> list0 = new ObservableCollection <FBEntity>();


            details.ToList().ForEach(item =>
            {
                T_FB_PERSONMONEYASSIGNDETAIL detail = item.Entity as T_FB_PERSONMONEYASSIGNDETAIL;

                if (detail.BUDGETMONEY <= 0 || detail.BUDGETMONEY == null)
                {
                    string errorMessage = detail.OWNERNAME + "的下拨金额为零请删除";
                    msgs.Add(errorMessage);
                }
            });

            //明细为为0的不能提交
            if (details.ToList().Count <= 0)
            {
                msgs.Add("下拨明细不能为空");
            }
            if (msgs.Count > 0)
            {
                e.Action = Actions.Cancel;
                CommonFunction.ShowErrorMessage(msgs);
            }

            //删除多余的关联
            if (entCurr == null)
            {
                return;
            }

            if (entCurr.T_FB_PERSONMONEYASSIGNDETAIL == null)
            {
                return;
            }

            entCurr.T_FB_PERSONMONEYASSIGNDETAIL.Clear();
        }
示例#2
0
        void pe_GetEmployeeFundsListCompleted(object sender, Saas.Tools.PersonnelWS.GetEmployeeFundsListCompletedEventArgs e)
        {
            try
            {
                if (e.Result == null || e.Result.Count == 0 || e.Error != null)
                {
                    CommonFunction.ShowErrorMessage("调用HR服务返回异常信息(为空表示没有数据):" + e.Error);
                    return;
                }
                var assignDetail = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONMONEYASSIGNDETAIL).Name);
                ObservableCollection <SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS> vlistpostinfo = e.Result;
                vlistpostinfo.ForEach(person =>
                {
                    var detail = assignDetail.FirstOrDefault(p =>
                    {
                        T_FB_PERSONMONEYASSIGNDETAIL cd = p.Entity as T_FB_PERSONMONEYASSIGNDETAIL;
                        return(cd.OWNERID == person.EMPLOYEEID && cd.OWNERPOSTID == person.POSTID);
                    });
                    if (detail != null)
                    {
                        T_FB_PERSONMONEYASSIGNDETAIL item = detail.Entity as T_FB_PERSONMONEYASSIGNDETAIL;
                        decimal dRealsum = 0, dNeedsum = 0;
                        if (person.REALSUM != null)
                        {
                            dRealsum = person.REALSUM.Value;
                        }

                        if (person.NEEDSUM != null)
                        {
                            dNeedsum = person.NEEDSUM.Value;
                        }

                        item.BUDGETMONEY        = dRealsum;
                        item.SUGGESTBUDGETMONEY = dNeedsum;
                        item.POSTINFO           = person.ATTENDREMARK;
                    }
                });
            }
            catch (Exception ex)
            {
                CommonFunction.ShowErrorMessage("调用HR服务返回异常信息:" + ex.ToString());
            }
            finally
            {
                this.CloseProcess();
            }
        }
示例#3
0
 public static T_FB_PERSONMONEYASSIGNDETAIL CreateT_FB_PERSONMONEYASSIGNDETAIL(string pERSONBUDGETAPPLYDETAILID, string cREATEUSERID, global::System.DateTime cREATEDATE, string uPDATEUSERID, global::System.DateTime uPDATEDATE, string oWNERID, string oWNERPOSTID, string oWNERDEPARTMENTID, string oWNERCOMPANYID)
 {
     T_FB_PERSONMONEYASSIGNDETAIL t_FB_PERSONMONEYASSIGNDETAIL = new T_FB_PERSONMONEYASSIGNDETAIL();
     t_FB_PERSONMONEYASSIGNDETAIL.PERSONBUDGETAPPLYDETAILID = pERSONBUDGETAPPLYDETAILID;
     t_FB_PERSONMONEYASSIGNDETAIL.CREATEUSERID = cREATEUSERID;
     t_FB_PERSONMONEYASSIGNDETAIL.CREATEDATE = cREATEDATE;
     t_FB_PERSONMONEYASSIGNDETAIL.UPDATEUSERID = uPDATEUSERID;
     t_FB_PERSONMONEYASSIGNDETAIL.UPDATEDATE = uPDATEDATE;
     t_FB_PERSONMONEYASSIGNDETAIL.OWNERID = oWNERID;
     t_FB_PERSONMONEYASSIGNDETAIL.OWNERPOSTID = oWNERPOSTID;
     t_FB_PERSONMONEYASSIGNDETAIL.OWNERDEPARTMENTID = oWNERDEPARTMENTID;
     t_FB_PERSONMONEYASSIGNDETAIL.OWNERCOMPANYID = oWNERCOMPANYID;
     return t_FB_PERSONMONEYASSIGNDETAIL;
 }
示例#4
0
 public void AddToT_FB_PERSONMONEYASSIGNDETAIL(T_FB_PERSONMONEYASSIGNDETAIL t_FB_PERSONMONEYASSIGNDETAIL)
 {
     base.AddObject("T_FB_PERSONMONEYASSIGNDETAIL", t_FB_PERSONMONEYASSIGNDETAIL);
 }
示例#5
0
        void dGrid_ToolBarItemClick(object sender, ToolBarItemClickEventArgs e)
        {
            if (e.Action != Actions.Add)
            {
                return;
            }
            e.Action = Actions.Cancel;
            string perm   = "3";
            string entity = typeof(T_FB_PERSONMONEYASSIGNMASTER).Name;

            if (this.EditForm.OperationType == OperationTypes.Edit)
            {
                perm = ((int)Permissions.Edit).ToString();
            }
            else if (this.EditForm.OperationType == OperationTypes.Add)
            {
                perm = ((int)Permissions.Add + 1).ToString();
            }
            else
            {
                perm = ((int)Permissions.Browse).ToString();
            }

            string userID = DataCore.CurrentUser.Value.ToString();
            //             BF06E969-1B2C-4a89-B0AE-A91CA1244053
            OrganizationLookup ogzLookup = new OrganizationLookup();

            ogzLookup.SelectedObjType = OrgTreeItemTypes.Personnel;
            ogzLookup.MultiSelected   = true;

            FrameworkElement plRoot = CommonFunction.ParentLayoutRoot;

            try
            {
                ogzLookup.SelectedClick += (o, ea) =>
                {
                    if (ogzLookup.SelectedObj.Count > 0)
                    {
                        //处理岗位及下拨
                        SMT.Saas.Tools.PersonnelWS.PersonnelServiceClient pe = new SMT.Saas.Tools.PersonnelWS.PersonnelServiceClient();
                        ObservableCollection <SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS> vlistpostinfo = new ObservableCollection <SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS>();

                        var assignDetail = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONMONEYASSIGNDETAIL).Name);

                        var selectedObjects = ogzLookup.SelectedObj;
                        selectedObjects.ForEach(obj =>
                        {
                            ExtOrgObj post = obj.ParentObject as ExtOrgObj;
                            ExtOrgObj dept = post.ParentObject as ExtOrgObj;

                            // ExtOrgObj com = dept.ParentObject as ExtOrgObj;
                            ITextValueItem pdata = DataCore.FindReferencedData <PostData>(post.ObjectID);
                            ITextValueItem ddata = DataCore.FindReferencedData <DepartmentData>(dept.ObjectID);
                            ITextValueItem cdata = (ddata as DepartmentData).Company;

                            var existDetail = assignDetail.FirstOrDefault(item =>
                            {
                                T_FB_PERSONMONEYASSIGNDETAIL cd = item.Entity as T_FB_PERSONMONEYASSIGNDETAIL;
                                return(cd.OWNERID == obj.ObjectID && cd.OWNERPOSTID == pdata.Value.ToString());
                            });

                            T_FB_PERSONMONEYASSIGNDETAIL detail = new T_FB_PERSONMONEYASSIGNDETAIL();
                            if (existDetail != null)
                            {
                                detail.PERSONBUDGETAPPLYDETAILID    = (existDetail.Entity as T_FB_PERSONMONEYASSIGNDETAIL).PERSONBUDGETAPPLYDETAILID;
                                detail.T_FB_PERSONMONEYASSIGNMASTER = this.OrderEntity.Entity as T_FB_PERSONMONEYASSIGNMASTER;
                            }
                            else
                            {
                                detail.PERSONBUDGETAPPLYDETAILID    = Guid.NewGuid().ToString();
                                detail.T_FB_PERSONMONEYASSIGNMASTER = this.OrderEntity.Entity as T_FB_PERSONMONEYASSIGNMASTER;
                                detail.BUDGETMONEY = 0;
                            }

                            // start 添加岗位级别,用于排序
                            var employee1 = obj.ObjectInstance as SMT.Saas.Tools.PersonnelWS.T_HR_EMPLOYEE;
                            if (employee1 != null)
                            {
                                var ep = employee1.T_HR_EMPLOYEEPOST.FirstOrDefault();
                                if (ep != null)
                                {
                                    detail.POSTLEVEL = ep.POSTLEVEL;
                                }
                            }


                            // end

                            detail.OWNERID             = obj.ObjectID;
                            detail.OWNERNAME           = obj.ObjectName;
                            detail.OWNERPOSTID         = pdata.Value.ToString();
                            detail.OWNERPOSTNAME       = pdata.Text;
                            detail.OWNERDEPARTMENTID   = ddata.Value.ToString();
                            detail.OWNERDEPARTMENTNAME = ddata.Text;
                            detail.OWNERCOMPANYID      = cdata.Value.ToString();
                            detail.OWNERCOMPANYNAME    = cdata.Text;

                            //SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEPOSTFORFB vpostinfo = new SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEPOSTFORFB();
                            //vpostinfo.PERSONBUDGETAPPLYDETAILID = detail.PERSONBUDGETAPPLYDETAILID;
                            //vpostinfo.OWNERID = detail.OWNERID;
                            //vpostinfo.OWNERPOSTID = detail.OWNERPOSTID;
                            //vlistpostinfo.Add(vpostinfo);

                            SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS vpostinfo = new SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS();

                            vpostinfo.EMPLOYEEID = detail.OWNERID;
                            vpostinfo.POSTID     = detail.OWNERPOSTID;
                            vpostinfo.COMPANYID  = detail.OWNERCOMPANYID;
                            vlistpostinfo.Add(vpostinfo);

                            if (existDetail != null)
                            {
                                return;
                            }
                            else
                            {
                                FBEntity fbEntity      = detail.ToFBEntity();
                                fbEntity.FBEntityState = FBEntityState.Added;
                                assignDetail.Add(fbEntity);
                            }
                        });
                        if (vlistpostinfo != null && vlistpostinfo.Count > 0)
                        {
                            this.ShowProcess();
                            pe.GetEmployeeFundsListCompleted += new EventHandler <Saas.Tools.PersonnelWS.GetEmployeeFundsListCompletedEventArgs>(pe_GetEmployeeFundsListCompleted);
                            pe.GetEmployeeFundsListAsync(vlistpostinfo);
                        }
                    }
                };
                ogzLookup.Show <string>(DialogMode.ApplicationModal, plRoot, "", (result) => { });
            }
            catch (Exception ex)
            {
                CommonFunction.ShowErrorMessage("调用HR服务返回异常信息:" + ex.ToString());
            }
        }
示例#6
0
        /// <summary>
        /// 根据员工ID获取员工薪资档案信息(为了根据岗位级别和薪资级别排序)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void pe_GetSalaryArchiveByEmployeeIDsCompleted(object sender, Saas.Tools.SalaryWS.GetSalaryArchiveByEmployeeIDsCompletedEventArgs e)
        {
            try
            {
                if (e.Result == null || e.Result.Count == 0 || e.Error != null)
                {
                    CommonFunction.ShowErrorMessage("调用HR服务返回异常信息(为空表示没有数据):" + e.Error);
                    return;
                }
                var details = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONMONEYASSIGNDETAIL).Name);
                List <SMT.Saas.Tools.SalaryWS.T_HR_SALARYARCHIVE> listSalay = e.Result.ToList();
                List <T_FB_PERSONMONEYASSIGNDETAIL> perLIst = new List <T_FB_PERSONMONEYASSIGNDETAIL>();
                foreach (var item in details)
                {
                    var itemFBEntity = item.Entity as T_FB_PERSONMONEYASSIGNDETAIL;
                    listSalay.ForEach(it =>
                    {
                        if (itemFBEntity.OWNERID == it.OWNERID)
                        {
                            itemFBEntity.CREATEUSERNAME = Convert.ToString(it.POSTLEVEL);   //目前把岗位级别存为创建人字段
                            itemFBEntity.UPDATEUSERNAME = Convert.ToString(it.SALARYLEVEL); //把薪资级别存在更新热字段,目前表里面没有相应字段
                        }
                    });
                    // 写这蛋疼的代码,为了填这个坑:为了下面orderby...ThenBy不报错。
                    itemFBEntity.CREATEUSERNAME = "******"; //目前把岗位级别存为创建人字段
                    itemFBEntity.UPDATEUSERNAME = "******"; //把薪资级别存在更新热字段,目前表里面没有相应字段

                    var find = listSalay.FirstOrDefault(it => it.OWNERID == itemFBEntity.OWNERID);
                    if (find != null)
                    {
                        itemFBEntity.CREATEUSERNAME = Convert.ToString(find.POSTLEVEL);   //目前把岗位级别存为创建人字段
                        itemFBEntity.UPDATEUSERNAME = Convert.ToString(find.SALARYLEVEL); //把薪资级别存在更新热字段,目前表里面没有相应字段
                    }
                    perLIst.Add(itemFBEntity);
                }
                System.Diagnostics.Debug.WriteLine("");
                System.Diagnostics.Debug.WriteLine("");
                System.Diagnostics.Debug.WriteLine("");

                perLIst = perLIst.OrderBy(t => t.OWNERCOMPANYNAME).ThenBy(t => t.OWNERDEPARTMENTNAME).ThenBy(t => Convert.ToDecimal(t.CREATEUSERNAME)).ToList();//先公司部门排序
                //perLIst = perLIst.OrderBy(t => Convert.ToDecimal(t.CREATEUSERNAME)).ThenBy(t => Convert.ToDecimal(t.UPDATEUSERNAME)).ToList();//再岗位薪资级别排序
                var        fbEntity = perLIst.ToFBEntityList();
                DetailGrid dgrid    = this.EditForm.FindControl("OrderGrid") as DetailGrid;
                if (dgrid != null)
                {
                    dgrid.ClearValue(DetailGrid.ItemsSourceProperty);
                    dgrid.ItemsSource = fbEntity;
                }
                this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONMONEYASSIGNDETAIL).Name).Clear();
                fbEntity.ForEach(item =>
                {
                    item.FBEntityState = FBEntityState.Modified;                                                      //因为清除了数据,所以得要加上状态
                    T_FB_PERSONMONEYASSIGNDETAIL perDetail = item.Entity as T_FB_PERSONMONEYASSIGNDETAIL;
                    perDetail.T_FB_PERSONMONEYASSIGNMASTER = this.OrderEntity.Entity as T_FB_PERSONMONEYASSIGNMASTER; //设置主表关联
                });
                this.OrderEntity.FBEntity.AddFBEntities <T_FB_PERSONMONEYASSIGNDETAIL>(fbEntity);                     //加载数据
                var detailss = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONMONEYASSIGNDETAIL).Name);     //获取数据
                for (int i = 0; i < details.Count; i++)
                {
                    (details[i].Entity as T_FB_PERSONMONEYASSIGNDETAIL).RowIndex = i + 1;//序号
                }
            }
            catch (Exception ex)
            {
                CommonFunction.ShowErrorMessage("调用HR服务返回异常信息:" + ex.ToString());
            }
            finally
            {
                this.CloseProcess();
            }
        }
示例#7
0
        void dGrid_ToolBarItemClick(object sender, ToolBarItemClickEventArgs e)
        {
            if (e.Action != Actions.Add)
            {
                return;
            }
            e.Action = Actions.Cancel;
            string perm = "3";
            string entity = typeof(T_FB_PERSONMONEYASSIGNMASTER).Name;
            if (this.EditForm.OperationType == OperationTypes.Edit)
            {
                perm = ((int)Permissions.Edit).ToString();
            }
            else if (this.EditForm.OperationType == OperationTypes.Add)
            {
                perm = ((int)Permissions.Add + 1).ToString();
            }
            else
            {
                perm = ((int)Permissions.Browse).ToString();
            }

            string userID = DataCore.CurrentUser.Value.ToString();
            //             BF06E969-1B2C-4a89-B0AE-A91CA1244053
            OrganizationLookup ogzLookup = new OrganizationLookup();

            ogzLookup.SelectedObjType = OrgTreeItemTypes.Personnel;
            ogzLookup.MultiSelected = true;

            FrameworkElement plRoot = CommonFunction.ParentLayoutRoot;

            try
            {
                ogzLookup.SelectedClick += (o, ea) =>
                {
                    if (ogzLookup.SelectedObj.Count > 0)
                    {
                        //处理岗位及下拨
                        SMT.Saas.Tools.PersonnelWS.PersonnelServiceClient pe = new SMT.Saas.Tools.PersonnelWS.PersonnelServiceClient();
                        ObservableCollection<SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS> vlistpostinfo = new ObservableCollection<SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS>();

                        var assignDetail = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONMONEYASSIGNDETAIL).Name);

                        var selectedObjects = ogzLookup.SelectedObj;
                        selectedObjects.ForEach(obj =>
                        {
                            
                            
                            ExtOrgObj post = obj.ParentObject as ExtOrgObj;
                            ExtOrgObj dept = post.ParentObject as ExtOrgObj;

                            // ExtOrgObj com = dept.ParentObject as ExtOrgObj;
                            ITextValueItem pdata = DataCore.FindReferencedData<PostData>(post.ObjectID);
                            ITextValueItem ddata = DataCore.FindReferencedData<DepartmentData>(dept.ObjectID);
                            ITextValueItem cdata = (ddata as DepartmentData).Company;

                            var existDetail = assignDetail.FirstOrDefault(item =>
                            {
                                T_FB_PERSONMONEYASSIGNDETAIL cd = item.Entity as T_FB_PERSONMONEYASSIGNDETAIL;
                                return cd.OWNERID == obj.ObjectID && cd.OWNERPOSTID == pdata.Value.ToString();
                            });

                            T_FB_PERSONMONEYASSIGNDETAIL detail = new T_FB_PERSONMONEYASSIGNDETAIL();
                            if (existDetail != null)
                            {
                                detail.PERSONBUDGETAPPLYDETAILID = (existDetail.Entity as T_FB_PERSONMONEYASSIGNDETAIL).PERSONBUDGETAPPLYDETAILID;
                                detail.T_FB_PERSONMONEYASSIGNMASTER = this.OrderEntity.Entity as T_FB_PERSONMONEYASSIGNMASTER;
                            }
                            else
                            {
                                detail.PERSONBUDGETAPPLYDETAILID = Guid.NewGuid().ToString();
                                detail.T_FB_PERSONMONEYASSIGNMASTER = this.OrderEntity.Entity as T_FB_PERSONMONEYASSIGNMASTER;
                                detail.BUDGETMONEY = 0;
                            }

                            // start 添加岗位级别,用于排序
                            var employee1 = obj.ObjectInstance as SMT.Saas.Tools.PersonnelWS.T_HR_EMPLOYEE;
                            if (employee1 != null)
                            {
                                var ep = employee1.T_HR_EMPLOYEEPOST.FirstOrDefault();
                                if (ep != null)
                                {
                                    detail.POSTLEVEL = ep.POSTLEVEL;
                                }    
                            }
                            
                            
                            // end 

                            detail.OWNERID = obj.ObjectID;
                            detail.OWNERNAME = obj.ObjectName;
                            detail.OWNERPOSTID = pdata.Value.ToString();
                            detail.OWNERPOSTNAME = pdata.Text;
                            detail.OWNERDEPARTMENTID = ddata.Value.ToString();
                            detail.OWNERDEPARTMENTNAME = ddata.Text;
                            detail.OWNERCOMPANYID = cdata.Value.ToString();
                            detail.OWNERCOMPANYNAME = cdata.Text;

                            //SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEPOSTFORFB vpostinfo = new SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEPOSTFORFB();
                            //vpostinfo.PERSONBUDGETAPPLYDETAILID = detail.PERSONBUDGETAPPLYDETAILID;
                            //vpostinfo.OWNERID = detail.OWNERID;
                            //vpostinfo.OWNERPOSTID = detail.OWNERPOSTID;
                            //vlistpostinfo.Add(vpostinfo);

                            SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS vpostinfo = new SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS();

                            vpostinfo.EMPLOYEEID = detail.OWNERID;
                            vpostinfo.POSTID = detail.OWNERPOSTID;
                            vpostinfo.COMPANYID = detail.OWNERCOMPANYID;
                            vlistpostinfo.Add(vpostinfo);

                            if (existDetail != null)
                            {
                                return;
                            }
                            else
                            {
                                FBEntity fbEntity = detail.ToFBEntity();
                                fbEntity.FBEntityState = FBEntityState.Added;
                                assignDetail.Add(fbEntity);
                            }
                        });
                        if (vlistpostinfo != null && vlistpostinfo.Count > 0)
                        {
                            this.ShowProcess();
                            pe.GetEmployeeFundsListCompleted += new EventHandler<Saas.Tools.PersonnelWS.GetEmployeeFundsListCompletedEventArgs>(pe_GetEmployeeFundsListCompleted);
                            pe.GetEmployeeFundsListAsync(vlistpostinfo);
                        }
                    }
                };
                ogzLookup.Show<string>(DialogMode.ApplicationModal, plRoot, "", (result) => { });
            }
            catch (Exception ex)
            {
                CommonFunction.ShowErrorMessage("调用HR服务返回异常信息:" + ex.ToString());
            }
        }