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 | 361 | |
| 362 | 362 | rule "calcu_guideboard_range_loop_1_1" |
| 363 | 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 | 365 | Calcu_guideboard_index_result(ruleId == $ruleId, $index : calcu_index) |
| 366 | 366 | then |
| 367 | 367 | Calcu_guideboard_range_loop_result cgrlr = new Calcu_guideboard_range_loop_result(); |
| 368 | 368 | cgrlr.setRuleId($ruleId); |
| 369 | - cgrlr.setFirstLoopSize($index + $sdays); | |
| 369 | + cgrlr.setFirstLoopSize($index + $sdays - 1); | |
| 370 | 370 | cgrlr.setMiddelLoopCount(0); |
| 371 | 371 | cgrlr.setRangeSize(0); |
| 372 | 372 | cgrlr.setLastLoopSize(0); |
| ... | ... | @@ -382,7 +382,7 @@ end |
| 382 | 382 | |
| 383 | 383 | rule "calcu_guideboard_range_loop_1_2" |
| 384 | 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 | 386 | Calcu_guideboard_index_result(ruleId == $ruleId, $index : calcu_index) |
| 387 | 387 | ScheduleRule_input(ruleId == $ruleId, $rangesize : guideboardIds.size()) |
| 388 | 388 | then |
| ... | ... | @@ -390,7 +390,7 @@ rule "calcu_guideboard_range_loop_1_2" |
| 390 | 390 | cgrlr.setRuleId($ruleId); |
| 391 | 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 | 394 | int gbd_days_temp_minus_svalue = (int) (gbd_days_temp_minus / new Integer($rangesize)); |
| 395 | 395 | int gbd_days_temp_minus_yvalue = gbd_days_temp_minus % new Integer($rangesize); |
| 396 | 396 | |
| ... | ... | @@ -438,12 +438,12 @@ end |
| 438 | 438 | |
| 439 | 439 | rule "calcu_employee_range_loop_1_1" |
| 440 | 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 | 442 | Calcu_employee_index_result(ruleId == $ruleId, $index : calcu_index) |
| 443 | 443 | then |
| 444 | 444 | Calcu_employee_range_loop_result cgrlr = new Calcu_employee_range_loop_result(); |
| 445 | 445 | cgrlr.setRuleId($ruleId); |
| 446 | - cgrlr.setFirstLoopSize($index + $sdays); | |
| 446 | + cgrlr.setFirstLoopSize($index + $sdays - 1); | |
| 447 | 447 | cgrlr.setMiddelLoopCount(0); |
| 448 | 448 | cgrlr.setRangeSize(0); |
| 449 | 449 | cgrlr.setLastLoopSize(0); |
| ... | ... | @@ -459,7 +459,7 @@ end |
| 459 | 459 | |
| 460 | 460 | rule "calcu_employee_range_loop_1_2" |
| 461 | 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 | 463 | Calcu_employee_index_result(ruleId == $ruleId, $index : calcu_index) |
| 464 | 464 | ScheduleRule_input(ruleId == $ruleId, $rangesize : employeeConfigIds.size()) |
| 465 | 465 | then |
| ... | ... | @@ -467,7 +467,7 @@ rule "calcu_employee_range_loop_1_2" |
| 467 | 467 | cgrlr.setRuleId($ruleId); |
| 468 | 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 | 471 | int gbd_days_temp_minus_svalue = (int) (gbd_days_temp_minus / new Integer($rangesize)); |
| 472 | 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 | 546 | clgr.setRuleId($ruleId); |
| 547 | 547 | clgr.setGo_list(scheduleResult_outputs); |
| 548 | 548 | |
| 549 | + System.out.println(scheduleResult_outputs.size()); | |
| 550 | + | |
| 549 | 551 | insert(clgr); |
| 550 | 552 | end |
| 551 | 553 | |
| ... | ... | @@ -608,6 +610,8 @@ rule "calcu_loop_employee" |
| 608 | 610 | clgr.setRuleId($ruleId); |
| 609 | 611 | clgr.setEo_list(scheduleResult_outputs); |
| 610 | 612 | |
| 613 | + System.out.println(scheduleResult_outputs.size()); | |
| 614 | + | |
| 611 | 615 | insert(clgr); |
| 612 | 616 | end |
| 613 | 617 | ... | ... |
src/test/java/com/bsth/service/schedule/rules/DroolsRulesTest.java
| ... | ... | @@ -65,7 +65,7 @@ public class DroolsRulesTest { |
| 65 | 65 | |
| 66 | 66 | ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input(); |
| 67 | 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 | 69 | scheduleCalcuParam_input.setTtinfoId(1L); |
| 70 | 70 | |
| 71 | 71 | ScheduleRule_input scheduleRule_input1 = new ScheduleRule_input(); | ... | ... |