Selaa lähdekoodia

掌上服务改版往WebService里增加两个接口

thm 7 vuotta sitten
vanhempi
commit
9b99682995

+ 2 - 0
Winsoft.GOV.Framework/Model/Branch.cs

@@ -16,6 +16,8 @@ namespace Winsoft.GOV.Framework.Model
         public string Name { get; set; }
         [DataMember]
         public string ShortName { get; set; }
+        [DataMember]
+        public int SumMatters { get; set; }
 
         public int Position { get; set; }
 

+ 9 - 0
Winsoft.GOV.Framework/Provider/BranchProvider.cs

@@ -47,6 +47,15 @@ namespace Winsoft.GOV.Framework.Provider
             }
         }
 
+        public IEnumerable<Branch> FindBranchsAndSumMatters()
+        {
+            const string sql = "SELECT b.*, o.sumMatters FROM branch b JOIN ( SELECT ouguid AS guid, count(ouguid) AS sumMatters FROM oncerunpowermatters GROUP BY ouguid ) o ON b.guid = o.guid ORDER BY b.position";
+            using (IDbConnection connection = GetDbConnection())
+            {
+                return connection.Query<Branch>(sql);
+            }
+        }
+
         public IEnumerable<Branch> FindOnceRunBranch()
         {
             const string sql = "select ouguid as guid, ql_dep as ShortName from oncerunpowermatters group by ouguid, ql_dep order by ouguid";

+ 5 - 1
Winsoft.GOV.Framework/Provider/OnceRunPowerMattersProvider.cs

@@ -134,7 +134,11 @@ namespace Winsoft.GOV.Framework.Provider
             }
         }
 
-
+        public PagedResult<PowerMattersBase> FindByPage(int itemIndex, int size, string guid)
+        {
+            string sql = "select " + cols + " from oncerunpowermatters where ouguid = '" + guid + "'";
+            return GetPagedList(sql, itemIndex, size);
+        }
 
         public IEnumerable<PowerMattersBase> FindByBranchGUIDAndApplyType(string guid, int type)
         {

+ 4 - 0
Winsoft.GOV.WCF/IPowerMettersService.cs

@@ -28,6 +28,8 @@ namespace Winsoft.GOV.WCF
         [OperationContract]
         IEnumerable<Branch> GetBranchsEx(County c = County.LS);
         [OperationContract]
+        IEnumerable<Branch> GetBranchsAndSumMattersEx(County c = County.LS);
+        [OperationContract]
         IEnumerable<Branch> GetBranchs();
         [OperationContract]
         IEnumerable<PowerMattersBase> GetPowerMattersByBranchGuidEx(string guid, County c = County.LS);
@@ -64,6 +66,8 @@ namespace Winsoft.GOV.WCF
         [OperationContract]
         IEnumerable<PowerMattersBase> GetOnceRunPowerMattersByBranchGuidEx(string guid, County c = County.LS);
         [OperationContract]
+        PagedResult<PowerMattersBase> GetOnceRunPowerMattersByBranchGuidPagedResultEx(string guid, int itemIndex, int size, County c = County.LS);
+        [OperationContract]
         IEnumerable<PowerMattersBase> GetOnceRunPowerMattersByBranchGuid(string guid);
         [OperationContract]
         PagedResult<PowerMattersBase> SearchByKeyPagedResultEx(string key, int itemIndex, int size, County c = County.LS);

+ 37 - 0
Winsoft.GOV.WCF/PowerMettersService.cs

@@ -150,6 +150,28 @@ namespace Winsoft.GOV.WCF
             }
         }
         /// <summary>
+        /// 获取所有部门及部门事项统计出数量
+        /// </summary>
+        /// <returns></returns>
+        public IEnumerable<Branch> GetBranchsAndSumMattersEx(County c)
+        {
+            IEnumerable<Branch> r = null;
+            try
+            {
+                r = ProvidersFactory.GetBranchProvider(c).FindBranchsAndSumMatters();
+                if (r == null)
+                    return new List<Branch>();
+                return r;
+            }
+            catch (Exception e)
+            {
+                FunLib.Log(e.Message);
+                if (r == null)
+                    return new List<Branch>();
+                return r;
+            }
+        }
+        /// <summary>
         /// 获取最多跑一次部门
         /// </summary>
         /// <returns></returns>
@@ -256,6 +278,21 @@ namespace Winsoft.GOV.WCF
                 return r;
             }         
         }
+        public PagedResult<PowerMattersBase> GetOnceRunPowerMattersByBranchGuidPagedResultEx(string guid, int itemIndex, int size, County c = County.LS)
+        {
+            try
+            {
+                return ProvidersFactory.GetOnceRunPowerMattersProvider(c).FindByPage(itemIndex, size, guid);
+            }
+            catch (Exception e)
+            {
+                FunLib.Log(e.Message);
+                return new PagedResult<PowerMattersBase>()
+                {
+                    Data = new List<PowerMattersBase>()
+                };
+            }
+        }
         /// <summary>
         /// 通过部门guid和实现方式type,获取权力事项,数据来源实现方式表
         /// </summary>