Pārlūkot izejas kodu

组织生活指标管理

pengjing 9 mēneši atpakaļ
vecāks
revīzija
7ffbc503a1

+ 9 - 0
src/main/java/com/ghsc/partybuild/controller/SHYKController.java

@@ -1213,5 +1213,14 @@ public class SHYKController {
         return res;
     }
 
+    @ResponseBody
+    @GetMapping("/getMeetingMonthTotalList")
+    public RequsetData<List<MeetingMonthTotalVo>> getMeetingMonthTotalList(@RequestParam(required = false) String partyCode,@RequestParam(required = false) Integer year) {
+
+        RequsetData<List<MeetingMonthTotalVo>> result = new RequsetData<>();
+        result.setItem(shykService.getMeetingMonthTotalList(partyCode,year));
+        return result;
+    }
+
 }
 

+ 3 - 0
src/main/java/com/ghsc/partybuild/mapper/SHYKCQuery.java

@@ -1,6 +1,7 @@
 package com.ghsc.partybuild.mapper;
 
 import com.ghsc.partybuild.vo.shyk.MeetingDemocracyReviewVo;
+import com.ghsc.partybuild.vo.shyk.MeetingMonthTotalVo;
 import com.ghsc.partybuild.vo.shyk.MeetingTargetVo;
 import com.ghsc.partybuild.vo.shyk.MeetingTypeVo;
 import org.apache.ibatis.annotations.Param;
@@ -213,4 +214,6 @@ public interface SHYKCQuery {
 
     List<MeetingTargetVo> selectMeetingTargetList();
 
+    List<MeetingMonthTotalVo> selectMeetingMonthTotalList(@Param("partyCode") String partyCode, @Param("year") Integer year);
+
 }

+ 51 - 16
src/main/java/com/ghsc/partybuild/service/SHYKService.java

@@ -1,9 +1,6 @@
 package com.ghsc.partybuild.service;
 
-import com.ghsc.partybuild.vo.shyk.MeetingDemocracyReviewVo;
-import com.ghsc.partybuild.vo.shyk.MeetingTargetVo;
-import com.ghsc.partybuild.vo.shyk.MeetingTypeVo;
-import com.ghsc.partybuild.vo.shyk.ShykMeetingVo;
+import com.ghsc.partybuild.vo.shyk.*;
 import com.github.pagehelper.PageInfo;
 import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
 import com.ghsc.partybuild.model.*;
@@ -22,6 +19,7 @@ public interface SHYKService {
 
     /**
      * 会议列表
+     *
      * @param page
      * @param rows
      * @param partyCode
@@ -37,10 +35,11 @@ public interface SHYKService {
      * @return
      */
     PageInfo<HashMap<String, Object>> getMeetingList(int page, int rows, String partyCode, String meetingName, String meetingAddress, String beginTime, String endTime, Integer shykStatus, List<Integer> shykType,
-                                                     String userId, Integer myMeeting, String day,String ssdzzdm);
+                                                     String userId, Integer myMeeting, String day, String ssdzzdm);
 
     /**
      * 选择议题
+     *
      * @param meetingId
      * @param shykType
      * @return
@@ -49,6 +48,7 @@ public interface SHYKService {
 
     /**
      * 会议成员
+     *
      * @param page
      * @param rows
      * @param meetingId
@@ -62,6 +62,7 @@ public interface SHYKService {
 
     /**
      * 查询会议决议
+     *
      * @param page
      * @param rows
      * @param meetingId
@@ -71,6 +72,7 @@ public interface SHYKService {
 
     /**
      * 会议议题
+     *
      * @param meetingId
      * @return
      */
@@ -79,15 +81,17 @@ public interface SHYKService {
 
     /**
      * 保存会议
+     *
      * @param model
      * @param topicList
      * @param userList
      * @return
      */
-    int saveMeeting(ShykMeetingWithBLOBs model, List<ShykMeetingtopic> topicList, List<ShykMeetinguser> userList, List<ShykMeetingDemocracyreview> democracyreviewList, List<ShykMeetingTypeKey> typeList,String userId, String userName) throws Exception;
+    int saveMeeting(ShykMeetingWithBLOBs model, List<ShykMeetingtopic> topicList, List<ShykMeetinguser> userList, List<ShykMeetingDemocracyreview> democracyreviewList, List<ShykMeetingTypeKey> typeList, String userId, String userName) throws Exception;
 
     /**
      * 更新保存会议
+     *
      * @param model
      * @return
      */
@@ -95,6 +99,7 @@ public interface SHYKService {
 
     /**
      * 查询会议
+     *
      * @param id
      * @return
      */
@@ -102,6 +107,7 @@ public interface SHYKService {
 
     /**
      * 删除会议
+     *
      * @param meetingId
      * @return
      */
@@ -110,6 +116,7 @@ public interface SHYKService {
 
     /**
      * 查询会议成员
+     *
      * @param meetingId
      * @param userCode
      * @return
@@ -118,6 +125,7 @@ public interface SHYKService {
 
     /**
      * 查询会议成员
+     *
      * @param meetingUserId
      * @return
      */
@@ -125,6 +133,7 @@ public interface SHYKService {
 
     /**
      * 会议签收
+     *
      * @param meetingId
      * @param userCode
      * @param isSignin
@@ -137,6 +146,7 @@ public interface SHYKService {
 
     /**
      * 会议签到
+     *
      * @param meetingId
      * @param userCode
      * @param checkinUserCode
@@ -147,6 +157,7 @@ public interface SHYKService {
 
     /**
      * 召开会议
+     *
      * @param meetingId
      * @param isConvene
      * @return
@@ -155,6 +166,7 @@ public interface SHYKService {
 
     /**
      * 推送会议通知
+     *
      * @param meetingId
      * @param userId
      * @param userName
@@ -163,6 +175,7 @@ public interface SHYKService {
 
     /**
      * 批量审核会议
+     *
      * @param meetingIdList
      * @param isPass
      * @param userId
@@ -173,6 +186,7 @@ public interface SHYKService {
 
     /**
      * 查询会议决议
+     *
      * @param id
      * @return
      */
@@ -180,6 +194,7 @@ public interface SHYKService {
 
     /**
      * 保存会议决议
+     *
      * @param meetingId
      * @param decisionList
      * @return
@@ -189,6 +204,7 @@ public interface SHYKService {
 
     /**
      * 取消会议
+     *
      * @param meetingId
      * @param userId
      * @param userName
@@ -198,6 +214,7 @@ public interface SHYKService {
 
     /**
      * 推送补学补课通知
+     *
      * @param meetingId
      * @param userId
      * @param userName
@@ -206,6 +223,7 @@ public interface SHYKService {
 
     /**
      * 录入补学补课情况
+     *
      * @param meetingId
      * @param userCode
      * @param makeuupstudy
@@ -218,6 +236,7 @@ public interface SHYKService {
 
     /**
      * 取消会议签收
+     *
      * @param meetingId
      * @param userCode
      * @param userId
@@ -228,6 +247,7 @@ public interface SHYKService {
 
     /**
      * 取消会议签到
+     *
      * @param meetingId
      * @param userCode
      * @param userId
@@ -238,6 +258,7 @@ public interface SHYKService {
 
     /**
      * 查询历史会议地址
+     *
      * @param userId
      * @return
      */
@@ -245,6 +266,7 @@ public interface SHYKService {
 
     /**
      * 获取邀请人员
+     *
      * @param partyCode
      * @return
      */
@@ -252,6 +274,7 @@ public interface SHYKService {
 
     /**
      * 删除邀请
+     *
      * @param id
      * @return
      */
@@ -259,6 +282,7 @@ public interface SHYKService {
 
     /**
      * 发送邀请
+     *
      * @param model
      * @return
      * @throws Exception
@@ -267,6 +291,7 @@ public interface SHYKService {
 
     /**
      * 确认邀请
+     *
      * @param id
      * @param etype
      * @return
@@ -276,6 +301,7 @@ public interface SHYKService {
 
     /**
      * 统计三会一课
+     *
      * @param page
      * @param rows
      * @param year
@@ -290,6 +316,7 @@ public interface SHYKService {
 
     /**
      * 计划
+     *
      * @param page
      * @param rows
      * @param dzzdm
@@ -300,20 +327,22 @@ public interface SHYKService {
 
     /**
      * 保存计划
+     *
      * @param model
      * @return
      */
-    Integer savePartyPlan(String partyCode,List<MeetingTargetVo> targetList,String userId);
+    Integer savePartyPlan(String partyCode, List<MeetingTargetVo> targetList, String userId);
 
     /**
      * 我的会议
+     *
      * @param page
      * @param rows
      * @param userId
      * @param beginTime
      * @param endTime
      * @param day
-     * @param isEvaluate 是否已评价
+     * @param isEvaluate     是否已评价
      * @param shykType
      * @param meetingName
      * @param meetingAddress
@@ -321,11 +350,12 @@ public interface SHYKService {
      * @return
      */
     PageInfo<HashMap<String, Object>> getMyMeetingList(int page, int rows,
-                                                       String userId,String beginTime, String endTime,String day,Integer isEvaluate,Integer shykType,String meetingName,
-                                                       String meetingAddress,String partyCode);
+                                                       String userId, String beginTime, String endTime, String day, Integer isEvaluate, Integer shykType, String meetingName,
+                                                       String meetingAddress, String partyCode);
 
     /**
      * 会议统计
+     *
      * @param page
      * @param rows
      * @param year
@@ -340,6 +370,7 @@ public interface SHYKService {
 
     /**
      * 会议评价信息
+     *
      * @param meetingUserId
      * @return
      */
@@ -347,23 +378,25 @@ public interface SHYKService {
 
     /**
      * 保存会议评价信息
+     *
      * @param model
      * @param projectList
      * @param userId
      * @param userName
      * @return
      */
-    int saveUserevaluate(ShykUserevaluateWithBLOBs model,List<ShykUserevaluateproject> projectList ,String userId,String userName);
+    int saveUserevaluate(ShykUserevaluateWithBLOBs model, List<ShykUserevaluateproject> projectList, String userId, String userName);
 
 
     /**
      * 会议评价项信息
+     *
      * @param meetingUserId
      * @return
      */
-    List<HashMap<String,Object>> getMeetingEvaluateProjectList(String meetingUserId);
+    List<HashMap<String, Object>> getMeetingEvaluateProjectList(String meetingUserId);
 
-    int savePartyPlanMulti(PartyPlanMultiVo dataModel, String dataDzzdm,List<MeetingTargetVo> targetList, String userId);
+    int savePartyPlanMulti(PartyPlanMultiVo dataModel, String dataDzzdm, List<MeetingTargetVo> targetList, String userId);
 
     /**
      * @Description //TODO 获取会议议题模板内容
@@ -372,13 +405,15 @@ public interface SHYKService {
      **/
     ShykMbYtmb getTopicModelById(String id);
 
-    PageInfo<HashMap<String, Object>> getMeetingListByApp(int page, int rows, String dzzdm, String userId, Integer type,  List<String> shykTypeList,String title,String startDate,
-                                                         String endDate);
+    PageInfo<HashMap<String, Object>> getMeetingListByApp(int page, int rows, String dzzdm, String userId, Integer type, List<String> shykTypeList, String title, String startDate,
+                                                          String endDate);
 
     PageInfo<HashMap<String, Object>> getMeetingPlanTotalList(int page, int rows, String dzzdm, String dzzdmSearch, Integer year, Integer quarter, Integer month);
 
-    PageInfo<HashMap<String, Object>> getMyMeetingListForApp(int page, int rows,String userId);
+    PageInfo<HashMap<String, Object>> getMyMeetingListForApp(int page, int rows, String userId);
 
     List<MeetingTargetVo> getMeetingTargetList();
 
+    List<MeetingMonthTotalVo> getMeetingMonthTotalList(String partyCode, Integer year);
+
 }

+ 6 - 4
src/main/java/com/ghsc/partybuild/service/impl/SHYKServiceImpl.java

@@ -1,10 +1,7 @@
 package com.ghsc.partybuild.service.impl;
 
 import com.ghsc.partybuild.vo.AssetinfoVo;
-import com.ghsc.partybuild.vo.shyk.MeetingDemocracyReviewVo;
-import com.ghsc.partybuild.vo.shyk.MeetingTargetVo;
-import com.ghsc.partybuild.vo.shyk.MeetingTypeVo;
-import com.ghsc.partybuild.vo.shyk.ShykMeetingVo;
+import com.ghsc.partybuild.vo.shyk.*;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ghsc.partybuild.AppConfig;
@@ -1224,4 +1221,9 @@ public class SHYKServiceImpl implements SHYKService {
         return shykcQuery.selectMeetingTargetList();
     }
 
+    @Override
+    public List<MeetingMonthTotalVo>getMeetingMonthTotalList(String partyCode, Integer year){
+        return shykcQuery.selectMeetingMonthTotalList(partyCode,year);
+    }
+
 }

+ 13 - 0
src/main/java/com/ghsc/partybuild/vo/shyk/MeetingMonthTotalVo.java

@@ -0,0 +1,13 @@
+package com.ghsc.partybuild.vo.shyk;
+
+
+import lombok.Data;
+
+@Data
+public class MeetingMonthTotalVo {
+    public String partyCode;
+    public Integer shykType;
+    public Integer year;
+    public Integer month;
+    public Integer count;
+}

+ 14 - 0
src/main/resources/mapping/SHYKCQuery.xml

@@ -576,5 +576,19 @@
                  inner join cf_dictionary dic_target on pt.targetType = dic_target.DICKEY and dic_target.DICTYPEKEY='SHYK_PartyPlan'
         order by pt.partyCode,pt.shykType
     </select>
+    
+    <select id="selectMeetingMonthTotalList" resultType="com.ghsc.partybuild.vo.shyk.MeetingMonthTotalVo">
+        select m.partyCode,t.shykType,year(m.BEGINTIME) as year,month(m.BEGINTIME) as month,count(1) as count
+        from SHYK_MEETING m
+        inner join shyk_meeting_type t on t.meetingId = m.meetingId
+        where 1=1
+        <if test="partyCode != null and partyCode != ''">
+            and m.partyCode = #{partyCode}
+        </if>
+        <if test="year!=null">
+            and year(m.BEGINTIME) = #{year}
+        </if>
+        group by m.partyCode,t.shyktype,year(m.BEGINTIME),month(m.BEGINTIME)
+    </select>
 
 </mapper>

+ 1 - 1
src/main/resources/static/app/main/shyk/shykPlan.js

@@ -24,7 +24,7 @@
         //监视页数变化
         $scope.$watch("selectparams.pageindex", function (newVal, oldVal) {
             if ($scope.pageInfo.ptotal > 0) {
-                $scope.loadData();
+                $scope.getPartyList();
             }
         });
 

+ 26 - 26
src/main/resources/static/app/main/shyk/shykTotal.html

@@ -87,56 +87,56 @@
                         <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
                             <thead>
                             <tr>
-                                <th>序号</th>
-                                <th style="width: 200px;">组织名称</th>
-                                <th>季度</th>
-                                <th>类别</th>
-                                <th>指标</th>
-                                <th>第1月</th>
-                                <th>第2月</th>
-                                <th>第3月</th>
-                                <th>季度总数</th>
+                                <th style="width: 80px;">序号</th>
+                                <th style="width: 300px;">组织名称</th>
+                                <th style="width: 150px;">季度</th>
+                                <th style="width: 130px;">类别</th>
+                                <th style="width: 130px;">指标</th>
+                                <th style="width: 130px;">第1月</th>
+                                <th style="width: 130px;">第2月</th>
+                                <th style="width: 130px;">第3月</th>
+                                <th style="width: 130px;">季度总数</th>
                             </tr>
                             </thead>
                             <tbody>
                             <tr ng-repeat="it in dataList">
-                                <td class="text-center" rowspan="4" ng-if="$index==0 || ($index>=4 && $index%4==0)"
-                                    style="background-color: #fff;">{{5*(selectparams.pageindex-1)+$index/4+1}}
+                                <td class="text-center" rowspan="{{shyklxList.length}}" ng-if="$index==0 || ($index>=shyklxList.length && $index%shyklxList.length==0)"
+                                    style="background-color: #fff;">{{5*(selectparams.pageindex-1)+$index/shyklxList.length+1}}
                                 </td>
-                                <td rowspan="4" ng-if="$index==0 || ($index>=4 && $index%4==0)"
+                                <td rowspan="{{shyklxList.length}}" ng-if="$index==0 || ($index>=shyklxList.length && $index%shyklxList.length==0)"
                                     style="background-color: #fff;overflow: hidden;white-space: normal;text-overflow: ellipsis;">
-                                    <a href="javascript:void(0);" style="width: 200px;display: inline-block;color: #333;text-decoration:none;" title="{{it.DZZMC}}">
-                                        {{it.DZZMC}}
+                                    <a href="javascript:void(0);" style="width: 200px;display: inline-block;color: #333;text-decoration:none;" title="{{it.partyName}}">
+                                        {{it.partyName}}
                                     </a>
                                 </td>
-                                <td class="text-center" rowspan="4" ng-if="$index==0 || ($index>=4 && $index%4==0)"
+                                <td class="text-center" rowspan="{{shyklxList.length}}" ng-if="$index==0 || ($index>=shyklxList.length && $index%shyklxList.length==0)"
                                     style="background-color: #fff;">
-                                    {{it.YY}}年第{{it.QUARTER}}季度
+                                    {{it.year}}年第{{it.quarter}}季度
                                 </td>
-                                <td class="text-center">{{it.SHYKTYPENAME}}</td>
-                                <td class="text-center">{{it.PLANTYPENAME}}</td>
-                                <td class="text-center" ng-class="it.firstWarn=='1'?'warnbox':''">
+                                <td class="text-center">{{it.shykTypeName}}</td>
+                                <td class="text-center">{{getSettingTitle(it.partyCode,it.shykType)}}</td>
+                                <td class="text-center" ng-class="isMonthWarn(it.partyCode,it.year,it.quarter,1,it.shykType)?'warnbox':''">
                                     <!--<div class="box-con"></div>
                                     <div class="box-con2"></div>-->
-                                    <a ng-click="showData(it,0,false)">{{it.MONTH_FIRST}}</a>
+                                    <a ng-click="showData(it,0,false)">{{getMonthTotal(it.partyCode,it.year,it.quarter,1,it.shykType)}}</a>
                                     <div class="red_line"></div>
                                 </td>
-                                <td class="text-center" ng-class="it.secondWarn=='1'?'warnbox':''">
+                                <td class="text-center" ng-class="isMonthWarn(it.partyCode,it.year,it.quarter,2,it.shykType)?'warnbox':''">
                                     <!--<div class="box-con"></div>
                                     <div class="box-con2"></div>-->
-                                    <a ng-click="showData(it,1,false)">{{it.MONTH_SECOND}}</a>
+                                    <a ng-click="showData(it,1,false)">{{getMonthTotal(it.partyCode,it.year,it.quarter,2,it.shykType)}}</a>
                                     <div class="red_line"></div>
                                 </td>
-                                <td class="text-center" ng-class="it.thirdWarn=='1'?'warnbox':''">
+                                <td class="text-center" ng-class="isMonthWarn(it.partyCode,it.year,it.quarter,3,it.shykType)?'warnbox':''">
                                     <!--<div class="box-con"></div>
                                     <div class="box-con2"></div>-->
-                                    <a ng-click="showData(it,2,false)">{{it.MONTH_THIRD}}</a>
+                                    <a ng-click="showData(it,2,false)">{{getMonthTotal(it.partyCode,it.year,it.quarter,3,it.shykType)}}</a>
                                     <div class="red_line"></div>
                                 </td>
-                                <td class="text-center" ng-class="it.totalWarn=='1'?'warnbox':''">
+                                <td class="text-center" ng-class="isQuarterWarn(it.partyCode,it.year,it.quarter,it.shykType)?'warnbox':''">
                                     <!--<div class="box-con"></div>
                                     <div class="box-con2"></div>-->
-                                    <a ng-click="showData(it,0,true)">{{it.TOTAL}}</a>
+                                    <a ng-click="showData(it,0,true)">{{getQuarterTotal(it.partyCode,it.year,it.quarter,it.shykType)}}</a>
                                     <div class="red_line"></div>
                                 </td>
                             </tr>

+ 120 - 39
src/main/resources/static/app/main/shyk/shykTotal.js

@@ -5,12 +5,13 @@
         $scope.moreTxt = "更多";
 
 
-
         //定义数据集合
         $scope.loginUserId = AuthUser.getUser().Id;
         $scope.dataList = []; //列表数据
         $scope.yearList = [];
         $scope.quarterList = [];
+        $scope.meetingMonthTotalList = [];
+        $scope.meetingTargetList = [];
         $scope.selectparams = {
             isunfold: false,//组织结构树展开收缩
             selectdzzdm: '',
@@ -40,7 +41,7 @@
         //监视页数变化
         $scope.$watch("selectparams.pageindex", function (newVal, oldVal) {
             if ($scope.pageInfo.ptotal > 0) {
-                $scope.loadData();
+                $scope.getPartyList();
             }
         });
 
@@ -53,45 +54,128 @@
                 $scope.selectparams.defaultselected = "";
 
                 $scope.selectparams.dzzdm = $scope.selectparams.selectdzzdm;
-                $scope.loadData();
-            }
-        });
-
-        $scope.$watch("selectparams.zzfbType", function (newVal, oldVal) {
-            if (newVal != oldVal) {
-                $scope.selectparams.dzzdm = "";
-                $scope.dataList.length = 0;
-                $scope.loadData();
+                $scope.getPartyList();
             }
         });
 
-        //查询
-        $scope.search = function () {
-            $scope.loadData();
+        $scope.getPartyList = function () {
+            $scope.partyList = [];
+            $scope.dataList = [];
+            $http
+            ({
+                method: 'get', url: '../../api/party/getPartyList', params: $scope.selectparams
+            }).then(function (result) {
+                $scope.partyList = result.data.item.list;
+                $scope.pageInfo.ptotal = result.data.item.total;
+                $scope.getShyklxList();
+                $scope.getTargetList();
+                $scope.getMeetingMonthTotalList();
+            });
         };
 
-        //加载列表数据
-        $scope.loadData = function () {
+        $scope.getTargetList = function () {
+            $http
+            ({
+                method: 'get', url: '../../api/shyk/getMeetingTargetList', params: $scope.selectparams
+            }).then(function (result) {
+                $scope.meetingTargetList = result.data.item;
+            }, function (resp) {
+                $scope.showMsg('错误', '服务器错误');
+            });
+        };
 
+        $scope.getMeetingMonthTotalList = function () {
+            $http
+            ({
+                method: 'get', url: '../../api/shyk/getMeetingMonthTotalList', params: {year: $scope.selectparams.year}
+            }).then(function (result) {
+                $scope.meetingMonthTotalList = result.data.item;
+            }, function (resp) {
+                $scope.showMsg('错误', '服务器错误');
+            });
+        };
 
-            if ($scope.selectparams.dzzdm != "" && $scope.selectparams.dzzdm != AuthUser.getUser().gddwdm) {
-                if ($scope.selectparams.dzzdm.length == 12) {
-                    $loading.show();
+        $scope.getShyklxList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {
+                    dicTypeKey: 'shykType'
                 }
-                $http
-                ({
-                    method: 'get', url: '../../api/shyk/getMeetingTotalListNew', params: $scope.selectparams
-                }).then(function (result) {
-                    $loading.hide();
-                    $scope.dataList = result.data.item.list;
-                    $scope.pageInfo.ptotal = result.data.item.total;
-                }, function (resp) {
-                    $loading.hide();
-                    $scope.showMsg('错误', '服务器错误');
+            }).then(function (result) {
+                $scope.shyklxList = result.data;
+
+                $scope.partyList.forEach(p => {
+                    $scope.shyklxList.forEach(t => {
+                        $scope.dataList.push({
+                            partyCode: p.DZZDM,
+                            partyName: p.DZZMC,
+                            shykType: t.dickey,
+                            shykTypeName: t.dicvalue,
+                            quarterName: $scope.selectparams.year + '年第' + $scope.selectparams.quarter + '季度',
+                            quarter: $scope.selectparams.quarter,
+                            year: $scope.selectparams.year
+                        });
+                    });
                 });
-            }
+
+            }, function (resp) {
+
+            });
+        };
+
+        $scope.getSettingTitle = function (partyCode, type) {
+            const settingVo = $scope.meetingTargetList.filter(e => e.shyktype === type && e.partycode === partyCode);
+            return settingVo.length > 0 ? settingVo[0].targetName : '/';
+        };
+
+        $scope.getSettingValue = function (partyCode, type) {
+            const settingVo = $scope.meetingTargetList.filter(e => e.shyktype === type && e.partycode === partyCode);
+            return settingVo.length > 0 ? settingVo[0].targettype : null;
+        };
+
+        $scope.getMonthTotal = function (partyCode, year, quarter, monthIndex, shykType) {
+            const month = (quarter - 1) * 3 + monthIndex;
+
+            const monthData = $scope.meetingMonthTotalList.filter(e => e.partyCode === partyCode && e.year === year && e.month === month && e.shykType === shykType);
+
+            return monthData.length > 0 ? monthData[0].count : 0;
+        };
+
+        $scope.isMonthWarn = function (partyCode, year, quarter, monthIndex, shykType) {
+            const monthTotal = $scope.getMonthTotal(partyCode, year, quarter, monthIndex, shykType);
+
+            return $scope.getSettingValue(partyCode, shykType) === 1 && monthTotal === 0 ? true : false;
         };
 
+        $scope.getQuarterTotal = function (partyCode, year, quarter, shykType) {
+            const total = $scope.getMonthTotal(partyCode, year, quarter, 1, shykType)
+                + $scope.getMonthTotal(partyCode, year, quarter, 2, shykType)
+                + $scope.getMonthTotal(partyCode, year, quarter, 3, shykType);
+
+            return Math.round(total * 100) / 100;
+        };
+
+        $scope.isQuarterWarn = function (partyCode, year, quarter, shykType) {
+            const quarterTotal = $scope.getQuarterTotal(partyCode, year, quarter, shykType);
+
+            return ($scope.getSettingValue(partyCode, shykType) === 1 && (
+                        $scope.isMonthWarn(partyCode, year, quarter, 1, shykType)
+                        ||
+                        $scope.isMonthWarn(partyCode, year, quarter, 2, shykType)
+                        ||
+                        $scope.isMonthWarn(partyCode, year, quarter, 3, shykType))
+                )
+                ||
+                ($scope.getSettingValue(partyCode, shykType) === 2 && quarterTotal === 0 ? true : false);
+        };
+
+        //查询
+        $scope.search = function () {
+            $scope.getPartyList();
+        };
+
+
         $scope.exportData = function () {
             if ($scope.selectparams.dzzdm != "" && $scope.selectparams.dzzdm != AuthUser.getUser().gddwdm) {
                 var params = "?1=1";
@@ -159,7 +243,7 @@
                     dzzdm: item.DZZDM,
                     dzzmc: item.DZZMC,
                     shykType: item.SHYKTYPE,
-                    ssdzzdm:item.DZZDM
+                    ssdzzdm: item.DZZDM
                 });
             }, 100);
         };
@@ -175,14 +259,11 @@
             });
 
         };
-        $scope.isShowClick = function(){
-            $scope.isShow=!$scope.isShow;
-            if($scope.moreTxt == "更多")
-            {
+        $scope.isShowClick = function () {
+            $scope.isShow = !$scope.isShow;
+            if ($scope.moreTxt == "更多") {
                 $scope.moreTxt = "收起";
-            }
-            else if($scope.moreTxt == "收起")
-            {
+            } else if ($scope.moreTxt == "收起") {
                 $scope.moreTxt = "更多";
             }
         };
@@ -190,7 +271,7 @@
             $scope.selectparams.isunfold = !$scope.selectparams.isunfold;
             $scope.$emit('menudatas.toggle', !$scope.selectparams.isunfold);
         };
-        $scope.reset  = function () {
+        $scope.reset = function () {
             // var $form = $scope.myform;
             // var $names = $form.$$controls;
             // angular.forEach($names, function (val) {