| | |
| | | public interface IssueCustomFieldValueMapper { |
| | | Map<String, Object> findLikeUseValue(IssueCustomFieldValueCondition issueCustomFieldValueCondition); |
| | | |
| | | Map<String, Object> findDateTypeUseValue(IssueCustomFieldValueCondition issueCustomFieldValueCondition); |
| | | |
| | | Map<String, Object> findByUseValue(IssueCustomFieldValueCondition issueCustomFieldValueCondition); |
| | | |
| | | void deleteIssueCustomFieldValue(Long issueTypeCustomFieldId); |
| | |
| | | switch (CustomFieldType.valueOf(issueCustomFieldValueCondition.getCustomFieldType())) { |
| | | case INPUT: |
| | | case NUMBER: |
| | | case DATETIME: |
| | | case IP_ADDRESS: |
| | | case EMAIL: |
| | | case SITE: |
| | | case TEL: |
| | | result = this.issueCustomFieldValueMapper.findLikeUseValue(issueCustomFieldValueCondition); |
| | | break; |
| | | case DATETIME: |
| | | result = this.issueCustomFieldValueMapper.findDateTypeUseValue(issueCustomFieldValueCondition); |
| | | break; |
| | | case MULTI_SELECT: |
| | | case SINGLE_SELECT: |
| | | result = this.issueCustomFieldValueMapper.findByUseValue(issueCustomFieldValueCondition); |
| | |
| | | import kr.wisestone.owl.util.MapUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | * 텍스트 필드일 때 검색 값 |
| | | */ |
| | | private String useValue; |
| | | private String useStartDateValue; |
| | | private String useEndDateValue; |
| | | |
| | | private boolean useParentIssueId = true; |
| | | /** |
| | | * 이슈 상태 유형(READY / OPEN / CLOSE) |
| | |
| | | switch(customFieldType) { |
| | | case INPUT: |
| | | case NUMBER: |
| | | case DATETIME: |
| | | case IP_ADDRESS: |
| | | case EMAIL: |
| | | case SITE: |
| | |
| | | // 텍스트 필드는 1개밖에 안들어온다. |
| | | if (!StringUtils.isEmpty(useValue)) { |
| | | condition.setUseValue(useValue); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DATETIME: |
| | | if (MapUtil.getStrings(conditions, "useValues") != null) { |
| | | for (String useValue : MapUtil.getStrings(conditions, "useValues")) { |
| | | if (!StringUtils.isEmpty(useValue)) { |
| | | condition.setUseValue(useValue); |
| | | List<String> customDateRange = Arrays.asList(useValue.split("~")); |
| | | condition.setUseStartDateValue(customDateRange.get(0)); |
| | | condition.setUseEndDateValue(customDateRange.get(1)); |
| | | } |
| | | } |
| | | } |
| | |
| | | this.useValue = useValue; |
| | | } |
| | | |
| | | public String getUseStartDateValue() { |
| | | return useStartDateValue; |
| | | } |
| | | |
| | | public void setUseStartDateValue(String useStartDateValue) { |
| | | this.useStartDateValue = useStartDateValue; |
| | | } |
| | | |
| | | public String getUseEndDateValue() { |
| | | return useEndDateValue; |
| | | } |
| | | |
| | | public void setUseEndDateValue(String useEndDateValue) { |
| | | this.useEndDateValue = useEndDateValue; |
| | | } |
| | | |
| | | public String getCustomFieldType() { |
| | | return customFieldType; |
| | | } |
| | |
| | | AND issue_custom_field_value.use_value LIKE CONCAT('%',#{useValue},'%') |
| | | </select> |
| | | |
| | | <select id="findDateTypeUseValue" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCustomFieldValueCondition"> |
| | | SELECT |
| | | GROUP_CONCAT(issue_custom_field_value.issue_id SEPARATOR ',') as issueIds |
| | | FROM issue_custom_field_value issue_custom_field_value |
| | | WHERE issue_custom_field_value.custom_field_id = #{customFieldId} |
| | | AND issue_custom_field_value.use_value BETWEEN #{useStartDateValue} AND #{useEndDateValue} |
| | | </select> |
| | | |
| | | <select id="findByUseValue" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCustomFieldValueCondition"> |
| | | SELECT |
| | | GROUP_CONCAT(issue_custom_field_value.issue_id SEPARATOR ',') as issueIds |
| | |
| | | if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 |
| | | && $scope.vm.form.issueCompanyFields[0].ispFieldVo != null |
| | | || $scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ |
| | | var ispField = $scope.vm.form.issueIspFields[0]; |
| | | issueIspFields.push({ |
| | | ispId : $scope.vm.ispId, |
| | | name : $scope.vm.ispName, |
| | |
| | | if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 |
| | | && $scope.vm.form.issueCompanyFields[0].hostingFieldVo != null |
| | | || $scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){ |
| | | var hostingField = $scope.vm.form.issueHostingFields[0]; |
| | | issueHostingFields[0] = { |
| | | hostingId : $scope.vm.hostingId, |
| | | name : $scope.vm.hostingName, |
| | |
| | | |
| | | //parentEl : $scope.parentEl !== undefined ? $scope.parentEl : "", |
| | | locale: { |
| | | format: 'YYYY-MM-DD/hh:mm:ss A', |
| | | format: 'YYYY-MM-DD hh:mm:ss', |
| | | separator: "~", |
| | | applyLabel: options.applyLabel, |
| | | cancelLabel: options.cancelLabel, |
| | | daysOfWeek: options.daysOfWeek, |
| | | monthNames: options.monthNames |
| | | }, |
| | | opens : "center" |
| | | }); |
| | | // singleDate 취소 버튼 (값 초기화) |
| | | $($element).on('cancel.daterangepicker', function(ev, picker) { |
| | | $scope.ngModel = ""; |
| | | }); |
| | | } else if ($attrs["rangeType"] === "multiDate") { |
| | | $($element).daterangepicker({ |
| | | timePicker: true, |
| | | timePickerSeconds : true, |
| | | autoUpdateInput: true, |
| | | autoApply : true, |
| | | singleDatePicker : false, |
| | | isSingle : false, |
| | | |
| | | //parentEl : $scope.parentEl !== undefined ? $scope.parentEl : "", |
| | | locale: { |
| | | format: 'YYYY-MM-DD hh:mm:ss', |
| | | separator: "~", |
| | | applyLabel: options.applyLabel, |
| | | cancelLabel: options.cancelLabel, |
| | | daysOfWeek: options.daysOfWeek, |
| | |
| | | ng-model="customField.useValues" |
| | | placeholder="{{'issue.clickToSelectDate' | translate}}" |
| | | modal-form-auto-scroll |
| | | range-type="singleDate" |
| | | range-type="multiDate" |
| | | date-range-picker |
| | | autocomplete="off"> |
| | | <div class="row"> |
| | |
| | | </div> |
| | | |
| | | <div ng-switch-when="DATETIME"> |
| | | <input type="text" class="form-control input-sm" |
| | | <input class="form-control input-sm input-readonly" |
| | | name="item_{{$index}}" |
| | | ng-model="issueCustomField.useValues" |
| | | maxlength="100" |
| | | autocomplete="off" |
| | | placeholder="{{'issue.clickToSelectDate' | translate}}" |
| | | modal-form-auto-scroll |
| | | range-type="singleDate" |
| | | date-range-picker |
| | | kr-input |
| | | autocomplete="off" |
| | | ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'"> |
| | | <!-- <small class="help-block form-text text-danger"--> |
| | | <!-- ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"--> |