Commit 309ca91f79ed7cb7a595b9bf8498e49c3d8fd035

Authored by 徐烜
1 parent 8aefd9d3

update

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 &quot;calcu_guideboard_range_loop_1_2&quot;
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 &quot;calcu_employee_range_loop_1_2&quot;
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 &quot;calcu_loop_guideboard&quot;
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 &quot;calcu_loop_employee&quot;
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();
... ...