コード例 #1
0
ファイル: OutApplyConfirmBLL.cs プロジェクト: jjg0519/OA
        public string GetXmlString(string Formid)
        {
            T_HR_OUTAPPLYCONFIRM Info = GetOutApplyConfirmByID(Formid);
            //SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY LEFTOFFICECATEGORY = cbxEmployeeType.SelectedItem as SMT.Saas.Tools.PermissionWS.T_SYS_DICTIONARY;
            decimal?stateValue = Convert.ToDecimal("1");
            string  checkState = string.Empty;
            string  checkStateDict
                = PermClient.GetDictionaryByCategoryArray(new string[] { "CHECKSTATE" }).Where(p => p.DICTIONARYVALUE == stateValue).FirstOrDefault().DICTIONARYNAME;

            checkState = checkStateDict == null ? "" : checkStateDict;

            SMT.SaaS.BLLCommonServices.PersonnelWS.V_EMPLOYEEPOST employee
                = SMT.SaaS.BLLCommonServices.Utility.GetEmployeeOrgByid(Info.EMPLOYEEID);
            decimal?postlevelValue = Convert.ToDecimal(employee.EMPLOYEEPOSTS[0].POSTLEVEL.ToString());
            string  postLevelName  = string.Empty;
            string  postLevelDict
                = PermClient.GetDictionaryByCategoryArray(new string[] { "CHECKSTATE" }).Where(p => p.DICTIONARYVALUE == stateValue).FirstOrDefault().DICTIONARYNAME;

            postLevelName = postLevelDict == null ? "" : postLevelDict;

            //decimal? overTimeValue = Convert.ToDecimal(Info);
            SMT.SaaS.MobileXml.MobileXml             mx       = new SMT.SaaS.MobileXml.MobileXml();
            List <SMT.SaaS.MobileXml.AutoDictionary> AutoList = new List <SMT.SaaS.MobileXml.AutoDictionary>();

            AutoList.Add(basedata("T_HR_OUTAPPLYCONFIRM", "CURRENTEMPLOYEENAME", employee.T_HR_EMPLOYEE.EMPLOYEECNAME, employee.T_HR_EMPLOYEE.EMPLOYEECNAME));
            AutoList.Add(basedata("T_HR_OUTAPPLYCONFIRM", "CHECKSTATE", "1", checkState));
            AutoList.Add(basedata("T_HR_OUTAPPLYCONFIRM", "POSTLEVEL", employee.EMPLOYEEPOSTS[0].POSTLEVEL.ToString(), postLevelName));
            AutoList.Add(basedata("T_HR_OUTAPPLYCONFIRM", "EMPLOYEENAM", Info.EMPLOYEENAME, Info.EMPLOYEENAME));
            AutoList.Add(basedata("T_HR_OUTAPPLYCONFIRM", "OWNERCOMPANYID", Info.OWNERCOMPANYID, Info.EMPLOYEENAME));
            AutoList.Add(basedata("T_HR_OUTAPPLYCONFIRM", "OWNERDEPARTMENTID", Info.OWNERDEPARTMENTID, Info.OWNERDEPARTMENTID));
            AutoList.Add(basedata("T_HR_OUTAPPLYCONFIRM", "OWNERPOSTID", Info.OWNERPOSTID, Info.OWNERPOSTID));

            string StrSource   = GetBusinessObject("T_HR_OUTAPPLYCONFIRM");
            string outApplyXML = mx.TableToXml(Info, null, StrSource, AutoList);

            return(outApplyXML);
        }
コード例 #2
0
        /// <summary>
        /// 获取还款申请元数据
        /// </summary>
        /// <param name="Formid"></param>
        /// <returns>返回填充元数据后的字符串</returns>
        public string GetXmlString(string Formid, ref string RepayCode)
        {
            string strReturn = string.Empty;

            try
            {
                Tracer.Debug("RepayApplyMasterBLL-GetXmlString主表IDl:" + Formid);
                T_FB_REPAYAPPLYMASTER  Info     = dal.GetObjects <T_FB_REPAYAPPLYMASTER>().Where(t => t.REPAYAPPLYMASTERID == Formid).FirstOrDefault();
                PersonnelServiceClient personel = new PersonnelServiceClient();
                V_EMPLOYEEVIEW         employee = personel.GetEmployeeInfoByEmployeeID(Info.OWNERID);
                decimal?stateValue = Convert.ToDecimal("1");
                string  checkState = string.Empty;
                string  checkStateDict
                           = PermClient.GetDictionaryByCategoryArray(new string[] { "CHECKSTATE" }).Where(p => p.DICTIONARYVALUE == stateValue).FirstOrDefault().DICTIONARYNAME;
                checkState = checkStateDict == null ? "" : checkStateDict;
                if (Info == null)
                {
                    Tracer.Debug("RepayApplyMasterBLL获取还款申请主表记录为空,主表ID:" + Formid);
                    //return strReturn;
                    throw new Exception("获取还款申请主表记录为空");
                }
                if (employee == null)
                {
                    Tracer.Debug("RepayApplyMasterBLL获取元数据时员工信息为空:");
                    //return strReturn;
                    throw new Exception("获取元数据时员工信息为空");
                }
                Tracer.Debug("RepayApplyMasterBLL-GetXmlString员工不为空l:");
                if (employee.POSTLEVEL == null)
                {
                    Tracer.Debug("RepayApplyMasterBLL获取元数据时员工信息时岗位级别PostLevel:");
                    throw new Exception("员工岗位级别为空");
                    //return strReturn;
                }
                var ents = from ent in dal.GetObjects <T_FB_REPAYAPPLYDETAIL>().Include("T_FB_REPAYAPPLYMASTER")
                           where ent.T_FB_REPAYAPPLYMASTER.REPAYAPPLYMASTERID == Formid
                           select ent;
                List <T_FB_REPAYAPPLYDETAIL> objR;
                if (ents.Count() > 0)
                {
                    objR = ents.ToList();
                }
                else
                {
                    Tracer.Debug("RepayApplyMasterBLL还款申请获取明细记录为空,主表IDl:" + Formid);
                    throw new Exception("还款申请获取明细记录集合为空");
                }
                Info.REPAYAPPLYCODE = new OrderCodeBLL().GetAutoOrderCode(Info);
                UptRepayApplyMasterAndDetailForMobileToSubmit("Edit", Info, ref strReturn);
                if (!string.IsNullOrEmpty(strReturn))
                {
                    Tracer.Debug("更新状态:" + strReturn + "主表记录为:" + Formid);
                    throw new Exception(strReturn);
                }
                Tracer.Debug("RepayApplyMasterBLL-GetXmlString主表IDl:修改主表记录成功");
                RepayCode = Info.REPAYAPPLYCODE;
                decimal?postlevelValue = Convert.ToDecimal(employee.POSTLEVEL.ToString());
                string  postLevelName  = string.Empty;
                string  postLevelDict
                              = PermClient.GetDictionaryByCategoryArray(new string[] { "CHECKSTATE" }).Where(p => p.DICTIONARYVALUE == stateValue).FirstOrDefault().DICTIONARYNAME;
                postLevelName = postLevelDict == null ? "" : postLevelDict;


                string strOwnerName           = string.Empty;
                string strOwnerCompanyName    = string.Empty;
                string strOwnerPostName       = string.Empty;
                string strOwnerDepartmentName = string.Empty;
                strOwnerName           = employee.EMPLOYEECNAME;
                strOwnerPostName       = employee.POSTNAME;
                strOwnerDepartmentName = employee.DEPARTMENTNAME;
                strOwnerCompanyName    = employee.COMPANYNAME;

                SMT.SaaS.MobileXml.MobileXml             mx       = new SaaS.MobileXml.MobileXml();
                SMT.SaaS.MobileXml.AutoDictionary        ad       = new SaaS.MobileXml.AutoDictionary();
                List <SMT.SaaS.MobileXml.AutoDictionary> AutoList = new List <SMT.SaaS.MobileXml.AutoDictionary>();
                string StrPayType   = "";
                string StrEditState = "";
                switch (Info.REPAYTYPE.ToString())
                {
                case "1":
                    StrPayType = "现金还普通借款";
                    break;

                case "2":
                    StrPayType = "现金还备用金借款";
                    break;

                case "3":
                    StrPayType = "现金还专项借款";
                    break;
                }
                switch (Info.EDITSTATES.ToString())
                {
                case "0":
                    StrEditState = "删除状态";
                    break;

                case "1":
                    StrEditState = "已生效";
                    break;

                case "2":
                    StrEditState = "未生效";
                    break;

                case "3":
                    StrEditState = "撤消中";
                    break;

                case "4":
                    StrEditState = "已撤消";
                    break;
                }
                AutoList.Add(basedata("T_FB_REPAYAPPLYMASTER", "POSTLEVEL", postlevelValue.ToString(), null));           //POSTLEVEL
                AutoList.Add(basedata("T_FB_REPAYAPPLYMASTER", "REPAYTYPE", Info.REPAYTYPE.ToString(), StrPayType));     //相关单据类型
                AutoList.Add(basedata("T_FB_REPAYAPPLYMASTER", "EDITSTATES", Info.EDITSTATES.ToString(), StrEditState)); //编辑状态
                if (Info.OWNERID != null && !string.IsNullOrEmpty(strOwnerName))
                {
                    AutoList.Add(basedata("T_FB_REPAYAPPLYMASTER", "OWNERID", Info.OWNERID, strOwnerName + "-" + strOwnerPostName + "-" + strOwnerDepartmentName + "-" + strOwnerCompanyName));
                }
                if (Info.OWNERCOMPANYID != null && !string.IsNullOrEmpty(strOwnerCompanyName))
                {
                    AutoList.Add(basedata("T_FB_REPAYAPPLYMASTER", "OWNERCOMPANYID", Info.OWNERCOMPANYID, strOwnerCompanyName));
                }
                if (Info.OWNERDEPARTMENTID != null && !string.IsNullOrEmpty(strOwnerDepartmentName))
                {
                    AutoList.Add(basedata("T_FB_REPAYAPPLYMASTER", "OWNERDEPARTMENTID", Info.OWNERDEPARTMENTID, strOwnerDepartmentName));
                }
                if (Info.OWNERPOSTID != null && !string.IsNullOrEmpty(strOwnerPostName))
                {
                    AutoList.Add(basedata("T_FB_REPAYAPPLYMASTER", "OWNERPOSTID", Info.OWNERPOSTID, strOwnerPostName));
                }

                foreach (T_FB_REPAYAPPLYDETAIL objDetail in objR)
                {
                    if (objDetail.T_FB_SUBJECT != null)
                    {
                        AutoList.Add(basedataForChild("T_FB_REPAYAPPLYDETAIL", "SUBJECTID", objDetail.T_FB_SUBJECT.SUBJECTID, objDetail.T_FB_SUBJECT.SUBJECTID, objDetail.REPAYAPPLYDETAILID));
                        AutoList.Add(basedataForChild("T_FB_REPAYAPPLYDETAIL", "SUBJECTCODE", objDetail.T_FB_SUBJECT.SUBJECTCODE, objDetail.T_FB_SUBJECT.SUBJECTCODE, objDetail.REPAYAPPLYDETAILID));
                        AutoList.Add(basedataForChild("T_FB_REPAYAPPLYDETAIL", "SUBJECTNAME", objDetail.T_FB_SUBJECT.SUBJECTNAME, objDetail.T_FB_SUBJECT.SUBJECTNAME, objDetail.REPAYAPPLYDETAILID));
                    }
                    if (objDetail.T_FB_BORROWAPPLYDETAIL != null)
                    {
                        AutoList.Add(basedataForChild("T_FB_REPAYAPPLYDETAIL", "BORROWAPPLYDETAILID", objDetail.T_FB_BORROWAPPLYDETAIL.BORROWAPPLYDETAILID, objDetail.T_FB_BORROWAPPLYDETAIL.BORROWAPPLYDETAILID, objDetail.REPAYAPPLYDETAILID));
                        //AutoList.Add(basedataForChild("T_FB_REPAYAPPLYDETAIL", "UNREPAYMONEY", objDetail.T_FB_BORROWAPPLYDETAIL.UNREPAYMONEY.ToString(), objDetail.T_FB_BORROWAPPLYDETAIL.UNREPAYMONEY.ToString(), objDetail.REPAYAPPLYDETAILID));
                        AutoList.Add(basedataForChild("T_FB_REPAYAPPLYDETAIL", "UNREPAYMONEY", (objDetail.T_FB_BORROWAPPLYDETAIL.UNREPAYMONEY - objDetail.REPAYMONEY).ToString(), (objDetail.T_FB_BORROWAPPLYDETAIL.UNREPAYMONEY - objDetail.REPAYMONEY).ToString(), objDetail.REPAYAPPLYDETAILID));
                    }
                    if (objDetail.T_FB_REPAYAPPLYMASTER != null)
                    {
                        AutoList.Add(basedataForChild("T_FB_REPAYAPPLYDETAIL", "REPAYAPPLYMASTERID", objDetail.T_FB_REPAYAPPLYMASTER.REPAYAPPLYMASTERID, objDetail.T_FB_REPAYAPPLYMASTER.REPAYAPPLYMASTERID, objDetail.REPAYAPPLYDETAILID));
                    }
                    if (objDetail.CHARGETYPE != null)
                    {
                        AutoList.Add(basedataForChild("T_FB_REPAYAPPLYDETAIL", "CHARGETYPE", objDetail.CHARGETYPE.ToString(), objDetail.CHARGETYPE.ToString() == "1" ? "个人预算费用" : "公共预算费用", objDetail.REPAYAPPLYDETAILID));
                    }
                    switch (objDetail.REPAYTYPE.ToString())
                    {
                    case "1":
                        StrPayType = "普通借款";
                        break;

                    case "2":
                        StrPayType = "备用金借款";
                        break;

                    case "3":
                        StrPayType = "专项借款";
                        break;
                    }
                    if (objDetail.REPAYTYPE != null)
                    {
                        AutoList.Add(basedataForChild("T_FB_REPAYAPPLYDETAIL", "REPAYTYPE", objDetail.REPAYTYPE.ToString(), StrPayType, objDetail.REPAYAPPLYDETAILID));
                    }
                }
                Tracer.Debug("RepayApplyMasterBLL-GetXmlString-开始获取主表记录:");
                string StrSource = GetBusinessObject("T_FB_REPAYAPPLYMASTER");
                Tracer.Debug("获取还款申请的元数据模板为:" + StrSource);
                strReturn = mx.TableToXml(Info, objR, StrSource, AutoList);
                Tracer.Debug("组合还款申请的元数据模板为:" + strReturn);
            }
            catch (Exception ex)
            {
                Tracer.Debug("获取还款申请的元数据模板出现错误:" + ex.ToString());
                throw new Exception("获取还款申请的元数据出错错误");
            }
            return(strReturn);
        }