From 00e147ec892cb1e89d0698787a8c60da1014cdb7 Mon Sep 17 00:00:00 2001
From: binxie <137736985@qq.com>
Date: 星期一, 26 六月 2023 17:42:22 +0800
Subject: [PATCH] Community升级

---
 force-app/main/default/classes/LexConInvoiceViewController.cls |  309 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 269 insertions(+), 40 deletions(-)

diff --git a/force-app/main/default/classes/LexConInvoiceViewController.cls b/force-app/main/default/classes/LexConInvoiceViewController.cls
index c2fe694..61a4641 100644
--- a/force-app/main/default/classes/LexConInvoiceViewController.cls
+++ b/force-app/main/default/classes/LexConInvoiceViewController.cls
@@ -388,7 +388,11 @@
         //         attachmentRecoeds.add(new InvoiceOrderInfo(attachmentinfo[i]));
         //     }
         // }
-        List<ContentVersion> cvInfo = [SELECT Id, Title, OwnerId,Owner.Name, CreatedDate FROM ContentVersion WHERE FirstPublishLocationId = :invoiceId];
+        List<ContentVersion> cvInfo = [
+            SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId
+            FROM ContentVersion
+            WHERE FirstPublishLocationId = :invoiceId
+        ];
         if (cvInfo.size() > 0) {
             for (Integer i = 0; i < cvInfo.size(); i++) {
                 attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i]));
@@ -415,19 +419,21 @@
         data.put('done', getdone());
         data.put('invoiceOrderdetail1Recoeds', invoiceOrderdetail1Recoeds);
         data.put('accountid', accountid);
-        data.put('invoiceOrderRecoedschange',invoiceOrderRecoedschange);
-        data.put('attachmentRecoeds',attachmentRecoeds);
+        data.put('invoiceOrderRecoedschange', invoiceOrderRecoedschange);
+        data.put('attachmentRecoeds', attachmentRecoeds);
+        data.put('outOrderStringList', outOrderStringList);
+        data.put('outordercountMap', outordercountMap);
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
         return res;
     }
 
-    
     //淇濆瓨
     @AuraEnabled
     public static ResponseBodyLWC save(
         Consumable_order__c cocLwc,
+        String HospitalNameLwc,
         String HospitalInfoLwc,
         String SecondDealerLwc,
         String invoiceOrderRecoedsLwc,
@@ -438,52 +444,56 @@
         String reopenLwc,
         String invoiceOrderRecoedschangeLwc
     ) {
-        System.debug('enter LexConInvoiceViewController success');
+        System.debug('enter LexConInvoiceViewController.save success');
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
         res.entity = data;
 
         coc = cocLwc;
+        HospitalName = HospitalNameLwc;
         HospitalInfo = HospitalInfoLwc;
+        System.debug('HospitalInfo = ' + HospitalInfo);
         SecondDealer = SecondDealerLwc;
         errorMsg = '';
-        invoiceOrderRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
+        deliveryId = deliveryIdLwc;
+        invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
         invoiceId = invoiceIdLwc;
         accountid = accountidLwc;
         agencyProType = agencyProTypeLwc;
-        invoiceOrderRecoedschange = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedschangeLwc, List<InvoiceOrderInfo>.class);
+        reopen = reopenLwc;
+        invoiceOrderRecoedschange = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedschangeLwc, List<InvoiceOrderInfo>.class);
 
         List<String> chukudanID = new List<String>();
         if (coc.Name == '' || coc.Name == null) {
-            // coc.Name.addError('璇峰綍鍏ュ彂绁ㄥ彿銆�');
+            // coc.Name.addError('璇峰綍鍏ュ彂绁ㄥ彿');
             // return null;
-            return new ResponseBodyLWC('Error', 500, '璇峰綍鍏ュ彂绁ㄥ彿銆�', '');
+            return new ResponseBodyLWC('Error', 500, '璇峰綍鍏ュ彂绁ㄥ彿', '');
         }
         if (coc.Invoice_Date__c == null) {
-            // coc.Invoice_Date__c.addError('璇峰綍鍏ュ彂绁ㄦ棩鏈熴��');
+            // coc.Invoice_Date__c.addError('璇峰綍鍏ュ彂绁ㄦ棩鏈�');
             // return null;
-            return new ResponseBodyLWC('Error', 500, '璇峰綍鍏ュ彂绁ㄦ棩鏈熴��', '');
+            return new ResponseBodyLWC('Error', 500, '璇峰綍鍏ュ彂绁ㄦ棩鏈�', '');
         }
-        if (String.isBlank(HospitalInfo) && SecondDealer == null) {
-            // coc.addError('蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟嗐��');
+        if (String.isBlank(HospitalInfo) && String.isBlank(SecondDealer)) {
+            // coc.addError('蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟�');
             // return null;
-            return new ResponseBodyLWC('Error', 500, '蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟嗐��', '');
+            return new ResponseBodyLWC('Error', 500, '蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟�', '');
         }
         if (HospitalInfo != null && HospitalInfo != '' && String.isNotEmpty(SecondDealer)) {
-            //coc.addError('璇疯緭鍏ュ鎴峰悕銆佷簩绾х粡閿�鍟嗗彧鍙緭鍏ヤ竴涓��');
-            errorMsg += '璇疯緭鍏ュ鎴峰悕銆佷簩绾х粡閿�鍟嗗彧鍙緭鍏ヤ竴涓��';
+            //coc.addError('璇疯緭鍏ュ鎴峰悕銆佷簩绾х粡閿�鍟嗗彧鍙緭鍏ヤ竴涓�');
+            errorMsg += '璇疯緭鍏ュ鎴峰悕銆佷簩绾х粡閿�鍟嗗彧鍙緭鍏ヤ竴涓�';
         }
         if (HospitalInfo != null && HospitalInfo != '') {
             if (coc.Order_ForCustomerText__c == null) {
-                // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹ゃ��');
+                // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹�');
                 // return null;
-                return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹ゃ��', '');
+                return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹�', '');
             }
         } else {
             if (coc.Order_ForCustomerText__c != null) {
-                // coc.Order_ForCustomerText__c.addError('涓嶉渶瑕佽緭鍏ョ瀹ゃ��');
+                // coc.Order_ForCustomerText__c.addError('涓嶉渶瑕佽緭鍏ョ瀹�');
                 // return null;
-                return new ResponseBodyLWC('Error', 500, '涓嶉渶瑕佽緭鍏ョ瀹ゃ��', '');
+                return new ResponseBodyLWC('Error', 500, '涓嶉渶瑕佽緭鍏ョ瀹�', '');
             }
         }
         String shipmentAccountString = '';
@@ -526,7 +536,6 @@
                 }
             } else {
                 if (HospitalInfo != null && HospitalInfo != '') {
-                    
                     System.debug('++++++++++++' + ass.esd.Order_ForHospital__c + '   ' + shipmentAccountString);
                     if (ass.esd.Order_ForHospital__c != shipmentAccountString) {
                         System.debug('HospitalInfo != null ass.esd.Order_ForHospital__c != shipmentAccountString');
@@ -545,7 +554,9 @@
                         (ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') &&
                         ass.esd.ShipmentAccount__c != shipmentAccountString
                     ) {
-                        System.debug('HospitalInfo == null && ass.esd.Order_ForDealerText__c != null ass.esd.ShipmentAccount__c != shipmentAccountString');
+                        System.debug(
+                            'HospitalInfo == null && ass.esd.Order_ForDealerText__c != null ass.esd.ShipmentAccount__c != shipmentAccountString'
+                        );
                         invoiceOrderAccountList.add(ass.esd.Name);
                     }
                 }
@@ -676,6 +687,7 @@
                     upsert invoiceLinkList;
                 }
             } else if (String.isNotBlank(reopen) && reopen.equals('isreopen') && String.isNotBlank(invoiceId)) {
+                System.debug('杩涘叆reopen');
                 invoiceHead.Name = coc.Name;
                 invoiceHead.Order_type__c = '鍙戠エ';
                 invoiceHead.Invoice_Date__c = coc.Invoice_Date__c;
@@ -685,12 +697,12 @@
                 invoiceHead.Order_ProType__c = agencyProType;
                 invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
                 //if (deliveryId != null) {
-                    if (String.isNotBlank(deliveryId)) {
+                if (String.isNotBlank(deliveryId)) {
                     invoiceHead.Outbound_order__c = deliveryId;
                 }
                 invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice;
                 //if (SecondDealer == null) {
-                    if (String.isBlank(SecondDealer)) {
+                if (String.isBlank(SecondDealer)) {
                     if (HospitalInfo != null && HospitalInfo != '') {
                         invoiceHead.Order_ForHospital__c = HospitalInfo;
                     }
@@ -699,6 +711,7 @@
                 }
                 invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
                 insert invoiceHead;
+                System.debug('invoiceHead = ' + invoiceHead);
 
                 List<String> updateChukudanId = new List<String>();
                 //鑾峰彇鍘熷彂绁ㄧ浉鍏宠仈鐨勯摼鎺ヨ〃淇℃伅
@@ -712,6 +725,7 @@
                     colc.Invoice_Code_link__c = invoiceHead.Id;
                     updateChukudanId.add(colc.Outboundorder_Code_link__c);
                 }
+                System.debug('tLinkList = ' + tLinkList);
                 update tLinkList;
                 //鏇存柊鍙戠エ鏄庣粏淇℃伅
                 //鑾峰彇鍑哄簱鍗�,璁剧疆鍏宠仈鍏崇郴
@@ -736,6 +750,7 @@
                     cocTemp.Consumable_order__c = invoiceHead.Id;
                     tempCocMap.put(cocTemp.Invoicedet1_OD_link__c + cocTemp.Asset_Model_No__c, cocTemp);
                 }
+                System.debug('tempCountList = ' + tempCountList);
                 update tempCountList;
                 List<Consumable_Orderdetails__c> updateFromList = [
                     SELECT
@@ -775,8 +790,10 @@
 
                 Consumable_order__c tempcoc = new Consumable_order__c();
                 tempcoc.Id = invoiceId;
+                System.debug('tempcoc = ' + tempcoc);
                 delete tempcoc;
                 invoiceId = invoiceHead.Id;
+                System.debug('updateFromList = ' + updateFromList);
                 update updateFromList;
                 //--------------------------------------------------------------------------
                 for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
@@ -814,6 +831,7 @@
                             invoiceLinkList.add(invoiceLink);
                         }
                     }
+                    System.debug('invoiceLinkList = ' + invoiceLinkList);
                     upsert invoiceLinkList;
                 }
                 //鍒犻櫎鍑哄簱鍗曢摼鎺ヨ〃
@@ -831,9 +849,12 @@
                             invoiceLinkdetList.add(colctemp);
                         }
                     }
+                    System.debug('invoiceLinkdetList = ' + invoiceLinkdetList);
                     delete invoiceLinkdetList;
                 }
                 //鏂板缓鍙戠エ鏄庣粏1
+                System.debug('===>' + chukudanID);
+                System.debug('===>' + chukudanID.size());
                 if (chukudanID.size() > 0) {
                     newinvoicedetails1(chukudanID);
                 }
@@ -985,7 +1006,7 @@
                     } else {
                         invoiceHead.Order_ForHospital__c = null;
                     }
-                    invoiceHead.Order_ForDealer__c = SecondDealer;
+                    invoiceHead.Order_ForDealer__c = SecondDealer == '' ? null : SecondDealer;
                     invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
                     update invoiceHead;
                     for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
@@ -1140,8 +1161,10 @@
         }
         System.debug('invoiceorderList1 +++++' + invoiceorderList1.size());
         Savepoint sp = Database.setSavepoint();
+        System.debug('invoiceorderList1 = ' + invoiceorderList1);
         if (invoiceorderList1.size() > 0) {
             try {
+                System.debug('invoiceorderList1 = ' + invoiceorderList1);
                 insert invoiceorderList1;
             } catch (Exception ex) {
                 Database.rollback(sp);
@@ -1158,9 +1181,9 @@
             FROM Consumable_Orderdetails__c
             WHERE Consumable_order__c IN :orderIdList
         ];
-        for (Integer i = 0; i < existLinkinfo.size(); i++) {
-            ordermx1defaultMap.put(existLinkinfo[i].Consumable_order__c + existLinkinfo[i].Asset_Model_No__c, 0);
-        }
+        // for (Integer i = 0; i < existLinkinfo.size(); i++) {
+        //     ordermx1defaultMap.put(existLinkinfo[i].Consumable_order__c + existLinkinfo[i].Asset_Model_No__c, 0);
+        // }
     }
 
     public static void deleteOutboundorder(Map<String, String> deleteMap, String value) {
@@ -1170,6 +1193,7 @@
             FROM Consumable_Orderdetails__c
             WHERE Consumable_order__c = :value AND Invoicedet1_OD_link__c = :deleteMap.keySet()
         ];
+        System.debug('detInvoicedet1List = ' + detInvoicedet1List);
         delete detInvoicedet1List;
     }
 
@@ -1232,7 +1256,7 @@
         update detaliFrom1List;
     }
 
-    //淇濆瓨ContentVersion闄勪欢
+    //涓婁紶ContentVersion闄勪欢
     @AuraEnabled
     public static String saveFile(Id recordId, String fileName, String base64Data) {
         base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
@@ -1249,18 +1273,20 @@
 
     // 淇濆瓨闄勪欢
     @AuraEnabled
-    public static ResponseBodyLWC saveAttachment(String attachmentRecoedsLwc) {
+    public static ResponseBodyLWC saveAttachment(String attachmentRecoedsLwc, String invoiceId) {
         System.debug('杩涘叆 saveAttachment');
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
         res.entity = data;
-        attachmentRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(attachmentRecoedsLwc, List<InvoiceOrderInfo>.class);
+        invoiceId = invoiceId;
+        attachmentRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(attachmentRecoedsLwc, List<InvoiceOrderInfo>.class);
+        System.debug('attachmentRecoeds = ' + attachmentRecoeds);
         try {
             Consumable_accessories_invoice__c attachmentdetails = new Consumable_accessories_invoice__c();
             for (InvoiceOrderInfo ass : attachmentRecoeds) {
                 if (!String.isBlank(ass.mailSelectOptsin)) {
                     attachmentdetails.Id = ass.invoiceOrderId;
-                    attachmentdetails.Attachment_ID__c = ass.cvInfo.Id;
+                    attachmentdetails.Attachment_ID__c = ass.cvInfo.ContentDocumentId;
                     attachmentdetails.Accessories_type__c = ass.mailSelectOptsin;
                     if (String.isBlank(ass.invoiceOrderId)) {
                         attachmentdetails.Invoice_code__c = invoiceId;
@@ -1269,7 +1295,7 @@
                 }
             }
         } catch (Exception e) {
-            return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+            return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), '');
         }
         res.status = 'Success';
         res.code = 200;
@@ -1279,7 +1305,16 @@
 
     // 妫�绱�(鏈紑鍙戠エ鍑哄簱鍗�)
     @AuraEnabled
-    public static ResponseBodyLWC InvoiceorderSearch(Consumable_order__c cocLwc,String invoiceIdLwc,String accountidLwc,String userWorkLocationLwc,String agencyProTypeLwc,String HospitalInfoLwc,String SecondDealerLwc,String invoiceOrderRecoedsLwc) {
+    public static ResponseBodyLWC InvoiceorderSearch(
+        Consumable_order__c cocLwc,
+        String invoiceIdLwc,
+        String accountidLwc,
+        String userWorkLocationLwc,
+        String agencyProTypeLwc,
+        String HospitalInfoLwc,
+        String SecondDealerLwc,
+        String invoiceOrderRecoedsLwc
+    ) {
         System.debug('杩涘叆 InvoiceorderSearch');
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
@@ -1289,12 +1324,12 @@
         HospitalInfo = HospitalInfoLwc;
         SecondDealer = SecondDealerLwc;
         errorMsg = '';
-        invoiceOrderRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
+        invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
         invoiceId = invoiceIdLwc;
         accountid = accountidLwc;
         agencyProType = agencyProTypeLwc;
         userWorkLocation = userWorkLocationLwc;
-        
+
         Map<String, String> invoiceOrderMap = new Map<String, String>();
         String msoql = '';
         List<InvoiceOrderInfo> invoiceOrderdetailMid = new List<InvoiceOrderInfo>();
@@ -1320,7 +1355,7 @@
                 invoiceOrderMap.put(invoiceOrderList[i].Name, invoiceOrderList[i].Name);
             }
         }
-        data.put('invoiceOrderRecoeds',invoiceOrderRecoeds);
+        data.put('invoiceOrderRecoeds', invoiceOrderRecoeds);
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
@@ -1374,6 +1409,200 @@
         return soql;
     }
 
+    // 鍒犻櫎鎸夐挳
+    @AuraEnabled
+    public static ResponseBodyLWC deleteButton(String invoiceIdLwc, Consumable_order__c cocLwc) {
+        System.debug('杩涘叆 deleteButton');
+        ResponseBodyLWC res = new ResponseBodyLWC();
+        Map<String, object> data = new Map<String, object>();
+        res.entity = data;
+
+        coc = cocLwc;
+        invoiceId = invoiceIdLwc;
+        system.debug('====invoiceId==========>' + invoiceId);
+        List<Consumable_Orderdetails__c> consList = [
+            SELECT id, Consumable_order__c
+            FROM Consumable_Orderdetails__c
+            WHERE Consumable_order__c = :invoiceId
+        ];
+        try {
+            system.debug('====cons==========>' + consList);
+            delete consList;
+            if (coc.id == invoiceId && coc.Invoice_status__c == '鑽夋涓�') {
+                delete coc;
+            }
+            res.status = 'Success';
+            res.code = 200;
+            System.debug('res = ' + res);
+            return res;
+        } catch (Exception e) {
+            // ApexPages.addMessages(e);
+            // return null;
+            return new ResponseBodyLWC('Error', 500, e.getMessage() + ' ' + e.getLineNumber(), '');
+        }
+    }
+
+    // 鎻愪氦鎸夐挳
+    @AuraEnabled
+    public static ResponseBodyLWC approval(
+        List<String> outOrderStringListLwc,
+        Map<String, Consumable_Orderdetails__c> outordercountMapLwc,
+        String invoiceIdLwc
+    ) {
+        System.debug('杩涘叆 approval');
+        ResponseBodyLWC res = new ResponseBodyLWC();
+        Map<String, object> data = new Map<String, object>();
+        res.entity = data;
+
+        outOrderStringList = outOrderStringListLwc;
+        outordercountMap = outordercountMapLwc;
+        invoiceId = invoiceIdLwc;
+        //鏇存柊鍙戠エ鏄庣粏2閾炬帴
+        Consumable_order__c P = new Consumable_order__c();
+        List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
+        List<Consumable_order_details2__c> invoiceorderList2 = new List<Consumable_order_details2__c>();
+        //鏇存柊鍑哄簱鍗曟槑缁�1
+        List<Consumable_Orderdetails__c> outOrderdetUp1List = new List<Consumable_Orderdetails__c>();
+        //闇�瑕佹洿鏂板嚭搴撳崟鏄庣粏1
+        List<Consumable_Orderdetails__c> outOrderdet1List = [
+            SELECT
+                Id,
+                Name,
+                Consumable_order__c,
+                Consumable_order__r.Name,
+                Asset_Model_No__c,
+                Consumable_Product__r.Asset_Model_No__c,
+                Shipment_Count__c,
+                RrturnPro_count__c,
+                Delivery_List_RMB__c,
+                InvoicedProCost_RMB__c,
+                Invoiced_Procount__c,
+                Invoiced_Count__c,
+                Invoice_Unitprice__c,
+                InvoiceProNot_count__c,
+                Invoice_Cost_RMB__c,
+                Invoice_No__c,
+                Box_Piece__c,
+                Invoice_Unit__c
+            FROM Consumable_Orderdetails__c
+            WHERE Consumable_order__c IN :outOrderStringList
+        ];
+        for (Integer i = 0; i < outOrderdet1List.size(); i++) {
+            if (outordercountMap.containsKey(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)) {
+                Consumable_Orderdetails__c invoiceUpdte1 = new Consumable_Orderdetails__c();
+                invoiceUpdte1.Id = outOrderdet1List[i].Id;
+                invoiceUpdte1.Invoice_Unit__c = outordercountMap.get(
+                        outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c
+                    )
+                    .Invoice_Unit__c;
+                if (
+                    outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Box_Piece__c ==
+                    '鐩�' &&
+                    outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Invoice_Unit__c ==
+                    '涓�'
+                ) {
+                    Decimal OldinvoicedProcount = 0;
+                    OldinvoicedProcount = (outordercountMap.get(
+                                outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c
+                            )
+                            .Invoiced_Count__c /
+                        outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)
+                            .ProductPacking_list_manual__c)
+                        .setScale(2);
+                    invoiceUpdte1.Invoiced_Procount__c = outOrderdet1List[i].Invoiced_Procount__c + OldinvoicedProcount;
+                } else {
+                    invoiceUpdte1.Invoiced_Procount__c =
+                        outOrderdet1List[i].Invoiced_Procount__c +
+                        outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)
+                            .Invoiced_Count__c;
+                }
+                invoiceUpdte1.Invoice_Unitprice__c = outordercountMap.get(
+                        outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c
+                    )
+                    .Invoice_Unitprice__c;
+                System.debug('====>procount' + invoiceUpdte1.Invoiced_Procount__c);
+                System.debug('===>RMB' + outOrderdet1List[i].Delivery_List_RMB__c);
+                invoiceUpdte1.InvoicedProCost_RMB__c = invoiceUpdte1.Invoiced_Procount__c * outOrderdet1List[i].Delivery_List_RMB__c;
+
+                Decimal invoicedProcount = 0;
+                if (
+                    outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Box_Piece__c ==
+                    '鐩�' &&
+                    outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c).Invoice_Unit__c ==
+                    '涓�'
+                ) {
+                    invoicedProcount = (outordercountMap.get(
+                                outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c
+                            )
+                            .Invoiced_Count__c /
+                        outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)
+                            .ProductPacking_list_manual__c)
+                        .setScale(2);
+                } else {
+                    invoicedProcount = outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)
+                        .Invoiced_Count__c;
+                }
+                System.debug('鍙戠エ鏁伴噺===>' + outOrderdet1List[i].InvoiceProNot_count__c);
+                System.debug('杩樻病鍙戠エ鏁伴噺===>' + invoicedProcount);
+
+                if (outOrderdet1List[i].InvoiceProNot_count__c < invoicedProcount) {
+                    // ApexPages.addmessage(
+                    //     new ApexPages.message(
+                    //         ApexPages.severity.Error,
+                    //         '鍑哄簱鍗�' +
+                    //         outOrderdet1List[i].Consumable_order__r.Name +
+                    //         '涓紝' +
+                    //         outOrderdet1List[i].Asset_Model_No__c +
+                    //         '杩樻病寮�绁ㄦ暟閲忓皬浜庡彂绁ㄦ暟閲忥紝璇风‘璁ゆ槸鍚︽湁杩斿搧'
+                    //     )
+                    // );
+                    // return null;
+                    return new ResponseBodyLWC(
+                        'Error',
+                        500,
+                        '鍑哄簱鍗�' +
+                            outOrderdet1List[i].Consumable_order__r.Name +
+                            '涓紝' +
+                            outOrderdet1List[i].Asset_Model_No__c +
+                            '杩樻病寮�绁ㄦ暟閲忓皬浜庡彂绁ㄦ暟閲忥紝璇风‘璁ゆ槸鍚︽湁杩斿搧',
+                        ''
+                    );
+                }
+
+                outOrderdetUp1List.add(invoiceUpdte1);
+            }
+        }
+        Savepoint sp = Database.setSavepoint();
+        try {
+            //鍑哄簱鍗曟槑缁�1鏇存柊
+            if (outOrderdetUp1List.size() > 0) {
+                ControllerUtil.updateOrderDetails1Satus(outOrderdetUp1List);
+            }
+            //鍙戠エ鐘舵�佹洿鏂�
+            cocinfo = [
+                SELECT Id, Name, Invoice_status__c, Dealer_Info__c, Order_ForHospital__c, SummonsForDirction__c
+                FROM Consumable_order__c
+                WHERE Id = :invoiceId
+            ];
+            System.debug('cocinfo = ' + cocinfo);
+            if (cocinfo.size() > 0) {
+                p = cocinfo[0];
+            }
+            System.debug('p = ' + p);
+            p.Invoice_status__c = '鎻愪氦';
+            update p;
+        } catch (Exception ex) {
+            Database.rollback(sp);
+            // ApexPages.addMessages(ex);
+            // return null;
+            return new ResponseBodyLWC('Error', 500, ex.getMessage() + ' ' + ex.getLineNumber(), '');
+        }
+        res.status = 'Success';
+        res.code = 200;
+        System.debug('res = ' + res);
+        return res;
+    }
+    @TestVisible
     class InvoiceOrderInfo implements Comparable {
         @AuraEnabled
         public Boolean check { get; set; }
@@ -1386,12 +1615,12 @@
         @AuraEnabled
         public Attachment attach { get; set; }
         @AuraEnabled
-        public ContentVersion cvInfo{ get; set; }
+        public ContentVersion cvInfo { get; set; }
         @AuraEnabled
         public String mailSelectOptsin { get; set; }
         public List<SelectOption> mailSelectOpts { get; set; }
         @AuraEnabled
-        public Map<String,String> mailSelectOptsMap { get; set; }
+        public Map<String, String> mailSelectOptsMap { get; set; }
         @AuraEnabled
         public String invoiceOrderId { get; set; }
         @AuraEnabled
@@ -1419,7 +1648,7 @@
         //ContentVersion
         public InvoiceOrderInfo(ContentVersion cv) {
             cvInfo = cv;
-            mailSelectOptsMap = new Map<String,String>();
+            mailSelectOptsMap = new Map<String, String>();
             mailSelectOptsMap.put('鍙戠エ鍜屾槑缁�', '鍙戠エ鍜屾槑缁�');
             mailSelectOptsMap.put('鍙戠エ', '鍙戠エ');
             mailSelectOptsMap.put('鏄庣粏', '鏄庣粏');

--
Gitblit v1.9.1