buli
2023-06-05 d324588faa5120c95321425a06de683e8aae445b
force-app/main/default/classes/LexInventoryController.cls
@@ -1,4 +1,11 @@
public without sharing class LexInventoryController {
    // page
    public static Integer pagesize { get; set; }
    public static Integer pageToken { get; set; }
    public static String sortField { get; set; }
    public static String sortOrder { get; set; }
    public static Integer totalcount { get; set; }
    //分页使用数据
    public static String fileName { get; set; }
    public static  Integer size{get;set;}
@@ -13,7 +20,7 @@
    public static  Boolean done { get; set; }
    /*****************画面表示Bean******************/
    //页面主数据显示用
    private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
    public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords { get; set; }
    //盘点到的产品
    public static  List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>();
    public static  List<Consumable_order_details2__c> showcod2nid = new List<Consumable_order_details2__c>();
@@ -24,6 +31,7 @@
    public static  List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserrordummy;  // 丢失和巡回的,实际炒作用
    @AuraEnabled
    public static  List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; }       // 产品单位的List
    public static  List<Consumable_order_details2__c> InsListUp = New List<Consumable_order_details2__c>();
    public static List<ConsumableorderdetailsInfo> consumableorderdetailsviewRecords;
   
@@ -35,10 +43,10 @@
    //list<String> notexitlist = new list<String>();
    public static  Map<String,String> reFindProduct = new Map<String,String>();
    //排序用
    public static  String sortKey;
    public static  String preSortKey;
    public static  Boolean sortOrderAsc;
    public static  String[] sortOrder;
    // public static  String sortKey;
    // public static  String preSortKey;
    // public static  Boolean sortOrderAsc;
    // public static  String[] sortOrder;
    //private Set<String> carCodeListLose = new Set<String>();              //ProductCount_Res 有,BarCodeListP 没有
    /*****************经销商ID******************/
    private static String accountid = null;
@@ -105,6 +113,8 @@
    // 画面初始化
    @AuraEnabled
    public static ResponseBodyLWC init() {
        ResponseBodyLWC res = new ResponseBodyLWC();
        Map<String,object> data = new Map<String,object>();
        res.entity = data;
@@ -123,11 +133,11 @@
                        System.debug('pandiandetailsMap====>'+pandiandetailsMap);
        initStandardController();
        makepagerecords();
        sortKey = '1';
        preSortKey = '1';
        sortOrderAsc = false;
        sortOrder = new String[1];
        sortOrder = new String[]{' ',' ','↓'};
        // sortKey = '1';
        // preSortKey = '1';
        // sortOrderAsc = false;
        // sortOrder = new String[1];
        // sortOrder = new String[]{' ',' ','↓'};
        String userId = UserInfo.getUserId();
        //String userId = '00510000006k82X';
@@ -173,6 +183,7 @@
                            AND Product_Type__c like : sqlagencyProType
                            AND Arrive_Owner_Work_Location__c =: userWorkLocation
                            AND  Dealer_Info_text__c = :accountName];
                            System.debug('ProductCount_Res==>'+ProductCount_Res);
        //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res  ' + ProductCount_Res.size()));
        for(Integer i = 0 ; i< ProductCount_Res.size();i++){
            //然后循环CountDel做Box和piece2个map
@@ -236,15 +247,10 @@
        }
        //consumableorderdetailsCount = consumableorderdetailsRecords.size();
        listCut();
        system.debug('ConsumableorderdetailsRecordsview'+ConsumableorderdetailsRecordsview);
        System.debug('ConsumableorderdetailsRecordsview==>'+ConsumableorderdetailsRecordsview);
        // data.put('ConsumableorderdetailsRecordsview',ConsumableorderdetailsRecordsview);
        // for(ConsumableorderdetailsInfo con: ConsumableorderdetailsRecordsview){
        //     consumableorderdetailsviewRecords.add(con);
        // }
        System.debug('consumableorderdetailsviewRecords===>'+consumableorderdetailsviewRecords);
        System.debug('consumableorderdetailsRecords===>'+consumableorderdetailsRecords);
@@ -321,7 +327,12 @@
    //========20160311======ADD_End==================================
    // BarCode录入
    @AuraEnabled
    public static ResponseBodyLWC searchConsumableorderdetails(String agencyProType,String userWorkLocation,String accountName,String barcode,String consumableorderdetailsRecordsLWC){
    public static ResponseBodyLWC searchConsumableorderdetails(String agencyProType,String userWorkLocation,String accountName,String barcode,String consumableorderdetailsRecordsLWC,Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, String sortOrderLWC){
        pageSize = pageSizeLWC;
        pageToken = pageTokenLWC;
        sortField = sortFieldLWC;
        sortOrder = sortOrderLWC;
        System.debug('===>consumableorderdetailsRecordsLWC'+consumableorderdetailsRecordsLWC);
        List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class);
        // ConsumableorderdetailsInfo[] consumableorderdetailsRecords=(List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class);
@@ -361,6 +372,7 @@
                            AND Arrive_Owner_Work_Location__c =: userWorkLocation
                            AND  Dealer_Info_text__c = :accountName ];
        reFindProduct.clear();
        System.debug('ProductCount_Res==>'+ProductCount_Res);
        Map<String,ConsumableorderdetailsInfo> barCodeListAdjustMap = new  Map<String,ConsumableorderdetailsInfo>();
        //barCodeListLoseMap.clear();
        Set<String> carCodeListLose = new Set<String>();
@@ -411,6 +423,7 @@
                        AND  Bar_Code__c in :carCodeListLose
                        AND Dealer_Info_text__c = :accountName
                        ORDER BY Name ];
                        System.debug('reSet1==>'+reSet1);
            Map<String,Consumable_order_details2__c> needreturnMap = new Map<String,Consumable_order_details2__c>();
            for(Consumable_order_details2__c cod2 :reSet1){
                needreturnMap.put(cod2.Bar_Code__c,cod2);
@@ -492,6 +505,7 @@
            }
            initStandardController();
            showcod2nid = cod2s();
            system.debug('showcod2nid===>'+showcod2nid);
            for (Consumable_order_details2__c cod2 : showcod2nid) {
                codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id)));
            }
@@ -520,17 +534,47 @@
                if(pandiandetailsListMid.size() > 0){
                    pandiandetailsListShow.add(pandiandetailsListMid);
                }
                data.put('codPageRecords',JSON.serialize(codPageRecords));
                data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords));
                data.put('pandiandetailsMap',pandiandetailsMap);
                System.debug('iSinventory===>'+iSinventory);
                data.put('iSinventory',JSON.serialize(iSinventory));
                data.put('iSinventory',JSON.serialize(iSinventory));
                res.code = 200;
                res.status = 'Success';
                res.msg = 'barcode为空';
                return res;
                // return;
                 //分页
            PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
            totalCount = codPageRecords.size();
            paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
            paginatedAccounts.recordStart = pageToken + 1;
            paginatedAccounts.pageNumber = pageToken / pageSize + 1;
            Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
            paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
            paginatedAccounts.totalRecords = totalCount;
            Integer startIdx;
            Integer endIdx;
            List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
            startIdx = pageToken;
            endIdx = startIdx + pageSize;
            if (endIdx > codPageRecords.size()) {
                endIdx = codPageRecords.size();
            }
            for (Integer i = startIdx; i < endIdx; i++) {
                pageCodeRecords.add(codPageRecords.get(i));
            }
            data.put('paginatedAccounts', paginatedAccounts);
            data.put('pageCodeRecords', pageCodeRecords);
            //end
            data.put('codPageRecords',JSON.serialize(codPageRecords));
            data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords));
            data.put('consumableorderdetailsRecordsview',JSON.serialize(consumableorderdetailsRecordsview));
            data.put('pandiandetailsMap',pandiandetailsMap);
            System.debug('iSinventory===>'+iSinventory);
            System.debug('codPageRecords===>'+codPageRecords);
            data.put('iSinventory',JSON.serialize(iSinventory));
            data.put('reSet1',reSet1);
            System.debug('reSet1===>'+reSet1);
            res.code = 200;
            res.status = 'Success1';
            return res;
        }
@@ -937,6 +981,33 @@
            if(pandiandetailsListMid.size() > 0){
                pandiandetailsListShow.add(pandiandetailsListMid);
            }
            //分页
            PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
            totalCount = codPageRecords.size();
            paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
            paginatedAccounts.recordStart = pageToken + 1;
            paginatedAccounts.pageNumber = pageToken / pageSize + 1;
            Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
            paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
            paginatedAccounts.totalRecords = totalCount;
            Integer startIdx;
            Integer endIdx;
            List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
            startIdx = pageToken;
            endIdx = startIdx + pageSize;
            if (endIdx > codPageRecords.size()) {
                endIdx = codPageRecords.size();
            }
            for (Integer i = startIdx; i < endIdx; i++) {
                pageCodeRecords.add(codPageRecords.get(i));
            }
            data.put('paginatedAccounts', paginatedAccounts);
            data.put('pageCodeRecords', pageCodeRecords);
            //end
            System.debug('=====>codPageRecords2'+codPageRecords);
            System.debug('=====>consumableorderdetailsRecords'+consumableorderdetailsRecords);
            data.put('codPageRecords',JSON.serialize(codPageRecords));
@@ -946,25 +1017,13 @@
            System.debug('pandiandetailsMap===>'+pandiandetailsMap);
            data.put('pandiandetailsMap',pandiandetailsMap);
            data.put('reSet',reSet);
            data.put('consumableorderdetailsRecordsview',JSON.serialize(consumableorderdetailsRecordsview));
            System.debug('=====>consumableorderdetailsRecordsview'+consumableorderdetailsRecordsview);
            res.code = 200;
            res.status = 'Sucess';
            return res;
    }
    // @AuraEnabled
    // public static ResponseBodyLWC saveConfirm(Boolean iSinventory,String consumableorderdetailsRecordsLWC,String eSetId ) {
    //     ResponseBodyLWC res = new ResponseBodyLWC();
    //     Map<String,object> data = new Map<String,object>();
    //     res.entity = data;
    //     save(iSinventory,consumableorderdetailsRecordsLWC);
    //     LexInventoryListController.init(eSetId);
    //     res.code = 200;
    //     res.status = 'Sucess';
    //     return res;
    // }
    // 保存按钮
    @AuraEnabled
    public static ResponseBodyLWC save(Boolean iSinventory,String consumableorderdetailsRecordsLWC,String accountid,String agencyProType,Map<Id,String> pandiandetailsMap,List<Consumable_order_details2__c> reSet) {
@@ -981,7 +1040,7 @@
        // 跳过明细2不必要更新
        StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
        if(!iSinventory){
            return new ResponseBodyLWC('Error',500, '请先点【BarCode录入】', '');
            return new ResponseBodyLWC('Error',500, '请先录入BarCode', '');
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'请先点【BarCode录入】'));
            // return null;
        }
@@ -1103,6 +1162,7 @@
        /************************************************************************************************/
        // return ProS();
        data.put('eSetId',eSetId);
        data.put('InsListUp',InsListUp);
        res.status = 'Success';
        res.code = 200;
        System.debug('res = ' + res);
@@ -1121,6 +1181,19 @@
        Pagereference pr = page.InventoryCSV;
        return pr;
    }
      //分页Bean
      public class PaginatedAccounts {
        @AuraEnabled
        public Integer nextPageToken;
        @AuraEnabled
        public Integer pageNumber { get; set; }
        @AuraEnabled
        public Integer totalRecords { get; set; }
        @AuraEnabled
        public Integer recordStart { get; set; }
        @AuraEnabled
        public Integer recordEnd { get; set; }
    }
    // Data Bean
    class ConsumableorderdetailsInfo implements Comparable {