binxie
2023-06-26 00e147ec892cb1e89d0698787a8c60da1014cdb7
force-app/main/default/classes/LexSaleAndDeliveryController.cls
@@ -1,7 +1,7 @@
public with sharing class LexSaleAndDeliveryController {
    // 显示数据条数限制
    private static Integer Select_Limit = 100;
    //初始化
    @AuraEnabled
    public static ResponseBodyLWC init() {
@@ -17,31 +17,37 @@
            String userWorkLocation = '';
            ResponseBodyLWC res = new ResponseBodyLWC();
            Map<String,object> data = new Map<String,object>();
            Map<String, object> data = new Map<String, object>();
            res.entity = data;
            userinfoId = UserInfo.getUserId();
            List<user> Useracc = New List<user>();
            Useracc = [SELECT
                            accountid, Work_Location__c,UserPro_Type__c
                        FROM user
            WHERE id =:userinfoId];
            List<user> Useracc = new List<user>();
            Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userinfoId];
            accountid = Useracc[0].accountid;
            agencyProType = Useracc[0].UserPro_Type__c;
            if(String.isBlank(Useracc[0].UserPro_Type__c)){
            if (String.isBlank(Useracc[0].UserPro_Type__c)) {
                agencyProType = 'ET';
            }
            userWorkLocation = Useracc[0].Work_Location__c;
            data.put('userinfoId',userinfoId);
            data.put('accountid',accountid);
            data.put('agencyProType',agencyProType);
            data.put('userWorkLocation',userWorkLocation);
            System.debug('userinfoId = ' + userinfoId + ' accountid = ' + accountid + ' agencyProType = ' + agencyProType + ' userWorkLocation = ' + userWorkLocation);
            data.put('userinfoId', userinfoId);
            data.put('accountid', accountid);
            data.put('agencyProType', agencyProType);
            data.put('userWorkLocation', userWorkLocation);
            System.debug(
                'userinfoId = ' +
                    userinfoId +
                    ' accountid = ' +
                    accountid +
                    ' agencyProType = ' +
                    agencyProType +
                    ' userWorkLocation = ' +
                    userWorkLocation
            );
            //默认检索显示未完成的指示单
            List<Consumable_order__c> raesList = new List<Consumable_order__c>();
            String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
            soql += '  WHERE Order_type__c = \'' + '传票' + '\'  ';
            soql += ' and Order_ProType__c =\'' + agencyProType +'\' ';
            soql += 'and SummonsStatus_c__c != \'' + '已完成' + '\' and Dealer_Info__c =\'' + accountid +'\' ';
            soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
            soql += 'and SummonsStatus_c__c != \'' + '已完成' + '\' and Dealer_Info__c =\'' + accountid + '\' ';
            soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
            soql += 'order by SummonsStatus_c__c';
            System.debug('soql = ' + soql);
@@ -53,16 +59,24 @@
            res.msg = '';
            return res;
        } catch (Exception e) {
            return new ResponseBodyLWC('Error',500, e.getMessage(), '');
            return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
        }
    }
    // 已出库未开票的出库单
    @AuraEnabled
    public static ResponseBodyLWC searchOrderInstatus(String orderDate,String deliverDate,String accountid,String agencyProType,String userWorkLocation,String category1,String category2) {
    public static ResponseBodyLWC searchOrderInstatus(
        String orderDate,
        String deliverDate,
        String accountid,
        String agencyProType,
        String userWorkLocation,
        String category1,
        String category2
    ) {
        try {
            ResponseBodyLWC res = new ResponseBodyLWC();
            Map<String,object> data = new Map<String,object>();
            Map<String, object> data = new Map<String, object>();
            res.entity = data;
            Date cate2 = String.isEmpty(orderDate) ? null : Date.valueOf(orderDate.replace('/', '-'));
@@ -71,8 +85,8 @@
            List<Consumable_order__c> raesList = new List<Consumable_order__c>();
            String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
            soql += ' WHERE   Order_type__c = \'' + '传票' + '\' ';
            soql += ' and Dealer_Info__c =\'' + accountid +'\' ';
            soql += ' and Order_ProType__c =\'' + agencyProType +'\' ';
            soql += ' and Dealer_Info__c =\'' + accountid + '\' ';
            soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
            soql += ' and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
            if (!String.isBlank(category1)) {
                soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' ';
@@ -80,10 +94,10 @@
            if (!String.isBlank(category2)) {
                soql += ' and ShipmentAccount__c like \'%' + String.escapeSingleQuotes(category2.replaceAll('%', '\\%')) + '%\' ';
            }
            if(cate2 != null){
            if (cate2 != null) {
                soql += ' and Outbound_Date__c >= :cate2 ';
            }
            if(cate3 != null){
            if (cate3 != null) {
                soql += ' and Outbound_Date__c <= :cate3 ';
            }
            soql += 'and SummonsForDirction__c != \'' + '互相调货' + '\' ';
@@ -93,34 +107,44 @@
            System.debug('soql = ' + soql);
            raesList = Database.query(soql);
            data.put('raesList', raesList);
            if(raesList.size()>0){
            if (raesList.size() > 0) {
                res.msg = '共有' + raesList.size() + '个出库单';
            }else{
            } else {
                res.msg = '没有搜索到相关出库单。';
            }
            res.status = 'Success';
            res.code = 200;
            return res;
        } catch (Exception e) {
            return new ResponseBodyLWC('Error',500, e.getMessage(), '');
            return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
        }
    }
    //还没出库的出库单
    @AuraEnabled
    public static ResponseBodyLWC searchConsumableorderdetails(String orderDate,String deliverDate,String accountid,String agencyProType,String userWorkLocation,String category1,String category2) {
    public static ResponseBodyLWC searchConsumableorderdetails(
        String orderDate,
        String deliverDate,
        String accountid,
        String agencyProType,
        String userWorkLocation,
        String category1,
        String category2
    ) {
        try {
            ResponseBodyLWC res = new ResponseBodyLWC();
            Map<String,object> data = new Map<String,object>();
            Map<String, object> data = new Map<String, object>();
            res.entity = data;
            Date cate2 = String.isEmpty(orderDate) ? null : Date.valueOf(orderDate.replace('/', '-'));
            Date cate3 = String.isEmpty(deliverDate) ? null : Date.valueOf(deliverDate.replace('/', '-'));
            System.debug('cate2 = ' + cate2);
            System.debug('cate3 = ' + cate3);
            // 获得订单一览
            List<Consumable_order__c> raesList = new List<Consumable_order__c>();
            String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
            soql += ' WHERE   Order_type__c = \'' + '传票' + '\' ';
            soql += ' and Dealer_Info__c =\'' + accountid +'\' ';
            soql += ' and Order_ProType__c =\'' + agencyProType +'\' ';
            soql += ' and Dealer_Info__c =\'' + accountid + '\' ';
            soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
            soql += ' and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
            if (!String.isBlank(category1)) {
                soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' ';
@@ -128,44 +152,52 @@
            if (!String.isBlank(category2)) {
                soql += ' and ShipmentAccount__c like \'%' + String.escapeSingleQuotes(category2.replaceAll('%', '\\%')) + '%\' ';
            }
            if(cate2 != null){
            if (cate2 != null) {
                soql += ' and Order_date__c >= :cate2 ';
            }
            if(cate3 != null){
            if (cate3 != null) {
                soql += ' and Order_date__c <= :cate3 ';
            }
            soql += 'and SummonsStatus_c__c != \'' + '已完成' + '\' ';
            soql += 'order by SummonsStatus_c__c limit '+ Select_Limit;
            soql += 'order by SummonsStatus_c__c limit ' + Select_Limit;
            System.debug('soql+++++' + soql);
            raesList = Database.query(soql);
            data.put('raesList', raesList);
            if(raesList.size()>0){
            if (raesList.size() > 0) {
                res.msg = '共有' + raesList.size() + '个出库单';
            }else{
            } else {
                res.msg = '没有搜索到相关出库单。';
            }
            res.status = 'Success';
            res.code = 200;
            return res;
        } catch (Exception e) {
            return new ResponseBodyLWC('Error',500, e.getMessage(), '');
            return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
        }
    }
    // 已出库已开票的出库单
    @AuraEnabled
    public static ResponseBodyLWC searchConsumableorFinish(String orderDate,String deliverDate,String accountid,String agencyProType,String userWorkLocation,String category1,String category2) {
    public static ResponseBodyLWC searchConsumableorFinish(
        String orderDate,
        String deliverDate,
        String accountid,
        String agencyProType,
        String userWorkLocation,
        String category1,
        String category2
    ) {
        try {
            ResponseBodyLWC res = new ResponseBodyLWC();
            Map<String,object> data = new Map<String,object>();
            Map<String, object> data = new Map<String, object>();
            res.entity = data;
            Date cate2 = String.isEmpty(orderDate) ? null : Date.valueOf(orderDate.replace('/', '-'));
            Date cate3 = String.isEmpty(deliverDate) ? null : Date.valueOf(deliverDate.replace('/', '-'));
            List<Consumable_order__c> raesList = new List<Consumable_order__c>();
            String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
            soql += ' WHERE   Order_type__c = \'' + '传票' + '\' ';
            soql += ' and Dealer_Info__c =\'' + accountid +'\' ';
            soql += ' and Order_ProType__c =\'' + agencyProType +'\' ';
            soql += ' and Dealer_Info__c =\'' + accountid + '\' ';
            soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
            soql += ' and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
            if (!String.isBlank(category1)) {
                soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' ';
@@ -173,10 +205,10 @@
            if (!String.isBlank(category2)) {
                soql += ' and ShipmentAccount__c like \'%' + String.escapeSingleQuotes(category2.replaceAll('%', '\\%')) + '%\' ';
            }
            if(cate2 != null){
            if (cate2 != null) {
                soql += ' and Outbound_Date__c >= :cate2 ';
            }
            if(cate3 != null){
            if (cate3 != null) {
                soql += ' and Outbound_Date__c <= :cate3 ';
            }
            soql += 'and SummonsStatus_c__c = \'' + '已完成' + '\' ';
@@ -184,16 +216,47 @@
            soql += 'order by CreatedDate desc limit ' + Select_Limit;
            raesList = Database.query(soql);
            data.put('raesList', raesList);
            if(raesList.size()>0){
            if (raesList.size() > 0) {
                res.msg = '共有' + raesList.size() + '个出库单';
            }else{
            } else {
                res.msg = '没有搜索到相关出库单。';
            }
            res.status = 'Success';
            res.code = 200;
            return res;
        } catch (Exception e) {
            return new ResponseBodyLWC('Error',500, e.getMessage(), '');
            return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
        }
    }
    @AuraEnabled
    public static ResponseBodyLWC cleanUp(String accountid, String agencyProType, String userWorkLocation) {
        try {
            ResponseBodyLWC res = new ResponseBodyLWC();
            Map<String, object> data = new Map<String, object>();
            res.entity = data;
            // 获得显示数据
            List<Consumable_order__c> raesList = new List<Consumable_order__c>();
            String soql = 'select Id, Name,ShipmentAccount__c,SummonsStatus_c__c,Billed_Status__c,CreatedDate,Outbound_Date__c,Order_ForCustomerText__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c from Consumable_order__c';
            soql += '  WHERE Order_type__c = \'' + '传票' + '\'  ';
            soql += ' and Order_ProType__c =\'' + agencyProType + '\' ';
            soql += 'and SummonsStatus_c__c != \'' + '已完成' + '\' and Dealer_Info__c =\'' + accountid + '\' ';
            soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
            soql += 'order by SummonsStatus_c__c';
            System.debug('soql = ' + soql);
            raesList = Database.query(soql);
            data.put('raesList', raesList);
            if (raesList.size() > 0) {
                res.msg = '共有' + raesList.size() + '个出库单';
            } else {
                res.msg = '没有搜索到相关出库单。';
            }
            res.status = 'Success';
            res.code = 200;
            return res;
        } catch (Exception e) {
            return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
        }
    }
}