buli
2023-07-14 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7
force-app/main/default/classes/LexArriveGoodsMainController.cls
@@ -1,224 +1,233 @@
public without sharing class LexArriveGoodsMainController {
    /*****************検索用******************/
    //经销商产品分类
    public static String agencyProType { get; set; }
    // public static Consumable_order__c coc { get; set; }
    public static String category1 { get; set; }
    private static String cate1ForSort = null;
    private static Date cate2ForSort = Date.today();
    private static Date cate2 = Date.today();
    private static String[] columus = new List<String>{ 'Product2__c.Name' };
    // 产品 ID
    private static String ESetId = '';
    private static String accountid = null;
    // 订单 字段标签
    public static List<String> title { get; private set; }
    // 订单 字段名
    public static List<String> column;
    public static List<List<String>> columns { get; private set; }
    // 画面显示数据
    public static List<Consumable_order__c> raesList { get; private set; }
    // 登录者工作地
    private static String userWorkLocation;
    // 20200904 ljh  汇总使用 start
    public static Integer Total_num { get; set; }
    public static Integer OrderNumber_arrived { get; set; }
    public static Integer Delivery_detail_count { get; set; }
    public static Integer OrderNumber_notarrive { get; set; }
    public static Integer More_than_seven_days { get; set; }
  /*****************検索用******************/
  //经销商产品分类
  public static String agencyProType { get; set; }
  // public static Consumable_order__c coc { get; set; }
  public static String category1 { get; set; }
  private static String cate1ForSort = null;
  private static Date cate2ForSort = Date.today();
  private static Date cate2 = Date.today();
  private static String[] columus = new List<String>{ 'Product2__c.Name' };
  // 产品 ID
  private static String ESetId = '';
  private static String accountid = null;
  // 订单 字段标签
  public static List<String> title { get; private set; }
  // 订单 字段名
  public static List<String> column;
  public static List<List<String>> columns { get; private set; }
  // 画面显示数据
  public static List<Consumable_order__c> raesList { get; private set; }
  // 登录者工作地
  private static String userWorkLocation;
  // 20200904 ljh  汇总使用 start
  public static Integer Total_num { get; set; }
  public static Integer OrderNumber_arrived { get; set; }
  public static Integer Delivery_detail_count { get; set; }
  public static Integer OrderNumber_notarrive { get; set; }
  public static Integer More_than_seven_days { get; set; }
    @AuraEnabled
    public static Results init() {
        Results results = new Results();
        results.isNoteStay = LexUtility.getIsNoteStay();
        try {
            // coc = new Consumable_order__c();
            String userId = UserInfo.getUserId();
            List<user> Useracc = new List<user>();
            Useracc = [
                SELECT accountid, Work_Location__c, UserPro_Type__c
                FROM user
                WHERE id = :userId
            ];
            accountid = Useracc[0].accountid;
            userWorkLocation = Useracc[0].Work_Location__c;
            agencyProType = Useracc[0].UserPro_Type__c;
            if (String.isBlank(Useracc[0].UserPro_Type__c)) {
                agencyProType = 'ET';
            }
            // 获得订单一览
            Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe().get('Consumable_order__c').getDescribe().fieldSets.getMap();
            Schema.FieldSet fs = fsMap.get('arrive_view');
            // 获得订单中的所有项目
            List<FieldSetMember> fsmList = fs.getFields();
            // 获得字段标签和字段名
            title = new List<String>();
            column = new List<String>();
            columns = new List<List<String>>();
            for (FieldSetMember fsm : fsmList) {
                title.add(fsm.getLabel());
                column.add(fsm.getFieldPath());
                columns.add(fsm.getFieldPath().split('\\.'));
            }
            // 获得显示数据
            raesList = new List<Consumable_order__c>();
            String soql = 'select Id';
            for (String s : column) {
                soql += ',' + s;
            }
            soql +=
                ' from Consumable_order__c where Order_type__c = \'' +
                '订单' +
                '\' and  recordtypeid =\'' +
                System.Label.RT_ConOrder_Delivery +
                '\' and Dealer_Info__c =\'' +
                accountid +
                '\' and Order_ProType__c =\'' +
                agencyProType +
                '\' and   (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_Owner_WorkLocal__c = \'' +
                userWorkLocation +
                '\' and showFalseNotshowTrue__c = false order by Deliver_date__c'; //
            // soql = 'select id,name,ContractNo__c,Total_num__c,OrderNumber_arrived__c,Delivery_detail_count__c,OrderNumber_notarrive__c,More_than_seven_days__c,Shipment_date__c,First_Delivery__c from Consumable_order__c where id in :idList';
            raesList = Database.query(soql);
            //20200904 ljh add start
            Total_num = 0;
            OrderNumber_arrived = 0;
            Delivery_detail_count = 0;
            OrderNumber_notarrive = 0;
            More_than_seven_days = 0;
            System.debug('-----1------' + raesList);
            for (Consumable_order__c conorder : raesList) {
                if (conorder.Total_num__c != null) {
                    Total_num += (Integer) conorder.Total_num__c;
                }
                if (conorder.OrderNumber_arrived__c != null) {
                    OrderNumber_arrived += (Integer) conorder.OrderNumber_arrived__c;
                }
                if (conorder.Delivery_detail_count__c != null) {
                    Delivery_detail_count += (Integer) conorder.Delivery_detail_count__c;
                }
                if (conorder.OrderNumber_notarrive__c != null) {
                    OrderNumber_notarrive += (Integer) conorder.OrderNumber_notarrive__c;
                }
                if (conorder.More_than_seven_days__c != null) {
                    More_than_seven_days += (Integer) conorder.More_than_seven_days__c;
                }
            }
            results.agencyProType = agencyProType;
            results.accountId = accountid;
            results.title = title;
            results.raesList = raesList;
            results.userWorkLocation = userWorkLocation;
            results.totalNum = Total_num;
            results.orderNumberArrived = OrderNumber_arrived;
            results.deliveryDetailCount = Delivery_detail_count;
            results.orderNumberNotarrive = OrderNumber_notarrive;
            results.moreThanSevenDays = More_than_seven_days;
            results.result = 'Success';
        } catch (Exception e) {
            results.result = 'Fail';
            results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
  @AuraEnabled
  public static Results init() {
    Results results = new Results();
    results.isNoteStay = LexUtility.getIsNoteStay();
    try {
      // coc = new Consumable_order__c();
      String userId = UserInfo.getUserId();
      List<user> Useracc = new List<user>();
      Useracc = [
        SELECT accountid, Work_Location__c, UserPro_Type__c
        FROM user
        WHERE id = :userId
      ];
      accountid = Useracc[0].accountid;
      userWorkLocation = Useracc[0].Work_Location__c;
      agencyProType = Useracc[0].UserPro_Type__c;
      if (String.isBlank(Useracc[0].UserPro_Type__c)) {
        agencyProType = 'ET';
      }
      // 获得订单一览
      Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe()
        .get('Consumable_order__c')
        .getDescribe()
        .fieldSets.getMap();
      Schema.FieldSet fs = fsMap.get('arrive_view');
      // 获得订单中的所有项目
      List<FieldSetMember> fsmList = fs.getFields();
      // 获得字段标签和字段名
      title = new List<String>();
      column = new List<String>();
      columns = new List<List<String>>();
      for (FieldSetMember fsm : fsmList) {
        title.add(fsm.getLabel());
        column.add(fsm.getFieldPath());
        columns.add(fsm.getFieldPath().split('\\.'));
      }
      // 获得显示数据
      raesList = new List<Consumable_order__c>();
      String soql = 'select Id';
      for (String s : column) {
        soql += ',' + s;
      }
      soql +=
        ' from Consumable_order__c where Order_type__c = \'' +
        '订单' +
        '\' and  recordtypeid =\'' +
        System.Label.RT_ConOrder_Delivery +
        '\' and Dealer_Info__c =\'' +
        accountid +
        '\' and Order_ProType__c =\'' +
        agencyProType +
        '\' and   (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_Owner_WorkLocal__c = \'' +
        userWorkLocation +
        '\' and showFalseNotshowTrue__c = false order by Deliver_date__c'; //
      // soql = 'select id,name,ContractNo__c,Total_num__c,OrderNumber_arrived__c,Delivery_detail_count__c,OrderNumber_notarrive__c,More_than_seven_days__c,Shipment_date__c,First_Delivery__c from Consumable_order__c where id in :idList';
      raesList = Database.query(soql);
      //20200904 ljh add start
      Total_num = 0;
      OrderNumber_arrived = 0;
      Delivery_detail_count = 0;
      OrderNumber_notarrive = 0;
      More_than_seven_days = 0;
      System.debug('-----1------' + raesList);
      for (Consumable_order__c conorder : raesList) {
        if (conorder.Total_num__c != null) {
          Total_num += (Integer) conorder.Total_num__c;
        }
        return results;
    }
    @AuraEnabled
    public static Results searchConsumableorderdetails(
        String category1Str,
        Date cate2Str,
        String accountidStr,
        String userWorkLocationStr,
        String agencyProTypeStr
    ) {
        Results results = new Results();
        category1 = category1Str;
        cate2 = cate2Str;
        accountid = accountidStr;
        userWorkLocation = userWorkLocationStr;
        agencyProType = agencyProTypeStr;
        try {
            // cate2 = coc.Shipment_date__c;
            // 获得订单一览
            Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe().get('Consumable_order__c').getDescribe().fieldSets.getMap();
            Schema.FieldSet fs = fsMap.get('arrive_view');
            // 获得订单中的所有项目
            List<FieldSetMember> fsmList = fs.getFields();
            // 获得字段标签和字段名
            title = new List<String>();
            column = new List<String>();
            columns = new List<List<String>>();
            for (FieldSetMember fsm : fsmList) {
                title.add(fsm.getLabel());
                column.add(fsm.getFieldPath());
                columns.add(fsm.getFieldPath().split('\\.'));
            }
            // 获得显示数据
            raesList = new List<Consumable_order__c>();
            String soql = 'select Id';
            for (String s : column) {
                soql += ',' + s;
            }
            soql +=
                ' from Consumable_order__c where Order_type__c = \'' +
                '订单' +
                '\' and  recordtypeid =\'' +
                System.Label.RT_ConOrder_Delivery +
                '\' and Dealer_Info__c =\'' +
                accountid +
                '\' and  (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) ';
            soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
            soql += 'and showFalseNotshowTrue__c = false';
            if (!String.isBlank(category1)) {
                soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' ';
            }
            if (cate2 != null) {
                soql += ' and Shipment_date__c = :cate2 ';
            }
            soql += '  and Order_ProType__c =\'' + agencyProType + '\'';
            soql += ' order by Deliver_date__c';
            system.debug('====soql:' + soql);
            raesList = Database.query(soql);
            results.raesList = raesList;
            results.result = 'Success';
        } catch (Exception e) {
            results.result = 'Fail';
            results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
        if (conorder.OrderNumber_arrived__c != null) {
          OrderNumber_arrived += (Integer) conorder.OrderNumber_arrived__c;
        }
        return results;
        if (conorder.Delivery_detail_count__c != null) {
          Delivery_detail_count += (Integer) conorder.Delivery_detail_count__c;
        }
        if (conorder.OrderNumber_notarrive__c != null) {
          OrderNumber_notarrive += (Integer) conorder.OrderNumber_notarrive__c;
        }
        if (conorder.More_than_seven_days__c != null) {
          More_than_seven_days += (Integer) conorder.More_than_seven_days__c;
        }
      }
      results.agencyProType = agencyProType;
      results.accountId = accountid;
      results.title = title;
      results.raesList = raesList;
      results.userWorkLocation = userWorkLocation;
      results.totalNum = Total_num;
      results.orderNumberArrived = OrderNumber_arrived;
      results.deliveryDetailCount = Delivery_detail_count;
      results.orderNumberNotarrive = OrderNumber_notarrive;
      results.moreThanSevenDays = More_than_seven_days;
      results.result = 'Success';
    } catch (Exception e) {
      results.result = 'Fail';
      results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
    }
    return results;
  }
    public class Results {
        @AuraEnabled
        public String result;
        @AuraEnabled
        public String errorMsg;
        @AuraEnabled
        public String agencyProType;
        @AuraEnabled
        public String category1;
        @AuraEnabled
        public Date cate2;
        @AuraEnabled
        public String eSetId;
        @AuraEnabled
        public String accountId;
        @AuraEnabled
        public List<String> title;
        @AuraEnabled
        public List<Consumable_order__c> raesList;
        @AuraEnabled
        public String userWorkLocation;
        @AuraEnabled
        public Integer totalNum;
        @AuraEnabled
        public Integer orderNumberArrived;
        @AuraEnabled
        public Integer deliveryDetailCount;
        @AuraEnabled
        public Integer orderNumberNotarrive;
        @AuraEnabled
        public Integer moreThanSevenDays;
        @AuraEnabled
        public Boolean isNoteStay;
  @AuraEnabled
  public static Results searchConsumableorderdetails(
    String category1Str,
    Date cate2Str,
    String accountidStr,
    String userWorkLocationStr,
    String agencyProTypeStr
  ) {
    Results results = new Results();
    category1 = category1Str;
    cate2 = cate2Str;
    accountid = accountidStr;
    userWorkLocation = userWorkLocationStr;
    agencyProType = agencyProTypeStr;
    try {
      // cate2 = coc.Shipment_date__c;
      // 获得订单一览
      Map<String, Schema.FieldSet> fsMap = Schema.getGlobalDescribe()
        .get('Consumable_order__c')
        .getDescribe()
        .fieldSets.getMap();
      Schema.FieldSet fs = fsMap.get('arrive_view');
      // 获得订单中的所有项目
      List<FieldSetMember> fsmList = fs.getFields();
      // 获得字段标签和字段名
      title = new List<String>();
      column = new List<String>();
      columns = new List<List<String>>();
      for (FieldSetMember fsm : fsmList) {
        title.add(fsm.getLabel());
        column.add(fsm.getFieldPath());
        columns.add(fsm.getFieldPath().split('\\.'));
      }
      // 获得显示数据
      raesList = new List<Consumable_order__c>();
      String soql = 'select Id';
      for (String s : column) {
        soql += ',' + s;
      }
      soql +=
        ' from Consumable_order__c where Order_type__c = \'' +
        '订单' +
        '\' and  recordtypeid =\'' +
        System.Label.RT_ConOrder_Delivery +
        '\' and Dealer_Info__c =\'' +
        accountid +
        '\' and  (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) ';
      soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
      soql += 'and showFalseNotshowTrue__c = false';
      if (!String.isBlank(category1)) {
        soql +=
          ' and Name like \'%' +
          String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) +
          '%\' ';
      }
      if (cate2 != null) {
        soql += ' and Shipment_date__c = :cate2 ';
      }
      soql += '  and Order_ProType__c =\'' + agencyProType + '\'';
      soql += ' order by Deliver_date__c';
      system.debug('====soql:' + soql);
      raesList = Database.query(soql);
      results.raesList = raesList;
      results.result = 'Success';
    } catch (Exception e) {
      results.result = 'Fail';
      results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
    }
}
    return results;
  }
  public class Results {
    @AuraEnabled
    public String result;
    @AuraEnabled
    public String errorMsg;
    @AuraEnabled
    public String agencyProType;
    @AuraEnabled
    public String category1;
    @AuraEnabled
    public Date cate2;
    @AuraEnabled
    public String eSetId;
    @AuraEnabled
    public String accountId;
    @AuraEnabled
    public List<String> title;
    @AuraEnabled
    public List<Consumable_order__c> raesList;
    @AuraEnabled
    public String userWorkLocation;
    @AuraEnabled
    public Integer totalNum;
    @AuraEnabled
    public Integer orderNumberArrived;
    @AuraEnabled
    public Integer deliveryDetailCount;
    @AuraEnabled
    public Integer orderNumberNotarrive;
    @AuraEnabled
    public Integer moreThanSevenDays;
    @AuraEnabled
    public Boolean isNoteStay;
  }
}