Commit 309ca91f79ed7cb7a595b9bf8498e49c3d8fd035
1 parent
8aefd9d3
update
Showing
2 changed files
with
13 additions
and
9 deletions
src/main/resources/rules/shiftloop.drl
| @@ -361,12 +361,12 @@ end | @@ -361,12 +361,12 @@ end | ||
| 361 | 361 | ||
| 362 | rule "calcu_guideboard_range_loop_1_1" | 362 | rule "calcu_guideboard_range_loop_1_1" |
| 363 | when | 363 | when |
| 364 | - Calcu_guideboard_range_loop_param($ruleId : ruleId, $sdays : sdays, sdays <= temp) | 364 | + Calcu_guideboard_range_loop_param($ruleId : ruleId, $sdays : sdays, (sdays - 1) <= temp) |
| 365 | Calcu_guideboard_index_result(ruleId == $ruleId, $index : calcu_index) | 365 | Calcu_guideboard_index_result(ruleId == $ruleId, $index : calcu_index) |
| 366 | then | 366 | then |
| 367 | Calcu_guideboard_range_loop_result cgrlr = new Calcu_guideboard_range_loop_result(); | 367 | Calcu_guideboard_range_loop_result cgrlr = new Calcu_guideboard_range_loop_result(); |
| 368 | cgrlr.setRuleId($ruleId); | 368 | cgrlr.setRuleId($ruleId); |
| 369 | - cgrlr.setFirstLoopSize($index + $sdays); | 369 | + cgrlr.setFirstLoopSize($index + $sdays - 1); |
| 370 | cgrlr.setMiddelLoopCount(0); | 370 | cgrlr.setMiddelLoopCount(0); |
| 371 | cgrlr.setRangeSize(0); | 371 | cgrlr.setRangeSize(0); |
| 372 | cgrlr.setLastLoopSize(0); | 372 | cgrlr.setLastLoopSize(0); |
| @@ -382,7 +382,7 @@ end | @@ -382,7 +382,7 @@ end | ||
| 382 | 382 | ||
| 383 | rule "calcu_guideboard_range_loop_1_2" | 383 | rule "calcu_guideboard_range_loop_1_2" |
| 384 | when | 384 | when |
| 385 | - Calcu_guideboard_range_loop_param($ruleId : ruleId, $sdays : sdays, $temp : temp, sdays > temp) | 385 | + Calcu_guideboard_range_loop_param($ruleId : ruleId, $sdays : sdays, $temp : temp, (sdays - 1) > temp) |
| 386 | Calcu_guideboard_index_result(ruleId == $ruleId, $index : calcu_index) | 386 | Calcu_guideboard_index_result(ruleId == $ruleId, $index : calcu_index) |
| 387 | ScheduleRule_input(ruleId == $ruleId, $rangesize : guideboardIds.size()) | 387 | ScheduleRule_input(ruleId == $ruleId, $rangesize : guideboardIds.size()) |
| 388 | then | 388 | then |
| @@ -390,7 +390,7 @@ rule "calcu_guideboard_range_loop_1_2" | @@ -390,7 +390,7 @@ rule "calcu_guideboard_range_loop_1_2" | ||
| 390 | cgrlr.setRuleId($ruleId); | 390 | cgrlr.setRuleId($ruleId); |
| 391 | cgrlr.setFirstLoopSize($index + $temp); | 391 | cgrlr.setFirstLoopSize($index + $temp); |
| 392 | 392 | ||
| 393 | - int gbd_days_temp_minus = $sdays - $temp; | 393 | + int gbd_days_temp_minus = $sdays - 1 - $temp; |
| 394 | int gbd_days_temp_minus_svalue = (int) (gbd_days_temp_minus / new Integer($rangesize)); | 394 | int gbd_days_temp_minus_svalue = (int) (gbd_days_temp_minus / new Integer($rangesize)); |
| 395 | int gbd_days_temp_minus_yvalue = gbd_days_temp_minus % new Integer($rangesize); | 395 | int gbd_days_temp_minus_yvalue = gbd_days_temp_minus % new Integer($rangesize); |
| 396 | 396 | ||
| @@ -438,12 +438,12 @@ end | @@ -438,12 +438,12 @@ end | ||
| 438 | 438 | ||
| 439 | rule "calcu_employee_range_loop_1_1" | 439 | rule "calcu_employee_range_loop_1_1" |
| 440 | when | 440 | when |
| 441 | - Calcu_employee_range_loop_param($ruleId : ruleId, $sdays : sdays, sdays <= temp) | 441 | + Calcu_employee_range_loop_param($ruleId : ruleId, $sdays : sdays, sdays - 1 <= temp) |
| 442 | Calcu_employee_index_result(ruleId == $ruleId, $index : calcu_index) | 442 | Calcu_employee_index_result(ruleId == $ruleId, $index : calcu_index) |
| 443 | then | 443 | then |
| 444 | Calcu_employee_range_loop_result cgrlr = new Calcu_employee_range_loop_result(); | 444 | Calcu_employee_range_loop_result cgrlr = new Calcu_employee_range_loop_result(); |
| 445 | cgrlr.setRuleId($ruleId); | 445 | cgrlr.setRuleId($ruleId); |
| 446 | - cgrlr.setFirstLoopSize($index + $sdays); | 446 | + cgrlr.setFirstLoopSize($index + $sdays - 1); |
| 447 | cgrlr.setMiddelLoopCount(0); | 447 | cgrlr.setMiddelLoopCount(0); |
| 448 | cgrlr.setRangeSize(0); | 448 | cgrlr.setRangeSize(0); |
| 449 | cgrlr.setLastLoopSize(0); | 449 | cgrlr.setLastLoopSize(0); |
| @@ -459,7 +459,7 @@ end | @@ -459,7 +459,7 @@ end | ||
| 459 | 459 | ||
| 460 | rule "calcu_employee_range_loop_1_2" | 460 | rule "calcu_employee_range_loop_1_2" |
| 461 | when | 461 | when |
| 462 | - Calcu_employee_range_loop_param($ruleId : ruleId, $sdays : sdays, $temp : temp, sdays > temp) | 462 | + Calcu_employee_range_loop_param($ruleId : ruleId, $sdays : sdays, $temp : temp, sdays - 1 > temp) |
| 463 | Calcu_employee_index_result(ruleId == $ruleId, $index : calcu_index) | 463 | Calcu_employee_index_result(ruleId == $ruleId, $index : calcu_index) |
| 464 | ScheduleRule_input(ruleId == $ruleId, $rangesize : employeeConfigIds.size()) | 464 | ScheduleRule_input(ruleId == $ruleId, $rangesize : employeeConfigIds.size()) |
| 465 | then | 465 | then |
| @@ -467,7 +467,7 @@ rule "calcu_employee_range_loop_1_2" | @@ -467,7 +467,7 @@ rule "calcu_employee_range_loop_1_2" | ||
| 467 | cgrlr.setRuleId($ruleId); | 467 | cgrlr.setRuleId($ruleId); |
| 468 | cgrlr.setFirstLoopSize($index + $temp); | 468 | cgrlr.setFirstLoopSize($index + $temp); |
| 469 | 469 | ||
| 470 | - int gbd_days_temp_minus = $sdays - $temp; | 470 | + int gbd_days_temp_minus = $sdays - 1 - $temp; |
| 471 | int gbd_days_temp_minus_svalue = (int) (gbd_days_temp_minus / new Integer($rangesize)); | 471 | int gbd_days_temp_minus_svalue = (int) (gbd_days_temp_minus / new Integer($rangesize)); |
| 472 | int gbd_days_temp_minus_yvalue = gbd_days_temp_minus % new Integer($rangesize); | 472 | int gbd_days_temp_minus_yvalue = gbd_days_temp_minus % new Integer($rangesize); |
| 473 | 473 | ||
| @@ -546,6 +546,8 @@ rule "calcu_loop_guideboard" | @@ -546,6 +546,8 @@ rule "calcu_loop_guideboard" | ||
| 546 | clgr.setRuleId($ruleId); | 546 | clgr.setRuleId($ruleId); |
| 547 | clgr.setGo_list(scheduleResult_outputs); | 547 | clgr.setGo_list(scheduleResult_outputs); |
| 548 | 548 | ||
| 549 | + System.out.println(scheduleResult_outputs.size()); | ||
| 550 | + | ||
| 549 | insert(clgr); | 551 | insert(clgr); |
| 550 | end | 552 | end |
| 551 | 553 | ||
| @@ -608,6 +610,8 @@ rule "calcu_loop_employee" | @@ -608,6 +610,8 @@ rule "calcu_loop_employee" | ||
| 608 | clgr.setRuleId($ruleId); | 610 | clgr.setRuleId($ruleId); |
| 609 | clgr.setEo_list(scheduleResult_outputs); | 611 | clgr.setEo_list(scheduleResult_outputs); |
| 610 | 612 | ||
| 613 | + System.out.println(scheduleResult_outputs.size()); | ||
| 614 | + | ||
| 611 | insert(clgr); | 615 | insert(clgr); |
| 612 | end | 616 | end |
| 613 | 617 |
src/test/java/com/bsth/service/schedule/rules/DroolsRulesTest.java
| @@ -65,7 +65,7 @@ public class DroolsRulesTest { | @@ -65,7 +65,7 @@ public class DroolsRulesTest { | ||
| 65 | 65 | ||
| 66 | ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input(); | 66 | ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input(); |
| 67 | scheduleCalcuParam_input.setFromDate(new DateTime(2016, 8, 1, 0, 0)); | 67 | scheduleCalcuParam_input.setFromDate(new DateTime(2016, 8, 1, 0, 0)); |
| 68 | - scheduleCalcuParam_input.setToDate(new DateTime(2016, 8, 2, 0, 0)); | 68 | + scheduleCalcuParam_input.setToDate(new DateTime(2016, 8, 10, 0, 0)); |
| 69 | scheduleCalcuParam_input.setTtinfoId(1L); | 69 | scheduleCalcuParam_input.setTtinfoId(1L); |
| 70 | 70 | ||
| 71 | ScheduleRule_input scheduleRule_input1 = new ScheduleRule_input(); | 71 | ScheduleRule_input scheduleRule_input1 = new ScheduleRule_input(); |