From 3962c2bb0435484b60a3e408e4738d792e249a53 Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期一, 05 六月 2023 11:09:55 +0800
Subject: [PATCH] LEX CommunityNewCmp

---
 force-app/main/default/classes/LexArriveGsDetailsController.cls |  171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 171 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/classes/LexArriveGsDetailsController.cls b/force-app/main/default/classes/LexArriveGsDetailsController.cls
new file mode 100644
index 0000000..05b90bc
--- /dev/null
+++ b/force-app/main/default/classes/LexArriveGsDetailsController.cls
@@ -0,0 +1,171 @@
+public without sharing class LexArriveGsDetailsController {
+    public static Consumable_order__c coc { get; set; }
+    private static String accountid = null;
+    private static Decimal orderallcount = 0;
+    public static Boolean arrivetoorder { get; set; }
+    public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords { get; set; }
+    public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; }
+    private static String eSetId = '';
+    private static Integer consumableorderdetailsCount = null;
+
+    //鍒濆鍖�
+    @AuraEnabled
+    public static Results init(String eSetIdStr) {
+        Results results = new Results();
+        results.isNoteStay = LexUtility.getIsNoteStay();
+        eSetId = eSetIdStr;
+        consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+        consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
+        try {
+            //鍙栫粡閿�鍟嗕俊鎭�
+            String userId = UserInfo.getUserId();
+            List<user> useracc = New List<user>();
+            useracc = [select accountid from user where id =:userId];
+            accountid = useracc[0].accountid;
+            List<Consumable_order__c> rs = New List<Consumable_order__c>();
+            if(eSetId == NULL || eSetId == '') {
+
+            }else {
+                rs = [SELECT id,name,Order_reason__c,Arrive_Order__c,Arrive_Order__r.Total_num__c,Arrive_Order__r.IsShipment__c,Arrive_Order__r.Name,
+                            recordtypeid,Order_status__c,Deliver_date__c,Arrive_total_amount__c
+                        FROM Consumable_order__c
+                        WHERE id =:eSetId];
+                coc =  new Consumable_order__c();
+                if(rs.size()>0){
+                    coc = rs[0];
+                    orderallcount = coc.Arrive_Order__r.Total_num__c;
+                }
+                if(coc.Arrive_Order__c == null){
+                    arrivetoorder = true;
+                }
+                List<Consumable_order_details2__c> consumablearriveproductdetailsSelected = [SELECT Id,Dealer_Arrive__c,Bar_Code__c, RecordTypeid, Name,Consumable_Product__r.Name__c,
+                                                            Consumable_Product__c,Consumable_Product__r.Name,Dealer_Saled__c,
+                                                            Sterilization_limit__c,Deliver_date__c,
+                                                            Intra_Trade_List_RMB__c,Asset_Model_No__c,Arrive_Date__c,Send_Date__c,
+                                                            Consumable_Product__r.SFDA_Status__c,
+                                                            Consumable_Product__r.Product2__r.Packing_list_manual__c,
+                                                            Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
+                                                            Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c
+                                                        FROM Consumable_order_details2__c
+                                                        WHERE Consumable_Arrived_order__c = :eSetId
+                                                        ORDER BY Name ];
+                for (Integer i = 0; i < consumablearriveproductdetailsSelected.size(); i++) {
+                        consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i]));
+                    }
+            }
+            for(ConsumableorderdetailsInfo bss : consumableorderdetailsRecords){
+                bss.packing_list = bss.Prod.Product2__r.Packing_list_manual__c;
+                bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+                //update by rentx 20210622 start CHAN-C3K4ZQ
+                bss.expiration_DateStr = bss.Prod.Product2__r.SFDA_Expiration_Date__c == null ? '' : bss.Prod.Product2__r.SFDA_Expiration_Date__c.format();
+                bss.Sterilization_limitStr = bss.esd.Sterilization_limit__c == null ? '' : bss.esd.Sterilization_limit__c.format();
+                //update by rentx 20210622 end CHAN-C3K4ZQ
+            }
+            consumableorderdetailsCount = consumableorderdetailsRecords.size();
+            //add by rentx 20210622 CHAN-C3K4ZQ
+            // makeRecordsView(consumableorderdetailsRecords);
+            //add by rentx 20210622 CHAN-
+            for(ConsumableorderdetailsInfo con : consumableorderdetailsRecords){
+                con.prodName = con.esd.Consumable_Product__r.Name__c;
+            }
+            results.coc = coc;
+            results.accountid = accountid;
+            results.orderallcount = orderallcount;
+            results.arrivetoorder = arrivetoorder;
+            results.consumableorderdetailsRecords = consumableorderdetailsRecords;
+            results.consumableorderdetailsCount = consumableorderdetailsCount;
+            results.result = 'Success';
+        } catch (Exception e) {
+            results.result = 'Fail';
+            results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+        }
+        return results;
+    }
+
+    //鍑哄簱
+    @AuraEnabled
+    public static Results proSale(String cocStr, Decimal orderallcountParm, Integer consumableorderdetailsCountParm) {
+        Results results = new Results();
+        try {
+            orderallcount = orderallcountParm;
+            consumableorderdetailsCount = consumableorderdetailsCountParm;
+            coc = (Consumable_order__c)JSON.deserialize(cocStr, Consumable_order__c.class);
+            List<Consumable_order_details2__c> orderdetails = new List<Consumable_order_details2__c>();
+            //鍙戣揣鏄庣粏2
+            orderdetails = [SELECT Id 
+                            FROM Consumable_order_details2__c
+                            WHERE Consumable_order_minor__c =:coc.Arrive_Order__c
+                            AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery
+                            AND Dealer_Arrive__c = true ];
+            if(orderallcount!= consumableorderdetailsCount){
+                results.result = 'Fail';
+                results.errorMsg = '璁㈠崟涓嶅畬鍏ㄥ埌璐э紝鏃犳硶鍑哄簱';
+                return results;
+            }
+            if(coc.Arrive_Order__r.IsShipment__c == true){
+                results.result = 'Fail';
+                results.errorMsg = '璁㈠崟宸茬粡鍑哄簱';
+                return results;
+            }
+            results.url = '/lexsummonscreat?arriveorder=' + eSetId +'&KeyWords=Redirect';
+            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 Consumable_order__c coc;
+        @AuraEnabled
+        public String accountid;
+        @AuraEnabled
+        public Decimal orderallcount;
+        @AuraEnabled
+        public Boolean arrivetoorder;
+        @AuraEnabled
+        public List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
+        @AuraEnabled
+        public Integer consumableorderdetailsCount;
+        @AuraEnabled
+        public String url;
+        @AuraEnabled
+        public Boolean isNoteStay;
+    }
+
+    public class ConsumableorderdetailsInfo implements Comparable {
+        @AuraEnabled
+        public Consumable_order_details2__c esd;
+        @AuraEnabled
+    	public Product2__c Prod;
+        @AuraEnabled
+        public Decimal packing_list;
+        @AuraEnabled
+        public Date expiration_Date;
+        @AuraEnabled
+        public String approbation_No;
+        @AuraEnabled
+        public String expiration_DateStr;
+        @AuraEnabled
+        public String Sterilization_limitStr;
+        @AuraEnabled
+        public String prodName;
+
+
+        // 宸插瓨鍦ㄦ秷鑰楀搧鏄庣粏鐢�
+        public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+            esd = e;
+            Prod = e.Consumable_Product__r;
+        }
+        // 鎺掑簭Consumable_order__c
+        public Integer compareTo(Object compareTo) {
+            return null;
+        }
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.1