0

我是流口水的新手,我想知道如何根据对象的两个属性对集合进行排序。以下对象存储在集合中。

class Schedule{
  private String datePlan;
  private String orderNumber;
  //more fields
}

我尝试通过配置以下规则,但似乎存在问题。

rule "ORDER RULE"
    dialect "java"
    when        
        // OrderBy DatePlan asc, OrderNo asc
        not Schedule(planYearMonth == $schedule.planYearMonth,
                            carSeries == $schedule.carSeries,
                            porCode == $schedule.porCode,
                            productionFamilyCode == $schedule.productionFamilyCode,
                            endItemModelCode == $schedule.endItemModelCode,
                            endItemColorCode == $schedule.endItemColorCode,
                            datePlan < $schedule.datePlan || 
                            orderNumber< $schedule.orderNumber))            

    then        

        retract($order);        
        retract($schedule);

end

下面的逻辑是存储订单和时间表

rule "insert Orders"    
    when
        $inlist         : OrderList( $inIdx : size > 0)
    then
        for (int i=0; i < $inIdx; i++){
            Order order = (Order)$inlist.get(i);
            insert(order);
        }
        retract($inlist);

end


rule "insert Schedules" 
    when
        $inlist         : ScheduleList( $inIdx : size > 0)
    then
        for (int i=0; i < $inIdx; i++){
            Schedule schedule = (Schedule)$inlist.get(i);
            insert(schedule);
        }
        retract($inlist);

end
4

0 回答 0