src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/resources/mybatis/query-template/widget-template.xml | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/app/issue/issueDetail.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/app/project/projectAdd.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/app/project/projectModify.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/views/issue/issueDetail.html | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/views/project/projectAdd.html | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/views/project/projectModify.html | ●●●●● 패치 | 보기 | raw | blame | 히스토리 |
src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java
@@ -121,8 +121,8 @@ project.setProjectKey("BTS"); project.setStatus(Project.PROJECT_OPEN); project.setDescription(this.messageAccessor.message("common.intoTheSystemIssueManagementProject")); // 시스템에서 기본으로 제공되는 이슈 관리 프로젝트입니다. project.setStartDate(DateUtil.convertDateToYYYYMMDD(new Date())); project.setEndDate(DateUtil.convertDateToYYYYMMDD(DateUtil.addDays(new Date(), 3650))); //project.setStartDate(DateUtil.convertDateToYYYYMMDD(new Date())); //project.setEndDate(DateUtil.convertDateToYYYYMMDD(DateUtil.addDays(new Date(), 3650))); // 기본으로 생성되는 프로젝트의 유형은 BTS project.setProjectType(ProjectType.BTS_PROJECT); project.setWorkspace(workspace); src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java
@@ -283,8 +283,10 @@ SetMyDepartmentId(widgetCondition); remainIssue = this.widgetMapper.countRemainIssueByDepartment(widgetCondition); // 잔여 이슈 delayIssue = this.widgetMapper.countTodayDelayIssueByDepartment(widgetCondition); // 지연된 이슈 assigneeIssue = this.widgetMapper.countAssigneeIssueByDepartment(widgetCondition); // 할당된 이슈 registerIssue = this.widgetMapper.countTodayRegisterIssueByDepartment(widgetCondition); // 등록한 이슈 //assigneeIssue = this.widgetMapper.countAssigneeIssueByDepartment(widgetCondition); // 할당된 이슈 assigneeIssue = this.widgetMapper.countAssigneeIssue(widgetCondition); // 할당된 이슈 //registerIssue = this.widgetMapper.countTodayRegisterIssueByDepartment(widgetCondition); // 등록한 이슈 registerIssue = this.widgetMapper.countTodayRegisterIssue(widgetCondition); // 등록한 이슈 //noAssigneeIssue = this.widgetMapper.countNoAssigneeIssueByDepartment(widgetCondition); // 일반 유저는 미할당 이슈 0개로 보이게 completeIssue = this.widgetMapper.countCompleteIssueByDepartment(widgetCondition); // 완료된 이슈 } @@ -448,7 +450,7 @@ if (widgetCondition.getProjectIds().size() > 0) { SetMeAndDownProjectIds(widgetCondition.getProjectIds(), widgetCondition); this.SetMyDepartmentId(widgetCondition); delayIssues = this.widgetMapper.findDelayIssue(widgetCondition); totalCount = this.widgetMapper.countDelayIssue(widgetCondition); } src/main/resources/mybatis/query-template/widget-template.xml
@@ -953,12 +953,21 @@ <if test="page != null and !page.equals('')"> INNER JOIN issue_status iss ON iss.id = i.issue_status_id INNER JOIN project p ON p.id = i.project_id LEFT OUTER join issue_department isd on isd.issue_id = i.id </if> WHERE 1=1 <choose> <when test="projectIds != null and projectIds.size != 0"> AND i.project_id IN <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </when> </choose> <choose> <when test="myDepartmentIds != null and myDepartmentIds.size != 0"> AND isd.department_id IN <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </when> @@ -977,6 +986,7 @@ SELECT COUNT(DISTINCT i.id) FROM issue i INNER JOIN project p ON p.id = i.project_id LEFT OUTER join issue_department isd on isd.issue_id = i.id <if test="page != null and !page.equals('')"> INNER JOIN issue_status iss ON iss.id = i.issue_status_id </if> @@ -989,6 +999,14 @@ </foreach> </when> </choose> <choose> <when test="myDepartmentIds != null and myDepartmentIds.size != 0"> AND isd.department_id IN <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </when> </choose> AND i.complete_date IS NOT NULL AND i.complete_date <![CDATA[ < ]]> #{completeDate} <if test="page != null and !page.equals('')"> src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -444,15 +444,16 @@ .setHWidth("width-60-p bold") .setHSort(false) .setDRenderer("ISSUE_RELATION_MOVE")) $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueDelete") .setDType("renderer") .setDAlign("text-center") .setHWidth("width-40-p bold") .setDRenderer("ISSUE_RELATION_DELETE") .setHSort(false) .setDAlign("text-center")) if($scope.vm.viewer.modifyPermissionCheck) { $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueDelete") .setDType("renderer") .setDAlign("text-center") .setHWidth("width-40-p bold") .setDRenderer("ISSUE_RELATION_DELETE") .setHSort(false) .setDAlign("text-center")) } angular.forEach($scope.vm.relTableConfigs, function (Rel_issueTableConfig) { // 표시 대상인 컬럼만 화면에 그려준다. if (Rel_issueTableConfig.display) { @@ -533,14 +534,15 @@ } }); $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueDelete") .setDType("renderer") .setHWidth("width-40-p bold") .setDRenderer("ISSUE_RELATION_DELETE") .setHSort(false) .setDAlign("text-center")) if($scope.vm.viewer.modifyPermissionCheck) { $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueDelete") .setDType("renderer") .setHWidth("width-40-p bold") .setDRenderer("ISSUE_RELATION_DELETE") .setHSort(false) .setDAlign("text-center")) } } else { makeRelTableConfigs(); } @@ -575,14 +577,15 @@ $scope.fn.setDownTableColumn(Down_issueTableConfig); } }); $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueDelete") .setDType("renderer") .setHWidth("width-40-p bold") .setDRenderer("ISSUE_DOWN_DELETE") .setHSort(false) .setDAlign("text-center")) if($scope.vm.viewer.modifyPermissionCheck) { $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueDelete") .setDType("renderer") .setHWidth("width-40-p bold") .setDRenderer("ISSUE_DOWN_DELETE") .setHSort(false) .setDAlign("text-center")) } } else { makeDownTableConfigs(); } src/main/webapp/scripts/app/project/projectAdd.controller.js
@@ -84,7 +84,7 @@ name : $rootScope.preventXss($scope.vm.form.name), projectKey : $scope.vm.form.projectKey, projectType : $scope.vm.form.projectType, parentProjectId : $scope.vm.projectName != null && $scope.vm.projectName.length > 0 ? $scope.vm.form.projects[0].id : null, //parentProjectId : $scope.vm.projectName != null && $scope.vm.projectName.length > 0 ? $scope.vm.form.projects[0].id : null, status : $scope.vm.form.status, startDate : "", endDate : "", src/main/webapp/scripts/app/project/projectModify.controller.js
@@ -112,7 +112,7 @@ var content = { id : $scope.vm.form.id, parentProjectId : $scope.vm.projectName.length > 0 && $scope.vm.projectName == $scope.vm.form.parentProjects[0].name ? $scope.vm.form.parentProjects[0].id : null, //parentProjectId : $scope.vm.projectName.length > 0 && $scope.vm.projectName == $scope.vm.form.parentProjects[0].name ? $scope.vm.form.parentProjects[0].id : null, name : $rootScope.preventXss($scope.vm.form.name), status : $scope.vm.form.status, startDate : "", src/main/webapp/views/issue/issueDetail.html
@@ -498,7 +498,7 @@ <js-table data="vm.viewer.issueRelationVos" table-configs="vm.relTableConfigs" event="relTableEvent" detail-view="true" hide-header="false" use-sort="true"></js-table> <div class="row"> <div class="row" ng-if="vm.viewer.modifyPermissionCheck"> <div class="col-sm-4"> <select id="relationIssueType" name="relationIssueType" @@ -524,16 +524,13 @@ </div> <div class="col-auto vertical-middle" style="display: flex"> <button type="button" class="btn btn-primary" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.addRelationIssue()" translate="issue.addRelationIssue">연관 이슈 추가</button> <button type="button" class="btn btn-sm btn-primary btn-roundRel offset-1" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.addRelationIssueForm(vm.viewer.id)"> <i class="os-icon os-icon-plus"><span></span></i> </button> </div> </div> </div> @@ -557,8 +554,7 @@ <js-table data="vm.viewer.issueDownVos" table-configs="vm.downTableConfigs" event="downTableEvent" detail-view="true" hide-header="false" use-sort="true"></js-table> <div class="row"> <div class="row" ng-if="vm.viewer.modifyPermissionCheck"> <div class="col-sm-6"> <js-autocomplete-single data-input-name="issue" selected-model="vm.form.issuesDown" @@ -573,16 +569,13 @@ </div> <div class="col-auto vertical-middle" style="display: flex"> <button type="button" class="btn btn-primary" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.addDownIssue()" translate="issue.addDownIssue">추가</button> <button type="button" class="btn btn-sm btn-primary btn-roundRel offset-1" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.addDownIssueForm(vm.viewer.id)"> <i class="os-icon os-icon-plus"><span></span></i> </button> </div> </div> </div> src/main/webapp/views/project/projectAdd.html
@@ -64,8 +64,9 @@ </small> </div> <div class="row"> <div class="col-lg-6"> <!--<div class="row">--> <div> <div class="form-group"> <div class="form-group"> <label><span translate="common.period">기간</span></label> <input tabindex="-1" @@ -142,9 +143,8 @@ translation-texts="{ count : 'common.userNum', empty : 'common.emptyProjectDepartment' }" extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : false, maxlength : 100, autoResize : true }"></js-autocomplete-multi> <div class="select3-selection__choicediv mt-10"> <span class="select3-selection__choice" ng-repeat="user in vm.form.users"> <span class="select3-selection__choice" ng-repeat="department in vm.form.departments"> <span>{{department.byName}}</span> <!--사용자가 속해 있는 부서 이름 출력--> <span class="select3-selection__choice__remove" ng-click="fn.removeDepartment($index)">×</span> </span> src/main/webapp/views/project/projectModify.html
@@ -30,10 +30,11 @@ <small translate="project.limitNameToSpecialCharacters">프로젝트 명은 특수 문자를 입력할 수 없습니다.</small> </div> <div class="row"> <div class="col-lg-6"> <!--<div class="row">--> <div> <div class="form-group"> <div class="form-group"> <label for="projectModifyForm2"><span translate="common.period">기간</span></label> <label><span translate="common.period">기간</span></label> <input tabindex="-1" type="text" class="form-control input-readonly"