Commit 309ca91f79ed7cb7a595b9bf8498e49c3d8fd035

Authored by 徐烜
1 parent 8aefd9d3

update

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 &quot;calcu_guideboard_range_loop_1_2&quot; @@ -390,7 +390,7 @@ rule &quot;calcu_guideboard_range_loop_1_2&quot;
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 &quot;calcu_employee_range_loop_1_2&quot; @@ -467,7 +467,7 @@ rule &quot;calcu_employee_range_loop_1_2&quot;
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 &quot;calcu_loop_guideboard&quot; @@ -546,6 +546,8 @@ rule &quot;calcu_loop_guideboard&quot;
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 &quot;calcu_loop_employee&quot; @@ -608,6 +610,8 @@ rule &quot;calcu_loop_employee&quot;
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();