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); }
/// <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); }