高章伟
2022-03-10 1312ba82d4c880bdb5357d28e0d4af5b285f610f
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 @@
                //将之前的所有"备品管理码" 制为空 再赋值 将用过的元素设置为null字符串 已保证唯一性
                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++;
    }
}