Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev-zlg
已修改32个文件
已添加10个文件
已删除3个文件
| | |
| | | TextBody: |
| | | [* |
| | | code := respJSON.Get( "code" ).GetNumber(); |
| | | archiveFileJSONs := respJSON.Get( "archiveFiles" ); |
| | | archiveFileJSONs := guard( respJSON.Get( "archiveFiles" ),JSON::Array().Build() ); |
| | | //info( archiveFileJSONs.AsString() ); |
| | | |
| | | if ( code = 200 or code = 201 ) { |
| | |
| | | priority := 1 ; |
| | | }else if( element.LikeUserLocale( "<name>产线</name>" )){ |
| | | priority := 2 ; |
| | | }else if( element.LikeUserLocale( "<name>Attribute</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name> </name>" )){ |
| | | priority := 3 ; |
| | | }else if( element.LikeUserLocale( "<name>产å°</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>Attribute</name>" )){ |
| | | priority := 4 ; |
| | | }else if( element.LikeUserLocale( "<name>车å</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>产å°</name>" )){ |
| | | priority := 5 ; |
| | | }else if( element.LikeUserLocale( "<name>å卿ºé¶ä»¶å·</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>车å</name>" )){ |
| | | priority := 6 ; |
| | | }else if( element.LikeUserLocale( "<name>å卿ºåä½ç </name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>å卿ºé¶ä»¶å·</name>" )){ |
| | | priority := 7 ; |
| | | }else if( element.LikeUserLocale( "<name>ç产天æ°</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>å卿ºåä½ç </name>" )){ |
| | | priority := 8 ; |
| | | }else if( element.LikeUserLocale( "<name>å ç/æ¬ å·¥æ¶é¿</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>ç产天æ°</name>" )){ |
| | | priority := 9 ; |
| | | }else if( element.LikeUserLocale( "<name>å¹³æ¥å çæ¶é¿</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>å ç/æ¬ å·¥æ¶é¿</name>" )){ |
| | | priority := 10 ; |
| | | }else if( element.LikeUserLocale( "<name>伿¯æ¥å çæ¶é¿</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>å¹³æ¥å çæ¶é¿</name>" )){ |
| | | priority := 11 ; |
| | | }else if( element.LikeUserLocale( "<name>è忥å çæ¶é¿</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>伿¯æ¥å çæ¶é¿</name>" )){ |
| | | priority := 12 ; |
| | | }else if( element.LikeUserLocale( "<name>æ¬ å·¥æ¶é¿</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>è忥å çæ¶é¿</name>" )){ |
| | | priority := 13 ; |
| | | }else if( element.LikeUserLocale( "<name>å ç/æ¬ å·¥è´¹</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>æ¬ å·¥æ¶é¿</name>" )){ |
| | | priority := 14 ; |
| | | }else if( element.LikeUserLocale( "<name>å¹³æ¥å çè´¹</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>å ç/æ¬ å·¥è´¹</name>" )){ |
| | | priority := 15 ; |
| | | }else if( element.LikeUserLocale( "<name>伿¯æ¥å çè´¹</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>å¹³æ¥å çè´¹</name>" )){ |
| | | priority := 16 ; |
| | | }else if( element.LikeUserLocale( "<name>è忥å çè´¹</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>伿¯æ¥å çè´¹</name>" )){ |
| | | priority := 17 ; |
| | | }else if( element.LikeUserLocale( "<name>æ¬ å·¥è´¹</name>" )){ |
| | | }else if( element.LikeUserLocale( "<name>è忥å çè´¹</name>" )){ |
| | | priority := 18 ; |
| | | }else if( element.LikeUserLocale( "<name>æ¬ å·¥è´¹</name>" )){ |
| | | priority := 19 ; |
| | | }else{ |
| | | // <column><name>2020/04/01</name> |
| | | priority := [Number]element.SubString( 14,10 ).ReplaceAll( "/","") ; |
| | |
| | | }onerror{ |
| | | info( element ); |
| | | } |
| | | |
| | | } |
| | | *] |
| | | } |
| | |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,CustomIndex := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,CustomIndex := 2); |
| | | |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,CustomIndex := 3); |
| | | column3 := table.LocalColumn( relnew,CustomName := "ç产天æ°" ,CustomIndex := 3); |
| | | |
| | | column4 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥æ¶é¿" ,CustomIndex := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,CustomIndex := 6); |
| | | column4 := table.LocalColumn( relnew,CustomName := "å ç/æ¬ å·¥æ¶é¿" ,CustomIndex := 4); |
| | | column5 := table.LocalColumn( relnew,CustomName := "è忥å çæ¶é¿" ,CustomIndex := 6); |
| | | |
| | | column6 := table.LocalColumn( relnew,Name := "å ç/æ¬ å·¥è´¹" ,CustomIndex := 8); |
| | | column7 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,CustomIndex := 10); |
| | | column6 := table.LocalColumn( relnew,CustomName := "å ç/æ¬ å·¥è´¹" ,CustomIndex := 8); |
| | | column7 := table.LocalColumn( relnew,CustomName := "è忥å çè´¹" ,CustomIndex := 10); |
| | | |
| | | units := selectset( shiftPlans,Elements.UnitPeriodTime.Unit,unit,true ); |
| | | |
| | |
| | | // chanxianxCell := LocalCell_Default::GetCell( rowKey + column2.Name(), cellIndexTree, cells, row, column2 ); |
| | | |
| | | // 工使¥ |
| | | workingDayCell := LocalCell_Default::GetCell( rowKey + column3.Name(), cellIndexTree, cells, row, column3 ); |
| | | workingDayCell := LocalCell_Default::GetCell( rowKey + column3.CustomName(), cellIndexTree, cells, row, column3 ); |
| | | // è忥å ç |
| | | holidayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column5.Name(), cellIndexTree, cells, row, column5 ); |
| | | holidayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column5.CustomName(), cellIndexTree, cells, row, column5 ); |
| | | // 伿¯æ¥å ç |
| | | breakDayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column4.Name(), cellIndexTree, cells, row, column4 ); |
| | | breakDayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column4.CustomName(), cellIndexTree, cells, row, column4 ); |
| | | // å¹³æ¶å ç |
| | | defaultDayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column4.Name(), cellIndexTree, cells, row, column4 ); |
| | | defaultDayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column4.CustomName(), cellIndexTree, cells, row, column4 ); |
| | | |
| | | if( shiftPlan.Outcome() <> "" ){ |
| | | workingDayCell.RealValue( workingDayCell.RealValue() + 1 ); |
| | |
| | | } |
| | | }else{ |
| | | if( not shiftPlan.IsHoliday() and not ( shiftPlan.DefaultRemark().LikeUserLocale( "å¨å
" ) or shiftPlan.DefaultRemark().LikeUserLocale( "卿¥" ) )){ |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column4.Name(), cellIndexTree, cells, row, column4 ); |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column4.CustomName(), cellIndexTree, cells, row, column4 ); |
| | | qiangongCell.RealValue( qiangongCell.RealValue() - 8 ); |
| | | } |
| | | } |
| | |
| | | rowKey := row.CustomName(); |
| | | 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 + column7.Name(), cellIndexTree, cells, row, column7 ); |
| | | jiejiariCell := LocalCell_Default::GetCell( rowKey + column5.CustomName(), cellIndexTree, cells, row, column5 ); |
| | | jiejiarifeiCell := LocalCell_Default::GetCell( rowKey + column7.CustomName(), cellIndexTree, cells, row, column7 ); |
| | | jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,holidayMultiplier,jiejiariCell.RealValue())); |
| | | |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column4.Name(), cellIndexTree, cells, row, column4 ); |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column4.CustomName(), cellIndexTree, cells, row, column4 ); |
| | | qiangongCell.RealValue( qiangongCell.RealValue() - 8 ); |
| | | |
| | | qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column6.Name(), cellIndexTree, cells, row, column6 ); |
| | | qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column6.CustomName(), cellIndexTree, cells, row, column6 ); |
| | | qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,qiangongCell.RealValue() )); |
| | | } |
| | | |
| | |
| | | //column1 := table.LocalColumn( relnew,Name := "å·¥å" ,CustomIndex := 1); |
| | | //column2 := table.LocalColumn( relnew,Name := "产线" ,CustomIndex := 2); |
| | | |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ,CustomIndex := 3); |
| | | column3 := table.LocalColumn( relnew,CustomName := "ç产天æ°" ,CustomIndex := 3); |
| | | |
| | | column4 := table.LocalColumn( relnew,Name := "å¹³æ¥å çæ¶é¿" ,CustomIndex := 4); |
| | | column5 := table.LocalColumn( relnew,Name := "伿¯æ¥å çæ¶é¿" ,CustomIndex := 5); |
| | | column6 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ,CustomIndex := 6); |
| | | column7 := table.LocalColumn( relnew,Name := "æ¬ å·¥æ¶é¿" ,CustomIndex := 7); |
| | | column4 := table.LocalColumn( relnew,CustomName := "å¹³æ¥å çæ¶é¿" ,CustomIndex := 4); |
| | | column5 := table.LocalColumn( relnew,CustomName := "伿¯æ¥å çæ¶é¿" ,CustomIndex := 5); |
| | | column6 := table.LocalColumn( relnew,CustomName := "è忥å çæ¶é¿" ,CustomIndex := 6); |
| | | column7 := table.LocalColumn( relnew,CustomName := "æ¬ å·¥æ¶é¿" ,CustomIndex := 7); |
| | | |
| | | column8 := table.LocalColumn( relnew,Name := "å¹³æ¥å çè´¹" ,CustomIndex := 8); |
| | | column9 := table.LocalColumn( relnew,Name := "伿¯æ¥å çè´¹" ,CustomIndex := 9); |
| | | column10 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ,CustomIndex := 10); |
| | | column11 := table.LocalColumn( relnew,Name := "æ¬ å·¥è´¹" ,CustomIndex := 11); |
| | | column8 := table.LocalColumn( relnew,CustomName := "å¹³æ¥å çè´¹" ,CustomIndex := 8); |
| | | column9 := table.LocalColumn( relnew,CustomName := "伿¯æ¥å çè´¹" ,CustomIndex := 9); |
| | | column10 := table.LocalColumn( relnew,CustomName := "è忥å çè´¹" ,CustomIndex := 10); |
| | | column11 := table.LocalColumn( relnew,CustomName := "æ¬ å·¥è´¹" ,CustomIndex := 11); |
| | | |
| | | units := selectset( shiftPlans,Elements.UnitPeriodTime.Unit,unit,true ); |
| | | |
| | |
| | | // gongchangCell := LocalCell_Default::GetCell( rowKey + column1.Name(), cellIndexTree, cells, row, column1 ); |
| | | // chanxianxCell := LocalCell_Default::GetCell( rowKey + column2.Name(), cellIndexTree, cells, row, column2 ); |
| | | // 工使¥ |
| | | workingDayCell := LocalCell_Default::GetCell( rowKey + column3.Name(), cellIndexTree, cells, row, column3 ); |
| | | workingDayCell := LocalCell_Default::GetCell( rowKey + column3.CustomName(), cellIndexTree, cells, row, column3 ); |
| | | // è忥å ç |
| | | holidayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column6.Name(), cellIndexTree, cells, row, column6 ); |
| | | holidayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column6.CustomName(), cellIndexTree, cells, row, column6 ); |
| | | // 伿¯æ¥å ç |
| | | breakDayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column5.Name(), cellIndexTree, cells, row, column5 ); |
| | | breakDayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column5.CustomName(), cellIndexTree, cells, row, column5 ); |
| | | // å¹³æ¶å ç |
| | | defaultDayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column4.Name(), cellIndexTree, cells, row, column4 ); |
| | | |
| | | defaultDayOvertimeHourCell := LocalCell_Default::GetCell( rowKey + column4.CustomName(), cellIndexTree, cells, row, column4 ); |
| | | |
| | | if( shiftPlan.Outcome() <> "" ){ |
| | | workingDayCell.RealValue( workingDayCell.RealValue() + 1 ); |
| | | if( shiftPlan.IsHoliday() ){ |
| | |
| | | } |
| | | }else{ |
| | | if( not shiftPlan.IsHoliday() and not ( shiftPlan.DefaultRemark().LikeUserLocale( "å¨å
" ) or shiftPlan.DefaultRemark().LikeUserLocale( "卿¥" ) )){ |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column7.Name(), cellIndexTree, cells, row, column7 ); |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column7.CustomName(), cellIndexTree, cells, row, column7 ); |
| | | qiangongCell.RealValue( qiangongCell.RealValue() + 8 ); |
| | | } |
| | | } |
| | |
| | | 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 ); |
| | | jiejiariCell := LocalCell_Default::GetCell( rowKey + column6.CustomName(), cellIndexTree, cells, row, column6 ); |
| | | jiejiarifeiCell := LocalCell_Default::GetCell( rowKey + column10.CustomName(), cellIndexTree, cells, row, column10 ); |
| | | 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 ); |
| | | xiuxiCell := LocalCell_Default::GetCell( rowKey + column5.CustomName(), cellIndexTree, cells, row, column5 ); |
| | | xiuxifeiCell := LocalCell_Default::GetCell( rowKey + column9.CustomName(), 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 ); |
| | | jiabanCell := LocalCell_Default::GetCell( rowKey + column4.CustomName(), cellIndexTree, cells, row, column4 ); |
| | | jiabanfeiCell := LocalCell_Default::GetCell( rowKey + column8.CustomName(), cellIndexTree, cells, row, column8 ); |
| | | jiabanfeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier ,jiabanCell.RealValue())); |
| | | |
| | | // æ¬ å·¥è´¹ |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column7.Name(), cellIndexTree, cells, row, column7 ); |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + column7.CustomName(), cellIndexTree, cells, row, column7 ); |
| | | qiangongCell.RealValue( qiangongCell.RealValue() - 8 ); |
| | | |
| | | qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column11.Name(), cellIndexTree, cells, row, column11 ); |
| | | qiangongfeiCell := LocalCell_Default::GetCell( rowKey + column11.CustomName(), cellIndexTree, cells, row, column11 ); |
| | | qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,qiangongMultiplier,qiangongCell.RealValue() )); |
| | | |
| | | |
| | | // 工使¥ |
| | | workingDayCell := LocalCell_Default::GetCell( rowKey + column3.Name(), cellIndexTree, cells, row, column3 ); |
| | | workingDayCell := LocalCell_Default::GetCell( rowKey + column3.CustomName(), cellIndexTree, cells, row, column3 ); |
| | | workingDayCell.RealValue( workingDayCell.RealValue() ); |
| | | } |
| | | |
| | |
| | | cells := selectsortedset( column, LocalCell.astype( LocalCell_Default ), cell, |
| | | exists( rows,Elements,element,element = cell.LocalRow()), cell.LocalRow().Index()); |
| | | if( type = "data" ){ |
| | | columnXML := "<column><name>" + column.Name() + "</name><type>String</type>"; |
| | | columnXML := "<column><name>" + column.Name() + "</name><type>Number</type>"; |
| | | traverse ( cells, Elements, cell ) { |
| | | cellXML := '<cell value="' + cell.RealValue().Format( "N(Dec)" ) + '"/>' |
| | | columnXML := columnXML + cellXML; |
| | |
| | | columnXML := columnXML + "</column>"; |
| | | } |
| | | if( type = "attribute" ){ |
| | | columnXML1 := "<column><name>产线</name><type>String</type>"; |
| | | columnXML1 := "<column><name> </name><type>String</type>"; |
| | | traverse ( cells, Elements, cell ) { |
| | | cellXML := '<cell value="' + cell.LocalRow().Name() + '"/>' |
| | | columnXML1 := columnXML1 + cellXML; |
| | |
| | | // 2023/01/01 |
| | | index := [Number]generalColumn.Name().ReplaceAll( "/", "" ); |
| | | } |
| | | column := localTable.LocalColumn( relnew, Name := generalColumn.Name(),CustomIndex := index ); |
| | | column := localTable.LocalColumn( relnew, CustomName := generalColumn.Name(),CustomIndex := index ); |
| | | columns.Add( column ); |
| | | columnTree.Root().AddChild( tempHandle,columns.Size() - 1 ); |
| | | } |
| | |
| | | localRowHandle := localRowIndexTree.GetHandle( rowKey ); |
| | | localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); |
| | | if( isnull( localRowIndex )){ |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),CustomName := row.ProductID(),Remark := rowKey ); |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),ProductID := row.ProductID(),CustomName := row.ProductID() + " > " + row.ProductionLine(),Remark := rowKey ); |
| | | localRows.Add( localRow ); |
| | | localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); |
| | | } |
| | |
| | | localRowHandle := localRowIndexTree.GetHandle( rowKey ); |
| | | localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); |
| | | if( isnull( localRowIndex )){ |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),CustomName := row.ProductID(),Remark := rowKey ); |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),ProductID := row.ProductID(),CustomName := row.ProductID() + " > " + row.ProductionLine(),Remark := rowKey ); |
| | | localRows.Add( localRow ); |
| | | localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | traverse( table,MP_Column,column,column.MP_Cell( relsize ) = 0 ){ |
| | | column.Delete(); |
| | | } |
| | | |
| | | |
| | | return table; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute CustomName |
| | | { |
| | | #keys: '3[414996.1.141371567][414996.1.141371566][414996.1.141371568]' |
| | | ValueType: String |
| | | } |
| | |
| | | [* |
| | | // rislai Jun-28-2024 (created) |
| | | if( not this.IsAttrbuteColumn() ){ |
| | | names := this.Name().Tokenize( "/" ); |
| | | names := this.CustomName().Tokenize( "/" ); |
| | | this.Date( ifexpr( this.CustomDate() <> Date::MinDate(),this.CustomDate(),guard( Date::Construct( [Number]names.Element( 0 ),[Number]names.Element( 1 ),[Number]names.Element( 2 )),Date::MinDate() ))); |
| | | } |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcName |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Akari Oct-16-2024 (created) |
| | | |
| | | value := ifexpr( this.CustomName() <> "", this.CustomName(),this.Date().Format( "Y/M2/D2")) |
| | | |
| | | this.Name( value ); |
| | | *] |
| | | } |
| | |
| | | columnIndex := guard( columnIndexTree.Root().Child( columnHandle ),null( NamedValue )); |
| | | if( not isnull( columnIndex )){ |
| | | column := columns.Element( columnIndex.GetValueAsNumber() ); |
| | | |
| | | row.MP_Cell( relnew,MP_Cell_AnnualPlanReport,MP_Column := column ,NewSupply := pispippl.NewSupplyQuantity()); |
| | | } |
| | | } |
| | |
| | | startDate := minselect( tables,Elements.MP_Column,column,column.CustomDate() ).CustomDate(); |
| | | endDate := maxselect( tables,Elements.MP_Column,column,column.CustomDate() ).CustomDate(); |
| | | |
| | | localCells := construct( LocalCell_Defaults ); |
| | | localCellIndexTree := NamedValueTree::Create(); |
| | | |
| | | localRows := construct( LocalRows ); |
| | | localRowIndexTree := NamedValueTree::Create(); |
| | | localColumns := construct( LocalColumns ); |
| | | localColumnIndexTree := NamedValueTree::Create(); |
| | | for( i := startDate; i <= endDate; i := i + 1 ){ |
| | |
| | | localColumnIndexTree.Root().AddChild( localColumnHandle,localColumns.Size() - 1 ); |
| | | } |
| | | traverse( tables,Elements.MP_Row,row ){ |
| | | localRow := localTable.LocalRow( relnew,CustomName := row.Name(),ProductID := row.ProductID(),StockingPointID := row.StockingPointID(),Index := localTable.GetRowIndexCache() ); |
| | | localRowHandle := localRowIndexTree.GetHandle( row.ProductID() + row.StockingPointID() ); |
| | | localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); |
| | | localRow := null( LocalRow ); |
| | | if( isnull( localRowIndex )){ |
| | | localRow := localTable.LocalRow( relnew,CustomName := row.Name(),ProductID := row.ProductID(),StockingPointID := row.StockingPointID(),Index := localTable.GetRowIndexCache() ); |
| | | localRows.Add( localRow ); |
| | | localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); |
| | | }else{ |
| | | localRow := localRows.Element( localRowIndex.GetValueAsNumber() ); |
| | | } |
| | | |
| | | traverse( row,MP_Cell.astype( MP_Cell_AnnualPlanReport ),cell ){ |
| | | localColumnHandle := localColumnIndexTree.GetHandle( cell.MP_Column().Date().AsQUILL() ); |
| | | localColumnIndex := guard( localColumnIndexTree.Root().Child( localColumnHandle ),null( NamedValue )); |
| | |
| | | localColumn := localColumns.Element( localColumnIndex.GetValueAsNumber() ); |
| | | localCell := localRow.LocalCell( relnew,LocalCell_Default,LocalColumn := localColumn ); |
| | | localCell.RealValue( cell.NewSupply() ); |
| | | |
| | | localCellHandle := localCellIndexTree.GetHandle( localRow.ProductID() + localRow.StockingPointID() + localColumn.CustomDate().AsQUILL() + localColumn.TimeUnit() ); |
| | | localCells.Add( localCell ); |
| | | localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | owner := maxselect( owners,Elements,element,element.StartOfPlanning() ); |
| | | traverse( owner,Product_MP.ProductInStockingPoint_MP,pisp_mp ){ |
| | | pispippls := selectset( pisp_mp,ProductInStockingPointInPeriod.astype( ProductInStockingPointInPeriodPlanningLeaf ),pispippl, |
| | | pispippl.Period_MP().StartDate() > endDate |
| | | and pispippl.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day()); |
| | | if( pispippls.Size() <> 0 ){ |
| | | localRowHandle := localRowIndexTree.GetHandle( pisp_mp.ProductID() + pisp_mp.StockingPointID() ); |
| | | localRowIndex := guard( localRowIndexTree.Root().Child( localRowHandle ),null( NamedValue )); |
| | | localRow := null( LocalRow ); |
| | | if( isnull( localRowIndex )){ |
| | | localRow := localTable.LocalRow( relnew,CustomName := pisp_mp.Name(),ProductID := pisp_mp.ProductID(),StockingPointID := pisp_mp.StockingPointID(),Index := localTable.GetRowIndexCache() ); |
| | | localRows.Add( localRow ); |
| | | localRowIndexTree.Root().AddChild( localRowHandle,localRows.Size() - 1 ); |
| | | }else{ |
| | | localRow := localRows.Element( localRowIndex.GetValueAsNumber() ); |
| | | } |
| | | traverse( pispippls,Elements,pispippl ){ |
| | | columnHandle := localColumnIndexTree.GetHandle( pispippl.Period_MP().StartDate().AsQUILL() ); |
| | | columnIndex := guard( localColumnIndexTree.Root().Child( columnHandle ),null( NamedValue )); |
| | | if( not isnull( columnIndex )){ |
| | | column := localColumns.Element( columnIndex.GetValueAsNumber() ); |
| | | localCell := localRow.LocalCell( relnew,LocalCell_Default,LocalColumn := column ); |
| | | localCell.RealValue( pispippl.NewSupplyQuantity() ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | traverse( localTable,LocalRow,row ){ |
| | | traverse( localTable,LocalColumn,column,column.TimeUnit() = "Week" ){ |
| | | value := sum( row,LocalCell.astype( LocalCell_Default ),cell, |
| | | cell.LocalColumn().TimeUnit() = "Day" and |
| | | cell.LocalColumn().CustomDate() >= column.CustomDate() and |
| | | cell.LocalColumn().CustomDate() < column.CustomDate().StartOfNextWeek(),cell.RealValue()); |
| | | row.LocalCell( relnew,LocalCell_Default,LocalColumn := column,RealValue := value ); |
| | | localCell := row.LocalCell( relnew,LocalCell_Default,LocalColumn := column,RealValue := value ); |
| | | |
| | | localCellHandle := localCellIndexTree.GetHandle( row.ProductID() + row.StockingPointID() + column.CustomDate().AsQUILL() + column.TimeUnit() ); |
| | | localCells.Add( localCell ); |
| | | localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 ); |
| | | } |
| | | traverse( localTable,LocalColumn,column,column.TimeUnit() = "Month" ){ |
| | | value := sum( row,LocalCell.astype( LocalCell_Default ),cell, |
| | | cell.LocalColumn().TimeUnit() = "Day" and |
| | | cell.LocalColumn().CustomDate() >= column.CustomDate() and |
| | | cell.LocalColumn().CustomDate() < column.CustomDate().StartOfNextMonth(),cell.RealValue()); |
| | | row.LocalCell( relnew,LocalCell_Default,LocalColumn := column,RealValue := value ); |
| | | localCell := row.LocalCell( relnew,LocalCell_Default,LocalColumn := column,RealValue := value ); |
| | | |
| | | localCellHandle := localCellIndexTree.GetHandle( row.ProductID() + row.StockingPointID() + column.CustomDate().AsQUILL() + column.TimeUnit() ); |
| | | localCells.Add( localCell ); |
| | | localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 ); |
| | | } |
| | | } |
| | | |
| | | traverse( localTable,LocalColumn,column,column.LocalCell( relsize ) = 0 ){ |
| | | column.Delete(); |
| | | } |
| | | |
| | | //traverse( localTable,LocalRow,row ){ |
| | | // traverse( localTable,LocalColumn,column ){ |
| | | // localCellHandle := localCellIndexTree.GetHandle( row.ProductID() + row.StockingPointID() + column.CustomDate().AsQUILL() + column.TimeUnit() ); |
| | | // localCellIndex := guard( localCellIndexTree.Root().Child( localCellHandle ),null( NamedValue )); |
| | | // if( isnull( localCellIndex )){ |
| | | // localCell := row.LocalCell( relnew,LocalCell_Default,LocalColumn := column,RealValue := 0.0 ); |
| | | // localCells.Add( localCell ); |
| | | // localCellIndexTree.Root().AddChild( localCellHandle,localCells.Size() - 1 ); |
| | | // } |
| | | // } |
| | | //} |
| | | |
| | | return localTable; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateMP_Tables_AnnualPlanReport ( |
| | | const MacroPlans owners |
| | | ) as owning MP_Tables |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Akari Aug-19-2024 (created) |
| | | tables := construct( MP_Tables ); |
| | | traverse( owners,Elements,owner ,owner.MDSMacroPlan().Description().LikeUserLocale( "è®¡åæ±æ»" )){ |
| | | table := select( owner,MP_Table,table,table.Name() = MP_Cell_AnnualPlanReport::GetTableName() ); |
| | | if( not isnull( table )){ |
| | | table.Delete(); |
| | | } |
| | | table := MP_Cell_AnnualPlanReport::Create( owner ); |
| | | tables.Add( table ); |
| | | } |
| | | return &tables; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod CreateMP_Tables_ScheduleSummary ( |
| | | const MacroPlans owners |
| | | ) as owning MP_Tables |
| | | { |
| | | TextBody: |
| | | [* |
| | | // Akari Aug-19-2024 (created) |
| | | tables := construct( MP_Tables ); |
| | | traverse( owners,Elements,owner ,owner.MDSMacroPlan().Description().LikeUserLocale( "è®¡åæ±æ»" )){ |
| | | table := select( owner,MP_Table,table,table.Name() = MP_Cell_ScheduleSummary::GetTableName() ); |
| | | if( not isnull( table )){ |
| | | table.Delete(); |
| | | } |
| | | table := MP_Cell_ScheduleSummary::Create( owner ); |
| | | tables.Add( table ); |
| | | } |
| | | return &tables; |
| | | *] |
| | | } |
| | |
| | | [* |
| | | // Akari Aug-19-2024 (created) |
| | | tables := construct( MP_Tables ); |
| | | traverse( owners,Elements,owner ){ |
| | | traverse( owners,Elements,owner ,owner.MDSMacroPlan().Description().LikeUserLocale( "è®¡åæ±æ»" )){ |
| | | table := select( owner,MP_Table,table,table.Name() = MP_Cell_AnnualPlanReport::GetTableName() ); |
| | | if( isnull( table )){ |
| | | table := MP_Cell_AnnualPlanReport::Create( owner ); |
| | |
| | | [* |
| | | // Akari Aug-19-2024 (created) |
| | | tables := construct( MP_Tables ); |
| | | traverse( owners,Elements,owner ){ |
| | | traverse( owners,Elements,owner ,owner.MDSMacroPlan().Description().LikeUserLocale( "è®¡åæ±æ»" )){ |
| | | table := select( owner,MP_Table,table,table.Name() = MP_Cell_ScheduleSummary::GetTableName() ); |
| | | if( isnull( table )){ |
| | | table := MP_Cell_ScheduleSummary::Create( owner ); |
| | |
| | | |
| | | traverse( this,NewOfflinePlanRow,row,row.Type() = "1" ){ |
| | | productID := row.ProductID(); |
| | | // productLine := row.ProductionLine(); |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),CustomName := productID ); |
| | | productLine := row.ProductionLine(); |
| | | localRow := table.LocalRow( relnew,Index := table.GetRowIndexCache(),CustomName := productID + " > " + productLine,ProductID := productID ); |
| | | traverse( row,NewOfflinePlanCell,cell,cell.NewOfflinePlanColumn().StartDate() >= macroPlan.StartOfPlanning().Date() ){ |
| | | localColumnHandle := localColumnIndexTree.GetHandle( cell.NewOfflinePlanColumn().StartDate().AsQUILL() ); |
| | | localColumnIndex := guard( localColumnIndexTree.Root().Child( localColumnHandle ),null( NamedValue )); |
| | |
| | | // åå»ºè¡ |
| | | ppr := select( macroPlan, PackagingPlanRow, tempPPR, tempPPR.ProductID() = pisp.ProductID() and tempPPR.Factory() = factory ); |
| | | if ( isnull( ppr ) ) { |
| | | ppr := macroPlan.PackagingPlanRow( relnew, ProductID := pisp.ProductID(), StockingPointID := pisp.StockingPointID(), Factory := factory, Category := guard( pisp.Product_MP().ParentID(), "" ) ); |
| | | ppr := macroPlan.PackagingPlanRow( relnew, ProductID := pisp.ProductID(), Factory := factory, Category := guard( pisp.Product_MP().ParentID(), "" ) ); |
| | | } |
| | | |
| | | // åºåå°åºåç¹Trip |
| | | originTrips := selectset( macroPlan, Unit.Lane.LaneLeg.Trip, tempT, tempT.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID().Regex( factoryAbbreviation ) and |
| | | TransferPlanRow::IdentifyTheFactory( tempT.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ) <> TransferPlanRow::IdentifyTheFactory( tempT.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ) ); |
| | | // ç®çå°åºåç¹Trip |
| | | destinationTrips := selectset( macroPlan, Unit.Lane.LaneLeg.Trip, tempT, tempT.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID().Regex( factoryAbbreviation ) and |
| | | TransferPlanRow::IdentifyTheFactory( tempT.LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ) <> TransferPlanRow::IdentifyTheFactory( tempT.LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ) ); |
| | | |
| | | // 循ç¯pispippl |
| | | traverse ( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispipl, not pispipl.IsPeriodFrozen() ) { |
| | |
| | | cell := select( ppr, PackagingPlanCell, tempPPCell, tempPPCell.PackagingPlanColumn() = ppc ); |
| | | if ( isnull( cell ) ) { |
| | | cell := ppr.PackagingPlanCell( relnew ); |
| | | cell.NetDemand( pispipl.DependentDemandAndSalesDemandQuantity() - pispipl.NewSupplyQuantity() ); |
| | | cell.NetDemand( pispipl.InventoryLevelEnd() + pispipl.NewSupplyQuantity() - pispipl.DependentDemandAndSalesDemandQuantity() ); |
| | | cell.EndingInventory( pispipl.InventoryLevelEnd() ); |
| | | cell.PackagingPlanColumn( relset, ppc ); |
| | | } else { |
| | | cell.NetDemand( cell.NetDemand() + ( pispipl.DependentDemandAndSalesDemandQuantity() - pispipl.NewSupplyQuantity() ) ); |
| | | cell.NetDemand( cell.NetDemand() + ( pispipl.InventoryLevelEnd() + pispipl.NewSupplyQuantity() - pispipl.DependentDemandAndSalesDemandQuantity() ) ); |
| | | cell.EndingInventory( cell.EndingInventory() + pispipl.InventoryLevelEnd() ); |
| | | } |
| | | |
| | | // 设置è°åº |
| | | outs := selectset( originTrips, Elements, tempT, tempT.Departure().Date() = pispipl.Start().Date() ); |
| | | traverse ( outs, Elements.ProductInTrip, outPIT, outPIT.ProductID() = pisp.ProductID() ) { |
| | | cell.Out( cell.Out() + outPIT.Quantity() ); |
| | | traverse ( pispipl, AsDeparturePISPIP, pit, |
| | | pit.Quantity() > 0 and |
| | | pit.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID().Regex( factoryAbbreviation ) and |
| | | TransferPlanRow::IdentifyTheFactory( pit.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ) <> TransferPlanRow::IdentifyTheFactory( pit.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ) |
| | | ) |
| | | { |
| | | cell.Out( cell.Out() + pit.Quantity() ); |
| | | } |
| | | |
| | | // 设置è°è¿ |
| | | transferIns := selectset( destinationTrips, Elements, tempT, tempT.Arrival().Date() = pispipl.Start().Date() ); |
| | | traverse ( transferIns, Elements.ProductInTrip, tiPIT, tiPIT.ProductID() = pisp.ProductID() ) { |
| | | cell.TransferIn( cell.TransferIn() + tiPIT.Quantity() ); |
| | | traverse ( pispipl, AsArrivalPISPIP, pit, |
| | | pit.Quantity() > 0 and |
| | | pit.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID().Regex( factoryAbbreviation ) and |
| | | TransferPlanRow::IdentifyTheFactory( pit.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP() ) <> TransferPlanRow::IdentifyTheFactory( pit.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP() ) |
| | | ) |
| | | { |
| | | cell.TransferIn( cell.TransferIn() + pit.Quantity() ); |
| | | } |
| | | |
| | | // é¿æ¥å·¥åç¹æ®æ
åµè®¾ç½®å
è£
åºååéå
è£
åºå |
| | |
| | | Transaction::Transaction().Propagate( relation( PackagingPlanCell, Next ) ); |
| | | |
| | | // 设置å
è£
&æå
-æ°é |
| | | PackagingPlanCell::SetPackagingAndUnpackingValues( macroPlan ); |
| | | //traverse ( macroPlan, PackagingPlanRow, ppr, ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Bosch" ) or ( ppr.ProductID() = "Windshield" and ppr.StockingPointID() = "Components (Spain)" ) ) { |
| | | // traverse ( ppr, PackagingPlanCell, ppc/*, ppc.StartDate() = Date::Construct( 2020, 4, 1 )*/ ) { |
| | | // // 设置å
è£
æ°é |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod SetPackagingAndUnpackingValues ( |
| | | MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // 设置å
è£
å¼ï¼ç¬¦ålotsizeå䏿¥æå¤§å
è£
éï¼ |
| | | traverse ( macroPlan, PackagingPlanRow, ppr, ppr.Factory() = "大è¿å·¥å" and ppr.ProductID() = "06K103011CM" ) { |
| | | traverse ( ppr, PackagingPlanCell, ppcell, ppcell.StartDate() <= Date::Construct( 2025, 1, 3 ) ) { |
| | | // Product_MP |
| | | pmp := select( macroPlan, Product_MP, tempPMP, tempPMP.IsLeaf() and tempPMP.ID() = ppr.ProductID() ); |
| | | // å
è£
lotsize |
| | | ppls := select( macroPlan, PackagingPlanLotSize, tempPPLS, tempPPLS.Factory() = ppr.Factory() and |
| | | tempPPLS.ProductID() = ifexpr( exists( macroPlan, PackagingPlanLotSize, tempPPLS1, tempPPLS1.ProductID() = pmp.ID() ), |
| | | pmp.ID(), |
| | | pmp.ParentID() ) ); |
| | | // 䏿¥å
è£
容é |
| | | ppnc := select( macroPlan, PackagingPlanNewCapability, tempPPNC, tempPPNC.Factory() = ppr.Factory() and |
| | | tempPPNC.ProductID() = ifexpr( exists( macroPlan, PackagingPlanNewCapability, tempPPNC1, tempPPNC1.ProductID() = pmp.ID() ), |
| | | pmp.ID(), |
| | | pmp.ParentID() ) ); |
| | | // Unit |
| | | u := select( macroPlan, Unit, tempU, tempU.ID().Regex( ppr.FactoryAbbreviation() + " " + ppr.Category() ) ); |
| | | |
| | | // å
è£
åºååºç°è´å¼ï¼éè¦è®¾ç½®å
è£
é |
| | | if ( ppcell.PackagingInventory() < 0 and not isnull( ppls ) and not isnull( ppnc ) ) { |
| | | // éè¦å
è£
çæ°é |
| | | needPackagingQuantity := abs( ppcell.PackagingInventory() ).Round( 0 ); |
| | | // å
è£
å¼å§çç´¢å¼ |
| | | indexPPCell := ppcell.Previous(); |
| | | |
| | | info( "产线åï¼", u.ID(), " å¼å§æ¶é´ï¼", ppcell.StartDate().Format( "Y-M2-D2" ), " å
è£
åºåæ°éï¼", ppcell.PackagingInventory(), " éè¦å
è£
çæ°éï¼", needPackagingQuantity, |
| | | " å
è£
lotsizeï¼",guard( ppls.LotSize(), 0 ), " æå¤§å
è£
容éï¼", ppnc.MaximumDailyPackagingQuantity() ); |
| | | |
| | | while ( not isnull( indexPPCell ) and needPackagingQuantity > 0 ) { |
| | | // è½å
è£
çæ°é |
| | | canPackagingQuantity := ifexpr( ceil( needPackagingQuantity / ppls.LotSize() ) < floor( ppnc.MaximumDailyPackagingQuantity() / ppls.LotSize() ), |
| | | ceil( needPackagingQuantity / ppls.LotSize() ), |
| | | floor( ppnc.MaximumDailyPackagingQuantity() / ppls.LotSize() ) ) * ppls.LotSize(); |
| | | info( "å¼å§å
è£
çæ¥æï¼", indexPPCell.StartDate().Format( "Y-M2-D2" ), " è½å
è£
çæ°é:", canPackagingQuantity ); |
| | | |
| | | indexPPCell.Package( canPackagingQuantity ); |
| | | |
| | | needPackagingQuantity := needPackagingQuantity - canPackagingQuantity; |
| | | indexPPCell := indexPPCell.Previous(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 设置å
è£
å¼ï¼ç¬¦åå¤§ç±»ä¸ææäº§åå
è£
éå åä¸è½å¤§äºæå¤§å
è£
éï¼ |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Factory |
| | | { |
| | | #keys: '3[415754.0.412692725][415754.0.412692724][415754.0.412692726]' |
| | | Description: 'å·¥å' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductID |
| | | { |
| | | #keys: '3[415754.0.412692742][415754.0.412692741][415754.0.412692743]' |
| | | Description: '产åID' |
| | | ValueType: String |
| | | } |
| | |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslProductionLine |
| | | Component ddslFactory |
| | | { |
| | | #keys: '[413988.0.1596148502]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.ProductionLine' |
| | | DataBinding: 'DataHolderDialogData.Data.Factory' |
| | | Label: 'Production line' |
| | | Strings: '大è¿å·¥å;é¿æ¥å·¥å' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MaximumDailyPackagingQuantity' |
| | | Label: 'Maximum daily packaging quantity' |
| | | Taborder: 1 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component npMaximumDailyUnpackingQuantity |
| | |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.MaximumDailyUnpackingQuantity' |
| | | Label: 'Maximum daily unpacking quantity' |
| | | Taborder: 2 |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component ddslProductID |
| | | { |
| | | #keys: '[415754.0.415211304]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'DataHolderDialogData.Data.ProductID' |
| | | Label: 'Product ID' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not exists( MacroPlan, PackagingPlanNewCapability, tempPPNC, true, tempPPNC.ProductionLine() = ddslProductionLine.Text() ); |
| | | return not exists( MacroPlan, PackagingPlanNewCapability, tempPPNC, true, tempPPNC.ProductionLine() = ddslFactory.Text() ); |
| | | *] |
| | | QuillAction |
| | | { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlContent/ddslProductID |
| | | Response OnCreated () id:Response_pnlContent_ddslProductID_OnCreated |
| | | { |
| | | #keys: '[415754.0.415211358]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | pmpids := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.ID() ); |
| | | |
| | | this.Strings( pmpids.Concatenate( ";" ) ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductionLine","title":"ProductionLine","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductionLine"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumDailyPackagingQuantity","title":"MaximumDailyPackagingQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumDailyPackagingQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumDailyUnpackingQuantity","title":"MaximumDailyUnpackingQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumDailyUnpackingQuantity"}}]' |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Factory","title":"Factory","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Factory"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumDailyPackagingQuantity","title":"MaximumDailyPackagingQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumDailyPackagingQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumDailyUnpackingQuantity","title":"MaximumDailyUnpackingQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumDailyUnpackingQuantity"}}]' |
| | | ContextMenu: 'cmContent' |
| | | Taborder: 2 |
| | | ] |
| | |
| | | [ |
| | | DataType: 'LocalTable' |
| | | FilterArguments: 'checkedProduct:QMacroPlanner::FormOfflinePlanChanges.dhFinelProduct' |
| | | FixedFilter: 'exists( checkedProduct,Elements,product,product.ID() = object.Name() )' |
| | | FixedFilter: 'exists( checkedProduct,Elements,product,product.ID() = object.ProductID())' |
| | | Source: 'dhTable' |
| | | Taborder: 0 |
| | | Transformation: 'LocalRow' |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | rows := selectset( dhTable.Data(),LocalRow,row,exists( dhFinelProduct.Data(),Elements,product,product.ID() = row.Name()) ); |
| | | rows := selectset( dhTable.Data(),LocalRow,row,exists( dhFinelProduct.Data(),Elements,product,product.ID() = row.ProductID())); |
| | | columns := selectset( dhTable.Data( ),LocalColumn,column,true ); |
| | | LocalCell_OfflinePlanComparison::AsyncExport( RecycleBin, rows, columns, MacroPlan ); |
| | | *] |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'RecycleBin' |
| | | FixedFilter: 'object.Name() = MP_Cell_ScheduleSummary::GetTableName()' |
| | | FixedFilter: 'object.Name() = MP_Cell_AnnualPlanReport::GetTableName()' |
| | | Source: 'RecycleBin' |
| | | Taborder: 0 |
| | | Transformation: 'ExportXMLManager' |
| | |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component bDownload id:bDownload_520 |
| | | { |
| | | #keys: '[412672.1.111158091]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DOWNLOAD' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | |
| | | Body: |
| | | [* |
| | | rows := selectset( dhComparisonData854.Data(),LocalRow,row,exists( dhFinelProduct.Data(),Elements,entity,entity.ID() = row.ProductID()) and exists( dhFinelStockingPoint.Data(),Elements,entity,entity.DisplayName() = row.StockingPointID())); |
| | | columns := selectset( dhComparisonData854.Data(),LocalColumn,column,dhStartDate.Data() <= column.Date() and dhEndDate.Data() > column.Date() ); |
| | | columns := selectset( dhComparisonData854.Data(),LocalColumn,column,dhStartDate.Data() <= column.Date() and dhEndDate.Data() > column.Date() and column.TimeUnit() = dhTimeUnit.Data()); |
| | | LocalCell_Default::AsyncExport( RecycleBin,rows,columns ); |
| | | //Application.Download( "产åºå¯¼å
¥æ¨¡æ¿.xlsx",data.AsBinaryData() ); |
| | | *] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pExport/dhXMLDataListener_801 |
| | | Response OnDataChanged () id:Response_pExport_dhXMLDataListener_OnDataChanged |
| | | { |
| | | #keys: '[414996.1.140601534]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( not isnull( this.Data() )){ |
| | | binaryValue := dhXMLDataListener.Data( ).Export(); |
| | | Application.Download( MP_Cell_AnnualPlanReport::GetTableName() + "_" + DateTime::Now().Format( "YM2D2H2mmss" ) + ".xlsx", binaryValue.AsBinaryData() ); |
| | | dhXMLDataListener.Data( ).Delete(); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | [ |
| | | DataBinding: 'dhBaseVersion.Data.Name' |
| | | Label: 'åºåéæ±çæ¬ï¼' |
| | | Taborder: 0 |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonDelete |
| | |
| | | [ |
| | | Image: 'DELETE' |
| | | Label: 'Delete' |
| | | Taborder: 1 |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | |
| | | [ |
| | | DataBinding: 'dhCompareVersion.Data.Name' |
| | | Label: '对æ¯éæ±çæ¬ï¼' |
| | | Taborder: 0 |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonDelete2 |
| | |
| | | [ |
| | | Image: 'DELETE' |
| | | Label: 'Delete' |
| | | Taborder: 1 |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return isnull( dhBaseVersion.Data() ) or isnull( dhCompareVersion.Data() ); |
| | | return not isnull( dhBaseVersion.Data() ) and not isnull( dhCompareVersion.Data() ); |
| | | *] |
| | | QuillAction |
| | | { |
| | |
| | | [ |
| | | DataType: 'LocalTable' |
| | | FilterArguments: 'checkedProduct:QMacroPlanner::FormOfflinePlanComparison.dhFinelProduct' |
| | | FixedFilter: 'exists( checkedProduct,Elements,product,product.ID() = object.Name() )' |
| | | FixedFilter: 'exists( checkedProduct,Elements,product,product.ID() = object.ProductID())' |
| | | Source: 'dhTable' |
| | | Taborder: 0 |
| | | Transformation: 'LocalRow' |
| | |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'ddlOfflinePlanTable.Data.SaveDateTime' |
| | | DataBinding: 'ddlOfflinePlanTable.Data.TableName' |
| | | NumberOfColumns: 50 |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | rows := selectset( dhTable.Data(),LocalRow,row,exists( dhFinelProduct.Data(),Elements,product,product.ID() = row.Name()) ); |
| | | rows := selectset( dhTable.Data(),LocalRow,row,exists( dhFinelProduct.Data(),Elements,product,product.ID() = row.ProductID())); |
| | | columns := selectset( dhTable.Data( ),LocalColumn,column,true ); |
| | | LocalCell_ProductionComparison::AsyncExport( RecycleBin, rows, columns, MacroPlan ); |
| | | *] |
| | |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | InitialValue: '大è¿å·¥å' |
| | | Label: 'å·¥å' |
| | | Sorting: 'none' |
| | | Strings: '大è¿å·¥å;é¿æ¥å·¥å' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/ddslFactorySelection |
| | | Response OnCreated () id:Response_pHeader_ddslFactorySelection_OnCreated |
| | | { |
| | | #keys: '[413988.1.1602019]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Text( dhSelectedFactory.Data() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := dhXMLDataListener.Data( ).Export(); |
| | | |
| | | Application.Download( MP_Cell_ScheduleSummary::GetTableName() + "_" + DateTime::Now().Format( "YM2D2H2mmss" ) + ".xlsx", binaryValue.AsBinaryData() ); |
| | | |
| | | dhXMLDataListener.Data( ).Delete(); |
| | | if( not isnull( this.Data() )){ |
| | | binaryValue := dhXMLDataListener.Data( ).Export(); |
| | | Application.Download( MP_Cell_ScheduleSummary::GetTableName() + "_" + DateTime::Now().Format( "YM2D2H2mmss" ) + ".xlsx", binaryValue.AsBinaryData() ); |
| | | dhXMLDataListener.Data( ).Delete(); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | traverse( dhXMLDataListener.Data(),Elements,element ){ |
| | | binaryValue := element.Export(); |
| | | |
| | | Application.Download( element.Name() + "_" + DateTime::Now().Format( "YM2D2H2mmss" ) + ".xlsx", binaryValue.AsBinaryData() ); |
| | | |
| | | element.Delete(); |
| | | try{ |
| | | traverse( dhXMLDataListener.Data(),Elements,element ){ |
| | | binaryValue := element.Export(); |
| | | Application.Download( element.Name() + "_" + DateTime::Now().Format( "YM2D2H2mmss" ) + ".xlsx", binaryValue.AsBinaryData() ); |
| | | element.Delete(); |
| | | } |
| | | }onerror{ |
| | | traverse( dhXMLDataListener.Data(),Elements,element ){ |
| | | element.Delete(); |
| | | } |
| | | } |
| | | *] |
| | | GroupServerCalls: false |