已重命名4个文件
已修改8个文件
已添加39个文件
已删除16个文件
| | |
| | | { |
| | | TextBody: |
| | | [* |
| | | //this.MatAttrSettingAndPlanStrategy( relflush ); |
| | | |
| | | // yypsybs Sep-8-2023 (created) |
| | | mat1 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, "MAT_1", "MAT_1", "TYPE_1", 233.0, "éç¨", "é¿å¨æ" ); |
| | | mat1 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 1, "ææºäºä¸é¨", "MAT_1", "MAT_1", "TYPE_1", 233.0, "éç¨", "é¿å¨æ" ); |
| | | MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_1", 666.0, "PROD_1_DESC" ); |
| | | MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat1, "PROD_2", 777.0, "PROD_2_DESC" ); |
| | | mat2 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, "MAT_2", "MAT_2", "TYPE_2", 233.0, "ä¸ç¨", "é¿å¨æ" ); |
| | | mat2 := MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 2, "ææºäºä¸é¨", "MAT_2", "MAT_2", "TYPE_2", 233.0, "ä¸ç¨", "é¿å¨æ" ); |
| | | MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_1", 1666.0, "PROD_1_DESC" ); |
| | | MatAttrSettingAndPlanStrategyDetail::CreateIfNotExist( mat2, "PROD_2", 1777.0, "PROD_2_DESC" ); |
| | | MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, "MAT_3", "MAT_3", "TYPE_1", 233.0, "éç¨", "ç卿" ); |
| | | MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, "MAT_4", "MAT_4", "TYPE_2", 233.0, "ä¸ç¨", "ç卿" ); |
| | | MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 3, "ææºäºä¸é¨", "MAT_3", "MAT_3", "TYPE_1", 233.0, "éç¨", "ç卿" ); |
| | | MatAttrSettingAndPlanStrategy::CreateIfNotExist( this, 4, "ææºäºä¸é¨", "MAT_4", "MAT_4", "TYPE_2", 233.0, "ä¸ç¨", "ç卿" ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method CheckThePrecedingColumn ( |
| | | GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) { |
| | | itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æç¼ç " ); |
| | | targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() ); |
| | | if ( not isnull( targetMatAttrSettingAndPlanStrategy ) ) { |
| | | businessType := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ä¸å¡ç±»å" ).value(); |
| | | nameOfMaterial := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æåç§°" ).value(); |
| | | itemClassification := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æåç±»" ).value(); |
| | | LTTimeDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "LTæ¶é´ï¼å¤©ï¼" ).value(); |
| | | numberOfFinishedSKUs := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "æåSKUæ°é" ).value(); |
| | | finishedProductDeliveryMinLTDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "æå交ä»Min-LTï¼å¤©ï¼" ).value(); |
| | | longAndShortCycleLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "é¿ç卿æ ç¾" ).value(); |
| | | genericSpecialLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "éç¨ä¸ç¨æ ç¾" ).value(); |
| | | automaticMaterialPlanningPolicies := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "èªå¨ç©æè®¡åçç¥" ).value(); |
| | | if ( businessType <> targetMatAttrSettingAndPlanStrategy.BusinessType() or |
| | | nameOfMaterial <> targetMatAttrSettingAndPlanStrategy.MatName() or |
| | | itemClassification <> targetMatAttrSettingAndPlanStrategy.MatType() or |
| | | [Real]LTTimeDays <> targetMatAttrSettingAndPlanStrategy.MatArrivalLT() or |
| | | [Real]numberOfFinishedSKUs <> targetMatAttrSettingAndPlanStrategy.ProductCount() or |
| | | [Real]finishedProductDeliveryMinLTDays <> targetMatAttrSettingAndPlanStrategy.MinProdDeliverLT() or |
| | | longAndShortCycleLabels <> targetMatAttrSettingAndPlanStrategy.FlagLongTerm() or |
| | | genericSpecialLabels <> targetMatAttrSettingAndPlanStrategy.FlagGeneric() or |
| | | automaticMaterialPlanningPolicies <> targetMatAttrSettingAndPlanStrategy.PlanningStrategyAuto() ) |
| | | { |
| | | error( "导å
¥å¤±è´¥ï¼ä¸å½åç³»ç»å段ä¸ä¸è´ï¼", targetMatAttrSettingAndPlanStrategy.MatCode() ); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method CreateOrUpdateData ( |
| | | GlobalOTDTable globalOTDTable |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | traverse ( this, MatAttrSettingAndPlanStrategyDataRow, masapsdr ) { |
| | | itemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æç¼ç " ); |
| | | targetMatAttrSettingAndPlanStrategy := select( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.MatCode() = itemCode.value() ); |
| | | if ( not isnull( targetMatAttrSettingAndPlanStrategy ) ) { |
| | | minimumNumberOfDaysInStock := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "åºåæå°å¤©æ°" ).value(); |
| | | maximumNumberOfDaysInInventory := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "åºåæå¤§å¤©æ°" ).value(); |
| | | try { |
| | | targetMatAttrSettingAndPlanStrategy.MinimumNumberOfDaysInStock( [Number]minimumNumberOfDaysInStock ); |
| | | targetMatAttrSettingAndPlanStrategy.MaximumNumberOfDaysInInventory( [Number]maximumNumberOfDaysInInventory ); |
| | | targetMatAttrSettingAndPlanStrategy.UpdateBy( QuintiqUser::CurrentUser().Username() ); |
| | | targetMatAttrSettingAndPlanStrategy.UpdateTime( DateTime::ActualTime() ); |
| | | } onerror { |
| | | error( "åºåæå°å¤©æ°æåºåæå¤§å¤©æ°å¿
é¡»ä¸ºæ´æ°ï¼", targetMatAttrSettingAndPlanStrategy.MatCode() ); |
| | | } |
| | | } else { |
| | | businessType := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ä¸å¡ç±»å" ).value(); |
| | | createItemCode := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æç¼ç " ).value(); |
| | | nameOfMaterial := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æåç§°" ).value(); |
| | | itemClassification := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æåç±»" ).value(); |
| | | LTTimeDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "LTæ¶é´ï¼å¤©ï¼" ).value(); |
| | | // numberOfFinishedSKUs := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "æåSKUæ°é" ).value(); |
| | | // finishedProductDeliveryMinLTDays := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "æå交ä»Min-LTï¼å¤©ï¼" ).value(); |
| | | longAndShortCycleLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "é¿ç卿æ ç¾" ).value(); |
| | | genericSpecialLabels := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "éç¨ä¸ç¨æ ç¾" ).value(); |
| | | // automaticMaterialPlanningPolicies := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "èªå¨ç©æè®¡åçç¥" ).value(); |
| | | usersManuallySchedulePolicies := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç¨æ·æå¨è®¡åçç¥" ).value(); |
| | | minimumNumberOfDaysInStock := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "åºåæå°å¤©æ°" ).value(); |
| | | maximumNumberOfDaysInInventory := select( masapsdr, MatAttrSettingAndPlanStrategyDataCell, tempMASAPSDC, tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "åºåæå¤§å¤©æ°" ).value(); |
| | | try { |
| | | matAttrSettingAndPlanStrategy := globalOTDTable.MatAttrSettingAndPlanStrategy( relnew, |
| | | BusinessType := businessType, |
| | | MatCode := createItemCode, |
| | | MatName := nameOfMaterial, |
| | | MatType := itemClassification, |
| | | MatArrivalLT := [Number]LTTimeDays, |
| | | // ProductCount := [Number]numberOfFinishedSKUs, |
| | | // MinProdDeliverLT := [Number]finishedProductDeliveryMinLTDays, |
| | | FlagLongTerm := longAndShortCycleLabels, |
| | | FlagGeneric := genericSpecialLabels, |
| | | // PlanningStrategyAuto := automaticMaterialPlanningPolicies, |
| | | PlanningStrategyCustom := usersManuallySchedulePolicies, |
| | | MinimumNumberOfDaysInStock := [Number]minimumNumberOfDaysInStock, |
| | | MaximumNumberOfDaysInInventory := [Number]maximumNumberOfDaysInInventory |
| | | ); |
| | | matAttrSettingAndPlanStrategy.UpdateBy( QuintiqUser::CurrentUser().Username() ); |
| | | matAttrSettingAndPlanStrategy.UpdateTime( DateTime::ActualTime() ); |
| | | matAttrSettingAndPlanStrategy.SerialNumber( maxselect( globalOTDTable, MatAttrSettingAndPlanStrategy, tempMASAPS, tempMASAPS.SerialNumber() ).SerialNumber() + 1 ); |
| | | } onerror { |
| | | error( "åºåæå°å¤©æ°æåºåæå¤§å¤©æ°å¿
é¡»ä¸ºæ´æ°ï¼", targetMatAttrSettingAndPlanStrategy.MatCode() ); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SynchronizeData |
| | | { |
| | | TextBody: |
| | | [* |
| | | this.VerifyThatTheItemCodeIsNotDuplicated(); |
| | | |
| | | globalOTDTable := this.MatAttrSettingAndPlanStrategyInputSource().GlobalOTDTable(); |
| | | |
| | | this.CheckThePrecedingColumn( globalOTDTable ); |
| | | |
| | | this.CreateOrUpdateData( globalOTDTable ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method VerifyThatTheItemCodeIsNotDuplicated |
| | | { |
| | | TextBody: |
| | | [* |
| | | itemCodes := selectuniquevalues( this, |
| | | MatAttrSettingAndPlanStrategyDataColumn.MatAttrSettingAndPlanStrategyDataCell, |
| | | tempMASAPSDC, |
| | | tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æç¼ç ", |
| | | tempMASAPSDC.value() ); |
| | | |
| | | traverse ( itemCodes, Elements, ic ) { |
| | | icTotal := selectset( this, |
| | | MatAttrSettingAndPlanStrategyDataColumn.MatAttrSettingAndPlanStrategyDataCell, |
| | | tempMASAPSDC, |
| | | tempMASAPSDC.MatAttrSettingAndPlanStrategyDataColumn().name() = "ç©æç¼ç " and tempMASAPSDC.value() = ic ); |
| | | if ( icTotal.Size() > 1 ) { |
| | | error( "åå¨éå¤ç©æç¼ç ï¼", ic ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method VerifyTheTemplate |
| | | { |
| | | TextBody: |
| | | [* |
| | | if ( select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 0 ).name() <> "ä¸å¡ç±»å" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 1 ).name() <> "ç©æç¼ç " or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 2 ).name() <> "ç©æåç§°" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 3 ).name() <> "ç©æåç±»" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 4 ).name() <> "LTæ¶é´ï¼å¤©ï¼" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 5 ).name() <> "æåSKUæ°é" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 6 ).name() <> "æå交ä»Min-LTï¼å¤©ï¼" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 7 ).name() <> "é¿ç卿æ ç¾" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 8 ).name() <> "éç¨ä¸ç¨æ ç¾" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 9 ).name() <> "èªå¨ç©æè®¡åçç¥" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 10 ).name() <> "ç¨æ·æå¨è®¡åçç¥" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 11 ).name() <> "åºåæå°å¤©æ°" or |
| | | select( this, MatAttrSettingAndPlanStrategyDataColumn, tempMASAPSDC, tempMASAPSDC.columnIndex() = 12 ).name() <> "åºåæå¤§å¤©æ°" |
| | | ) { |
| | | error( "模æ¿è§£æé误" ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method parseRows |
| | | Method ParseRows |
| | | { |
| | | TextBody: |
| | | [* |
| | |
| | | } |
| | | //--------------------------------------------------------------------------------------------- |
| | | xmlTemplate := xmlTemplate + "</table>"; |
| | | info( xmlTemplate ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate ) ); |
| | | XLS::SaveTable( tableHandle, OS::TempPath() + "MatAttrSettingAndPlanStrategy.xlsx" ); |
| | | file := OSFile::Construct(); |
| | |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Jul-1-2023 (created) |
| | | tableGroupHandle := TableGroupHandle::Create( this.FileName() ); |
| | | tableGroupHandle := XLS::LoadTableGroupFromBinaryData( BinaryData::FromBase64EncodedString( this.Base64Str() ), tableGroupHandle, true, this.IsXlsx() ); |
| | | |
| | | sheets := tableGroupHandle.TableNames(); |
| | | |
| | | traverse ( sheets, Elements, sheetName, sheetName = "MatAttrSettingAndPlanStrategy" ) { |
| | | traverse ( sheets, Elements, sheetName, sheetName = "ç©ææ ç¾" ) { |
| | | tableHandle := tableGroupHandle.Table( sheetName ); |
| | | tableXML := TableHandle::ExportXML( tableHandle ); |
| | | |
| | | MatAttrSettingAndPlanStrategyDataTable::XMLImportMatAttrSettingAndPlanStrategyDataTableXMLHeaders( tableXML ); |
| | | parsedTable := MatAttrSettingAndPlanStrategyDataTable::XMLImportMatAttrSettingAndPlanStrategyDataTableXML( tableXML ); |
| | | parsedTable.parseRows(); |
| | | parsedTable.name( sheetName ); |
| | | this.MatAttrSettingAndPlanStrategyDataTable( relinsert, &parsedTable ); |
| | | matAttrSettingAndPlanStrategyDataTable := MatAttrSettingAndPlanStrategyDataTable::XMLImportMatAttrSettingAndPlanStrategyDataTableXML( tableXML ); |
| | | |
| | | matAttrSettingAndPlanStrategyDataTable.ParseRows(); |
| | | |
| | | matAttrSettingAndPlanStrategyDataTable.name( sheetName ); |
| | | this.MatAttrSettingAndPlanStrategyDataTable( relinsert, &matAttrSettingAndPlanStrategyDataTable ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod VerifyTheFileName ( |
| | | JSON uploadJson |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | fileNames := uploadJson.Get( "name" ).GetString().Tokenize( "." ); |
| | | fileNameSuffix := fileNames.Element( fileNames.Size() - 1 ); |
| | | if ( fileNameSuffix <> "xlsx" and fileNameSuffix <> "xls" ) { |
| | | error( "请ä¸ä¼ Excelæä»¶" ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Upload ( |
| | | GlobalOTDTable parent, |
| | | GlobalOTDTable globalOTDTable, |
| | | String filePath, |
| | | String base64Str, |
| | | String userName |
| | |
| | | { |
| | | TextBody: |
| | | [* |
| | | // yypsybs Jul-1-2023 (created) |
| | | parent.MatAttrSettingAndPlanStrategyInputSource( relflush ); |
| | | info( "filePath : " + filePath ); |
| | | globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relflush ); |
| | | |
| | | fileName := filePath.Tokenize( "\" ).Element( filePath.Tokenize( "\" ).Size() - 1 ); |
| | | info( "fileName : " + fileName ); |
| | | inputSource := parent.MatAttrSettingAndPlanStrategyInputSource( relnew, |
| | | |
| | | inputSource := globalOTDTable.MatAttrSettingAndPlanStrategyInputSource( relnew, |
| | | FileName := fileName, |
| | | Base64Str := base64Str, |
| | | IsXlsx := fileName.EndsWith( "xlsx" ), |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute BusinessType |
| | | { |
| | | #keys: '3[414702.0.129575801][414702.0.129575800][414702.0.129575802]' |
| | | Description: 'ä¸å¡ç±»å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MaximumNumberOfDaysInInventory |
| | | { |
| | | #keys: '3[414702.0.129559419][414702.0.129559418][414702.0.129559420]' |
| | | Description: 'åºåæå¤§å¤©æ°' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MinimumNumberOfDaysInStock |
| | | { |
| | | #keys: '3[414702.0.129559409][414702.0.129559408][414702.0.129559410]' |
| | | Description: 'åºåæå°å¤©æ°' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute SerialNumber |
| | | { |
| | | #keys: '3[414702.0.129544801][414702.0.129544800][414702.0.129544802]' |
| | | Description: 'åºå·' |
| | | ValueType: Number |
| | | } |
| | |
| | | #parent: #root |
| | | StaticMethod CreateIfNotExist ( |
| | | GlobalOTDTable parent, |
| | | Number serialNumber, |
| | | String businessType, |
| | | String matCode, |
| | | String matName, |
| | | String matType, |
| | |
| | | value := MatAttrSettingAndPlanStrategy::GetExistByMatCode( parent, matCode ); |
| | | if( isnull( value ) ) { |
| | | value := parent.MatAttrSettingAndPlanStrategy( relnew, |
| | | SerialNumber := serialNumber, |
| | | BusinessType := businessType, |
| | | MatCode := matCode, |
| | | MatName := matName, |
| | | MatType := matType, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod ExportTheFileStream ( |
| | | MatAttrSettingAndPlanStrategys masapss |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | text:= '<?xml version="1.0" encoding="utf-8" standalone="yes"?><table><name>ç©ææ ç¾</name><column><name>ä¸å¡ç±»å</name><type>String</type></column><column><name>ç©æç¼ç </name><type>String</type></column><column><name>ç©æåç§°</name><type>String</type></column><column><name>ç©æåç±»</name><type>String</type></column><column><name>LTæ¶é´ï¼å¤©ï¼</name><type>Number</type></column><column><name>æåSKUæ°é</name><type>Number</type></column><column><name>æå交ä»Min-LTï¼å¤©ï¼</name><type>Number</type></column><column><name>é¿ç卿æ ç¾</name><type>String</type></column><column><name>éç¨ä¸ç¨æ ç¾</name><type>String</type></column><column><name>èªå¨ç©æè®¡åçç¥</name><type>String</type></column><column><name>ç¨æ·æå¨è®¡åçç¥</name><type>String</type></column><column><name>åºåæå°å¤©æ°</name><type>Number</type></column><column><name>åºåæå¤§å¤©æ°</name><type>Number</type></column></table>'; |
| | | xmlDOMImplementation := XMLDOMImplementation::Create(); |
| | | xmlDOMDocument := xmlDOMImplementation.CreateDocumentFromString( text ); |
| | | |
| | | masapss := selectsortedset( masapss, Elements, tempMASAPS, true, tempMASAPS.MatCode() ); |
| | | tableElement:= xmlDOMDocument.GetElementByTagName( "table", 0 ); |
| | | |
| | | traverse ( masapss, Elements, masaps ) { |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.BusinessType(), "ä¸å¡ç±»å" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.MatCode(), "ç©æç¼ç " ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.MatName(), "ç©æåç§°" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.MatType(), "ç©æåç±»" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MatArrivalLT(), "LTæ¶é´ï¼å¤©ï¼" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.ProductCount(), "æåSKUæ°é" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MinProdDeliverLT(), "æå交ä»Min-LTï¼å¤©ï¼" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.FlagLongTerm(), "é¿ç卿æ ç¾" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.FlagGeneric(), "éç¨ä¸ç¨æ ç¾" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.PlanningStrategyAuto(), "èªå¨ç©æè®¡åçç¥" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, masaps.PlanningStrategyCustom(), "ç¨æ·æå¨è®¡åçç¥" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MinimumNumberOfDaysInStock(), "åºåæå°å¤©æ°" ); |
| | | MatAttrSettingAndPlanStrategy::GeneratesTheSpecifiedXMLColumn( xmlDOMDocument, tableElement, [String]masaps.MaximumNumberOfDaysInInventory(), "åºåæå¤§å¤©æ°" ); |
| | | } |
| | | |
| | | xmlDOMSerializer := xmlDOMImplementation.CreateSerializer(); |
| | | xmlTableString := xmlDOMSerializer.WriteToString( xmlDOMDocument ); |
| | | |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTableString ) ); |
| | | tableGroupHandle := TableGroupHandle::Create( "ç©ææ ç¾" ); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | tableBinaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return tableBinaryData.AsBinaryValue(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GeneratesTheSpecifiedXMLColumn ( |
| | | XMLDOMDocument xmlDOMDocument, |
| | | XMLDOMElement tableElement, |
| | | String value, |
| | | String columnName |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | columnElements := tableElement.GetElementsByTagName( "column" ); |
| | | |
| | | traverse ( columnElements, Elements, ce ) { |
| | | nameElement := ce.GetElementByTagName( "name", 0 ); |
| | | if ( nameElement.TextContent() = columnName ) { |
| | | cell := xmlDOMDocument.CreateElement( "cell" ); |
| | | cell.SetAttribute( "value", value ); |
| | | ce.AppendChild( cell ); |
| | | } |
| | | } |
| | | *] |
| | | } |
| | |
| | | ] |
| | | } |
| | | Component MenuDoSync { #keys: '[414384.0.605664172]' BaseType: 'Menu' Properties: [ Image: 'CLOUD_DOWNLOAD' Text: 'DoSync' ] } |
| | | Component menuSeparator506 { #keys: '[414702.0.137524309]' BaseType: 'Menu' Properties: [ Separator: true ] } |
| | | Component ComponentMenuAnalysisGlobalOTDTable { #keys: '[414702.0.137524953]' BaseType: 'ComponentMenu' Properties: [ ComponentType: 'frmStandardAnalysisGlobalOTDTable' Text: '' ] } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | c: Menu8 |
| | | c: MenuSelectDemoDataset |
| | | c: MenuDoSync |
| | | c: menuSeparator506 |
| | | c: ComponentMenuAnalysisGlobalOTDTable |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component swTop |
| | | { |
| | | #keys: '[530.0.3531806]' |
| | | BaseType: 'swTop' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | Component spTopLeft |
| | | { |
| | | #keys: '[530.0.3531807]' |
| | | BaseType: 'spTopLeft' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | Component Analysis |
| | | { |
| | | #keys: '[530.0.3532065]' |
| | | BaseType: 'Analysis' |
| | | IsDerived: true |
| | | Properties: |
| | | [ |
| | | GlobalInstance: 'GlobalOTDTable' |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component swTopMost |
| | | { |
| | | #keys: '[530.0.3531801]' |
| | | BaseType: 'swTopMost' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | Component SplitterPane1 |
| | | { |
| | | #keys: '[530.0.3531802]' |
| | | BaseType: 'SplitterPane1' |
| | | IsDerived: true |
| | | Children: |
| | | [ |
| | | #child: swTop |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlanner |
| | | OrphanComponent frmStandardAnalysisGlobalOTDTable |
| | | { |
| | | #keys: '[414702.0.137524322]' |
| | | BaseType: 'frmStandardAnalysis' |
| | | Children: |
| | | [ |
| | | #child: swTopMost |
| | | ] |
| | | Properties: |
| | | [ |
| | | Height: 601 |
| | | Image: 'BIRD' |
| | | Title: 'Analysis GlobalOTDTable' |
| | | Width: 783 |
| | | ] |
| | | } |
| | |
| | | #parent: LibSOPImpExp_ContextMenuImport/MenuImportFromCommonInformationModel |
| | | Response OnClick () id:Response_TIANMA_JITUAN_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonInformationModel_OnClick |
| | | { |
| | | #warning 103647: "Identifier 'Response_MacroPlanner_LibSOPImpExp_ContextMenuImport_MenuImportFromCommonInformationModel_OnClick' is not unique in the scope of 'LibSOPImpExp_ContextMenuImport' component on 'ApplicationMacroPlanner'. The reason can be a recently added ModeledResponse. A unique identifier was generated automatically." |
| | | #keys: '[146140.2.683371355]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogEdit/Component_pnlActions.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[414384.0.770880997]' |
| | | #keys: '[414702.0.131771244]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[414384.0.770881001]' |
| | | #keys: '[414702.0.131771248]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[414384.0.770881003]' |
| | | #keys: '[414702.0.131771250]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | |
| | | Orientation: 'horizontal' |
| | | Padding: 'true' |
| | | Style: 'footer' |
| | | Taborder: 1 |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlContent |
| | | { |
| | | #keys: '[414702.0.131771242]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: pnlGeneral |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlGeneral |
| | | { |
| | | #keys: '[414702.0.139154801]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component efBusinessType |
| | | { |
| | | #keys: '[414702.0.139035752]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.BusinessType' |
| | | Enabled: false |
| | | Label: 'ä¸å¡ç±»å' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component efItemCode |
| | | { |
| | | #keys: '[414702.0.139035772]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MatCode' |
| | | Enabled: false |
| | | Label: 'ç©æç¼ç ' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component efNameOfMaterial |
| | | { |
| | | #keys: '[414702.0.139035784]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MatName' |
| | | Enabled: false |
| | | Label: 'ç©æåç§°' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component efMaterialArrivalLTDays |
| | | { |
| | | #keys: '[414702.0.139035796]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MatArrivalLT' |
| | | Description: 'Finished product minimum delivery LT (days)' |
| | | Enabled: false |
| | | Label: 'ç©æå°è´§LTï¼å¤©ï¼' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component efFinishedProductMinimumDeliveryLTDays |
| | | { |
| | | #keys: '[414702.0.139035809]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MinProdDeliverLT' |
| | | Enabled: false |
| | | Label: 'æåæå°äº¤ä»LTï¼å¤©ï¼' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component efFinishedSKUType |
| | | { |
| | | #keys: '[414702.0.139035821]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.ProductCount' |
| | | Enabled: false |
| | | Label: 'æåSKUç§ç±»' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component efTheSystemAutomaticallySchedulesPolicies |
| | | { |
| | | #keys: '[414702.0.139035834]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.PlanningStrategyAuto' |
| | | Enabled: false |
| | | Label: 'ç³»ç»èªå¨è®¡åçç¥' |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | Component ddslMaterialPlanningPolicyChanges |
| | | { |
| | | #keys: '[414702.0.139877037]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | AllowEmpty: true |
| | | DataBinding: 'DataHolderDialogData.Data.PlanningStrategyCustom' |
| | | Label: 'ç©æè®¡åçç¥åæ´' |
| | | Strings: 'JIT;VMI;M/A;å®å
¨åºå;POææ' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component efTheMinimumNumberOfDaysForAnItemToBeInventoried |
| | | { |
| | | #keys: '[414702.0.139969846]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MinimumNumberOfDaysInStock' |
| | | Label: 'ç©æåºåæå°å¤©æ°' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | Component efTheMaximumNumberOfDaysThatTheItemIsInStock |
| | | { |
| | | #keys: '[414702.0.139969907]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MaximumNumberOfDaysInInventory' |
| | | Label: 'ç©æåºåæå¤§å¤©æ°' |
| | | Taborder: 9 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Edit ( |
| | | MatAttrSettingAndPlanStrategy selection |
| | | ) id:Method_DialogCreateEditMaterialLabelingAndPlanningStrategy_Edit |
| | | { |
| | | #keys: '[414702.0.137732159]' |
| | | Body: |
| | | [* |
| | | //data := shadow( selection ); |
| | | DataHolderDialogData.Data( selection ); |
| | | |
| | | selection.UpdateBy( QuintiqUser::CurrentUser().Username() ); |
| | | selection.UpdateTime( DateTime::ActualTime() ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogEdit/Response_pnlActions_btnCancel_OnClick.def ÐÞ¸Ä |
| | |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[414384.0.770881007]' |
| | | #keys: '[414702.0.131771254]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogEdit/Response_pnlActions_btnOk_OnClick.def ÐÞ¸Ä |
| | |
| | | #parent: pnlActions/btnOk |
| | | Response OnClick () id:Response_pnlActions_btnOk_OnClick |
| | | { |
| | | #keys: '[414384.0.770881006]' |
| | | #keys: '[414702.0.131771253]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.OnOK(); |
| | | Form.ApplyChanges(); |
| | | Form.Close(); |
| | | *] |
| | | } |
| | | } |
ÎļþÃû´Ó _Main/UI/MacroPlannerWebApp/Component_DialogEdit/_ROOT_Component_DialogEditMatAttrSettingAndPlanStrategy.def ÐÞ¸Ä |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogEditMatAttrSettingAndPlanStrategy |
| | | OrphanComponent DialogCreateEditMaterialLabelingAndPlanningStrategy |
| | | { |
| | | #keys: '[414384.0.770880993]' |
| | | #keys: '[414702.0.131771240]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | |
| | | #child: pnlActions |
| | | Component DataHolderDialogData |
| | | { |
| | | #keys: '[414384.0.772100860]' |
| | | #keys: '[414702.0.139153395]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[MatAttrSettingAndPlanStrategy]*' |
| | | Databinding: 'MatAttrSettingAndPlanStrategy' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListChildMaterial |
| | | { |
| | | #keys: '[414702.0.122536770]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorChildMaterial |
| | | { |
| | | #keys: '[414702.0.122536771]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MatAttrSettingAndPlanStrategy' |
| | | ExtractionMode: 'Selected' |
| | | Source: 'PanelMaterial.ListMaterialMaterialLabelingAndPlanningStrategy' |
| | | Taborder: 0 |
| | | Transformation: 'MatAttrSettingAndPlanStrategyDetail' |
| | | ] |
| | | } |
| | | #child: listActionBarPageChildMaterial |
| | | Component DataSetLevelChildMaterial |
| | | { |
| | | #keys: '[414702.0.122536776]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuChildMaterial |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatCode","title":"MatCode","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"MatCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCode","title":"ProductCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StandardLT","title":"StandardLT","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StandardLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductDesc","title":"ProductDesc","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductDesc"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Comment","title":"Comment","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Comment"}}]' |
| | | ContextMenu: 'listContextMenuChildMaterial' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListMaterialMaterialLabelingAndPlanningStrategy id:ListMaterialMaterialLabelingAndPlanningStrategy_880 |
| | | { |
| | | #keys: '[414702.0.122174685]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractorMaterial367 |
| | | { |
| | | #keys: '[414702.0.122174686]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'GlobalOTDTable' |
| | | Source: 'GlobalOTDTable' |
| | | Taborder: 0 |
| | | Transformation: 'MatAttrSettingAndPlanStrategy' |
| | | ] |
| | | } |
| | | #child: listActionBarPageMaterial790_1 |
| | | Component DataSetLevelMaterial679 |
| | | { |
| | | #keys: '[414702.0.122174688]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenuMaterial455_1 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SerialNumber","title":"SerialNumber","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"SerialNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BusinessType","title":"BusinessType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BusinessType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatCode","title":"MatCode","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatCode"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatName","title":"MatName","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatType","title":"MatType","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MatArrivalLT","title":"MatArrivalLT","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MatArrivalLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductCount","title":"ProductCount","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ProductCount"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MinProdDeliverLT","title":"MinProdDeliverLT","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"MinProdDeliverLT"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FlagLongTerm","title":"FlagLongTerm","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FlagLongTerm"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FlagGeneric","title":"FlagGeneric","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"FlagGeneric"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningStrategyAuto","title":"PlanningStrategyAuto","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PlanningStrategyAuto"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PlanningStrategyCustom","title":"PlanningStrategyCustom","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"PlanningStrategyCustom"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UpdateBy","title":"UpdateBy","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UpdateBy"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UpdateTime","title":"UpdateTime","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"UpdateTime"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MinimumNumberOfDaysInStock","title":"MinimumNumberOfDaysInStock","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MinimumNumberOfDaysInStock"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumNumberOfDaysInInventory","title":"MaximumNumberOfDaysInInventory","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumNumberOfDaysInInventory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"1","title":"1","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"VALUE( object.UpdateTime() )"}}]' |
| | | ContextMenu: 'listContextMenuMaterial455' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | SelectionCheckboxes: true |
| | | Taborder: 1 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick |
| | | { |
| | | #keys: '[414702.0.132706551]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[319.0.80354936]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelChildMaterial |
| | | { |
| | | #keys: '[414702.0.121452333]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListChildMaterial |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: true |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelMaterial |
| | | { |
| | | #keys: '[414702.0.121452322]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListMaterialMaterialLabelingAndPlanningStrategy_880 |
| | | #child: PanelMaterialOperationButton |
| | | Component DataHolderCheckedMaterials |
| | | { |
| | | #keys: '[414702.0.136936641]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[MatAttrSettingAndPlanStrategy]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: true |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelMaterialExportAndImport id:PanelMaterialExportAndImport_136 |
| | | { |
| | | #keys: '[414702.0.130101487]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonMaterialExportAndExport |
| | | { |
| | | #keys: '[414702.0.130101488]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Label: 'æ°æ®å¯¼åº' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonMaterialExportAndImport |
| | | { |
| | | #keys: '[414702.0.130101489]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'IMPORT1' |
| | | Label: 'æ°æ®å¯¼å
¥' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component ButtonSynchronizeInventoryTargets |
| | | { |
| | | #keys: '[414702.0.142124169]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'CLOUD_REFRESH' |
| | | Label: '忥åºåç®æ ' |
| | | Taborder: 0 |
| | | Visible: false |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | FixedSize: true |
| | | MinimumColumns: 25 |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelMaterialLabelingAndPlanningStrategy |
| | | { |
| | | #keys: '[414702.0.121452301]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelChildMaterial |
| | | #child: PanelMaterial |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelMaterialOperationButton |
| | | { |
| | | #keys: '[414702.0.130161515]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelMaterialExportAndImport_136 |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageChildMaterial |
| | | { |
| | | #keys: '[414702.0.122536773]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPageMaterial790 id:listActionBarPageMaterial790_1 |
| | | { |
| | | #keys: '[414702.0.122174687]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuChildMaterial |
| | | { |
| | | #keys: '[414702.0.122536778]' |
| | | BaseType: 'listContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenuMaterial455 id:listContextMenuMaterial455_1 |
| | | { |
| | | #keys: '[414702.0.122174689]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuSeparator |
| | | { |
| | | #keys: '[121142.1.1147171519]' |
| | | BaseType: 'MenuSeparator' |
| | | IsDerived: true |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component MenuDeleteAll |
| | | { |
| | | #keys: '[414702.0.141671580]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 3 |
| | | Title: 'å é¤' |
| | | ] |
| | | } |
| | | Component MenuSelectAll |
| | | { |
| | | #keys: '[414702.0.141943188]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'PIG' |
| | | Shortcut: 'Ctrl+A' |
| | | Taborder: 4 |
| | | Title: 'å
¨é' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 |
| | | Response OnClick ( |
| | | structured[MatAttrSettingAndPlanStrategy] selection |
| | | ) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuDeleteAll_OnClick |
| | | { |
| | | #keys: '[414702.0.141854066]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListMaterialMaterialLabelingAndPlanningStrategy_880/Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick |
| | | Initiator: 'MenuDeleteAll' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | traverse ( selection, Elements, s ) { |
| | | s.Delete(); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 |
| | | Response OnClick () id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_MenuSelectAll_OnClick |
| | | { |
| | | #keys: '[414702.0.141794738]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListMaterialMaterialLabelingAndPlanningStrategy_880/Responsedef_ListMaterialMaterialLabelingAndPlanningStrategy_880_WebMenu_OnClick |
| | | Initiator: 'MenuSelectAll' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.SelectAll(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 |
| | | Response OnDoubleClick ( |
| | | MatAttrSettingAndPlanStrategy selection |
| | | ) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnDoubleClick |
| | | { |
| | | #keys: '[414702.0.137732025]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnDoubleClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogCreateEditMaterialLabelingAndPlanningStrategy ); |
| | | dlg.Edit( selection ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 |
| | | Response OnUserCheckedChanged () id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedChanged_591 |
| | | { |
| | | #keys: '[414702.0.136206065]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | DataHolderCheckedMaterials.Data().Flush(); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListMaterialMaterialLabelingAndPlanningStrategy_880 |
| | | Response OnUserCheckedChanged ( |
| | | structured[MatAttrSettingAndPlanStrategy] checkeditems |
| | | ) id:Response_ListMaterialMaterialLabelingAndPlanningStrategy_880_OnUserCheckedChanged |
| | | { |
| | | #keys: '[414702.0.136757090]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnUserCheckedChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | DataHolderCheckedMaterials.Data( checkeditems.Copy() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelMaterialExportAndImport_136/ButtonMaterialExportAndExport |
| | | Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndExport_OnClick |
| | | { |
| | | #keys: '[414702.0.133071932]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( GlobalOTDTable ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | tableBinaryData := MatAttrSettingAndPlanStrategy::ExportTheFileStream( DataHolderCheckedMaterials.Data() ).AsBinaryData(); |
| | | Application.Download( "MaterialLabelingAndPlanningStrategy.xlsx", tableBinaryData ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelMaterialExportAndImport_136/ButtonMaterialExportAndImport |
| | | Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonMaterialExportAndImport_OnClick |
| | | { |
| | | #keys: '[414702.0.134451163]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( GlobalOTDTable ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | try { |
| | | uploadJsonString := Application.GetFile(); |
| | | if ( uploadJsonString <> "" ) { |
| | | uploadJson := JSON::Parse( uploadJsonString ); |
| | | |
| | | MatAttrSettingAndPlanStrategyInputSource::VerifyTheFileName( uploadJson ); |
| | | |
| | | fileName := uploadJson.Get( "name" ).GetString(); |
| | | base64String := uploadJson.Get( "data" ).GetString(); |
| | | matAttrSettingAndPlanStrategyInputSource := MatAttrSettingAndPlanStrategyInputSource::Upload( GlobalOTDTable, fileName, base64String, ApplicationMacroPlanner.GetUserName() ); |
| | | |
| | | matAttrSettingAndPlanStrategyInputSource.ParseTable(); |
| | | |
| | | matAttrSettingAndPlanStrategyDataTable := select( matAttrSettingAndPlanStrategyInputSource, MatAttrSettingAndPlanStrategyDataTable, tempMASAPSDT, tempMASAPSDT.name() = "ç©ææ ç¾" ); |
| | | matAttrSettingAndPlanStrategyDataTable.VerifyTheTemplate(); |
| | | |
| | | matAttrSettingAndPlanStrategyDataTable.SynchronizeData(); |
| | | |
| | | WebMessageBox::Success( "ä¸ä¼ æå", true ); |
| | | } |
| | | } onerror { |
| | | WebMessageBox::Error( e.GeneralInformation(), true ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelMaterialExportAndImport_136/ButtonSynchronizeInventoryTargets |
| | | Response OnClick () id:Response_PanelMaterialExportAndImport_136_ButtonSynchronizeInventoryTargets_OnClick |
| | | { |
| | | #keys: '[414702.0.141615322]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | WebMessageBox::Success( "忥æå", true ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelMaterial/DataHolderCheckedMaterials |
| | | Response OnDataChanged () id:Response_PanelMaterial_DataHolderCheckedMaterials_OnDataChanged |
| | | { |
| | | #keys: '[414702.0.136147695]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //traverse ( this.Data(), Elements, e ) { |
| | | // info( "éä¸çç©æå·ï¼", e.MatCode() ); |
| | | //} |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormMaterialLabelingAndPlanningStrategy |
| | | { |
| | | #keys: '[414702.0.120950329]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: PanelMaterialLabelingAndPlanningStrategy |
| | | ] |
| | | Properties: |
| | | [ |
| | | Description: 'ç©ææ ç¾&计åçç¥è¡¨å' |
| | | Image: 'PAPER_ROLL' |
| | | Title: 'Material labeling&planning strategy' |
| | | ] |
| | | } |