From af7b716a60d889acea95560abba0e46eee008b8f Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期三, 05 七月 2023 13:54:50 +0800
Subject: [PATCH] backup0705

---
 force-app/main/default/classes/LexConInvoicedetailsController.cls |  865 ++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 489 insertions(+), 376 deletions(-)

diff --git a/force-app/main/default/classes/LexConInvoicedetailsController.cls b/force-app/main/default/classes/LexConInvoicedetailsController.cls
index b863861..58d5e81 100644
--- a/force-app/main/default/classes/LexConInvoicedetailsController.cls
+++ b/force-app/main/default/classes/LexConInvoicedetailsController.cls
@@ -1,398 +1,511 @@
 public with sharing class LexConInvoicedetailsController {
-    //鍑哄簱鍗曚娇鐢�
-    public static Consumable_order__c coc { get; set; }
+  //鍑哄簱鍗曚娇鐢�
+  public static Consumable_order__c coc { get; set; }
 
-    //鍙戠エ浣跨敤
-    public static Consumable_order__c invoicecode { get; set; }
+  //鍙戠エ浣跨敤
+  public static Consumable_order__c invoicecode { get; set; }
 
-    //浠锋牸璁$畻缁撴灉
-    public static Decimal sumPrice { get; set; }
+  //浠锋牸璁$畻缁撴灉
+  public static Decimal sumPrice { get; set; }
 
-    //鍑哄簱鍗旾D
-    private static String orderId { get; set; }
-    //鍙戠エ鍗旾D
-    private static String invoiceId { get; set; }
+  //鍑哄簱鍗旾D
+  private static String orderId { get; set; }
+  //鍙戠エ鍗旾D
+  private static String invoiceId { get; set; }
+  //鍑哄簱鍗曟槑缁�1锛岀敾闈㈡樉绀轰娇鐢�
+  public static List<ConsumableorderdetailsInfo> consumableorderdetails1Records {
+    get;
+    set;
+  }
+  //鏄庣粏鏁伴噺
+  public static Integer invoiceOrderRecoedsCount {
+    get {
+      return consumableorderdetails1Records == null
+        ? 0
+        : consumableorderdetails1Records.size();
+    }
+  }
+
+  //椤甸潰鍒濆鍖�
+  @AuraEnabled
+  public static ResponseBodyLWC init(String orderIdLwc, String invoiceIdLwc) {
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
+
+    orderId = orderIdLwc;
+    invoiceId = invoiceIdLwc;
+    consumableorderdetails1Records = new List<ConsumableorderdetailsInfo>();
+    sumPrice = 0;
+    coc = new Consumable_order__c();
+    //鍑哄簱鍗曚俊鎭�
+    coc = [
+      SELECT Id, Name, Outbound_Date__c, Order_ForDealerText__c, Dealer_Info__c
+      FROM Consumable_order__c
+      WHERE Id = :orderId
+    ];
+    //鍙戠エ淇℃伅
+    invoicecode = [
+      SELECT
+        Id,
+        Name,
+        ShipmentAccount__c,
+        Order_ForCustomerText__c,
+        Order_ForDealerText__c,
+        Dealer_Info__c
+      FROM Consumable_order__c
+      WHERE Id = :invoiceId
+    ];
+    //鍙戠エ鏄庣粏1
+    Map<String, Consumable_Orderdetails__c> invoiceorderdet1CountMap = new Map<String, Consumable_Orderdetails__c>();
+    List<Consumable_Orderdetails__c> invoiceorderdetails1 = [
+      SELECT
+        Id,
+        Name,
+        Consumable_order__c,
+        Asset_Model_No__c,
+        Consumable_Product__r.Asset_Model_No__c,
+        Consumable_Count__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,
+        Invoice_Unit__c,
+        Invoicedet1_OD_link__c
+      FROM Consumable_Orderdetails__c
+      WHERE
+        Consumable_order__c = :invoiceId
+        AND Invoicedet1_OD_link__c = :orderId
+    ];
+    for (Integer i = 0; i < invoiceorderdetails1.size(); i++) {
+      invoiceorderdet1CountMap.put(
+        invoiceorderdetails1[i].Asset_Model_No__c,
+        invoiceorderdetails1[i]
+      );
+    }
     //鍑哄簱鍗曟槑缁�1锛岀敾闈㈡樉绀轰娇鐢�
-    public static List<ConsumableorderdetailsInfo> consumableorderdetails1Records { get; set; }
-    //鏄庣粏鏁伴噺
-    public static Integer invoiceOrderRecoedsCount {
-        get {
-            return consumableorderdetails1Records == null ? 0 : consumableorderdetails1Records.size();
-        }
+    List<Consumable_Orderdetails__c> consumableorderdetails1 = [
+      SELECT
+        Id,
+        Name,
+        Consumable_order__c,
+        Asset_Model_No__c,
+        Consumable_Product__r.Asset_Model_No__c,
+        Consumable_Count__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,
+        Consumable_Product__c,
+        Intra_Trade_List_RMB__c,
+        Dealer_Custom_Price__c,
+        Sum_of_money__c,
+        Used_date__c,
+        Send_date__c,
+        Box_Piece__c,
+        Invoice_Unit__c,
+        Consumable_Product__r.Packing_list_manual__c,
+        ProductPacking_list_manual__c
+      FROM Consumable_Orderdetails__c
+      WHERE Consumable_order__c = :orderId
+    ];
+    System.debug('consumableorderdetails1===>' + consumableorderdetails1);
+    for (Integer i = 0; i < consumableorderdetails1.size(); i++) {
+      consumableorderdetails1Records.add(
+        new ConsumableorderdetailsInfo(consumableorderdetails1[i])
+      );
     }
-
-    //椤甸潰鍒濆鍖�
-    @AuraEnabled
-    public static ResponseBodyLWC init(String orderIdLwc, String invoiceIdLwc) {
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
-
-        orderId = orderIdLwc;
-        invoiceId = invoiceIdLwc;
-        consumableorderdetails1Records = new List<ConsumableorderdetailsInfo>();
-        sumPrice = 0;
-        coc = new Consumable_order__c();
-        //鍑哄簱鍗曚俊鎭�
-        coc = [SELECT Id, Name, Outbound_Date__c, Order_ForDealerText__c, Dealer_Info__c FROM Consumable_order__c WHERE Id = :orderId];
-        //鍙戠エ淇℃伅
-        invoicecode = [
-            SELECT Id, Name, ShipmentAccount__c, Order_ForCustomerText__c, Order_ForDealerText__c, Dealer_Info__c
-            FROM Consumable_order__c
-            WHERE Id = :invoiceId
-        ];
-        //鍙戠エ鏄庣粏1
-        Map<String, Consumable_Orderdetails__c> invoiceorderdet1CountMap = new Map<String, Consumable_Orderdetails__c>();
-        List<Consumable_Orderdetails__c> invoiceorderdetails1 = [
-            SELECT
-                Id,
-                Name,
-                Consumable_order__c,
-                Asset_Model_No__c,
-                Consumable_Product__r.Asset_Model_No__c,
-                Consumable_Count__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,
-                Invoice_Unit__c,
-                Invoicedet1_OD_link__c
-            FROM Consumable_Orderdetails__c
-            WHERE Consumable_order__c = :invoiceId AND Invoicedet1_OD_link__c = :orderId
-        ];
-        for (Integer i = 0; i < invoiceorderdetails1.size(); i++) {
-            invoiceorderdet1CountMap.put(invoiceorderdetails1[i].Asset_Model_No__c, invoiceorderdetails1[i]);
+    for (ConsumableorderdetailsInfo ass : consumableorderdetails1Records) {
+      if (invoiceorderdet1CountMap.containsKey(ass.esd.Asset_Model_No__c)) {
+        ass.check = true;
+        if (
+          invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c)
+            .Invoice_Unit__c == null ||
+          invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c)
+            .Invoice_Unit__c == ''
+        ) {
+          ass.esd.Invoice_Unit__c = ass.esd.Box_Piece__c;
+        } else {
+          ass.esd.Invoice_Unit__c = invoiceorderdet1CountMap.get(
+              ass.esd.Asset_Model_No__c
+            )
+            .Invoice_Unit__c;
         }
-        //鍑哄簱鍗曟槑缁�1锛岀敾闈㈡樉绀轰娇鐢�
-        List<Consumable_Orderdetails__c> consumableorderdetails1 = [
-            SELECT
-                Id,
-                Name,
-                Consumable_order__c,
-                Asset_Model_No__c,
-                Consumable_Product__r.Asset_Model_No__c,
-                Consumable_Count__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,
-                Consumable_Product__c,
-                Intra_Trade_List_RMB__c,
-                Dealer_Custom_Price__c,
-                Sum_of_money__c,
-                Used_date__c,
-                Send_date__c,
-                Box_Piece__c,
-                Invoice_Unit__c,
-                Consumable_Product__r.Packing_list_manual__c,
-                ProductPacking_list_manual__c
-            FROM Consumable_Orderdetails__c
-            WHERE Consumable_order__c = :orderId
-        ];
-        System.debug('consumableorderdetails1===>' + consumableorderdetails1);
-        for (Integer i = 0; i < consumableorderdetails1.size(); i++) {
-            consumableorderdetails1Records.add(new ConsumableorderdetailsInfo(consumableorderdetails1[i]));
+        if (
+          invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c)
+            .Invoiced_Count__c == null ||
+          invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c)
+            .Invoiced_Count__c == 0
+        ) {
+          ass.invoiceCount = ass.esd.Invoiced_Count__c;
+        } else {
+          ass.invoiceCount = invoiceorderdet1CountMap.get(
+              ass.esd.Asset_Model_No__c
+            )
+            .Invoiced_Count__c;
         }
-        for (ConsumableorderdetailsInfo ass : consumableorderdetails1Records) {
-            if (invoiceorderdet1CountMap.containsKey(ass.esd.Asset_Model_No__c)) {
-                ass.check = true;
-                if (
-                    invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoice_Unit__c == null ||
-                    invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoice_Unit__c == ''
-                ) {
-                    ass.esd.Invoice_Unit__c = ass.esd.Box_Piece__c;
-                } else {
-                    ass.esd.Invoice_Unit__c = invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoice_Unit__c;
-                }
-                if (
-                    invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoiced_Count__c == null ||
-                    invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoiced_Count__c == 0
-                ) {
-                    ass.invoiceCount = ass.esd.Invoiced_Count__c;
-                } else {
-                    ass.invoiceCount = invoiceorderdet1CountMap.get(ass.esd.Asset_Model_No__c).Invoiced_Count__c;
-                }
 
-                if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
-                    ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual;
-                } else {
-                    ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
-                }
-                Decimal invoiceAllprice = 0.00;
-                invoiceAllprice = (ass.invoiceCount * ass.esd.Invoice_Unitprice__c).setScale(2);
-                ass.invoiceAllprice = invoiceAllprice;
-            } else {
-                ass.invoiceCount = ass.esd.InvoiceProNot_count__c;
-                ass.esd.Invoice_Unit__c = ass.esd.Box_Piece__c;
-                ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
-            }
+        if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
+          ass.esd.Invoice_Unitprice__c =
+            ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual;
+        } else {
+          ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
         }
-        data.put('invoicecode', invoicecode);
-        data.put('coc', coc);
-        data.put('consumableorderdetails1Records', consumableorderdetails1Records);
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
+        Decimal invoiceAllprice = 0.00;
+        invoiceAllprice = (ass.invoiceCount * ass.esd.Invoice_Unitprice__c)
+          .setScale(2);
+        ass.invoiceAllprice = invoiceAllprice;
+      } else {
+        ass.invoiceCount = ass.esd.InvoiceProNot_count__c;
+        ass.esd.Invoice_Unit__c = ass.esd.Box_Piece__c;
+        ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
+      }
     }
+    data.put('invoicecode', invoicecode);
+    data.put('coc', coc);
+    data.put('consumableorderdetails1Records', consumableorderdetails1Records);
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
 
-    @AuraEnabled
-    public static ResponseBodyLWC save(String consumableorderdetails1RecordsLwc, String invoiceIdLwc, String orderIdLwc) {
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
+  @AuraEnabled
+  public static ResponseBodyLWC save(
+    String consumableorderdetails1RecordsLwc,
+    String invoiceIdLwc,
+    String orderIdLwc
+  ) {
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
 
-        consumableorderdetails1Records = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
-            consumableorderdetails1RecordsLwc,
-            List<ConsumableorderdetailsInfo>.class
+    consumableorderdetails1Records = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
+      consumableorderdetails1RecordsLwc,
+      List<ConsumableorderdetailsInfo>.class
+    );
+    invoiceId = invoiceIdLwc;
+    orderId = orderIdLwc;
+    System.debug(
+      'consumableorderdetails1Records = ' + consumableorderdetails1Records
+    );
+    System.debug('invoiceId = ' + invoiceId);
+    System.debug('orderId = ' + orderId);
+
+    Savepoint sp = Database.setSavepoint();
+    //鏂拌鍙戠エ鏄庣粏1
+    List<Consumable_Orderdetails__c> invoiceorderList1 = new List<Consumable_Orderdetails__c>();
+    //鏇存柊鍙戠エ鏄庣粏1
+    List<Consumable_Orderdetails__c> invoiceorderUpList1 = new List<Consumable_Orderdetails__c>();
+    //鍒犻櫎鍙戠エ鏄庣粏1
+    List<Consumable_Orderdetails__c> invoiceorderDeList1 = new List<Consumable_Orderdetails__c>();
+
+    Map<String, Consumable_Orderdetails__c> invoiceordet1Map = new Map<String, Consumable_Orderdetails__c>();
+
+    List<String> consumableorderList = new List<String>();
+    List<String> consumableNameList = new List<String>();
+    try {
+      //鏇存柊鍑哄簱鍗曟槑缁�1
+      for (ConsumableorderdetailsInfo ass : consumableorderdetails1Records) {
+        consumableorderList.add(ass.esd.Asset_Model_No__c);
+      }
+
+      //鍙戠エ鏄庣粏1鑾峰彇
+      List<Consumable_Orderdetails__c> invoiceorderdetails1 = [
+        SELECT
+          Id,
+          Name,
+          Consumable_order__c,
+          Asset_Model_No__c,
+          Consumable_Product__r.Asset_Model_No__c,
+          Consumable_Count__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,
+          Invoice_Unit__c,
+          Box_Piece__c,
+          Invoicedet1_OD_link__c
+        FROM Consumable_Orderdetails__c
+        WHERE
+          Consumable_order__c = :invoiceId
+          AND Invoicedet1_OD_link__c = :orderId
+          AND Asset_Model_No__c IN :consumableorderList
+      ];
+      for (Integer i = 0; i < invoiceorderdetails1.size(); i++) {
+        invoiceordet1Map.put(
+          invoiceorderdetails1[i].Invoicedet1_OD_link__c +
+          invoiceorderdetails1[i].Asset_Model_No__c,
+          invoiceorderdetails1[i]
         );
-        invoiceId = invoiceIdLwc;
-        orderId = orderIdLwc;
-        System.debug('consumableorderdetails1Records = ' + consumableorderdetails1Records);
-        System.debug('invoiceId = ' + invoiceId);
-        System.debug('orderId = ' + orderId);
+      }
+      List<Consumable_Orderdetails__c> invoicedetails1count = [
+        SELECT
+          Id,
+          Name,
+          Consumable_order__c,
+          Invoicedet1_OD_link__c,
+          Asset_Model_No__c,
+          Consumable_Product__r.Asset_Model_No__c,
+          Consumable_Count__c,
+          Shipment_Count__c,
+          RrturnPro_count__c,
+          Delivery_List_RMB__c,
+          InvoicedProCost_RMB__c,
+          Invoiced_Procount__c,
+          Invoiced_Count__c,
+          Sum_of_money__c,
+          Invoice_Unitprice__c,
+          InvoiceProNot_count__c,
+          Invoice_Cost_RMB__c,
+          Invoice_Unit__c,
+          Invoice_No__c
+        FROM Consumable_Orderdetails__c
+        WHERE Consumable_order__c = :invoiceId
+      ];
+      Integer invoiceRecordscon = invoicedetails1count.size() + 1;
 
-        Savepoint sp = Database.setSavepoint();
-        //鏂拌鍙戠エ鏄庣粏1
-        List<Consumable_Orderdetails__c> invoiceorderList1 = new List<Consumable_Orderdetails__c>();
-        //鏇存柊鍙戠エ鏄庣粏1
-        List<Consumable_Orderdetails__c> invoiceorderUpList1 = new List<Consumable_Orderdetails__c>();
-        //鍒犻櫎鍙戠エ鏄庣粏1
-        List<Consumable_Orderdetails__c> invoiceorderDeList1 = new List<Consumable_Orderdetails__c>();
-
-        Map<String, Consumable_Orderdetails__c> invoiceordet1Map = new Map<String, Consumable_Orderdetails__c>();
-
-        List<String> consumableorderList = new List<String>();
-        List<String> consumableNameList = new List<String>();
-        try {
-            //鏇存柊鍑哄簱鍗曟槑缁�1
-            for (ConsumableorderdetailsInfo ass : consumableorderdetails1Records) {
-                consumableorderList.add(ass.esd.Asset_Model_No__c);
-            }
-
-            //鍙戠エ鏄庣粏1鑾峰彇
-            List<Consumable_Orderdetails__c> invoiceorderdetails1 = [
-                SELECT
-                    Id,
-                    Name,
-                    Consumable_order__c,
-                    Asset_Model_No__c,
-                    Consumable_Product__r.Asset_Model_No__c,
-                    Consumable_Count__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,
-                    Invoice_Unit__c,
-                    Box_Piece__c,
-                    Invoicedet1_OD_link__c
-                FROM Consumable_Orderdetails__c
-                WHERE Consumable_order__c = :invoiceId AND Invoicedet1_OD_link__c = :orderId AND Asset_Model_No__c IN :consumableorderList
-            ];
-            for (Integer i = 0; i < invoiceorderdetails1.size(); i++) {
-                invoiceordet1Map.put(
-                    invoiceorderdetails1[i].Invoicedet1_OD_link__c + invoiceorderdetails1[i].Asset_Model_No__c,
-                    invoiceorderdetails1[i]
-                );
-            }
-            List<Consumable_Orderdetails__c> invoicedetails1count = [
-                SELECT
-                    Id,
-                    Name,
-                    Consumable_order__c,
-                    Invoicedet1_OD_link__c,
-                    Asset_Model_No__c,
-                    Consumable_Product__r.Asset_Model_No__c,
-                    Consumable_Count__c,
-                    Shipment_Count__c,
-                    RrturnPro_count__c,
-                    Delivery_List_RMB__c,
-                    InvoicedProCost_RMB__c,
-                    Invoiced_Procount__c,
-                    Invoiced_Count__c,
-                    Sum_of_money__c,
-                    Invoice_Unitprice__c,
-                    InvoiceProNot_count__c,
-                    Invoice_Cost_RMB__c,
-                    Invoice_Unit__c,
-                    Invoice_No__c
-                FROM Consumable_Orderdetails__c
-                WHERE Consumable_order__c = :invoiceId
-            ];
-            Integer invoiceRecordscon = invoicedetails1count.size() + 1;
-
-            for (ConsumableorderdetailsInfo ass : consumableorderdetails1Records) {
-                if (ass.check == true && ass.invoiceCount > 0) {
-                    if (String.isEmpty(String.valueOf(ass.invoiceCount))) {
-                        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇疯緭鍏ュ彂绁ㄦ暟閲忥紒'));
-                        // return null;
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ彂绁ㄦ暟閲忥紒', '');
-                    }
-                    if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
-                        if (ass.invoiceCount > (ass.esd.InvoiceProNot_count__c * ass.Packing_list_manual).setScale(0)) {
-                            // ass.esd.InvoiceProNot_count__c.addError('鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�');
-                            // return null;
-                            return new ResponseBodyLWC('Error', 500, '鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�', '');
-                        }
-                    } else {
-                        if (ass.invoiceCount > ass.esd.InvoiceProNot_count__c) {
-                            // ass.esd.InvoiceProNot_count__c.addError('鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�');
-                            // return null;
-                            return new ResponseBodyLWC('Error', 500, '鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�', '');
-                        }
-                    }
-
-                    //if(ass.esd.Invoice_Unit__c =='涓�'){
-                    String invoiceCount = String.valueOf(ass.invoiceCount);
-                    if (!Pattern.matches('^\\+{0,1}[1-9]\\d*', invoiceCount)) {
-                        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鍙戠エ鏁伴噺蹇呴』鏄暣鏁�'));
-                        // return null;
-                        return new ResponseBodyLWC('Error', 500, '鍙戠エ鏁伴噺蹇呴』鏄暣鏁�', '');
-                    }
-                    //}
-
-                    if (invoiceordet1Map.containsKey(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c)) {
-                        invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Shipment_Count__c = ass.invoiceCount;
-                        invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Invoiced_Count__c = ass.invoiceCount;
-                        //invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).InvoicedProCost_RMB__c = invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Delivery_List_RMB__c * ass.invoiceCount;
-                        invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c)
-                            .Invoice_Unit__c = ass.esd.Invoice_Unit__c;
-                        invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Box_Piece__c = ass.esd.Box_Piece__c;
-                        if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
-                            invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).InvoicedProCost_RMB__c =
-                                (ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual) * ass.invoiceCount;
-                            invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Invoice_Unitprice__c =
-                                ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual;
-                        } else {
-                            invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).InvoicedProCost_RMB__c =
-                                ass.esd.Delivery_List_RMB__c * ass.invoiceCount;
-                            invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c)
-                                .Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
-                        }
-
-                        invoiceorderUpList1.add(invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c));
-                        invoiceRecordscon++;
-                    } else {
-                        String str = string.valueOf(invoiceRecordscon);
-                        if (str.length() == 1) {
-                            str = '0' + str;
-                        }
-                        Consumable_Orderdetails__c invoiceInsert1 = new Consumable_Orderdetails__c();
-                        invoiceInsert1.Used_date__c = ass.esd.Used_date__c;
-                        invoiceInsert1.Send_date__c = ass.esd.Send_date__c;
-                        invoiceInsert1.Name =
-                            invoicecode.Name +
-                            '-' +
-                            ass.esd.Name.substring(ass.esd.Name.length() - 7, ass.esd.Name.length());
-                        invoiceInsert1.Shipment_Count__c = ass.invoiceCount;
-                        invoiceInsert1.Consumable_Product__c = ass.esd.Consumable_Product__c;
-                        invoiceInsert1.Intra_Trade_List_RMB__c = ass.esd.Intra_Trade_List_RMB__c;
-                        invoiceInsert1.Delivery_List_RMB__c = ass.esd.Delivery_List_RMB__c;
-                        invoiceInsert1.Dealer_Custom_Price__c = ass.esd.Dealer_Custom_Price__c;
-                        invoiceInsert1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
-                        if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
-                            invoiceInsert1.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual;
-                        } else {
-                            invoiceInsert1.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
-                        }
-                        //invoiceInsert1.Invoice_Unitprice__c = ass.esd.Invoice_Unitprice__c;
-                        invoiceInsert1.Invoice_Unit__c = ass.esd.Invoice_Unit__c;
-                        invoiceInsert1.Box_Piece__c = ass.esd.Box_Piece__c;
-                        if (ass.esd.Invoiced_Procount__c == null)
-                            ass.esd.Invoiced_Procount__c = 0;
-                        invoiceInsert1.Invoiced_Count__c = ass.invoiceCount;
-                        if (ass.esd.InvoicedProCost_RMB__c == null)
-                            ass.esd.InvoicedProCost_RMB__c = 0;
-                        invoiceInsert1.InvoicedProCost_RMB__c = ass.invoiceCount * invoiceInsert1.Invoice_Unitprice__c;
-                        invoiceInsert1.Consumable_order__c = invoiceId;
-                        invoiceInsert1.Invoicedet1_OD_link__c = orderId;
-                        invoiceRecordscon++;
-                        invoiceorderList1.add(invoiceInsert1);
-                    }
-                } else {
-                    if (invoiceordet1Map.containsKey(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c)) {
-                        invoiceorderDeList1.add(invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c));
-                    }
-                }
-            }
-
-            if (invoiceorderList1.size() > 0) {
-                insert invoiceorderList1;
-            }
-            if (invoiceorderUpList1.size() > 0) {
-                update invoiceorderUpList1;
-            }
-            if (invoiceorderDeList1.size() > 0) {
-                delete invoiceorderDeList1;
-            }
-        } catch (Exception e) {
-            ApexPages.addmessages(e);
-            // Database.rollback(sp);
+      for (ConsumableorderdetailsInfo ass : consumableorderdetails1Records) {
+        if (ass.check == true && ass.invoiceCount > 0) {
+          if (String.isEmpty(String.valueOf(ass.invoiceCount))) {
+            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇疯緭鍏ュ彂绁ㄦ暟閲忥紒'));
             // return null;
-            return new ResponseBodyLWC('Error', 500, e.getMessage() + ' ' + e.getLineNumber(), '');
-        }
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
-    }
+            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ彂绁ㄦ暟閲忥紒', '');
+          }
+          if (ass.esd.Box_Piece__c == '鐩�' && ass.esd.Invoice_Unit__c == '涓�') {
+            if (
+              ass.invoiceCount >
+              (ass.esd.InvoiceProNot_count__c * ass.Packing_list_manual)
+                .setScale(0)
+            ) {
+              // ass.esd.InvoiceProNot_count__c.addError('鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�');
+              // return null;
+              return new ResponseBodyLWC(
+                'Error',
+                500,
+                '鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�',
+                ''
+              );
+            }
+          } else {
+            if (ass.invoiceCount > ass.esd.InvoiceProNot_count__c) {
+              // ass.esd.InvoiceProNot_count__c.addError('鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�');
+              // return null;
+              return new ResponseBodyLWC(
+                'Error',
+                500,
+                '鍙戠エ鏁伴噺涓嶈兘瓒呰繃杩樻病鍙戠エ鏁伴噺锛�',
+                ''
+              );
+            }
+          }
 
-    // Data Bean
-    @TestVisible
-    class ConsumableorderdetailsInfo {
-        @AuraEnabled
-        public Boolean check { get; set; }
-        @AuraEnabled
-        public Boolean oldCheck { get; set; }
-        @AuraEnabled
-        public Consumable_Orderdetails__c esd { get; set; }
-        @AuraEnabled
-        public Product2__c Prod { get; set; }
-        @AuraEnabled
-        public Decimal invoiceCount { get; set; }
-        @AuraEnabled
-        public Decimal invoiceAllprice { get; set; }
-        @AuraEnabled
-        public Decimal Packing_list_manual { get; set; }
-        public List<SelectOption> Invoice_UnitOpts { get; set; }
-        @AuraEnabled
-        public Map<String, String> Invoice_UnitOptsMap { get; set; }
-        // 娑堣�楀搧浜у搧鏄庣粏
-        public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) {
-            check = false;
-            oldCheck = false;
-            esd = e;
-            Prod = e.Consumable_Product__r;
-            invoiceAllprice = 0;
+          //if(ass.esd.Invoice_Unit__c =='涓�'){
+          String invoiceCount = String.valueOf(ass.invoiceCount);
+          if (!Pattern.matches('^\\+{0,1}[1-9]\\d*', invoiceCount)) {
+            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鍙戠エ鏁伴噺蹇呴』鏄暣鏁�'));
+            // return null;
+            return new ResponseBodyLWC('Error', 500, '鍙戠エ鏁伴噺蹇呴』鏄暣鏁�', '');
+          }
+          //}
 
-            Packing_list_manual = e.Consumable_Product__r.Packing_list_manual__c;
-            if (!Test.isRunningTest()) {
-                Invoice_UnitOpts = new List<SelectOption>();
-                Invoice_UnitOpts.add(new SelectOption('鐩�', '鐩�'));
-                Invoice_UnitOpts.add(new SelectOption('涓�', '涓�'));
+          if (
+            invoiceordet1Map.containsKey(
+              ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+            )
+          ) {
+            invoiceordet1Map.get(
+                ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+              )
+              .Shipment_Count__c = ass.invoiceCount;
+            invoiceordet1Map.get(
+                ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+              )
+              .Invoiced_Count__c = ass.invoiceCount;
+            //invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).InvoicedProCost_RMB__c = invoiceordet1Map.get(ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c).Delivery_List_RMB__c * ass.invoiceCount;
+            invoiceordet1Map.get(
+                ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+              )
+              .Invoice_Unit__c = ass.esd.Invoice_Unit__c;
+            invoiceordet1Map.get(
+                ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+              )
+              .Box_Piece__c = ass.esd.Box_Piece__c;
+            if (
+              ass.esd.Box_Piece__c == '鐩�' &&
+              ass.esd.Invoice_Unit__c == '涓�'
+            ) {
+              invoiceordet1Map.get(
+                    ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+                  )
+                  .InvoicedProCost_RMB__c =
+                (ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual) *
+                ass.invoiceCount;
+              invoiceordet1Map.get(
+                    ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+                  )
+                  .Invoice_Unitprice__c =
+                ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual;
+            } else {
+              invoiceordet1Map.get(
+                    ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+                  )
+                  .InvoicedProCost_RMB__c =
+                ass.esd.Delivery_List_RMB__c * ass.invoiceCount;
+              invoiceordet1Map.get(
+                  ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+                )
+                .Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
             }
 
-            Invoice_UnitOptsMap = new Map<String, String>();
-            Invoice_UnitOptsMap.put('鐩�', '鐩�');
-            Invoice_UnitOptsMap.put('涓�', '涓�');
+            invoiceorderUpList1.add(
+              invoiceordet1Map.get(
+                ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+              )
+            );
+            invoiceRecordscon++;
+          } else {
+            String str = string.valueOf(invoiceRecordscon);
+            if (str.length() == 1) {
+              str = '0' + str;
+            }
+            Consumable_Orderdetails__c invoiceInsert1 = new Consumable_Orderdetails__c();
+            invoiceInsert1.Used_date__c = ass.esd.Used_date__c;
+            invoiceInsert1.Send_date__c = ass.esd.Send_date__c;
+            invoiceInsert1.Name =
+              invoicecode.Name +
+              '-' +
+              ass.esd.Name.substring(
+                ass.esd.Name.length() - 7,
+                ass.esd.Name.length()
+              );
+            invoiceInsert1.Shipment_Count__c = ass.invoiceCount;
+            invoiceInsert1.Consumable_Product__c = ass.esd.Consumable_Product__c;
+            invoiceInsert1.Intra_Trade_List_RMB__c = ass.esd.Intra_Trade_List_RMB__c;
+            invoiceInsert1.Delivery_List_RMB__c = ass.esd.Delivery_List_RMB__c;
+            invoiceInsert1.Dealer_Custom_Price__c = ass.esd.Dealer_Custom_Price__c;
+            invoiceInsert1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
+            if (
+              ass.esd.Box_Piece__c == '鐩�' &&
+              ass.esd.Invoice_Unit__c == '涓�'
+            ) {
+              invoiceInsert1.Invoice_Unitprice__c =
+                ass.esd.Delivery_List_RMB__c / ass.Packing_list_manual;
+            } else {
+              invoiceInsert1.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
+            }
+            //invoiceInsert1.Invoice_Unitprice__c = ass.esd.Invoice_Unitprice__c;
+            invoiceInsert1.Invoice_Unit__c = ass.esd.Invoice_Unit__c;
+            invoiceInsert1.Box_Piece__c = ass.esd.Box_Piece__c;
+            if (ass.esd.Invoiced_Procount__c == null)
+              ass.esd.Invoiced_Procount__c = 0;
+            invoiceInsert1.Invoiced_Count__c = ass.invoiceCount;
+            if (ass.esd.InvoicedProCost_RMB__c == null)
+              ass.esd.InvoicedProCost_RMB__c = 0;
+            invoiceInsert1.InvoicedProCost_RMB__c =
+              ass.invoiceCount * invoiceInsert1.Invoice_Unitprice__c;
+            invoiceInsert1.Consumable_order__c = invoiceId;
+            invoiceInsert1.Invoicedet1_OD_link__c = orderId;
+            invoiceRecordscon++;
+            invoiceorderList1.add(invoiceInsert1);
+          }
+        } else {
+          if (
+            invoiceordet1Map.containsKey(
+              ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+            )
+          ) {
+            invoiceorderDeList1.add(
+              invoiceordet1Map.get(
+                ass.esd.Consumable_order__c + ass.esd.Asset_Model_No__c
+              )
+            );
+          }
         }
+      }
+
+      if (invoiceorderList1.size() > 0) {
+        insert invoiceorderList1;
+      }
+      if (invoiceorderUpList1.size() > 0) {
+        update invoiceorderUpList1;
+      }
+      if (invoiceorderDeList1.size() > 0) {
+        delete invoiceorderDeList1;
+      }
+    } catch (Exception e) {
+      ApexPages.addmessages(e);
+      // Database.rollback(sp);
+      // return null;
+      return new ResponseBodyLWC(
+        'Error',
+        500,
+        e.getMessage() + ' ' + e.getLineNumber(),
+        ''
+      );
     }
-}
\ No newline at end of file
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
+
+  // Data Bean
+  @TestVisible
+  class ConsumableorderdetailsInfo {
+    @AuraEnabled
+    public Boolean check { get; set; }
+    @AuraEnabled
+    public Boolean oldCheck { get; set; }
+    @AuraEnabled
+    public Consumable_Orderdetails__c esd { get; set; }
+    @AuraEnabled
+    public Product2__c Prod { get; set; }
+    @AuraEnabled
+    public Decimal invoiceCount { get; set; }
+    @AuraEnabled
+    public Decimal invoiceAllprice { get; set; }
+    @AuraEnabled
+    public Decimal Packing_list_manual { get; set; }
+    public List<SelectOption> Invoice_UnitOpts { get; set; }
+    @AuraEnabled
+    public Map<String, String> Invoice_UnitOptsMap { get; set; }
+    // 娑堣�楀搧浜у搧鏄庣粏
+    public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) {
+      check = false;
+      oldCheck = false;
+      esd = e;
+      Prod = e.Consumable_Product__r;
+      invoiceAllprice = 0;
+
+      Packing_list_manual = e.Consumable_Product__r.Packing_list_manual__c;
+      if (!Test.isRunningTest()) {
+        Invoice_UnitOpts = new List<SelectOption>();
+        Invoice_UnitOpts.add(new SelectOption('鐩�', '鐩�'));
+        Invoice_UnitOpts.add(new SelectOption('涓�', '涓�'));
+      }
+
+      Invoice_UnitOptsMap = new Map<String, String>();
+      Invoice_UnitOptsMap.put('鐩�', '鐩�');
+      Invoice_UnitOptsMap.put('涓�', '涓�');
+    }
+  }
+}

--
Gitblit v1.9.1