/** * Created by wisestone on 2018-10-30. */ 'use strict'; define([ 'app' ], function (app) { app.controller('widgetDashBoardController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'Widget', 'SweetAlert', '$filter', function ($scope, $rootScope, $log, $resourceProvider, Widget, SweetAlert, $filter) { // 함수 모음 $scope.fn = { findAllWidget : findAllWidget // 대시보드 위젯 전체 조회 }; // 변수 모음 $scope.vm = { issueStatisticsWidget : null, // 전체 이슈 현황 projectProgressWidget : null, // 진행중인 프로젝트 현황 myAssigneeIssueWidget : null, // 나에게 할당된 이슈 delayIssueWidget : null, // 지연중인 이슈 registerIssueWidget : null, // 내가 등록한 이슈 memberProgressWidget : null, // 멤버별 진행률 myIssueWidget : null, // 나의 이슈 현황 riskIssueWidget : null, // 위험 관리 이슈 issueCompleteWidget : null, // 전체 이슈 처리 현황 issueStatusWidget : [], // 상태별 이슈 현황 workflowWidget : null, // 워크플로우 issueTypeWidget : null, // 이슈 유형별 이슈 현황 severityIssueWidget: null, // 중요도 별 이슈 현황 }; // 대시보드 위젯 전체 조회 function findAllWidget() { Widget.findAllWidget($resourceProvider.getContent({}, $resourceProvider.getPageContent(0, 0))).then(function (result) { if (result.data.message.status === "success") { $scope.vm.issueStatisticsWidget = result.data.issueStatisticsWidget; // 진행중인 프로젝트 현황 정보를 저장한다. $scope.vm.projectProgressWidget = result.data.projectProgressWidget; // 나에게 할당된 이슈 정보를 저장한다. $scope.vm.myAssigneeIssueWidget = result.data.myAssigneeIssueWidget; // 지연중인 이슈 정보를 저장한다. $scope.vm.delayIssueWidget = result.data.delayIssueWidget; // 내가 등록한 이슈 정보를 저장한다. $scope.vm.registerIssueWidget = result.data.registerIssueWidget; // 위험 관리 이슈 정보를 저장한다. $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