From 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7 Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期五, 14 七月 2023 14:56:14 +0800 Subject: [PATCH] lex community --- force-app/main/default/classes/LexConInvoicedetailsController.cls | 870 +++++++++++++++++++++++++-------------------------------- 1 files changed, 378 insertions(+), 492 deletions(-) diff --git a/force-app/main/default/classes/LexConInvoicedetailsController.cls b/force-app/main/default/classes/LexConInvoicedetailsController.cls index 5996cba..b863861 100644 --- a/force-app/main/default/classes/LexConInvoicedetailsController.cls +++ b/force-app/main/default/classes/LexConInvoicedetailsController.cls @@ -1,512 +1,398 @@ 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; } - //鍑哄簱鍗曟槑缁�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] - ); - } + //鍑哄簱鍗旾D + private static String orderId { get; set; } + //鍙戠エ鍗旾D + private static String invoiceId { get; set; } //鍑哄簱鍗曟槑缁�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 - ]; - for (Integer i = 0; i < consumableorderdetails1.size(); i++) { - consumableorderdetails1Records.add( - new ConsumableorderdetailsInfo(consumableorderdetails1[i]) - ); + public static List<ConsumableorderdetailsInfo> consumableorderdetails1Records { get; set; } + //鏄庣粏鏁伴噺 + public static Integer invoiceOrderRecoedsCount { + get { + return consumableorderdetails1Records == null ? 0 : consumableorderdetails1Records.size(); + } } - 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; + //椤甸潰鍒濆鍖� + @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]); } - 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; - } + //鍑哄簱鍗曟槑缁�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])); + } + 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; + } + } + data.put('invoicecode', invoicecode); + data.put('coc', coc); + data.put('consumableorderdetails1Records', consumableorderdetails1Records); + res.status = 'Success'; + res.code = 200; + System.debug('res = ' + res); + return res; } - 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 - ) { - system.debug( - 'consumableorderdetails1RecordsLwc:' + consumableorderdetails1RecordsLwc - ); - 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 - ); - - 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] + consumableorderdetails1Records = (List<ConsumableorderdetailsInfo>) JSON.deserialize( + consumableorderdetails1RecordsLwc, + List<ConsumableorderdetailsInfo>.class ); - } - 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; + invoiceId = invoiceIdLwc; + orderId = orderIdLwc; + System.debug('consumableorderdetails1Records = ' + consumableorderdetails1Records); + System.debug('invoiceId = ' + invoiceId); + System.debug('orderId = ' + orderId); - 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, '璇疯緭鍏ュ彂绁ㄦ暟閲忥紒')); + 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); // 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 - ) - ); - } + return new ResponseBodyLWC('Error', 500, e.getMessage() + ' ' + e.getLineNumber(), ''); } - } - - 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(), - '' - ); + res.status = 'Success'; + res.code = 200; + System.debug('res = ' + res); + return res; } - res.status = 'Success'; - res.code = 200; - System.debug('res = ' + res); - return res; - } - // Data Bean - 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; + // 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; + 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_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('涓�', '涓�'); + Invoice_UnitOptsMap = new Map<String, String>(); + Invoice_UnitOptsMap.put('鐩�', '鐩�'); + Invoice_UnitOptsMap.put('涓�', '涓�'); + } } - } -} +} \ No newline at end of file -- Gitblit v1.9.1