|
|
using Entity.Sugar; using Newtonsoft.Json.Linq; using SqlSugar; using SqlSugar.Base; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Globalization; using System.IO; using System.Net; using System.Runtime.InteropServices; using System.Text; using System.Text.RegularExpressions; using System.Web; using System.Xml; using DocumentFormat.OpenXml.Wordprocessing; using DocumentFormat.OpenXml.Packaging; using System.Linq; using Newtonsoft.Json; using EasyBL.WebApi.Message;
namespace EasyBL { /// <summary>
/// Common 的摘要描述
/// </summary>
public class CommonRPT { private static bool? ShowSource;
public static string FilePath = @"Document\EurotranFile\RPT"; public static string PassStatus = "2,4,5";
public static bool RPTShow() { if (ShowSource == null) { ShowSource = !string.IsNullOrWhiteSpace(Common.GetAppSettings("RPTShowSource").Trim()); } return ShowSource.Value; } /// <summary>
/// 相對應組織的幣別單位
/// </summary>
/// <param name="OrgID"></param>
/// <returns></returns>
public static string GetCurrencyUnit(string OrgID) { if (OrgID.ToUpper() == "SG") return "RMB¥"; return "NT$"; }
/// <summary>
/// 相對應組織的進位
/// </summary>
/// <param name="OrgID"></param>
/// <returns></returns>
public static int GetRoundingPoint(string OrgID) { var RoundingPoint = 0; if (OrgID == "SG") { RoundingPoint = 2; } return RoundingPoint; }
/// <summary>
/// 取得負責的業務,若負責人員為空,則撈出該部門所有的人。
/// </summary>
/// <param name="i_crm"></param>
/// <param name="db"></param>
/// <param name="sResponsibleDeptID"></param>
/// <param name="sResponsiblePerson"></param>
/// <returns></returns>
public static string GetResponsiblePersons(SqlSugarClient db, string OrgID, string sResponsibleDeptID, string sResponsiblePerson) { var Result = sResponsiblePerson; if (string.IsNullOrEmpty(sResponsiblePerson) && !string.IsNullOrEmpty(sResponsibleDeptID)) { var spOrgID = new SugarParameter("@OrgID", OrgID); var spDepartID = new SugarParameter("@DepartID", sResponsibleDeptID);
var AllOfDepartMembers = db.Ado.SqlQuery<string>(@"select MemberID from [dbo].[OVW_SYS_Members]
where OrgID = @OrgID and DepartmentID in ( SELECT * FROM [dbo].[OFN_SYS_GetChilDepartmentIdByDepartmentId] (@OrgID, @DepartID)) ", spOrgID, spDepartID).ToArray();
var AllOfDepartIDs = db.Ado.SqlQuery<string>(@"SELECT * FROM [dbo].[OFN_SYS_GetChilDepartmentIdByDepartmentId] (@OrgID, @DepartID)", spOrgID, spDepartID).ToArray();
//找出進口/出口/其他/其他(TG)屬於該部門的業務人員
var cmdExport = db.Queryable<OTB_OPM_ExportExhibition>() .Where(x => x.OrgID == OrgID && AllOfDepartIDs.Contains(x.DepartmentID)) .Select(x => new OTB_OPM_ExportExhibition() { ResponsiblePerson = x.ResponsiblePerson, DepartmentID = x.DepartmentID });
var cmdImport = db.Queryable<OTB_OPM_ImportExhibition>() .Where(x => x.OrgID == OrgID && AllOfDepartIDs.Contains(x.DepartmentID)) .Select(x => new OTB_OPM_ExportExhibition() { ResponsiblePerson = x.ResponsiblePerson, DepartmentID = x.DepartmentID });
var cmdOther = db.Queryable<OTB_OPM_OtherExhibition>() .Where(x => x.OrgID == OrgID && AllOfDepartIDs.Contains(x.DepartmentID)) .Select(x => new OTB_OPM_ExportExhibition() { ResponsiblePerson = x.ResponsiblePerson, DepartmentID = x.DepartmentID });
var cmdOtherTG = db.Queryable<OTB_OPM_OtherExhibitionTG>() .Where(x => x.OrgID == OrgID && AllOfDepartIDs.Contains(x.DepartmentID)) .Select(x => new OTB_OPM_ExportExhibition() { ResponsiblePerson = x.ResponsiblePerson, DepartmentID = x.DepartmentID });
List<OTB_OPM_ExportExhibition> lResponseDept = db.UnionAll(cmdExport, cmdImport, cmdOther, cmdOtherTG).ToList();
List<string> lPersonList = AllOfDepartMembers.ToList(); //人員清單
var MembersOfBills = lResponseDept.Select(p => p.ResponsiblePerson).Distinct().ToList(); lPersonList = lPersonList.Concat(MembersOfBills).Distinct().ToList();
Result = string.Join(",", lPersonList); }
return Result; } public static string[] GetChildDepteList(SqlSugarClient db, string OrgID, string sResponsibleDeptID) { var Result = new string[] { }; if (!string.IsNullOrEmpty(sResponsibleDeptID)) { var spOrgID = new SugarParameter("@OrgID", OrgID); var spDepartID = new SugarParameter("@DepartID", sResponsibleDeptID); var AllOfDepartIDs = db.Ado.SqlQuery<string>(@"SELECT * FROM [dbo].[OFN_SYS_GetChilDepartmentIdByDepartmentId] (@OrgID, @DepartID)", spOrgID, spDepartID).ToArray(); Result = AllOfDepartIDs; } return Result; }
public static List<OVW_OPM_ALLExps> GetMatchedExps(SqlSugarClient db, string OrgID, string[] ResponsibleDeptIDs, string ResponsiblePerson) { return db.Queryable<OVW_OPM_ALLExps>() .Where(t1 => t1.OrgID == OrgID && t1.IsVoid == "N") .WhereIF(ResponsibleDeptIDs.Any(), t1 => SqlFunc.ContainsArray(ResponsibleDeptIDs, t1.DepartmentID)) .WhereIF(!string.IsNullOrWhiteSpace(ResponsiblePerson), t1 => t1.ResponsiblePerson == ResponsiblePerson) .ToList(); }
/// <summary>
/// 取得相對應excel
/// </summary>
/// <param name="RPTCode"></param>
/// <param name="RPTName"></param>
/// <returns></returns>
public static Tuple<string, string> GetExcutePath(string RPTCode, string RPTName) { var sOutPut = Common.ConfigGetValue(@"", @"OutFilesPath"); var sTempPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, FilePath); sTempPath = Path.Combine(sTempPath, RPTCode + ".xlsx"); var sBase = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @""); sOutPut = sBase + sOutPut; Common.FnCreateDir(sOutPut);//如果不存在就創建文件夾
var sFileName = RPTName + DateTime.Now.ToString(@"yyyy-MM-dd") + "_" + Guid.NewGuid(); //建立臨時文件
var sTempFile = Path.GetTempPath() + sFileName + @".xlsx"; sOutPut += sFileName + @".xlsx"; if (File.Exists(sTempFile)) { File.Delete(sTempFile); } File.Copy(sTempPath, sTempFile); return new Tuple<string, string>(sOutPut, sTempFile); }
/// <summary>
/// 根據CBM占比平攤成本
/// </summary>
/// <param name="db"></param>
/// <param name="_BillInfo"></param>
/// <param name="actualCost"></param>
/// <returns></returns>
public static ShareCost GetSharedActualCost(SqlSugarClient db, OVW_OPM_BillInfo _BillInfo, string actualCost) { string PassStatus = CommonRPT.PassStatus; var sAuditVal = _BillInfo.AuditVal == null ? "" : _BillInfo.AuditVal; var UsedVolume = _BillInfo.Volume == null ? "0" : _BillInfo.Volume; double dUsedVolume = 0; double dActualCost = 0; double.TryParse(UsedVolume, out dUsedVolume); double.TryParse(actualCost, out dActualCost);
if (PassStatus.Contains(sAuditVal) && dUsedVolume > 0) { var spOrgID = new SugarParameter("@OrgID", _BillInfo.OrgID); var spParentId = new SugarParameter("@ParentId", _BillInfo.ParentId); var spIsReturn = new SugarParameter("@IsRetn", _BillInfo.IsRetn); var sVolumes = db.Ado.SqlQuery<string>("SELECT Volume FROM OVW_OPM_BillInfo WHERE OrgID =@OrgID and ParentId = @ParentId and IsRetn = @IsRetn and AuditVal in('2','4','5')", spOrgID, spParentId, spIsReturn).ToArray(); var dVolumes = sVolumes.Sum(c => { double.TryParse(c, out double Result); return Result; }); if (dVolumes == 0) return new ShareCost(); var Persent = dUsedVolume / dVolumes; var ShareCost = new ShareCost() { Persent = Persent, SharedActualCost = Math.Round(dActualCost * Persent, MidpointRounding.AwayFromZero) }; return ShareCost; } else { return new ShareCost(); } }
public static List<CbmVolume> GetAllCBMUsages(SqlSugarClient db, string OrgID) { var PassStatus = new string[] { "2", "4", "5" }; var CbmVolumes = db.Queryable<OVW_OPM_BillInfo>().Where(t1 => t1.OrgID == OrgID && SqlFunc.ContainsArray(PassStatus, t1.AuditVal)) .Select(t1 => new CbmVolume() { OrgID = t1.OrgID, ParentID = t1.ParentId, BillNO = t1.BillNO, sVolumes = t1.Volume, IsReturn = t1.IsRetn }).ToList(); return CbmVolumes; }
/// <summary>
/// 取得帳單項目中的代墊款
/// </summary>
/// <param name="saPrepayFee"></param>
/// <param name="bills"></param>
/// <param name="bindToBillNo"></param>
/// <returns></returns>
public static double GetPrepayForCustomer(string saPrepayFee, string bills, string bindToBillNo = "") { if (!saPrepayFee.Any() || string.IsNullOrWhiteSpace(bills)) return 0; var JABills = JArray.Parse(bills); var FoundPrepayFeeItem = JABills.Where(jo => jo["FinancialCode"] != null && saPrepayFee.Contains(jo["FinancialCode"].ToString())) .Select(jo => {
double FinancialAmount = 0; double FinancialTWAmount = 0; var FinancialCode = jo["FinancialCode"] == null ? "" : jo["FinancialCode"].ToString(); if (saPrepayFee.Contains(FinancialCode)) { double.TryParse(jo["FinancialAmount"]?.ToString(), out FinancialAmount); double.TryParse(jo["FinancialTWAmount"]?.ToString(), out FinancialTWAmount); } var FinancialBillNO = jo["BillNO"] == null ? "" : jo["BillNO"].ToString(); var NoneEmpty = !string.IsNullOrWhiteSpace(FinancialBillNO) && !string.IsNullOrWhiteSpace(bindToBillNo); if (NoneEmpty && bindToBillNo != FinancialBillNO) { return new { FinancialAmount = 0.0, FinancialTWAmount = 0.0 }; } return new { FinancialAmount, FinancialTWAmount }; }).ToList(); return FoundPrepayFeeItem.Sum(f => f.FinancialTWAmount); }
public static decimal GetShareCost(List<FeeItem> feeItems, List<CbmVolume> cbmVolumes, string AllocatedBillNO, string[] MatchFeeCode = null) { var Cost = decimal.Zero; var GeneralCBMPercent = CbmVolume.GetCBMPercent(cbmVolumes, AllocatedBillNO); if (MatchFeeCode != null && MatchFeeCode.Any()) { feeItems = feeItems.Where(c => MatchFeeCode.Contains(c.FinancialCode)).ToList(); } //分成1.不指定均攤、2.指定均攤
foreach (var feeItem in feeItems) { var NoAllocated = feeItem.AllocatedToBillNOs.Count == 0; switch (NoAllocated) { case true: { Cost += (feeItem.TWAmount * GeneralCBMPercent); } break; case false: { var CheckSignedBillNO = feeItem.AllocatedToBillNOs.Any(c => c == AllocatedBillNO); if (CheckSignedBillNO) { var AllocatedCBMVolumes = cbmVolumes.Where(c => feeItem.AllocatedToBillNOs.Contains(c.BillNO)).ToList(); var AllocatedCBMPercent = CbmVolume.GetCBMPercent(AllocatedCBMVolumes, AllocatedBillNO); Cost += (feeItem.TWAmount * AllocatedCBMPercent.ObjToDecimal()); } } break; } } return Cost; }
/// <summary>
/// 轉換成FeeItems
/// </summary>
/// <param name="ItemsJsons"></param>
/// <returns></returns>
public static List<FeeItem> ToFeeItems(string ItemsJsons) { var FeeItems = new List<FeeItem>(); var JABills = JArray.Parse(ItemsJsons); foreach (var JABill in JABills) { var FinancialCode = JABill["FinancialCode"].ObjToString(); var FinancialAmount = JABill["FinancialAmount"].ObjToDecimal(); var FinancialTWAmount = JABill["FinancialTWAmount"].ObjToDecimal(); var sBillNOs = JABill["BillNO"].ObjToString(); var BindToBillNOList = sBillNOs.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); FeeItems.Add(new FeeItem() { FinancialCode = FinancialCode, OriginalCurrencyAmount = FinancialAmount, TWAmount = FinancialTWAmount, AllocatedToBillNOs = BindToBillNOList, }); } return FeeItems; } /// <summary>
/// 取得進出口、其他、其他駒奕中
/// 實際成本項目、實際成本
/// </summary>
/// <param name="db"></param>
/// <param name="ActualCostFeeItems"></param>
/// <param name="sActualCost"></param>
/// <param name="sTransportationMode"></param>
/// <param name="_sBillNO"></param>
/// <param name="sId"></param>
/// <param name="sIsRetn"></param>
/// <param name="sReFlow"></param>
/// <param name="sBillType"></param>
public static void CalcuCostAndProfit(SqlSugarClient db, ref string ActualCostFeeItems, ref string sActualCost, ref string sTransportationMode, string _sBillNO, string sId, string sIsRetn, string sReFlow, string sBillType) { if (sBillType == "OtherBusiness_Upd") { // OTB_OPM_OtherExhibition.ActualCost
var oOther = db.Queryable<OTB_OPM_OtherExhibition>().Single(it => it.Guid == sId); if (oOther != null) { var joActualCost = (JObject)JsonConvert.DeserializeObject(oOther.ActualCost); ActualCostFeeItems = joActualCost["FeeItems"] != null ? joActualCost["FeeItems"].ToString() : ""; if (joActualCost["AmountTaxSum"] != null) { sActualCost = joActualCost["AmountTaxSum"].ToString(); } } } else if (sBillType == "ExhibitionImport_Upd") { // OTB_OPM_ImportExhibition.ReturnBills
// OTB_OPM_ImportExhibition.ReImports
// OTB_OPM_ImportExhibition.ActualCost
// OTB_OPM_ImportExhibition.TransportationMode
var oImport = db.Queryable<OTB_OPM_ImportExhibition>().Single(it => it.ImportBillNO == sId); if (oImport != null) { if (sIsRetn == "Y") { var jaReturnBills = (JArray)JsonConvert.DeserializeObject(oImport.ReturnBills); for (var idx = 0; idx < jaReturnBills.Count; idx++) { if (sReFlow == (idx + 1).ToString()) { var joReturn = (JObject)jaReturnBills[idx]; ActualCostFeeItems = ((JObject)joReturn["ActualCost"])["FeeItems"] != null ? ((JObject)joReturn["ActualCost"])["FeeItems"].ToString() : ""; if (((JObject)joReturn["ActualCost"])["AmountTaxSum"] != null) { sActualCost = ((JObject)joReturn["ActualCost"])["AmountTaxSum"].ToString(); } break; } } var jaReImports = (JArray)JsonConvert.DeserializeObject(oImport.ReImports); for (var idx = 0; idx < jaReImports.Count; idx++) { if (sReFlow == idx.ToString()) { var joReturn = (JObject)jaReImports[idx]; sTransportationMode = ((JObject)joReturn["ReImportData"])["TransportationMode"].ToString(); break; } } } else {
var joActualCost = (JObject)JsonConvert.DeserializeObject(oImport.ActualCost); ActualCostFeeItems = joActualCost["FeeItems"] != null ? joActualCost["FeeItems"].ToString() : ""; if (joActualCost["AmountTaxSum"] != null) { sActualCost = joActualCost["AmountTaxSum"].ToString(); } sTransportationMode = oImport.TransportationMode; } } } else if (sBillType == "ExhibitionExport_Upd") { // OTB_OPM_ExportExhibition.ReturnBills
// OTB_OPM_ExportExhibition.Exhibitors
// OTB_OPM_ExportExhibition.ActualCost
// OTB_OPM_ExportExhibition.TransportationMode
var oExport = db.Queryable<OTB_OPM_ExportExhibition>().Single(it => it.ExportBillNO == sId); if (oExport != null) { if (sIsRetn == "Y") { var jaReturns = (JArray)JsonConvert.DeserializeObject(oExport.ReturnBills); var sBillParentId = ""; foreach (JObject jo in jaReturns) { var jaReturnBills = (JArray)jo["Bills"]; foreach (JObject joBill in jaReturnBills) { if (joBill["BillNO"].ToString() == _sBillNO) { ActualCostFeeItems = ((JObject)jo["ActualCost"])["FeeItems"] != null ? ((JObject)jo["ActualCost"])["FeeItems"].ToString() : ""; if (((JObject)jo["ActualCost"])["AmountTaxSum"] != null) { sActualCost = ((JObject)jo["ActualCost"])["AmountTaxSum"].ToString(); } sBillParentId = joBill["parentid"].ToString(); break; } } if (sActualCost != "") { break; } } var jaExhibitors = (JArray)JsonConvert.DeserializeObject(oExport.Exhibitors); foreach (JObject joExhibitor in jaExhibitors) { if (sBillParentId != "" && joExhibitor["guid"].ToString() == sBillParentId) { if (joExhibitor[nameof(sReFlow)] != null) { if (((JObject)joExhibitor[nameof(sReFlow)])["TransportationMode"] != null) { sTransportationMode = ((JObject)joExhibitor[nameof(sReFlow)])["TransportationMode"].ToString(); } } break; } } } else { var joActualCost = (JObject)JsonConvert.DeserializeObject(oExport.ActualCost); ActualCostFeeItems = joActualCost["FeeItems"] != null ? joActualCost["FeeItems"].ToString() : ""; if (joActualCost["AmountTaxSum"] != null) { sActualCost = joActualCost["AmountTaxSum"].ToString(); } sTransportationMode = oExport.TransportationMode; } } } }
public static void CalcuCostAndProfitFast(List<dynamic> db, ref string ActualCostFeeItems, ref string sActualCost, ref string sTransportationMode, string _sBillNO, string sId, string sIsRetn, string sReFlow, string sBillType) { if (sBillType == "OtherBusiness_Upd") { var oOther = db.Where(t1 => t1.ExFeild1 == sBillType).FirstOrDefault(it => it.Guid == sId); if (oOther != null) { var joActualCost = (JObject)JsonConvert.DeserializeObject(oOther.ActualCost); ActualCostFeeItems = joActualCost["FeeItems"] != null ? joActualCost["FeeItems"].ToString() : ""; if (joActualCost["AmountTaxSum"] != null) { sActualCost = joActualCost["AmountTaxSum"].ToString(); } } } else if (sBillType == "ExhibitionImport_Upd") { var oImport = db.Where(t1 => t1.ExFeild1 == sBillType).FirstOrDefault(it => it.ImportBillNO == sId); if (oImport != null) { if (sIsRetn == "Y") { var jaReturnBills = (JArray)JsonConvert.DeserializeObject(oImport.ReturnBills); for (var idx = 0; idx < jaReturnBills.Count; idx++) { if (sReFlow == (idx + 1).ToString()) { var joReturn = (JObject)jaReturnBills[idx]; ActualCostFeeItems = ((JObject)joReturn["ActualCost"])["FeeItems"] != null ? ((JObject)joReturn["ActualCost"])["FeeItems"].ToString() : ""; if (((JObject)joReturn["ActualCost"])["AmountTaxSum"] != null) { sActualCost = ((JObject)joReturn["ActualCost"])["AmountTaxSum"].ToString(); } break; } } var jaReImports = (JArray)JsonConvert.DeserializeObject(oImport.ReImports); for (var idx = 0; idx < jaReImports.Count; idx++) { if (sReFlow == idx.ToString()) { var joReturn = (JObject)jaReImports[idx]; sTransportationMode = ((JObject)joReturn["ReImportData"])["TransportationMode"].ToString(); break; } } } else {
var joActualCost = (JObject)JsonConvert.DeserializeObject(oImport.ActualCost); ActualCostFeeItems = joActualCost["FeeItems"] != null ? joActualCost["FeeItems"].ToString() : ""; if (joActualCost["AmountTaxSum"] != null) { sActualCost = joActualCost["AmountTaxSum"].ToString(); } sTransportationMode = oImport.TransportationMode; } } } else if (sBillType == "ExhibitionExport_Upd") { var oExport = db.Where(t1 => t1.ExFeild1 == sBillType).FirstOrDefault(it => it.ExportBillNO == sId); if (oExport != null) { if (sIsRetn == "Y") { var jaReturns = (JArray)JsonConvert.DeserializeObject(oExport.ReturnBills); var sBillParentId = ""; foreach (JObject jo in jaReturns) { var jaReturnBills = (JArray)jo["Bills"]; foreach (JObject joBill in jaReturnBills) { if (joBill["BillNO"].ToString() == _sBillNO) { ActualCostFeeItems = ((JObject)jo["ActualCost"])["FeeItems"] != null ? ((JObject)jo["ActualCost"])["FeeItems"].ToString() : ""; if (((JObject)jo["ActualCost"])["AmountTaxSum"] != null) { sActualCost = ((JObject)jo["ActualCost"])["AmountTaxSum"].ToString(); } sBillParentId = joBill["parentid"].ToString(); break; } } if (sActualCost != "") { break; } } var jaExhibitors = (JArray)JsonConvert.DeserializeObject(oExport.Exhibitors); foreach (JObject joExhibitor in jaExhibitors) { if (sBillParentId != "" && joExhibitor["guid"].ToString() == sBillParentId) { if (joExhibitor[nameof(sReFlow)] != null) { if (((JObject)joExhibitor[nameof(sReFlow)])["TransportationMode"] != null) { sTransportationMode = ((JObject)joExhibitor[nameof(sReFlow)])["TransportationMode"].ToString(); } } break; } } } else { var joActualCost = (JObject)JsonConvert.DeserializeObject(oExport.ActualCost); ActualCostFeeItems = joActualCost["FeeItems"] != null ? joActualCost["FeeItems"].ToString() : ""; if (joActualCost["AmountTaxSum"] != null) { sActualCost = joActualCost["AmountTaxSum"].ToString(); } sTransportationMode = oExport.TransportationMode; } } } }
#region 取得部門資料
public static Dictionary<string, Tuple<string, string, string, string, string>> GetDeptInfos(SqlSugarClient db, string OrgID = "TE") { var DeptDic = new Dictionary<string, Tuple<string, string, string, string, string>>(); var spOrgID = new SugarParameter("@OrgID", OrgID); var spDeptID = new SugarParameter("@DeptID", ""); var DataJArrays = db.Ado.SqlQueryDynamic(@"WITH SupperDeptID(OrgID,DepartmentID,DepartmentName,ParentDepartmentID,ParentDepartmentName,Level)
as( select OrgID,DepartmentID,DepartmentName,ParentDepartmentID, DepartmentName as ParentDepartmentName, 0 as Level from OTB_SYS_Departments where Len(ParentDepartmentID) =0 UNION ALL Select sub.OrgID, sub.DepartmentID, sub.DepartmentName, sub.ParentDepartmentID, Supper.DepartmentName as ParentDepartmentName, Supper.Level +1 as Level from OTB_SYS_Departments Sub,SupperDeptID Supper WHere Sub.ParentDepartmentID = Supper.DepartmentID and sub.OrgID = Supper.OrgID ) Select *from SupperDeptID where OrgID = 'TE' Order By OrgID, Level", spOrgID, spDeptID);
foreach (var row in DataJArrays) {
var DepartmentID = row["DepartmentID"].ToString() ?? ""; var DepartmentName = row["DepartmentName"].ToString() ?? ""; var ParentDepartmentID = row["ParentDepartmentID"].ToString() ?? ""; var ParentDepartmentName = row["ParentDepartmentName"].ToString() ?? ""; var Level = row["Level"].ToString() ?? ""; var DepInfo = new Tuple<string, string, string, string, string>(DepartmentID, DepartmentName, ParentDepartmentID, ParentDepartmentName, Level); DeptDic.Add(DepartmentID, DepInfo); } return DeptDic; }
//public static string GetRelativeMember(SqlSugarClient db, string OrgID, string DeptID, string Member)
//{
// var Result = "";
// if (string.IsNullOrEmpty(Member) && !string.IsNullOrEmpty(DeptID))
// {
// var spOrgID = new SugarParameter("@OrgID", OrgID);
// var spDepartID = new SugarParameter("@DepartID", DeptID);
// var AllOfDepartMembers = db.Ado.SqlQuery<string>(@"select MemberID from [dbo].[OVW_SYS_Members]
// where OrgID = @OrgID and DepartmentID in
// ( SELECT * FROM [dbo].[OFN_SYS_GetChilDepartmentIdByDepartmentId] (@OrgID, @DepartID) ) ",
// spOrgID, spDepartID).ToArray();
// Result = string.Join(",", AllOfDepartMembers);
// }
// return Result;
//}
#endregion
public static decimal Rounding(decimal value, int digit) { if (digit <= 0) return Math.Round(value, MidpointRounding.AwayFromZero); else return Math.Round(value, digit, MidpointRounding.AwayFromZero); } public static decimal Rounding(double value, int digit) { double result = 0.0; if (digit <= 0) result = Math.Round(value, MidpointRounding.AwayFromZero); else result = Math.Round(value, digit, MidpointRounding.AwayFromZero); return Convert.ToDecimal(result); }
} }
|