admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Quintiq file version 2.0
#parent: #root
Method MobileCycleTask (
  UnitPeriodTimeBase fillUPTB,
  UnitPeriodTimeBase targetUPTB
)
{
  Description: '连续生产,移动两个周期任务'
  TextBody:
  [*
    debuginfo( "需要填充的日期:", fillUPTB.StartDate().Format( "Y-M2-D2" ), "    目标被取数日期:", targetUPTB.StartDate().Format( "Y-M2-D2" ) );
    
    // 判断可用产能是否一致
    if ( fillUPTB.BaseAvailableCapacity().HoursAsReal() = targetUPTB.BaseAvailableCapacity().HoursAsReal() ) {
      // 删除需要填充的UPTB
      PeriodTaskOperation::Delete( selectset( fillUPTB, PeriodTaskOperation, tempPTO, true ) );
      
      traverse ( targetUPTB, PeriodTaskOperation, pto ) {
        PeriodTaskOperation::Create( pto.Operation(), fillUPTB, pto.Quantity(), false );
      }
      
      // 删除目标被取数的UPTB
      PeriodTaskOperation::Delete( selectset( targetUPTB, PeriodTaskOperation, tempPTO, true ) );
    }
    
    Transaction::Transaction().Propagate();
  *]
}