瀏覽代碼

1、市场部销售额 年度/季度/月度 报表(同比) 处理BUG

amigotrip 9 月之前
父節點
當前提交
92624a9adc

+ 2 - 5
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -4085,8 +4085,8 @@ namespace OASystem.API.Controllers
                 string fileUrl = (string)fileView.Data.GetType().GetProperty("Url").GetValue(fileView.Data, null);
                 int sign = (int)data.Data.GetType().GetProperty("sign").GetValue(data.Data, null);
                 string md5Sign = GeneralMethod.Encrypt($"{sign}&fileName={fileUrl}");
-                string url = string.Format("http://oa.pan-american-intl.com:4399/?sign={0}&fileName={1}", sign,fileUrl);
-                await AppNoticeLibrary.SendUserMsg_GroupShare_ToGM(dto.DiId, new List<string>() { "208","5" }, dto.UserId, url);
+                string url = string.Format("http://oa.pan-american-intl.com:4399/#/Sankunginfo?sign={0}&fileName={1}", sign,fileUrl);
+                await AppNoticeLibrary.SendUserMsg_GroupShare_ToGM(dto.DiId, new List<string>() { "208","5","233" }, dto.UserId, url);
 
 
                 return Ok(JsonView(true, data.Msg, data.Data));
@@ -12240,7 +12240,6 @@ ORDER by  gctggrc.id DESC
         //}
         #endregion
 
-
         #region 查看邀请方
         /// <summary>
         /// 查看邀请方
@@ -12403,8 +12402,6 @@ And (UnitName != '' Or UnitName != null) {sqlWhere}");
 
         #endregion
 
-
-
         #region 报批行程
         /// <summary>
         /// 报批行程初始化

+ 43 - 83
OASystem/OASystem.Api/Controllers/StatisticsController.cs

@@ -25,6 +25,7 @@ using System.ComponentModel.Design;
 using NetTaste;
 using OASystem.Domain.ViewModels.QiYeWeChat;
 using NPOI.POIFS.Crypt.Dsig;
+using EyeSoft.SequentialIdentity;
 
 namespace OASystem.API.Controllers
 {
@@ -2253,6 +2254,7 @@ namespace OASystem.API.Controllers
         private async Task<SalesYOYView> GroupSales(int companyId, int groupPickupUserId,string beginDt, string endDt)
         {
             decimal thisSales = 0.00M, lastSales = 0.00M, yoy = 1.00M;
+
             var _view = new SalesYOYView();
             List<int> userIds = new List<int>();
             userIds = await GetUserIds(companyId, groupPickupUserId);
@@ -2270,101 +2272,59 @@ namespace OASystem.API.Controllers
                 };
                 return _view;
             }
-             
-
-            string sql = string.Format($@"SELECT
-    CAST(SUM(Sales) AS decimal(12,2)) AS Sales
-FROM
-  (
-    SELECT
-      YEAR(di.VisitDate) AS [Year],
-      (
-        SELECT
-          CAST(SUM(ItemSumPrice * Rate) AS decimal(12,2))
-        FROM
-          Fin_ForeignReceivables
-        WHERE
-          IsDel = 0
-          AND AddingWay IN (0, 1, 2)
-          AND di.Id = Diid
-      ) AS Sales
-    FROM
-      Grp_DelegationInfo di
-    WHERE
-      di.IsDel = 0
-	  AND di.IsSure = 1
-      AND di.JietuanOperator IN (
-        SELECT
-          Id
-        FROM
-          Sys_Users
-        WITH
-          (NoLock)
-        WHERE
-          IsDel = 0 {userSqlWhere} 
-      )
-      AND di.VisitDate BETWEEN '{beginDt}' AND '{endDt}'
-  ) temp");
-
-            var newDB = _sqlSugar.CopyNew();
-            var salesData = newDB.SqlQueryable<SalesView>(sql).First();
-
-            thisSales = salesData?.Sales ?? 0.00M;
 
             string lastBeginDt = Convert.ToDateTime(beginDt).AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss"),
                    lastEndDt = Convert.ToDateTime(endDt).AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss");
-            string lastSql = string.Format($@"SELECT
-    CAST(SUM(Sales) AS decimal(12,2)) AS Sales
+            string salesSql = string.Format(@"
+SELECT
+	'ThisSales' As [Name],
+	CAST(SUM(Sales) AS decimal(12,2)) As Sales
 FROM
-  (
-    SELECT
-      YEAR(di.VisitDate) AS [Year],
-      (
-        SELECT
-          CAST(SUM(ItemSumPrice * Rate) AS decimal(12,2))
-        FROM
-          Fin_ForeignReceivables
-        WHERE
-          IsDel = 0
-          AND AddingWay IN (0, 1, 2)
-          AND di.Id = Diid
-      ) AS Sales
-    FROM
-      Grp_DelegationInfo di
-    WHERE
-      di.IsDel = 0
-	  AND di.IsSure = 1
-      AND di.JietuanOperator IN (
-        SELECT
-          Id
-        FROM
-          Sys_Users
-        WITH
-          (NoLock)
-        WHERE
-          IsDel = 0 {userSqlWhere} 
-      )
-      AND di.Issure = 1
-      AND di.VisitDate BETWEEN '{lastBeginDt}' AND '{lastEndDt}'
-  ) temp");
-
-            var salesData1 = newDB.SqlQueryable<SalesView>(lastSql).First();
-            lastSales = salesData1?.Sales ?? 0.00M;
-
-            if (lastSales != 0 && thisSales != 0) yoy = (thisSales - lastSales) / lastSales;
-
-            _view = new SalesYOYView
-            {
+	(
+	SELECT di.VisitDate,
+		(SELECT  CAST(SUM(ItemSumPrice * Rate) AS decimal(12,2)) FROM Fin_ForeignReceivables
+		WHERE IsDel = 0 AND AddingWay IN (0, 1, 2)AND di.Id = Diid
+		) AS Sales
+	FROM
+		Grp_DelegationInfo di
+	WHERE di.IsDel = 0 AND di.IsSure = 1
+		AND di.JietuanOperator IN (SELECT Id FROM Sys_Users WITH (NoLock) WHERE IsDel = 0  {0})
+		AND di.VisitDate BETWEEN '{1}' AND '{2}'
+	) temp
+Union ALL
+SELECT
+	'LastSales' As [Name],
+	CAST(SUM(Sales) AS decimal(12,2)) As Sales
+FROM
+	(
+	SELECT di.VisitDate,
+		(SELECT  CAST(SUM(ItemSumPrice * Rate) AS decimal(12,2)) FROM Fin_ForeignReceivables
+		WHERE IsDel = 0 AND AddingWay IN (0, 1, 2)AND di.Id = Diid
+		) AS Sales
+	FROM
+		Grp_DelegationInfo di
+	WHERE di.IsDel = 0 AND di.IsSure = 1
+		AND di.JietuanOperator IN (SELECT Id FROM Sys_Users WITH (NoLock) WHERE IsDel = 0 {3})
+		AND di.VisitDate BETWEEN '{4}' AND '{5}'
+	) temp", userSqlWhere, beginDt, endDt, userSqlWhere, lastBeginDt, lastEndDt);
+
+            var salesData = await _sqlSugar.SqlQueryable<SalesView>(salesSql).ToListAsync();
+
+             thisSales = salesData.Where(x => x.Name.Equals("ThisSales")).First()?.Sales ?? 0;
+             lastSales = salesData.Where(x => x.Name.Equals("LastSales")).First()?.Sales ?? 0;
+
+                if (lastSales != 0 && thisSales != 0) yoy = (thisSales - lastSales) / lastSales;
+
+            return new SalesYOYView() {
                 thisYearSales = thisSales.ToString("#0.00"),
                 lastYearSales = lastSales.ToString("#0.00"),
                 yoy = yoy.ToString("#0.00")
-
             };
-            return _view;
         }
 
         private class SalesView
         {
+            public string Name { get; set; }
             public decimal Sales { get; set; }
         }
 

+ 1 - 1
OASystem/OASystem.Api/OAMethodLib/QiYeWeChatAPI/AppNotice/Config.cs

@@ -346,7 +346,7 @@ namespace OASystem.API.OAMethodLib.QiYeWeChatAPI.AppNotice
 
 >团组:<font color='info'>{0}</font> 
 
->操作时间:<font color='comment'>{2}</font> 
+>操作时间:<font color='comment'>{1}</font> 
 
 [出入境费用已确认,请进行相关流程操作。] ", info.TeamName, info.RefreshDate);
 

+ 0 - 1
OASystem/OASystem.Infrastructure/Repositories/Groups/EnterExitCostRepository.cs

@@ -242,7 +242,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     {
                         //修改验证
                         //IsConfirm == 2 不可修改
-
                         var info = _sqlSugar.Queryable<Grp_EnterExitCost>().Where(it => it.IsDel == 0 && it.Id == enterExitCost.Id).First();
                         if (info.IsConfirm == 2)
                         {