From 9b197b7fac92278fb591ea8f4942c7d5687cb5ce Mon Sep 17 00:00:00 2001
From: 李金换 <lijinhuan@prec-tech.com>
Date: 星期一, 28 三月 2022 18:01:22 +0800
Subject: [PATCH] LJPH-C8FB4P【委托】配合PBI设备覆盖率的数据准备0328
---
force-app/main/default/classes/ConsumEquipmentSetShipmentController.cls | 1412 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,405 insertions(+), 7 deletions(-)
diff --git a/force-app/main/default/classes/ConsumEquipmentSetShipmentController.cls b/force-app/main/default/classes/ConsumEquipmentSetShipmentController.cls
index 6ae0069..a383960 100644
--- a/force-app/main/default/classes/ConsumEquipmentSetShipmentController.cls
+++ b/force-app/main/default/classes/ConsumEquipmentSetShipmentController.cls
@@ -22,7 +22,7 @@
//鍚勩儦銉笺偢銇埗寰°亗銈屻伆銆佹渶澶т欢鏁般倰鎸囧畾銇欍倠
// searchNumMax = Integer.valueOf(Label.Product_Select_Limit);
// searchNumMax = 20;
- pagesize = '500';
+ pagesize = '400';
return searchNumMax;
}
@@ -41,7 +41,7 @@
selectedDataSql += ' and Cancel_Select__c = False';
//selectedDataSql += ' order by Id ASC nulls last';
keepWher = selectedDataSql;
- selectedDataSql = ' From Consum_Apply_Equipment_Set_Detail__c' + selectedDataSql + ' order by Fixture_Model_No_F__c nulls last, Consumable_Guaranteen_end_F__c nulls last';
+ selectedDataSql = ' From Consum_Apply_Equipment_Set_Detail__c' + selectedDataSql + ' order by Fixture_Model_No_F__c nulls last, Consumable_Guaranteen_end_F__c nulls last,Name';
myComponentController.columnRightRW.put('Inspection_Cnt_Jia__c', 'r');//update wangweipeng 2022/01/12
//add by yc 2021-11-26 start
//myComponentController.columnRightRW.put('EquipmentManagementCode__c', 'r');
@@ -80,7 +80,7 @@
public override List<String> getColumnFieldList() {
// strColumus 閲屽姞 field
// FixtureUtil#raesdGroupBy()銇爡鐩倐蹇呰
- return new List<String>{'Id', 'Asset__c', 'DeliverySlip__c', 'Shippment_loaner_time__c', 'Consum_Apply__r.demo_purpose2__c', 'Consum_Apply__r.Shipment_requested_cnt__c', 'Shipment_Saved_Flg__c', 'Shipment_request_time2__c', 'Consum_Apply_Equipment_Set__r.Yi_Shipment_request__c','Inspection_Cnt_Jia__c','EquipmentManagementCode__c','ManagementCode__c'};
+ return new List<String>{'Id', 'Asset__c', 'DeliverySlip__c', 'Shippment_loaner_time__c', 'Consum_Apply__r.demo_purpose2__c', 'Consum_Apply__r.Shipment_requested_cnt__c', 'Shipment_Saved_Flg__c', 'Shipment_request_time2__c', 'Consum_Apply_Equipment_Set__r.Yi_Shipment_request__c','Inspection_Cnt_Jia__c','EquipmentManagementCode__c','ManagementCode__c','boxbarcodeforReceipt__c'};
}
//闅愯棌鐨勫瓧娈靛彧鑳芥樉绀猴紝涓嶈兘璧嬪��
public override List<String> getHiddenFieldList() {
@@ -117,7 +117,7 @@
}
public override String getOrderbyStr() {
- return ' order by Fixture_Model_No_F__c nulls last, Consumable_Guaranteen_end_F__c nulls last';
+ return ' order by Fixture_Model_No_F__c nulls last, Consumable_Guaranteen_end_F__c nulls last,Name';
}
public override Boolean getIsNeedRunSearch() {
@@ -232,7 +232,8 @@
Map<Id,List<String>> xiaomaMap = new Map<Id,List<String>>();
//add by youc 2021-12-06 淇濆瓨涔嬪悗锛屽啀娆¤缃皬鐮� 鏄剧ず椤甸潰
Map<Id,List<String>> xiaomaMap1 = new Map<Id,List<String>>();
- Map<Id,String> bianmaMap = new Map<Id,String>();
+ Map<Id,List<String>> bianmaMap = new Map<Id,List<String>>();//update wangweipeng 2022/02/21 start
+ Map<Id,List<String>> bianmaMap1 = new Map<Id,List<String>>();//update wangweipeng 2022/02/21 start
//add by rentx 2021-10-22 end 璁剧疆灏忕爜 璁剧疆绠$悊缂栫爜
for (WrapperInfo wi : viewList) {
@@ -253,10 +254,13 @@
xiaomaMap.put(caesd.Asset__c, caesd.EquipmentManagementCode__c.split(','));
}
if (!bianmaMap.containsKey(caesd.Asset__c) && caesd.ManagementCode__c != null) {
- bianmaMap.put(caesd.Asset__c, caesd.ManagementCode__c);
+ bianmaMap.put(caesd.Asset__c, caesd.ManagementCode__c.split(','));
}
if (!xiaomaMap1.containsKey(caesd.Asset__c) && caesd.EquipmentManagementCode__c != null) {
xiaomaMap1.put(caesd.Asset__c, caesd.EquipmentManagementCode__c.split(','));
+ }
+ if (!bianmaMap1.containsKey(caesd.Asset__c) && caesd.ManagementCode__c != null) {
+ bianmaMap1.put(caesd.Asset__c, caesd.ManagementCode__c.split(','));
}
system.debug('==='+ xiaomaMap+'==bianmaMap=='+bianmaMap);
//add by rentx 2021-10-22 end 璁剧疆灏忕爜
@@ -286,21 +290,35 @@
//灏嗕箣鍓嶇殑鎵�鏈�"澶囧搧绠$悊鐮�" 鍒朵负绌� 鍐嶈祴鍊� 灏嗙敤杩囩殑鍏冪礌璁剧疆涓簄ull瀛楃涓� 宸蹭繚璇佸敮涓�鎬�
caesd.EquipmentManagementCode__c = '';
+ caesd.ManagementCode__c = '';
+ caesd.boxbarcodeforReceipt__c = '';
if (xiaomaMap.containsKey(caesd.Asset__c)) {
//鑾峰彇璇ヤ繚鏈夎澶囧搴旂殑灏忕爜闆嗗悎
List<String> tempArr = xiaomaMap.get(caesd.Asset__c);
+ List<String> heArr = bianmaMap.get(caesd.Asset__c);
+ System.debug('-------------11111-'+heArr);
system.debug('tempArr0'+tempArr);
if (tempArr != null && tempArr.size() > 0) {
for (Integer i = 0; i < tempArr.size(); i++) {
if (tempArr[i] != 'null') {
caesd.EquipmentManagementCode__c = tempArr[i];
system.debug('zheli0'+caesd.EquipmentManagementCode__c);
- caesd.ManagementCode__c = bianmaMap.containsKey(caesd.Asset__c) ? bianmaMap.get(caesd.Asset__c) : '';
+ //update wangweipeng 2022/02/21 start
+ caesd.ManagementCode__c = heArr[i];
+ //caesd.ManagementCode__c = bianmaMap.containsKey(caesd.Asset__c) ? bianmaMap.get(caesd.Asset__c) : '';
+ //update wangweipeng 2022/02/21 end
tempArr[i] = 'null';
+ heArr[i] = 'null';
break;
}
}
}
+ }
+
+ if(String.isNotBlank(caesd.ManagementCode__c)){
+ caesd.boxbarcodeforReceipt__c = caesd.Barcode_F__c + '250' + caesd.ManagementCode__c;
+ }else{
+ caesd.boxbarcodeforReceipt__c = '';
}
//璁剧疆"绠$悊缂栫爜"
/**
@@ -330,6 +348,9 @@
if (xiaomaMap1.containsKey(wiInfo.Asset__c)) {
wiInfo.EquipmentManagementCode__c = String.join(xiaomaMap1.get(wiInfo.Asset__c), ',');
}
+ if (bianmaMap1.containsKey(wiInfo.Asset__c)) {
+ wiInfo.ManagementCode__c = String.join(bianmaMap1.get(wiInfo.Asset__c), ',');
+ }
}
//add by youc 2021-12-06 淇濆瓨涔嬪悗锛屽啀娆¤缃皬鐮� 鏄剧ず椤甸潰 end
done_flg = true;
@@ -354,6 +375,7 @@
if (!wi.check) {
continue;
}
+ /** 鏆傛椂涓嶉渶瑕佹彁绀猴紝鐩存帴鍙戣揣锛屼繚瀛樺ぇ灏忕爜
//add wangweipeng 2022/01/28 start
//鍒ゆ柇椤甸潰鏄惁淇濆瓨
if(useCaesdList != null && useCaesdList.size() > 0){
@@ -367,6 +389,7 @@
}
}
//add wangweipeng 2022/01/28 end
+ **/
String guaranteen_end = '';
if (caesd.Consumable_Guaranteen_end_F__c != null) {
guaranteen_end = caesd.Consumable_Guaranteen_end_F__c.format();
@@ -375,6 +398,12 @@
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧宸茶繃鏈焄'+caesd.Fixture_Model_No_F__c+']('+caesd.Consumable_Guaranteen_end_F__c.format()+')'));
return;
}
+ Integer cnt = 0;
+ if(String.isNotBlank(caesd.EquipmentManagementCode__c)){
+ cnt = caesd.EquipmentManagementCode__c.split(',').size();
+ }
+ caesd.Inspection_Cnt_Jia__c = cnt;
+ system.debug('鍙戣揣浠舵暟==='+caesd.Inspection_Cnt_Jia__c);
if (caesd.Inspection_Cnt_Jia__c > caesd.Yi_Chu_Ku_Zhi_Shi_Jia__c) {
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '鍙戣揣浠舵暟澶т簬宸插嚭搴撴寚绀轰欢鏁癧'+caesd.Fixture_Model_No_F__c+']('+guaranteen_end+')'));
return;
@@ -437,6 +466,10 @@
done_flg = false;
return;
}
+
+ //add wangweipeng 2022/02/17 start
+ save();
+ //add wangweipeng 2022/02/17 end
Savepoint sp = Database.setSavepoint();
@@ -464,6 +497,8 @@
Inspection_Cnt_Jia__c = upd.Inspection_Cnt_Jia__c,
DeliverySlip__c = slip.Id,
Shippment_loaner_time__c = nowtime,
+ //EquipmentManagementCode__c = upd.EquipmentManagementCode__c,
+ //ManagementCode__c = upd.ManagementCode__c,
StockDown__c = true
//, StockDown_time__c = nowtime
));
@@ -489,6 +524,8 @@
Consum_Apply_Equipment_Set_Detail__c caesd = (Consum_Apply_Equipment_Set_Detail__c)wi.sobj;
if (caesd.DeliverySlip__c == null) {
caesd.Inspection_Cnt_Jia__c = null;
+ caesd.EquipmentManagementCode__c = null; //add by youc 2022-02-27
+ caesd.ManagementCode__c = null;//add by youc 2022-02-27
clearAssetId.add(caesd.Asset__c);
}
}
@@ -496,6 +533,8 @@
for (Consum_Apply_Equipment_Set_Detail__c caesd : useCaesdList) {
if (clearAssetId.contains(caesd.Asset__c)) {
caesd.Shipment_Saved_Flg__c = false;
+ caesd.EquipmentManagementCode__c = null; //add by youc 2022-02-27
+ caesd.ManagementCode__c = null;//add by youc 2022-02-27
updList.add(caesd);
}
}
@@ -553,6 +592,9 @@
//add by rentx 2021-10-22 start 娣诲姞璁板綍(灏忕爜璁板綍)
Map<Id,List<String>> recordforxiaoMaMap = new Map<Id,List<String>>();
//add by rentx 2021-10-22 end 娣诲姞璁板綍(灏忕爜璁板綍)
+ //add by wangweipeng 2022-02-21 start 娣诲姞鐩�
+ Map<Id,List<String>> recordforHeMap = new Map<Id,List<String>>();
+ //add by wangweipeng 2022-02-21 end 娣诲姞鐩�
Map<Id, Integer> cntMap = new Map<Id, Integer>();
Map<Id, Integer> cntShipmentReqMap = new Map<Id, Integer>();
Map<Id, Boolean> hasShipment = new Map<Id, Boolean>();
@@ -572,6 +614,14 @@
}
system.debug('recordforxiaoMaMap==='+recordforxiaoMaMap);
//add by rentx 2021-10-22 end 娣诲姞璁板綍(灏忕爜璁板綍)
+ //add by wangweipeng 2022-02-21 start 娣诲姞鐩�
+ if (caesd.ManagementCode__c != null && caesd.ManagementCode__c != '') {
+ if (recordforHeMap.containsKey(caesd.Asset__c) == false) {
+ recordforHeMap.put(caesd.Asset__c, new List<String>());
+ }
+ recordforHeMap.get(caesd.Asset__c).add(caesd.ManagementCode__c);
+ }
+ //add by wangweipeng 2022-02-21 end 娣诲姞鐩�
if (caesd.Shipment_Saved_Flg__c == true) {
Integer cnt = cntMap.containsKey(caesd.Asset__c) ? (cntMap.get(caesd.Asset__c) + 1) : 1;
@@ -603,6 +653,13 @@
//灞曠ず鐨勬椂鍊欓渶瑕佸厛璁剧疆绠$悊缂栫爜涓虹┖
//wiInfo.ManagementCode__c = '';//鍏堟敞閲�
//add by rentx 2021-10-22 end 璁剧疆灏忕爜
+
+ //add by wangweipeng 2022-02-21 start 娣诲姞鐩�
+ if (recordforHeMap.containsKey(wiInfo.Asset__c)) {
+ //璁剧疆灏忕爜
+ wiInfo.ManagementCode__c = String.join(recordforHeMap.get(wiInfo.Asset__c), ',');
+ }
+ //add by wangweipeng 2022-02-21 end 娣诲姞鐩�
WrapperInfo wi = new WrapperInfo(wiInfo, myComponentController);
wi.additionalInfoMap.put('Product_Serial_No_F__c', wiInfo.Product_Serial_No_F__c);
@@ -621,4 +678,1345 @@
}
+
+ @TestVisible private static void test() {
+ if (false == Test.isRunningTest()) return;
+ Integer i = 0;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1