From 2b1ef6e8b1faae2d9f73a426c7318eb909efeb39 Mon Sep 17 00:00:00 2001 From: limj <limj@taizhitech.com> Date: 星期六, 07 十月 2023 16:27:27 +0800 Subject: [PATCH] 优先级因子菜单 --- _Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl | 27 ++- _Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_New.def | 18 ++ _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def | 8 _Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl | 2 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def | 4 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def | 2 _Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl | 4 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def | 2 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def | 1 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNew_OnClick.def | 19 ++ _Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl | 1 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def | 4 _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDel_OnClick.def | 19 ++ _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def | 24 +++ _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnCreated.def | 19 ++ _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def | 5 _Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl | 5 _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def | 33 ++++ _Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl | 1 _Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def | 4 _Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl | 94 +++++++++++++ _Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def | 17 ++ _Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def | 3 _Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl | 45 +++-- _Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl | 2 _Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl | 22 +++ 26 files changed, 330 insertions(+), 55 deletions(-) diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl index 9434404..d935ad9 100644 --- a/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl +++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetCoeffcientByName.qbl @@ -11,7 +11,7 @@ // NBoTk Sep-21-2023 (created) data := selectobject( owner,PriorityFactor,p, - p.BusinessType() = businessType and p.Name() = name + p.Name() = name ) return data.Coefficient(); diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl index 98115c4..05489f2 100644 --- a/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl +++ b/_Main/BL/Type_PriorityFactor/StaticMethod_GetNameList.qbl @@ -11,7 +11,6 @@ value := ""; strList := selectuniquevalues( owner,PriorityFactor,p, - p.BusinessType() = businessType, p.Name() ); diff --git a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl index 76858f0..956d704 100644 --- a/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl +++ b/_Main/BL/Type_PriorityFactor/StaticMethod_InitData.qbl @@ -1,8 +1,7 @@ Quintiq file version 2.0 #parent: #root StaticMethod InitData ( - MacroPlan owner, - String businessType + MacroPlan owner ) { TextBody: @@ -10,25 +9,35 @@ // NBoTk Sep-15-2023 (created) // businessType // result := "闆嗗洟闈㈡澘;涓撲笟鏄剧ず浜嬩笟閮�;澶栧崠CELL;闈炴樉;杩愬姩鍋ュ悍;杩愬姩鍋ュ悍浜嬩笟閮�;鎵嬫満浜嬩笟閮�;鐗圭鏄剧ず;姹借溅鐢靛瓙浜嬩笟閮�;杞﹁浇鏄剧ず浜嬩笟閮�;IT浜嬩笟閮�"; - // 娣诲姞浜嬩笟閮ㄥ搴旂殑棰勫埗浼樺厛绾у洜瀛愭暟鎹� - owner.PriorityFactor(relnew,Name := "瀹㈡埛绛栫暐" ,Desc := "灏嗕簨涓氶儴璁$畻鐨勪紭鍏堢骇锛屾寜璇ョ粏鍒嗛」姣斾緥闃舵纭畾璇ラ」寰楀垎銆傚锛�81%鈮鈮�100% 5鍒嗭紝61%鈮鈮�80% 4鍒�", BusinessType := businessType ); - owner.PriorityFactor(relnew,Name := "瀹㈡埛绛夌骇" ,Desc := "鏍规嵁闇�姹傛暟鎹腑瀹㈡埛锛屽尮閰嶅鎴风瓑绾�",BusinessType := businessType); - owner.PriorityFactor(relnew,Name := "澶у紶鐩堝埄姘村钩" ,Desc := "1銆佽幏鍙栧鎴�*SKU澶у紶鐩堝埄鏁� 2銆佸畾涔夊鎴�*SKU澶у紶鐩堝埄鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); - owner.PriorityFactor(relnew,Name := "缁嗗垎甯傚満绛夌骇" ,Desc := "1銆佽幏鍙栧鎴�*SKU瀵瑰簲缁嗗垎甯傚満绛夌骇 2銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU瀵瑰簲缁嗗垎甯傚満璇勫垎绛夌骇锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); - owner.PriorityFactor(relnew,Name := "闇�姹傜被鍨�" ,Desc := "鍖归厤涓嶅悓闇�姹傜绫伙紝寰楀埌瀵瑰簲寰楀垎", BusinessType := businessType ); - owner.PriorityFactor(relnew,Name := "璁㈠崟涓嬪崟鏃堕棿" ,Desc := "鏍规嵁闇�姹傝鍗曚腑涓嬪崟鏃堕棿涓庨渶姹傛椂闂村樊鍊硷紝鍖归厤闃舵寰楀垎", BusinessType := businessType ); - owner.PriorityFactor(relnew,Name := "浜у搧绛夌骇" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); - owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); - owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); - // 浼樺厛绾у洜瀛愮粏鍒� - priorityFactorList := selectset( owner,PriorityFactor,p, - p.BusinessType() = businessType - ); + businessType := ""; - traverse( priorityFactorList,Elements,e) + // 濡傛灉宸茬粡瀛樺湪浼樺厛绾ф暟鎹� 鍒欎笉鍋氬鐞� + list := selectset( owner,PriorityFactor,p,true); + if( list.Size() = 0 ) { - PriorityFactorDetails::InitData( owner,e); + + // 娣诲姞浜嬩笟閮ㄥ搴旂殑棰勫埗浼樺厛绾у洜瀛愭暟鎹� + owner.PriorityFactor(relnew,Name := "瀹㈡埛绛栫暐" ,Desc := "灏嗕簨涓氶儴璁$畻鐨勪紭鍏堢骇锛屾寜璇ョ粏鍒嗛」姣斾緥闃舵纭畾璇ラ」寰楀垎銆傚锛�81%鈮鈮�100% 5鍒嗭紝61%鈮鈮�80% 4鍒�", BusinessType := businessType ); + owner.PriorityFactor(relnew,Name := "瀹㈡埛绛夌骇" ,Desc := "鏍规嵁闇�姹傛暟鎹腑瀹㈡埛锛屽尮閰嶅鎴风瓑绾�",BusinessType := businessType); + owner.PriorityFactor(relnew,Name := "澶у紶鐩堝埄姘村钩" ,Desc := "1銆佽幏鍙栧鎴�*SKU澶у紶鐩堝埄鏁� 2銆佸畾涔夊鎴�*SKU澶у紶鐩堝埄鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); + owner.PriorityFactor(relnew,Name := "缁嗗垎甯傚満绛夌骇" ,Desc := "1銆佽幏鍙栧鎴�*SKU瀵瑰簲缁嗗垎甯傚満绛夌骇 2銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU瀵瑰簲缁嗗垎甯傚満璇勫垎绛夌骇锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); + owner.PriorityFactor(relnew,Name := "闇�姹傜被鍨�" ,Desc := "鍖归厤涓嶅悓闇�姹傜绫伙紝寰楀埌瀵瑰簲寰楀垎", BusinessType := businessType ); + owner.PriorityFactor(relnew,Name := "璁㈠崟涓嬪崟鏃堕棿" ,Desc := "鏍规嵁闇�姹傝鍗曚腑涓嬪崟鏃堕棿涓庨渶姹傛椂闂村樊鍊硷紝鍖归厤闃舵寰楀垎", BusinessType := businessType ); + owner.PriorityFactor(relnew,Name := "浜у搧绛夌骇" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); + owner.PriorityFactor(relnew,Name := "DOI" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); + owner.PriorityFactor(relnew,Name := "DSI" ,Desc := "1銆佽幏鍙栧鎴�*SKU DOI&DSI鏁� 2銆佸畾涔夊鎴�*SKUDOI&DSI鏁伴樁姊緱鍒� 3銆佸尮閰嶉渶姹傛暟鎹腑瀹㈡埛鍙奡KU鏁版嵁锛屽緱鍒板搴旈樁姊緱鍒�", BusinessType := businessType ); + + // 浼樺厛绾у洜瀛愮粏鍒� + priorityFactorList := selectset( owner,PriorityFactor,p, + p.BusinessType() = businessType + ); + + traverse( priorityFactorList,Elements,e) + { + PriorityFactorDetails::InitData( owner,e); + } + } *] } diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl new file mode 100644 index 0000000..c76e0a0 --- /dev/null +++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcFormula.qbl @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetCalcFormula ( + MacroPlan macroPlan, + String formula +) as String +{ + TextBody: + [* + // NBoTk Oct-7-2023 (created) + priorityFactor := null( PriorityFactor); + traverse( macroPlan,PriorityFactor,p) + { + if( formula.StartsWith( p.Name()) ) + { + priorityFactor := p; + } + } + value := priorityFactor.Name() + "[" + [String]priorityFactor.Coefficient() +"*L]"; + return value; + *] +} diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl new file mode 100644 index 0000000..2095877 --- /dev/null +++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_GetCalcStr.qbl @@ -0,0 +1,94 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod GetCalcStr ( + MacroPlan macroPlan, + String formula, + String lastCalcStr +) as String +{ + TextBody: + [* + // NBoTk Oct-7-2023 (created) + + calcStr := ""; + remindFormula := formula; + + // 閬嶅巻浼樺厛绾у洜瀛愰厤缃� + if( not remindFormula = '' ) + { + // 浠庤捣濮嬩綅缃紑濮嬪尮閰� + if(remindFormula.StartsWith( "+" )) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); + calcStr := lastCalcStr + "+" + calcStr; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); + } + else if( remindFormula.StartsWith( "-" )) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); + calcStr := lastCalcStr + "-" + calcStr; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); + } + else if( remindFormula.StartsWith( "*" ) ) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); + calcStr := lastCalcStr + "*" + calcStr; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); + } + else if( remindFormula.StartsWith( "/" ) ) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); + calcStr := lastCalcStr + "/" + calcStr; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); + } + else if( remindFormula.StartsWith( "(" ) ) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); + calcStr := lastCalcStr + "{" + calcStr; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); + } + else if( remindFormula.StartsWith( ")" ) ) + { + remindFormula := remindFormula.SubString( 1,remindFormula.Length()-1); + calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); + calcStr := lastCalcStr + ")" + calcStr; + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); + } + else + { + // 涓嶆槸绗﹀彿 鐩存帴鑾峰彇璁$畻鍚庣殑鏁板�� + calcStr := PriorityPolicy::GetCalcFormula(macroPlan,remindFormula); + + // 鎴彇鎺夊凡缁忚绠楃殑浼樺厛绾у洜瀛� 閫掑綊璁$畻 + remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan); + PriorityPolicy::GetCalcStr( macroPlan,remindFormula,calcStr); + } + + } + + return calcStr; + *] +} diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl index 7c80e98..122b53c 100644 --- a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl +++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackCalcStr.qbl @@ -28,7 +28,7 @@ } } - nameList := PriorityFactor::GetDataByBusinessType( owner,businessType); + nameList := PriorityFactor::GetDataByBusinessType( owner,""); traverse( nameList,Elements,e) { nameText := e.Name() + "[" + [String]e.Coefficient() + "*L]" diff --git a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl index 55e5bd0..129f7d7 100644 --- a/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl +++ b/_Main/BL/Type_PriorityPolicy/StaticMethod_RollBackStr.qbl @@ -10,7 +10,6 @@ [* // NBoTk Sep-21-2023 (created) value := stringData; - symbolList := construct( structured[String]); symbolList.Add( "+") symbolList.Add( "-") @@ -28,7 +27,7 @@ } } - nameList := PriorityFactor::GetDataByBusinessType( owner,businessType); + nameList := PriorityFactor::GetDataByBusinessType( owner,""); traverse( nameList,Elements,e) { if( stringData.EndsWith( e.Name())) @@ -37,7 +36,6 @@ value := stringData.SubString( 0,end); } } - return value; *] } diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl index 93e2b2f..7b59176 100644 --- a/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl +++ b/_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl @@ -17,7 +17,6 @@ remindFormula := formula; // 閬嶅巻浼樺厛绾у洜瀛愰厤缃� - if( not remindFormula = '' ) { // 浠庤捣濮嬩綅缃紑濮嬪尮閰� @@ -70,7 +69,7 @@ PriorityResult::CalculateBracketScore(calcStr,customerOrder,businessType,macroPlan,globalOTDTable); // 鎴彇 ) 鍚庣殑瀛楃缁х画杩涜璁$畻 - remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length()); + remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length()-1); } else { @@ -83,6 +82,6 @@ } // 娌℃湁鍖归厤 鍏紡璁$畻瀹屾垚 - return lastScore; + return score; *] } diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl index fd4f1f0..3033476 100644 --- a/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl +++ b/_Main/BL/Type_PriorityResult/StaticMethod_GetRemindFormula.qbl @@ -27,7 +27,6 @@ } } - info( "remindStr = " + str ); return str; *] } diff --git a/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl index 715b2f8..7cd8770 100644 --- a/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl +++ b/_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl @@ -16,7 +16,6 @@ { // 浜嬩笟閮ㄤ俊鎭� businessType := e.BusinessType(); - //businessType := "鎵嬫満浜嬩笟閮�"; // 鑾峰彇瀵瑰簲浜嬩笟閮ㄨ绠楀叕寮� priorityPolicys := selectobject( macroPlan,PriorityPolicy,p,p.BusinessType() = businessType and p.Name() = priorityPolicyName); @@ -24,7 +23,6 @@ // 閫掑綊澶勭悊璁$畻鍏紡 鑾峰彇褰撳墠璁㈠崟鐨勫緱鍒� value := PriorityResult::CalculateScore( formula,e,businessType,macroPlan,0.0,globalOTDTable); - // 鐢熸垚浼樺厛绾у洜瀛愯窇鍒嗙粨鏋� priorityResult := macroPlan.PriorityResult(relnew,CustomerOrderID := e.ID(),BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(), DemandDate := e.EndDate(),ProductID := e.ProductID(),Quantity := e.Quantity(),SalesSegmentName := e.SalesSegmentName(), @@ -56,6 +54,10 @@ result.PriorityResultScore() ) + // Quintiq浼樺厛绾у垎10绾� 闇�瑕佸垎娈佃绠� + subLevel := resultList.Size() div 10; + subLevelCount := 0; + priorityValue := 1; traverse( resultList,Elements,e) { @@ -70,15 +72,24 @@ // 鍒涘缓浼樺厛绾ф暟鎹� 闇�瑕佸厛娓呴櫎涓婁竴娆$殑璁$畻缁撴灉 // 鍒ゆ柇褰撳墠customerOrder鏄惁瀛樺湪 - oldPriority := selectobject( macroPlan,Priority,p,p.Name() = obj.OrderID()); - if(not isnull( oldPriority ) ) + oldPriority := selectobject( macroPlan,Priority,p,p.Name() = [String]priorityValue); + if(isnull( oldPriority ) ) { - macroPlan.Priority(reldelete, oldPriority); - } - macroPlan.Priority(relnew,Weight := priorityValue,Name := obj.OrderID()); - priorityValue := priorityValue + 1; + macroPlan.Priority(relnew,Weight := priorityValue,Name := [String]priorityValue); + } } + // 鍒ゆ柇璁$畻鍒嗘鏁伴噺涓嶲uintiq鍘熷浼樺厛绾� + subLevelCount := subLevelCount + 1; + if( subLevelCount = subLevel ) + { + // 褰撳埌杈惧垎娈垫暟閲忓悗 浼樺厛绾�+1 鍒嗘璁℃暟浠�0寮�濮� + if( priorityValue < 10 ) + { + priorityValue := priorityValue + 1; + } + subLevelCount := 0; + } } *] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def b/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def index fbfa4cc..1f4e6a1 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def @@ -11,12 +11,10 @@ // OnOk this.ApplyChanges(); - - businessType := DataHolderBusinessType.Data().BusinessTypeName(); DataHolderBusinessType.Data().Commit(); - PriorityFactor::InitData( MacroPlan,businessType); + PriorityFactor::InitData( MacroPlan); this.Close(); *] diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_New.def new file mode 100644 index 0000000..a0e37ff --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogEditPriorityFactor/Method_New.def @@ -0,0 +1,18 @@ +Quintiq file version 2.0 +#parent: #root +Method New ( + MacroPlan owner, + String businessType +) id:Method_DialogEditPriorityFactor_New +{ + #keys: '[414382.0.593002251]' + Body: + [* + data := owner.PriorityFactor(relshadow); + data.BusinessType(businessType); + + DataHolderEditPriorityFactor.Data(&data); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def index 6ac9928..ff1a3b3 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Component_listContextMenuPriorityFactor.def @@ -12,10 +12,32 @@ Properties: [ Image: 'GEAR_EDIT' - Taborder: 3 + Taborder: 4 Title: '缂栬緫' ] } + Component MenuNew + { + #keys: '[414382.0.593001800]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'GEAR_ADD' + Taborder: 3 + Title: '鏂板' + ] + } + Component MenuDel + { + #keys: '[414382.0.593001811]' + BaseType: 'WebMenu' + Properties: + [ + Image: 'GEAR_DELETE' + Taborder: 5 + Title: '鍒犻櫎' + ] + } ] Properties: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def new file mode 100644 index 0000000..ef61871 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DataHolderPriorityFactorSelect_OnDataChanged.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: DataHolderPriorityFactorSelect +Response OnDataChanged () id:Response_FormPriorityFactor_DataHolderPriorityFactorSelect_OnDataChanged +{ + #keys: '[414382.0.593010798]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnDataChanged' + QuillAction + { + Body: + [* + data := selectset( MacroPlan,PriorityFactor,p,true); + this.Data(&data); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def index 70938b2..0865d17 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnCreated.def @@ -9,8 +9,9 @@ { Body: [* - //strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); - //this.Strings(strings); + info( "create" + DropDownStringListBusinessType.Text()); + list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text()); + DataHolderPriorityFactorSelect.Data(&list); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def index 2ac7956..a1d8860 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_DropDownStringListBusinessType_OnSelectionChanged.def @@ -9,7 +9,7 @@ { Body: [* - info( "selection" ); + info( "selection" + DropDownStringListBusinessType.Text()); list := PriorityFactor::GetDataByBusinessType( MacroPlan, DropDownStringListBusinessType.Text()); DataHolderPriorityFactorSelect.Data(&list); *] diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDel_OnClick.def new file mode 100644 index 0000000..8a86cdf --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuDel_OnClick.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: ListPriorityFactor +Response OnClick ( + PriorityFactor selection +) id:Response_ListPriorityFactor_MenuDel_OnClick +{ + #keys: '[414382.0.593002800]' + CanBindMultiple: false + DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick + Initiator: 'MenuDel' + QuillAction + { + Body: + [* + selection.Delete(); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNew_OnClick.def new file mode 100644 index 0000000..2d18cad --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/Response_ListPriorityFactor_MenuNew_OnClick.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: ListPriorityFactor +Response OnClick () id:Response_ListPriorityFactor_MenuNew_OnClick +{ + #keys: '[414382.0.593002709]' + CanBindMultiple: false + DefinitionID => /ListPriorityFactor/Responsedef_ListPriorityFactor_WebMenu_OnClick + Initiator: 'MenuNew' + QuillAction + { + Body: + [* + dlg := construct( DialogEditPriorityFactor ); + businessType := DropDownStringListBusinessType.Text(); + dlg.New( MacroPlan, businessType); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def index b3df733..4e4d0d6 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityFactor/_ROOT_Component_FormPriorityFactor.def @@ -25,6 +25,7 @@ [ Label: '浜嬩笟閮�:' Taborder: 0 + Visible: false ] } #child: ListPriorityFactor diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def index b5d4a7b..33cfc53 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_ListPriorityPolicy.def @@ -12,7 +12,7 @@ Properties: [ DataType: 'structured[PriorityPolicy]' - Source: 'DataHolderPriorityPolicy' + Source: 'DataHolderPriorityPolicyShowList' Taborder: 0 Transformation: 'Elements' ] @@ -36,7 +36,7 @@ ] Properties: [ - Taborder: 2 + Taborder: 3 ] ResponseDefinitions: [ diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def index 1923a0f..297e8db 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Component_PanelPriorityPolicyOperation.def @@ -40,7 +40,7 @@ ] Properties: [ - Taborder: 3 + Taborder: 4 Title: '浼樺厛绾х瓥鐣ラ厤缃�' ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnCreated.def new file mode 100644 index 0000000..237513d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnCreated.def @@ -0,0 +1,19 @@ +Quintiq file version 2.0 +#parent: DataHolderPriorityPolicy +Response OnCreated () id:Response_FormPriorityPolicy_DataHolderPriorityPolicy_OnCreated +{ + #keys: '[414382.0.594152096]' + CanBindMultiple: false + DefinitionID: 'Responsedef_WebComponent_OnCreated' + QuillAction + { + Body: + [* + data := this.Data(); + businessType := PriorityPolicyBusinessType.Text(); + list := selectset( data,Elements,e,e.BusinessType() = businessType); + DataHolderPriorityPolicyShowList.Data(&list); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def index 89b9c11..3388972 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_DataHolderPriorityPolicy_OnDataChanged.def @@ -2,15 +2,17 @@ #parent: DataHolderPriorityPolicy Response OnDataChanged () id:Response_FormPriorityPolicy_DataHolderPriorityPolicy_OnDataChanged { - #keys: '[414382.0.502145694]' + #keys: '[414382.0.595379026]' CanBindMultiple: false DefinitionID: 'Responsedef_WebComponent_OnDataChanged' QuillAction { Body: [* - list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); - this.Data(&list); + data := this.Data(); + businessType := PriorityPolicyBusinessType.Text(); + list := selectset( data,Elements,e,e.BusinessType() = businessType); + DataHolderPriorityPolicyShowList.Data(&list); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def index 4fd7821..e693b84 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def @@ -11,6 +11,9 @@ [* strings := BusinessType::GetBusinessNameStr( GlobalOTDTable ); this.Strings(strings); + + list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); + DataHolderPriorityPolicyShowList.Data(&list); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def index 7acc7f0..ffc5263 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnSelectionChanged.def @@ -9,8 +9,8 @@ { Body: [* - //list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); - //DataHolderPriorityPolicy.Data(&list); + list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text()); + DataHolderPriorityPolicyShowList.Data(&list); *] GroupServerCalls: false } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def index 72153cd..12068c1 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/_ROOT_Component_FormPriorityPolicy.def @@ -22,9 +22,24 @@ #keys: '[414382.0.487792124]' BaseType: 'WebDataHolder' Databinding: 'structured[PriorityPolicy]*' + Children: + [ + Component DataExtractorPriorityPolicy216 + { + #keys: '[414382.0.593061574]' + BaseType: 'WebDataExtractor' + Properties: + [ + DataType: 'MacroPlan' + Source: 'MacroPlan' + Taborder: 0 + Transformation: 'PriorityPolicy' + ] + } + ] Properties: [ - Taborder: 1 + Taborder: 2 ] } #child: ListPriorityPolicy @@ -36,7 +51,7 @@ Databinding: 'shadow[PriorityPolicy]*' Properties: [ - Taborder: 4 + Taborder: 5 ] } Component DataHolderPriorityPolicyBusinessType @@ -61,7 +76,7 @@ ] Properties: [ - Taborder: 5 + Taborder: 6 ] } Component DataHolderPriorityPolicyFactor @@ -86,7 +101,17 @@ ] Properties: [ - Taborder: 6 + Taborder: 7 + ] + } + Component DataHolderPriorityPolicyShowList + { + #keys: '[414382.0.593062135]' + BaseType: 'WebDataHolder' + Databinding: 'structured[PriorityPolicy]*' + Properties: + [ + Taborder: 1 ] } ] -- Gitblit v1.9.3