From eee313007ce5c4f0879d764d56d3a1ba93f6fb37 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 01 12월 2021 16:33:49 +0900 Subject: [PATCH] 대시보드 - 멤버별 진행률 완료 및 오류 수정 --- src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java | 10 ++++ src/main/webapp/scripts/app/widget/widgetDashBoard.controller.js | 38 +++++++++++++++++++ src/main/resources/mybatis/query-template/widget-template.xml | 61 ++++++++++++++++-------------- src/main/webapp/WEB-INF/i18n/code_ko_KR.properties | 1 4 files changed, 80 insertions(+), 30 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java index 4a8a84d..df9aac1 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java @@ -486,6 +486,7 @@ List<Map<String, Object>> projectMemberIssues = this.widgetMapper.findProjectMemberIssue(widgetCondition); for (Map<String, Object> projectMemberIssue : projectMemberIssues) { + //String departmentName = MapUtil.getString(projectMemberIssue, "departmentName"); Long completeCount = MapUtil.getLong(projectMemberIssue, "completeCount"); Long remainCount = MapUtil.getLong(projectMemberIssue, "remainCount"); //projectMemberIssue.put("account", CommonUtil.decryptAES128(MapUtil.getString(projectMemberIssue, "account"))); @@ -1037,6 +1038,7 @@ excelInfo.setDatas(assigneeIssues); excelInfo.addAttrInfos(new ExportExcelAttrVo("issueKey", this.messageAccessor.message("common.issueKey"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �씠�뒋 踰덊샇 excelInfo.addAttrInfos(new ExportExcelAttrVo("registerDate", this.messageAccessor.message("common.registerDate"), 8, ExportExcelAttrVo.ALIGN_CENTER)); // �벑濡앹씪 + excelInfo.addAttrInfos(new ExportExcelAttrVo("projectName", this.messageAccessor.message("common.project"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // �봽濡쒖젥�듃 excelInfo.addAttrInfos(new ExportExcelAttrVo("title", this.messageAccessor.message("common.issueTitle"), 40, ExportExcelAttrVo.ALIGN_LEFT)); // �씠�뒋 excelInfo.addAttrInfos(new ExportExcelAttrVo("issueStatusName", this.messageAccessor.message("common.status"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �긽�깭 excelInfo.addAttrInfos(new ExportExcelAttrVo("completeDate", this.messageAccessor.message("common.endDate"), 15, ExportExcelAttrVo.ALIGN_CENTER)); // 醫낅즺�씪 @@ -1104,6 +1106,7 @@ excelInfo.setDatas(riskIssues); excelInfo.addAttrInfos(new ExportExcelAttrVo("issueKey", this.messageAccessor.message("common.issueKey"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �씠�뒋 踰덊샇 excelInfo.addAttrInfos(new ExportExcelAttrVo("riskType", this.messageAccessor.message("common.division"), 15, ExportExcelAttrVo.ALIGN_CENTER)); // 援щ텇 + excelInfo.addAttrInfos(new ExportExcelAttrVo("projectName", this.messageAccessor.message("common.project"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // �봽濡쒖젥�듃 excelInfo.addAttrInfos(new ExportExcelAttrVo("title", this.messageAccessor.message("common.issueTitle"), 40, ExportExcelAttrVo.ALIGN_LEFT)); // �씠�뒋 excelInfo.addAttrInfos(new ExportExcelAttrVo("issueStatusName", this.messageAccessor.message("common.status"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �긽�깭 excelInfo.addAttrInfos(new ExportExcelAttrVo("issueUsers", this.messageAccessor.message("common.assignee"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // �떞�떦�옄 @@ -1137,6 +1140,7 @@ excelInfo.setDatas(registerIssues); excelInfo.addAttrInfos(new ExportExcelAttrVo("issueKey", this.messageAccessor.message("common.issueKey"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �씠�뒋 踰덊샇 excelInfo.addAttrInfos(new ExportExcelAttrVo("issueStatusName", this.messageAccessor.message("common.status"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �긽�깭 + excelInfo.addAttrInfos(new ExportExcelAttrVo("projectName", this.messageAccessor.message("common.project"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // �봽濡쒖젥�듃 excelInfo.addAttrInfos(new ExportExcelAttrVo("title", this.messageAccessor.message("common.issueTitle"), 40, ExportExcelAttrVo.ALIGN_LEFT)); // �씠�뒋 excelInfo.addAttrInfos(new ExportExcelAttrVo("period", this.messageAccessor.message("common.period"), 15, ExportExcelAttrVo.ALIGN_CENTER)); // 湲곌컙 return excelInfo; @@ -1182,6 +1186,7 @@ excelInfo.setDatas(delayIssues); excelInfo.addAttrInfos(new ExportExcelAttrVo("issueKey", this.messageAccessor.message("common.issueKey"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �씠�뒋 踰덊샇 excelInfo.addAttrInfos(new ExportExcelAttrVo("delayDay", this.messageAccessor.message("common.delayDate"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // 吏��뿰�씪 + excelInfo.addAttrInfos(new ExportExcelAttrVo("projectName", this.messageAccessor.message("common.project"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // �봽濡쒖젥�듃 excelInfo.addAttrInfos(new ExportExcelAttrVo("title", this.messageAccessor.message("common.issueTitle"), 40, ExportExcelAttrVo.ALIGN_LEFT)); // �씠�뒋 excelInfo.addAttrInfos(new ExportExcelAttrVo("issueStatusName", this.messageAccessor.message("common.status"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // �긽�깭 excelInfo.addAttrInfos(new ExportExcelAttrVo("period", this.messageAccessor.message("common.period"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // 湲곌컙 @@ -1223,7 +1228,9 @@ excelInfo.setFileName(this.messageAccessor.message("common.progressByMember")); // 硫ㅻ쾭蹂� 吏꾪뻾瑜� excelInfo.setDatas(members); - excelInfo.addAttrInfos(new ExportExcelAttrVo("byName", this.messageAccessor.message("common.teamMember"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // ���썝 + //excelInfo.addAttrInfos(new ExportExcelAttrVo("byName", this.messageAccessor.message("common.teamMember"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // ���썝 + excelInfo.addAttrInfos(new ExportExcelAttrVo("projectName", this.messageAccessor.message("common.project"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // �봽濡쒖젥�듃 + excelInfo.addAttrInfos(new ExportExcelAttrVo("departmentName", this.messageAccessor.message("common.teamDepartment"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // �떞�떦遺��꽌 excelInfo.addAttrInfos(new ExportExcelAttrVo("projectProgressPercent", this.messageAccessor.message("common.progressPercent"), 6, ExportExcelAttrVo.ALIGN_LEFT)); // 吏꾪뻾瑜� excelInfo.addAttrInfos(new ExportExcelAttrVo("issueCount", this.messageAccessor.message("common.assignedIssue"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // �떞�떦 �씠�뒋 excelInfo.addAttrInfos(new ExportExcelAttrVo("delayCount", this.messageAccessor.message("common.delaying"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // 吏��뿰以� @@ -1300,6 +1307,7 @@ excelInfo.setDatas(severityIssue); excelInfo.addAttrInfos(new ExportExcelAttrVo("issueKey", this.messageAccessor.message("common.issueKey"), 8, ExportExcelAttrVo.ALIGN_CENTER)); //�씠�뒋 踰덊샇 excelInfo.addAttrInfos(new ExportExcelAttrVo("severityName", this.messageAccessor.message("common.importance"), 6, ExportExcelAttrVo.ALIGN_CENTER)); // 以묒슂�룄 + excelInfo.addAttrInfos(new ExportExcelAttrVo("projectName", this.messageAccessor.message("common.project"), 15, ExportExcelAttrVo.ALIGN_LEFT)); // �봽濡쒖젥�듃 excelInfo.addAttrInfos(new ExportExcelAttrVo("title", this.messageAccessor.message("common.issueTitle"), 40, ExportExcelAttrVo.ALIGN_CENTER)); // �씠�뒋�젣紐� excelInfo.addAttrInfos(new ExportExcelAttrVo("issueStatusName", this.messageAccessor.message("common.status"), 6, ExportExcelAttrVo.ALIGN_CENTER)); //�씠�뒋 �긽�깭 excelInfo.addAttrInfos(new ExportExcelAttrVo("period", this.messageAccessor.message("common.period"), 15, ExportExcelAttrVo.ALIGN_CENTER)); // 湲곌컙 diff --git a/src/main/resources/mybatis/query-template/widget-template.xml b/src/main/resources/mybatis/query-template/widget-template.xml index 37ab4d1..b482c87 100644 --- a/src/main/resources/mybatis/query-template/widget-template.xml +++ b/src/main/resources/mybatis/query-template/widget-template.xml @@ -15,7 +15,7 @@ WHERE EXISTS(SELECT 1 FROM issue_status iss WHERE iss.issue_status_type != 'CLOSE' AND i.issue_status_id = iss.id) <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -31,7 +31,7 @@ COUNT(i.id) FROM issue i where exists(select 1 from issue_status iss where iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -86,7 +86,7 @@ </choose> ) AND EXISTS(SELECT 1 FROM issue_status iss WHERE iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -102,7 +102,7 @@ count(i.id) as todayCount from issue i where i.register_id = #{loginUserId} <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -140,7 +140,7 @@ WHERE EXISTS(select 1 from issue_status iss where iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -158,7 +158,7 @@ inner join issue_status iss on iss.id = i.issue_status_id where iss.issue_status_type = 'CLOSE' <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -180,7 +180,7 @@ where iss.issue_status_type = 'CLOSE' and i.modify_date between #{searchStartDate} and #{searchEndDate} <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -197,7 +197,7 @@ inner join issue_status iss on iss.id = i.issue_status_id where 1=1 <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -277,7 +277,7 @@ left outer join issue_status iss on iss.id = i.issue_status_id WHERE 1=1 <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND p.id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -389,7 +389,7 @@ and id.register_date BETWEEN (CURDATE()) AND (CURDATE() + INTERVAL 1 DAY)) <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -429,7 +429,7 @@ inner join issue_status iss on iss.id = i.issue_status_id WHERE 1=1 <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -502,7 +502,7 @@ inner join project p on p.id = i.project_id WHERE 1=1 <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND p.id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -562,7 +562,7 @@ inner join issue_status iss on iss.id = i.issue_status_id where iss.issue_status_type != 'CLOSE' <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -607,14 +607,15 @@ (case when ir.change_issue_status_count > 3 then true else false end) as changeIssueStatusType, CONCAT(p.project_key, '-', i.issue_number) AS issueKey, i.issue_number as issueNumber, - p.project_key as projectKey + p.project_key as projectKey, + p.name as projectName from issue i inner join issue_risk ir on ir.issue_id = i.id inner join issue_status iss on iss.id = i.issue_status_id inner join project p on p.id = i.project_id where iss.issue_status_type != 'CLOSE' <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND p.id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -637,7 +638,7 @@ inner join issue_status iss on iss.id = i.issue_status_id where iss.issue_status_type != 'CLOSE' <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -675,7 +676,7 @@ WHERE 1=1 AND i.register_id = #{loginUserId} <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -706,7 +707,7 @@ AND EXISTS (SELECT 1 FROM issue_status iss WHERE iss.id = i.issue_status_id AND iss.issue_status_type != 'CLOSE') </if> <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -744,7 +745,7 @@ </if> WHERE 1=1 <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -770,7 +771,7 @@ </if> WHERE 1=1 <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -807,7 +808,7 @@ inner join issue_status iss on iss.id = i.issue_status_id where 1=1 <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -851,6 +852,7 @@ parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> select d.department_name as departmentName, + p.name as projectName, (select count(*) from issue i inner join issue_department id on id.issue_id = i.id inner join issue_status iss on iss.id = i.issue_status_id @@ -870,7 +872,7 @@ inner join project p on p.id = pr.project_id WHERE <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> p.id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -894,7 +896,7 @@ 'CLOSE') AND i.register_id = #{loginUserId} <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -912,7 +914,7 @@ 'CLOSE') AND i.register_id = #{loginUserId} <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -959,7 +961,7 @@ </choose> and iss.issue_status_type = 'CLOSE' <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -1006,7 +1008,7 @@ </otherwise> </choose> <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -1046,7 +1048,7 @@ WHERE w.id = #{workspaceId} AND iss.issue_status_type != 'CLOSE' <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -1066,6 +1068,7 @@ replace(i.complete_date, "-", ".") AS completeDate, i.issue_number AS issueNumber, p.project_key AS projectKey, + p.name AS projectName, iss.name AS issueStatusName, CONCAT(p.project_key, '-', i.issue_number) AS issueKey FROM issue i @@ -1077,7 +1080,7 @@ AND s.id = #{severityId} AND iss.issue_status_type != 'CLOSE' <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} @@ -1102,7 +1105,7 @@ AND s.id = #{severityId} AND iss.issue_status_type != 'CLOSE' <choose> - <when test="meAndDownProjectIds.size != 0"> + <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> AND i.project_id IN <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> #{item} diff --git a/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties index 70ef9b3..d0355db 100644 --- a/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties +++ b/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties @@ -29,6 +29,7 @@ common.registerDate=\uB4F1\uB85D\uC77C common.admin=\uAD00\uB9AC\uC790 common.teamMember=\uD300\uC6D0 +common.teamDepartment=\uB2F4\uB2F9\uBD80\uC11C common.registration=\uB4F1\uB85D common.assigned=\uB2F4\uB2F9 common.progressPercent=\uC9C4\uD589\uB960 diff --git a/src/main/webapp/scripts/app/widget/widgetDashBoard.controller.js b/src/main/webapp/scripts/app/widget/widgetDashBoard.controller.js index 0bab9d8..d4702ad 100644 --- a/src/main/webapp/scripts/app/widget/widgetDashBoard.controller.js +++ b/src/main/webapp/scripts/app/widget/widgetDashBoard.controller.js @@ -51,6 +51,44 @@ $scope.vm.riskIssueWidget = result.data.riskIssueWidget; // �굹�쓽 �씠�뒋 �쁽�솴 �젙蹂대�� ���옣�븳�떎. $scope.vm.myIssueWidget = result.data.myIssueWidget; + + const members = result.data.memberProgressWidget.members; + var filterMembers = members.filter(function(item, idx){ + return members.findIndex(function(item2, idx2){ + return item.departmentName === item2.departmentName + }) == idx; + }); + + var departmentNames = []; + angular.forEach(filterMembers, function (member) { + departmentNames.push(member.departmentName); + }); + var completeCounts = []; + var delayCounts = []; + var remainCounts = []; + + for(var j=0; j<departmentNames.length; j++){ //諛곗뿴 珥덇린媛� �꽑�뼵 + completeCounts[j] = 0; + delayCounts[j] = 0; + remainCounts[j] = 0; + } + + for(var i=0; i<members.length; i++){ + for(var j=0; j<departmentNames.length; j++){ + if(members[i].departmentName === departmentNames[j]){ + completeCounts[j] += members[i].completeCount; + delayCounts[j] += members[i].delayCount; + remainCounts[j] += members[i].remainCount; + } + } + } + for(var i=0; i<filterMembers.length; i++){ + filterMembers[i].completeCount = completeCounts[i] + filterMembers[i].delayCount = delayCounts[i] + filterMembers[i].remainCount = remainCounts[i] + } + result.data.memberProgressWidget.members = filterMembers; + // 硫ㅻ쾭蹂� 吏꾪뻾瑜좎쓣 ���옣�븳�떎. $scope.vm.memberProgressWidget = result.data.memberProgressWidget; // �쟾泥� �씠�뒋 泥섎━ �쁽�솴 �젙蹂대�� ���옣�븳�떎. -- Gitblit v1.8.0