¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation OfflinePlanTableInfo_RecycleBin_RecycleBin_OfflinePlanTableInfo |
| | | { |
| | | #keys: '1[414996.1.124530089]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide RecycleBin |
| | | { |
| | | #keys: '3[414996.1.124530091][414996.1.124530090][414996.1.124530092]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: OfflinePlanTableInfo |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide OfflinePlanTableInfo |
| | | { |
| | | #keys: '3[414996.1.124530094][414996.1.124530093][414996.1.124530095]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: RecycleBin |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
| | |
| | | [* |
| | | // Akari Aug-21-2024 (created) |
| | | value := ""; |
| | | if( this.FactoryName() = "大è¿å·¥å" ){ |
| | | if( this.FactoryName().LikeUserLocale( "大è¿" ) or this.FactoryName().LikeUserLocale( "DL" ) ){ |
| | | value := "DL"; |
| | | }else if( this.FactoryName() = "é¿æ¥å·¥å"){ |
| | | }else if( this.FactoryName().LikeUserLocale( "é¿æ¥" ) or this.FactoryName().LikeUserLocale( "CC" )){ |
| | | value := "CC"; |
| | | } |
| | | |
| | |
| | | shiftSchedulingInformations := construct( DispatchShiftSchedulingInformations ); |
| | | if( shiftName = "3" ){ |
| | | shiftSchedulingInformation1 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 3 ); |
| | | shiftSchedulingInformation1.SingleShiftName( "1ç" ); |
| | | shiftSchedulingInformation1.SingleShiftName( "ç½ç" ); |
| | | shiftSchedulingInformations.Add( shiftSchedulingInformation1 ); |
| | | |
| | | shiftSchedulingInformation2 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 3 ); |
| | | shiftSchedulingInformation2.SingleShiftName( "2ç" ); |
| | | shiftSchedulingInformation2.SingleShiftName( "äºç" ); |
| | | shiftSchedulingInformations.Add( shiftSchedulingInformation2 ); |
| | | |
| | | shiftSchedulingInformation3 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 3 ); |
| | | shiftSchedulingInformation3.SingleShiftName( "3ç" ); |
| | | shiftSchedulingInformation3.SingleShiftName( "ä¸ç" ); |
| | | shiftSchedulingInformations.Add( shiftSchedulingInformation3 ); |
| | | }else if( shiftName = "2" ){ |
| | | shiftSchedulingInformation1 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 2 ); |
| | | shiftSchedulingInformation1.SingleShiftName( "ç½ç" ); |
| | | shiftSchedulingInformations.Add( shiftSchedulingInformation1 ); |
| | | |
| | | shiftSchedulingInformation2 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 2 ); |
| | | shiftSchedulingInformation2.SingleShiftName( "äºç" ); |
| | | shiftSchedulingInformations.Add( shiftSchedulingInformation2 ); |
| | | }else if( shiftName = "1" ){ |
| | | shiftSchedulingInformation1 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 1 ); |
| | | shiftSchedulingInformation1.SingleShiftName( "ç½ç" ); |
| | | shiftSchedulingInformations.Add( shiftSchedulingInformation1 ); |
| | | }else{ |
| | | shiftSchedulingInformation := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume ); |
| | | shiftSchedulingInformations.Add( shiftSchedulingInformation ); |
| | | shiftSchedulingInformation1 := owner.DispatchShiftSchedulingInformation( relnew ,ID := IDHolder::GetGUID(),ShiftName := shiftName,ShiftVolume := shiftVolume / 1 ); |
| | | shiftSchedulingInformation1.SingleShiftName( "" ); |
| | | shiftSchedulingInformations.Add( shiftSchedulingInformation1 ); |
| | | } |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Differnce |
| | | { |
| | | #keys: '3[414996.1.124560122][414996.1.124560121][414996.1.124560123]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcDiffernce |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Akari Oct-14-2024 (created) |
| | | |
| | | value := this.Quantity() - this.FulfilledQuantity(); |
| | | |
| | | this.Differnce( value ); |
| | | *] |
| | | } |
| | |
| | | workingDayCell.RealValue( workingDayCell.RealValue() + 1 ); |
| | | if( shiftPlan.IsHoliday() ){ |
| | | // è忥å ç |
| | | overtime := shiftPlan.GetBreakDayOvertimeHour( false ); |
| | | overtime := shiftPlan.GetHolidayOvertimeHour( false ); |
| | | holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + overtime ); |
| | | if( not isnull( nextShiftPlan )){ |
| | | nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); |
| | | if( nextShiftPlan.IsHoliday()){ |
| | | // ä¸ä¸å¤©æ¯è忥 |
| | | nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true ); |
| | | holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime ); |
| | | }else if( shiftPlan.DefaultRemark().LikeUserLocale( "å¨å
" ) or shiftPlan.DefaultRemark().LikeUserLocale( "卿¥" ) ){ |
| | | // ä¸ä¸å¤©æ¯å¨å
æå¨æ¥ |
| | | nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); |
| | | breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime ); |
| | | }else{ |
| | | // ä¸ä¸å¤©æ¯å¹³å¸¸ç工使¥ |
| | |
| | | overtime := shiftPlan.GetBreakDayOvertimeHour( false ); |
| | | breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + overtime ); |
| | | if( not isnull( nextShiftPlan )){ |
| | | nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); |
| | | |
| | | if( nextShiftPlan.IsHoliday()){ |
| | | // ä¸ä¸å¤©æ¯è忥 |
| | | nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true ); |
| | | holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime ); |
| | | }else if( shiftPlan.DefaultRemark().LikeUserLocale( "å¨å
" ) or shiftPlan.DefaultRemark().LikeUserLocale( "卿¥" ) ){ |
| | | // ä¸ä¸å¤©æ¯å¨å
æå¨æ¥ |
| | | nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); |
| | | breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime ); |
| | | }else{ |
| | | // ä¸ä¸å¤©æ¯å¹³å¸¸ç工使¥ |
| | |
| | | overtime := shiftPlan.GetDefaultDayOvertimeHour( false ); |
| | | defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + overtime ); |
| | | if( not isnull( nextShiftPlan )){ |
| | | nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); |
| | | if( nextShiftPlan.IsHoliday()){ |
| | | // ä¸ä¸å¤©æ¯è忥 |
| | | nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true ); |
| | | holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime ); |
| | | }else if( shiftPlan.DefaultRemark().LikeUserLocale( "å¨å
" ) or shiftPlan.DefaultRemark().LikeUserLocale( "卿¥" ) ){ |
| | | // ä¸ä¸å¤©æ¯å¨å
æå¨æ¥ |
| | | nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true ); |
| | | breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime ); |
| | | }else{ |
| | | // ä¸ä¸å¤©æ¯å¹³å¸¸ç工使¥ |
| | |
| | | defaultMultiplier := select( macroPlan,OvertimeMultiplier,object,object.Name() = "å¹³æ¶å ç" ); |
| | | if( isnull( defaultMultiplier )){ |
| | | defaultMultiplier := macroPlan.OvertimeMultiplier( relnew,Name := "å¹³æ¶å çåç",Multiplier := 1.5 ); |
| | | } |
| | | |
| | | // æ¬ å·¥åç |
| | | qiangongMultiplier := select( macroPlan,OvertimeMultiplier,object,object.Name() = "æ¬ å·¥" ); |
| | | if( isnull( qiangongMultiplier )){ |
| | | qiangongMultiplier := macroPlan.OvertimeMultiplier( relnew,Name := "æ¬ å·¥",Multiplier := 1 ); |
| | | } |
| | | |
| | | // 伿¯æ¥å çåç |
| | |
| | | unit := units.Element( unitIndexTree.Root().Child( unitIndexTree.GetHandle( rowKey )).GetValueAsNumber() ); |
| | | |
| | | jiejiariCell := LocalCell_Default::GetCell( rowKey + column5.Name(), cellIndexTree, cells, row, column5 ); |
| | | jiejiarifeiCell := LocalCell_Default::GetCell( rowKey + column6.Name(), cellIndexTree, cells, row, column6 ); |
| | | jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,jiejiariCell.RealValue())); |
| | | jiejiarifeiCell := LocalCell_Default::GetCell( rowKey + column7.Name(), cellIndexTree, cells, row, column7 ); |
| | | jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,holidayMultiplier,jiejiariCell.RealValue())); |
| | | |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column4.Name(), cellIndexTree, cells, row, column4 ); |
| | | qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column7.Name(), cellIndexTree, cells, row, column7 ); |
| | | qiangongCell.RealValue( qiangongCell.RealValue() - 8 ); |
| | | |
| | | qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column6.Name(), cellIndexTree, cells, row, column6 ); |
| | | qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,qiangongCell.RealValue() )); |
| | | } |
| | | |
| | |
| | | defaultMultiplier := macroPlan.OvertimeMultiplier( relnew,Name := "å¹³æ¶å çåç",Multiplier := 1.5 ); |
| | | } |
| | | |
| | | // æ¬ å·¥åç |
| | | qiangongMultiplier := select( macroPlan,OvertimeMultiplier,object,object.Name() = "æ¬ å·¥" ); |
| | | if( isnull( qiangongMultiplier )){ |
| | | qiangongMultiplier := macroPlan.OvertimeMultiplier( relnew,Name := "æ¬ å·¥",Multiplier := 1 ); |
| | | } |
| | | |
| | | // 伿¯æ¥å çåç |
| | | breakDayMultiplier := select( macroPlan,OvertimeMultiplier,object,object.Name() = "卿«å ç"); |
| | | if( isnull( breakDayMultiplier )){ |
| | |
| | | rowKey := row.CustomName(); |
| | | unit := units.Element( unitIndexTree.Root().Child( unitIndexTree.GetHandle( rowKey )).GetValueAsNumber() ); |
| | | |
| | | // è忥å çè´¹ |
| | | jiejiariCell := LocalCell_Default::GetCell( rowKey + column6.Name(), cellIndexTree, cells, row, column6 ); |
| | | jiejiarifeiCell := LocalCell_Default::GetCell( rowKey + column10.Name(), cellIndexTree, cells, row, column10 ); |
| | | jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,jiejiariCell.RealValue())); |
| | | jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,holidayMultiplier,jiejiariCell.RealValue())); |
| | | |
| | | // 伿¯æ¥å çè´¹ |
| | | xiuxiCell := LocalCell_Default::GetCell( rowKey + column5.Name(), cellIndexTree, cells, row, column5 ); |
| | | xiuxifeiCell := LocalCell_Default::GetCell( rowKey + column9.Name(), cellIndexTree, cells, row, column9 ); |
| | | xiuxifeiCell.RealValue( EmployeeCost::GetSalary( unit,breakDayMultiplier,xiuxiCell.RealValue())); |
| | | |
| | | // å¹³æ¶å çè´¹ |
| | | jiabanCell := LocalCell_Default::GetCell( rowKey + column4.Name(), cellIndexTree, cells, row, column4 ); |
| | | jiabanfeiCell := LocalCell_Default::GetCell( rowKey + column8.Name(), cellIndexTree, cells, row, column8 ); |
| | | jiabanfeiCell.RealValue( EmployeeCost::GetSalary( unit,holidayMultiplier,jiabanCell.RealValue())); |
| | | jiabanfeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier ,jiabanCell.RealValue())); |
| | | |
| | | // æ¬ å·¥è´¹ |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column7.Name(), cellIndexTree, cells, row, column7 ); |
| | | qiangongCell.RealValue( qiangongCell.RealValue() - 1 ); |
| | | qiangongCell.RealValue( qiangongCell.RealValue() - 8 ); |
| | | |
| | | qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column11.Name(), cellIndexTree, cells, row, column11 ); |
| | | qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,qiangongCell.RealValue() )); |
| | | qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,qiangongMultiplier,qiangongCell.RealValue() )); |
| | | |
| | | |
| | | // 工使¥ |
| | | workingDayCell := LocalCell_Default::GetCell( rowKey + column3.Name(), cellIndexTree, cells, row, column3 ); |
| | | workingDayCell.RealValue( workingDayCell.RealValue() + 1 ); |
| | | workingDayCell.RealValue( workingDayCell.RealValue() ); |
| | | } |
| | | |
| | | return table; |
| | |
| | | #parent: #root |
| | | StaticMethod Compared ( |
| | | RecycleBin recycleBin, |
| | | const MacroPlan mactoPlan, |
| | | String baseVersionPath, |
| | | String compareVersionPath, |
| | | String baseVersionName, |
| | |
| | | [* |
| | | // rislai Jun-20-2024 (created) |
| | | localTable := recycleBin.LocalTable( relnew,Name := baseVersionName + "__" + compareVersionName ); |
| | | |
| | | products := selectset( mactoPlan,Product_MP,product,not product.IsSystem() and product.IsUsed() ); |
| | | productIndexTree := NamedValueTree::Create(); |
| | | try{ |
| | | for( i := 0; i < products.Size(); i++){ |
| | | product := products.Element( i ); |
| | | productHandle := productIndexTree.GetHandle( product.Notes() ); |
| | | productIndexTree.Root().AddChild( productHandle,i ) |
| | | } |
| | | }onerror{} |
| | | |
| | | |
| | | baseVersionFile := OSFile::Construct(); |
| | | compareVersionFile := OSFile::Construct(); |
| | |
| | | CompareVersionValue := ifexpr( isnull( compareVersionCell ),"空",compareVersionCell.Value())); |
| | | column.IsAttrbuteColumn( true ); |
| | | if( columnName = "å卿ºé¶ä»¶å·" ){ |
| | | row.ProductID( ifexpr( isnull( baseVersionCell ), ifexpr( isnull( compareVersionCell ),"空",compareVersionCell.Value()), baseVersionCell.Value()) ); |
| | | productID := ifexpr( isnull( baseVersionCell ), ifexpr( isnull( compareVersionCell ),"空",compareVersionCell.Value()), baseVersionCell.Value()); |
| | | |
| | | productHanlde := productIndexTree.GetHandle( productID ); |
| | | productIndex := guard( productIndexTree.Root().Child( productHanlde ), null( NamedValue )); |
| | | if( not isnull( productIndex )){ |
| | | product := products.Element( productIndex.GetValueAsNumber() ); |
| | | productID := product.ID(); |
| | | } |
| | | |
| | | row.ProductID( productID ); |
| | | |
| | | } |
| | | if( columnName = "车å" ){ |
| | | row.CustomName( " > " + ifexpr( isnull( baseVersionCell ), ifexpr( isnull( compareVersionCell ),"空",compareVersionCell.Value()), baseVersionCell.Value()) ); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MacroPlanMDSID |
| | | { |
| | | #keys: '3[414996.1.124530070][414996.1.124530069][414996.1.124530071]' |
| | | ValueType: Key |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MacroPlanName |
| | | { |
| | | #keys: '3[414996.1.124550976][414996.1.124550975][414996.1.124550977]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TableName |
| | | { |
| | | #keys: '3[414996.1.124530080][414996.1.124530079][414996.1.124530081]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TableSaveTime |
| | | { |
| | | #keys: '3[414996.1.124540172][414996.1.124540171][414996.1.124540173]' |
| | | ValueType: DateTime |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Create ( |
| | | const constcontent MacroPlans macroPlans, |
| | | RecycleBin owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Akari Oct-14-2024 (created) |
| | | owner.OfflinePlanTableInfo( relflush ); |
| | | info( macroPlans.Size() ); |
| | | traverse( macroPlans,Elements,macroPlan ){ |
| | | mdsid := macroPlan.MDSID(); |
| | | name := macroPlan.MDSMacroPlan().Description(); |
| | | |
| | | traverse( macroPlan,OfflinePlanTable,offlinePlanTable ){ |
| | | owner.OfflinePlanTableInfo( relnew,MacroPlanName := name,TableName := offlinePlanTable.SaveDateTime().Format( "Y-M2-D2 H:m:s" ),MacroPlanMDSID := mdsid ,TableSaveTime := offlinePlanTable.SaveDateTime()); |
| | | } |
| | | } |
| | | info( owner.OfflinePlanTableInfo( relsize ) ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type OfflinePlanTableInfo |
| | | { |
| | | #keys: '5[414996.1.124560137][414996.1.124560135][0.0.0][414996.1.124560136][414996.1.124560138]' |
| | | BaseType: Object |
| | | Description: 'ä¸çº¿è®¡å对åºçmacroPlanä¿¡æ¯' |
| | | StructuredName: 'OfflinePlanTableInfos' |
| | | } |
| | |
| | | |
| | | tempPeriod_MPs := selectset( dayPeriod_MPs,Elements,period_MP,period_MP.StartDate() >= tempStartDate and period_MP.EndDate() <= tempEndDate ); |
| | | |
| | | unitPeriodTimes1 := selectset( this.Unit1(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()) and not isnull( unitPeriodTime.UnitAvailability())); |
| | | unitPeriodTimes2 := selectset( this.Unit2(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()) and not isnull( unitPeriodTime.UnitAvailability())); |
| | | unitPeriodTimes3 := selectset( this.Unit3(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP()) and not isnull( unitPeriodTime.UnitAvailability())); |
| | | unitPeriodTimes1 := selectset( this.Unit1(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP())); |
| | | unitPeriodTimes2 := selectset( this.Unit2(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP())); |
| | | unitPeriodTimes3 := selectset( this.Unit3(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,exists( tempPeriod_MPs,Elements,period_MP,period_MP = unitPeriodTime.Period_MP())); |
| | | if( unitPeriodTimes1.Size() > 0 ){ |
| | | this.OnOK( unitPeriodTimes1,shiftPattern1 ); |
| | | } |
| | |
| | | shiftPattern3 := tempShiftPattern; |
| | | } |
| | | } |
| | | |
| | | // è½®æ¢ç次ç¼å |
| | | shiftPattern1 := this.ShiftPattern1(); |
| | | shiftPattern2 := this.ShiftPattern2(); |
| | | shiftPattern3 := this.ShiftPattern3(); |
| | | tempShiftPattern := shiftPattern1; |
| | | if( weekPeriod_MPs.Size() <> 0 ){ |
| | | traverse( weekPeriod_MPs,Elements,period_MP ){ |
| | | unitPeriodTimes1 := selectset( this.Unit1(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP() and not isnull( unitPeriodTime.UnitAvailability())); |
| | | unitPeriodTimes2 := selectset( this.Unit2(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP() and not isnull( unitPeriodTime.UnitAvailability())); |
| | | unitPeriodTimes3 := selectset( this.Unit3(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP() and not isnull( unitPeriodTime.UnitAvailability())); |
| | | unitPeriodTimes1 := selectset( this.Unit1(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP()); |
| | | unitPeriodTimes2 := selectset( this.Unit2(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP()); |
| | | unitPeriodTimes3 := selectset( this.Unit3(),UnitPeriod.astype( UnitPeriodTime ),unitPeriodTime,period_MP = unitPeriodTime.Period_MP()); |
| | | |
| | | if( unitPeriodTimes1.Size() > 0 ){ |
| | | this.OnOK( unitPeriodTimes1,shiftPattern1 ); |
| | |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dhMDSHandles |
| | | { |
| | | #keys: '[414996.1.116451655]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[internal[ExternalMDSHandle]]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetMacroPlanByMDSID ( |
| | | OfflinePlanTableInfo offlinePlanInfo |
| | | ) as MacroPlan id:Method_ApplicationMacroPlanner_GetMacroPlanByMDSID |
| | | { |
| | | #keys: '[414996.1.122222878]' |
| | | Body: |
| | | [* |
| | | componentmds := ApplicationScope.ComponentMDS(); |
| | | |
| | | demandMacroPlan := null( MacroPlan ); |
| | | |
| | | if( exists( ScenarioManager,ScenarioMP,scemp,scemp.IsLoaded() and scemp.DatasetMDSID() = offlinePlanInfo.MacroPlanMDSID() )){ |
| | | mdsinstance := select( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().MDSKey() = offlinePlanInfo.MacroPlanMDSID() ); |
| | | handle := mdsinstance.GetMDSHandle(); |
| | | demandMacroPlan := handle.AsMacroPlan(); |
| | | }else{ |
| | | error( "MacroPlan[ " + offlinePlanInfo.MacroPlanName() + "] is not load." ); |
| | | } |
| | | |
| | | return demandMacroPlan; |
| | | *] |
| | | } |
| | |
| | | [* |
| | | componentmds := ApplicationScope.ComponentMDS(); |
| | | |
| | | dhMDSHandles.Data().Flush(); |
| | | |
| | | macroPlans := construct( MacroPlans ); |
| | | scemps := selectset( ScenarioManager,ScenarioMP,mp,mp.IsLoaded()); |
| | | traverse( scemps,Elements,scemp ){ |
| | | mdsinstance := select( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().MDSKey() = scemp.DatasetMDSID() ); |
| | | handle := mdsinstance.GetMDSHandle(); |
| | | dhMDSHandles.Data().Add( handle ); |
| | | |
| | | demandMacroPlan := handle.AsMacroPlan(); |
| | | macroPlans.Add( demandMacroPlan ); |
| | | } |
| | |
| | | { |
| | | #keys: '[412672.1.78210474]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'OfflinePlanTable' |
| | | Databinding: 'OfflinePlanTableInfo' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRibbon |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[OfflinePlanTable]' |
| | | DataType: 'structured[OfflinePlanTableInfo]' |
| | | Source: 'dhOfflinePlanTables' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'SaveDateTime' |
| | | DisplayField: 'TableName' |
| | | Label: 'åºåä¸çº¿è®¡å:' |
| | | Taborder: 0 |
| | | ] |
| | |
| | | { |
| | | #keys: '[412672.1.78210579]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'OfflinePlanTable' |
| | | Databinding: 'OfflinePlanTableInfo' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRibbon300 |
| | |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[OfflinePlanTable]' |
| | | DataType: 'structured[OfflinePlanTableInfo]' |
| | | Source: 'dhOfflinePlanTables' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | DisplayField: 'SaveDateTime' |
| | | DisplayField: 'TableName' |
| | | Label: '对æ¯ä¸çº¿è®¡å:' |
| | | Taborder: 1 |
| | | ] |
| | |
| | | { |
| | | #keys: '[414996.1.103241339]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[OfflinePlanTable]*' |
| | | Databinding: 'structured[OfflinePlanTableInfo]*' |
| | | Children: |
| | | [ |
| | | Component deOfflinePlanTables |
| | | { |
| | | #keys: '[414996.1.124700546]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | DataType: 'RecycleBin' |
| | | Source: 'RecycleBin' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanTableInfo' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component bExport |
| | |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Taborder: 4 |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component dhXMLDataListener |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 5 |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component ButtonRibbon |
| | | { |
| | | #keys: '[414996.1.125429607]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Response OnCreated () id:Response_FormOfflinePlanChanges_OnCreated |
| | | { |
| | | #keys: '[414996.1.124740834]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelRibbon504_801/ButtonRibbon |
| | | Response OnClick () id:Response_PanelRibbon504_801_ButtonRibbon_OnClick |
| | | { |
| | | #keys: '[414996.1.125429626]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | macroPlans := ApplicationMacroPlanner.GetMacroPlans(); |
| | | OfflinePlanTableInfo::Create( macroPlans,RecycleBin ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | baseVersion := ddlBaseOfflinePlanTable.Data(); |
| | | compareVersion := ddlCompareOfflinePlanTable.Data(); |
| | | baseOfflineTableInfo := ddlBaseOfflinePlanTable.Data(); |
| | | baseMacroPlan := ApplicationMacroPlanner.GetMacroPlanByMDSID( baseOfflineTableInfo ); |
| | | baseVersion := select( baseMacroPlan ,OfflinePlanTable,table,table.SaveDateTime() = baseOfflineTableInfo.TableSaveTime() ); |
| | | |
| | | compareOfflineTableInfo := ddlCompareOfflinePlanTable.Data(); |
| | | compareMacroPlan := ApplicationMacroPlanner.GetMacroPlanByMDSID( compareOfflineTableInfo ); |
| | | compareVersion := select( compareMacroPlan ,OfflinePlanTable,table,table.SaveDateTime() = compareOfflineTableInfo.TableSaveTime() ); |
| | | |
| | | dhTable.Data( LocalCell_OfflinePlanComparison::Compared( RecycleBin,baseVersion,compareVersion )); |
| | | *] |
| | |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | macroPlans := ApplicationMacroPlanner.GetMacroPlans(); |
| | | offlinePlanTables := selectset( macroPlans,Elements.OfflinePlanTable,table,true ); |
| | | traverse( macroPlans,Elements,element ){ |
| | | info( element.MDSID() ); |
| | | } |
| | | info( dhMDSHandles.Data().Size() ); |
| | | traverse( dhMDSHandles.Data(),Elements,element ){ |
| | | info( element.AsMacroPlan().MDSMacroPlan().Description() ); |
| | | } |
| | | |
| | | this.Data( &offlinePlanTables ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | |
| | | table := LocalCell_DemandComparison::Compared( RecycleBin,dhBaseVersionPath.Data(),dhCompareVersionPath.Data(),lBaseVersionName.Text(),lCompareVersionName.Text() ); |
| | | table := LocalCell_DemandComparison::Compared( RecycleBin,MacroPlan, dhBaseVersionPath.Data(),dhCompareVersionPath.Data(),lBaseVersionName.Text(),lCompareVersionName.Text() ); |
| | | dhComparisonData.Data( table ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgNotLinkedToPeriod","title":"ImgNotLinkedToPeriod","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgNotLinkedToPeriod"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsPostponed","title":"ImgIsPostponed","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsPostponed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"Quantity UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Original Qty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NettedQuantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"NettedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment Illustration","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfillment","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round(2)"}},{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue(object.NettedQuantity()-object.FulfilledQuantity(),0.0).Round(2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Priority.Name","title":"Priority","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Priority.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandUncertaintyPercentage","title":"Uncertainty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandUncertaintyPercentage"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Origin","title":"Origin","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Origin"}}]' |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgNotLinkedToPeriod","title":"ImgNotLinkedToPeriod","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgNotLinkedToPeriod"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsPostponed","title":"ImgIsPostponed","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsPostponed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Start","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EndDate","title":"End","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EndDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"Quantity UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Original Qty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"NettedQuantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"NettedQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment Illustration","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfillment","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round(2)"}},{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue(object.NettedQuantity()-object.FulfilledQuantity(),0.0).Round(2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Priority.Name","title":"Priority","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Priority.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DemandUncertaintyPercentage","title":"Uncertainty","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"DemandUncertaintyPercentage"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Origin","title":"Origin","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Origin"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Differnce","title":"Differnce","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Differnce"}}]' |
| | | ] |
| | | } |
| | | ] |
| | |
| | | #parent: ListSalesDemands |
| | | Response OnClick () inherited id:Response_ListSalesDemands_MenuCreate_OnClick_715 #extension |
| | | { |
| | | QuillAction #extension |
| | | { |
| | | Body: |
| | | [* |
| | | //Create new sales demand |
| | | dlg := construct( DialogCreateEditForecast ); |
| | | dlg.New(); |
| | | |
| | | dlg.bSplitUsingCurve().Visible( true ); |
| | | dlg.PanelCurve().Visible( true ); |
| | | *] |
| | | } |
| | | } |