Skip to content

Commit c08ab9c

Browse files
- Milestone: Add Due Date to Milestone. -> [View Issue](aquality-automation/aquality-tracking#61)
- Milestone: Add possibility to Close Milestone. -> [View Issue](aquality-automation/aquality-tracking#62)
1 parent f2395d2 commit c08ab9c

File tree

4 files changed

+112
-3
lines changed

4 files changed

+112
-3
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ Features:
66
- Improve Test Run and Test List page performance -> [View Issue](https://github.com/aquality-automation/aquality-tracking/issues/71)
77
- Exclude Debug results from last results column -> [View Issue](https://github.com/aquality-automation/aquality-tracking/issues/70)
88
- Milestone: Add selected Suites to milestone -> [View Issue](https://github.com/aquality-automation/aquality-tracking/issues/63)
9+
- Milestone: Add Due Date to Milestone. -> [View Issue](https://github.com/aquality-automation/aquality-tracking/issues/61)
10+
- Milestone: Add possibility to Close Milestone. -> [View Issue](https://github.com/aquality-automation/aquality-tracking/issues/62)
911

1012
Bugfixes:
1113

src/main/java/main/model/db/dao/project/MilestoneDao.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ public class MilestoneDao extends DAO<MilestoneDto> {
77

88
public MilestoneDao(){
99
super(MilestoneDto.class);
10-
select = "{call SELECT_MILESTONE(?,?,?)}";
11-
insert = "{call INSERT_MILESTONE(?,?,?)}";
10+
select = "{call SELECT_MILESTONE(?,?,?,?)}";
11+
insert = "{call INSERT_MILESTONE(?,?,?,?,?)}";
1212
remove = "{call REMOVE_MILESTONE(?)}";
1313
}
1414
}

src/main/java/main/model/dto/MilestoneDto.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package main.model.dto;
22

3+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
34
import lombok.Data; import lombok.EqualsAndHashCode;
45
import main.annotations.*;
6+
import main.utils.CustomerDateAndTimeDeserialize;
57

8+
import java.util.Date;
69
import java.util.List;
710

811

@@ -20,5 +23,13 @@ public class MilestoneDto extends BaseDto{
2023
@DataBaseName(name = "request_project_id")
2124
@DataBaseInsert
2225
private Integer project_id;
26+
@DataBaseSearchable
27+
@DataBaseName(name = "request_active")
28+
@DataBaseInsert
29+
private Integer active;
30+
@DataBaseName(name = "request_due_date")
31+
@DataBaseInsert
32+
@JsonDeserialize(using= CustomerDateAndTimeDeserialize.class)
33+
private Date due_date;
2334
private List<TestSuiteDto> suites;
2435
}

src/main/resources/db_changelog/db.changelog-0.3.7.xml

Lines changed: 97 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@
150150
CREATE FUNCTION `empty_or_equal`(
151151
request_value longtext,
152152
current_value longtext
153-
) RETURNS int(1)
153+
) RETURNS longtext
154154
BEGIN
155155
RETURN request_value = '' OR current_value = request_value;
156156
END
@@ -564,5 +564,101 @@
564564
</rollback>
565565
</changeSet>
566566

567+
<changeSet id="Update Milestones table with active and due_date columns" author="v.kostyukevich">
568+
<sql endDelimiter="#">
569+
ALTER TABLE `milestones`
570+
ADD COLUMN `active` INT(1) NOT NULL DEFAULT 1 AFTER `project_id`,
571+
ADD COLUMN `due_date` DATETIME NULL AFTER `active`;
572+
</sql>
573+
<rollback>
574+
ALTER TABLE `milestones`
575+
DROP COLUMN `due_date`,
576+
DROP COLUMN `active`;
577+
</rollback>
578+
</changeSet>
579+
580+
<changeSet id="Create apply_or_remove_date" author="v.kostyukevich">
581+
<sql endDelimiter="#">
582+
583+
DROP FUNCTION IF EXISTS `apply_or_remove_date`;
584+
585+
#
586+
587+
CREATE FUNCTION `apply_or_remove_date`(
588+
request_value varchar(5000),
589+
current_value varchar(5000)
590+
) RETURNS datetime
591+
BEGIN
592+
RETURN IF (request_value='', current_value, IF(request_value='$blank', '', FROM_UNIXTIME(request_value)));
593+
END
594+
</sql>
595+
<rollback>
596+
DROP FUNCTION IF EXISTS `apply_or_remove_date`;
597+
</rollback>
598+
</changeSet>
599+
600+
<changeSet id="Update Insert Milestone with active and due_date columns" author="v.kostyukevich">
601+
<sql endDelimiter="#">
602+
603+
DROP PROCEDURE IF EXISTS `INSERT_MILESTONE`;
604+
605+
#
606+
607+
CREATE PROCEDURE `INSERT_MILESTONE`(
608+
IN request_id varchar(10),
609+
IN request_name VARCHAR(500),
610+
IN request_project_id VARCHAR(500),
611+
IN request_active INT(1),
612+
IN request_due_date VARCHAR(500)
613+
)
614+
BEGIN
615+
INSERT INTO milestones (id, name, project_id, active, due_date)
616+
VALUES (
617+
IF(request_id='',null,request_id),
618+
request_name,
619+
request_project_id,
620+
request_active,
621+
apply_or_remove_date(request_due_date, due_date))
622+
ON DUPLICATE KEY UPDATE
623+
name = request_name,
624+
project_id = request_project_id,
625+
active = replace_empty(request_active, active),
626+
due_date = apply_or_remove_date(request_due_date, due_date)
627+
;
628+
SET @insert_id = IF(request_id = '', (SELECT LAST_INSERT_ID()), request_id);
629+
SELECT * from milestones where id = @insert_id;
630+
END
631+
</sql>
632+
<rollback>
633+
DROP FUNCTION IF EXISTS `INSERT_MILESTONE`;
634+
</rollback>
635+
</changeSet>
636+
637+
<changeSet id="Update SELECT_MILESTONE with active column" author="v.kostyukevich">
638+
<sql endDelimiter="#">
639+
640+
DROP PROCEDURE IF EXISTS `SELECT_MILESTONE`;
641+
642+
#
643+
644+
CREATE PROCEDURE `SELECT_MILESTONE`(
645+
IN request_id VARCHAR(11),
646+
IN request_name VARCHAR(500),
647+
IN request_project_id VARCHAR(11),
648+
IN request_active VARCHAR(1)
649+
)
650+
BEGIN
651+
SELECT *
652+
FROM milestones
653+
WHERE empty_or_equal(request_id, id)
654+
AND empty_or_equal(request_name, name)
655+
AND empty_or_equal(request_project_id, project_id)
656+
AND empty_or_equal(request_active, active);
657+
END
658+
</sql>
659+
<rollback>
660+
DROP FUNCTION IF EXISTS `SELECT_MILESTONE`;
661+
</rollback>
662+
</changeSet>
567663

568664
</databaseChangeLog>

0 commit comments

Comments
 (0)