From 744f42c5496e656a1f9927740a3b37c0b97a6cba Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 14 七月 2023 14:34:12 +0800
Subject: [PATCH] lexcommunityupload0714
---
force-app/main/default/classes/LexConInvoiceViewController.cls | 3541 +++++++++++++++++++++++++++-------------------------------
1 files changed, 1,631 insertions(+), 1,910 deletions(-)
diff --git a/force-app/main/default/classes/LexConInvoiceViewController.cls b/force-app/main/default/classes/LexConInvoiceViewController.cls
index 69b9a57..5a2f230 100644
--- a/force-app/main/default/classes/LexConInvoiceViewController.cls
+++ b/force-app/main/default/classes/LexConInvoiceViewController.cls
@@ -1,1962 +1,1683 @@
public without sharing class LexConInvoiceViewController {
- public static String agencyProType { get; set; }
- public static Consumable_order__c coc { get; set; }
- public static Consumable_order__c outbound { get; set; }
- public static String invoiceId { get; set; }
- public static String orderRemind { get; set; }
- public static String deliveryId { get; set; }
- public static String reopen { get; set; }
- public static Decimal sumPrice { get; set; }
- public static Boolean isChange { get; set; }
- public static String accountid { get; set; }
- public static String userId { get; set; }
- public static String errorMsg { get; set; }
+ public static String agencyProType { get; set; }
+ public static Consumable_order__c coc { get; set; }
+ public static Consumable_order__c outbound { get; set; }
+ public static String invoiceId { get; set; }
+ public static String orderRemind { get; set; }
+ public static String deliveryId { get; set; }
+ public static String reopen { get; set; }
+ public static Decimal sumPrice { get; set; }
+ public static Boolean isChange { get; set; }
+ public static String accountid { get; set; }
+ public static String userId { get; set; }
+ public static String errorMsg { get; set; }
- public static Boolean getdone() {
- return (invoiceOrderdetail1Recoeds.size() > 0);
- }
-
- public static Boolean getExistOutbound() {
- return (coc.Outbound_order__c != null);
- }
-
- public static String getInvoiceName() {
- return (coc.Name);
- }
- public static List<Consumable_Orderdetails__c> conoList { get; set; }
-
- public static String shipmentAccount {
- get {
- return (coc.ShipmentAccount__c);
+ public static Boolean getdone() {
+ return (invoiceOrderdetail1Recoeds.size() > 0);
}
- }
- public static String statusEdit = '';
- public static Boolean editAble { get; set; }
- public static List<InvoiceOrderInfo> invoiceOrderRecoeds { get; set; }
- public static List<InvoiceOrderInfo> invoiceOrderdetail1Recoeds { get; set; }
- public static List<InvoiceOrderInfo> invoiceOrderRecoedschange { get; set; }
- public static List<InvoiceOrderInfo> attachmentRecoeds { get; set; }
- public static List<Consumable_order__c> invoiceOrderList { get; set; }
- public static List<Consumable_order__c> invoiceOrderSelectedList { get; set; }
- public static Map<String, Decimal> ordermx1defaultMap { get; set; }
- public static Map<String, Decimal> outorderMoneytMap { get; set; }
- public static Map<String, Consumable_Orderdetails__c> outordercountMap {
- get;
- set;
- }
- public static List<String> outOrderStringList { get; set; }
- public static List<SelectOption> provinceOpts { get; set; }
- public static Map<String, String> provinceOptsMap { get; set; }
- public static String SecondDealer { get; set; }
- public static String HospitalInfo { get; set; }
- public static String HospitalName { get; set; }
- public static Integer invoiceOrderRecoedsCount {
- get {
- return invoiceOrderRecoeds == null ? 0 : invoiceOrderRecoeds.size();
+ public static Boolean getExistOutbound() {
+ return (coc.Outbound_order__c != null);
}
- }
- public static list<Dealer_elationship__c> Dealerelationship { get; set; }
- public static String[] orderby = new List<String>{
- 'Outbound_Date__c',
- 'Name',
- 'ShipmentAccount__c'
- };
- public static String sortKey { get; set; }
- public static String preSortKey { get; set; }
- public static Boolean sortOrderAsc { get; set; }
- public static String[] sortOrder { get; set; }
- public static String userWorkLocation { get; set; }
-
- //椤甸潰鍒濆鍖�
- @AuraEnabled
- public static ResponseBodyLWC init(
- String invoiceId,
- String statusEdit,
- String deliveryId
- ) {
- ResponseBodyLWC res = new ResponseBodyLWC();
- Map<String, object> data = new Map<String, object>();
- res.entity = data;
-
- provinceOpts = new List<SelectOption>();
- provinceOptsMap = new Map<String, String>();
- invoiceOrderRecoeds = new List<InvoiceOrderInfo>();
- attachmentRecoeds = new List<InvoiceOrderInfo>();
- invoiceOrderdetail1Recoeds = new List<InvoiceOrderInfo>();
- invoiceOrderRecoedschange = new List<InvoiceOrderInfo>();
- orderRemind = '';
- isChange = false;
- conoList = new List<Consumable_Orderdetails__c>();
- outorderMoneytMap = new Map<String, Decimal>();
- outOrderStringList = new List<String>();
- outordercountMap = new Map<String, Consumable_Orderdetails__c>();
-
- sumPrice = 0;
- // this.sortKey = '1';
- // this.preSortKey = '1';
- // this.sortOrderAsc = false;
- // this.sortOrder = new List<String>(2);
- // this.sortOrder = new List<String>{ ' ', ' ', ' ', ' ' };
-
- invoiceId = invoiceId;
- statusEdit = statusEdit;
- deliveryId = deliveryId;
-
- if (
- invoiceId != null &&
- invoiceId != '' &&
- (statusEdit == '' ||
- statusEdit == null)
- ) {
- editAble = false;
- } else if (
- (invoiceId == null || invoiceId == '') &&
- (statusEdit == '' ||
- statusEdit == null)
- ) {
- editAble = true;
- } else if (
- invoiceId != null &&
- invoiceId != '' &&
- statusEdit != '' &&
- statusEdit != null
- ) {
- editAble = true;
+ public static String getInvoiceName() {
+ return (coc.Name);
}
- userId = UserInfo.getUserId();
- List<user> Useracc = new List<user>();
- Useracc = [
- SELECT accountid, Work_Location__c, UserPro_Type__c
- FROM user
- WHERE id = :userId
- ];
- accountid = Useracc[0].accountid;
- userWorkLocation = Useracc[0].Work_Location__c;
- agencyProType = Useracc[0].UserPro_Type__c;
- if (String.isBlank(Useracc[0].UserPro_Type__c)) {
- agencyProType = 'ET';
- }
- coc = new Consumable_order__c();
+ public static List<Consumable_Orderdetails__c> conoList { get; set; }
- Dealerelationship = [
- SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name
- FROM Dealer_elationship__c
- WHERE Dealer_principal__c = :accountid
- ];
- List<Agency_Hospital_Link__c> AgencyHospitalLink = new List<Agency_Hospital_Link__c>();
- AgencyHospitalLink = [
- SELECT Id, Name, Hospital__c, Hospital__r.Id, Hospital__r.Name, Agency__c
- FROM Agency_Hospital_Link__c
- WHERE Agency__c = :accountId
- ];
- // 鏂拌
- if (invoiceId == null || invoiceId == '') {
- if (deliveryId == null || deliveryId == '') {
- String msoql = makeSoql();
- invoiceOrderList = Database.query(msoql);
- for (Integer i = 0; i < invoiceOrderList.size(); i++) {
- invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderList[i]));
+ public static String shipmentAccount {
+ get {
+ return (coc.ShipmentAccount__c);
}
- } else {
- if (statusEdit == '' || statusEdit == null) {
- EditAble = false;
- } else if (statusEdit != '' && statusEdit != null) {
- EditAble = true;
+ }
+ public static String statusEdit = '';
+ public static Boolean editAble { get; set; }
+ public static List<InvoiceOrderInfo> invoiceOrderRecoeds { get; set; }
+ public static List<InvoiceOrderInfo> invoiceOrderdetail1Recoeds { get; set; }
+ public static List<InvoiceOrderInfo> invoiceOrderRecoedschange { get; set; }
+ public static List<InvoiceOrderInfo> attachmentRecoeds { get; set; }
+ public static List<Consumable_order__c> invoiceOrderList { get; set; }
+ public static List<Consumable_order__c> invoiceOrderSelectedList { get; set; }
+ public static Map<String, Decimal> ordermx1defaultMap { get; set; }
+ public static Map<String, Decimal> outorderMoneytMap { get; set; }
+ public static Map<String, Consumable_Orderdetails__c> outordercountMap { get; set; }
+ public static List<String> outOrderStringList { get; set; }
+ public static List<SelectOption> provinceOpts { get; set; }
+ public static Map<String, String> provinceOptsMap { get; set; }
+ public static String SecondDealer { get; set; }
+ public static String HospitalInfo { get; set; }
+ public static String HospitalName { get; set; }
+
+ public static Integer invoiceOrderRecoedsCount {
+ get {
+ return invoiceOrderRecoeds == null ? 0 : invoiceOrderRecoeds.size();
}
- coc = [
- SELECT
- Id,
- Name,
- Invoice_status__c,
- Invoice_Date__c,
- Order_ForDealerText__c,
- Dealer_Info__c,
- Order_ForDealer__c,
- Order_ForDealer__r.Name,
- Order_ForHospital__c,
- Order_ForHospital__r.Name,
- Order_date__c,
- Billed_Status__c,
- ShipmentAccount__c,
- Order_Dealer_Info__c,
- SummonsForDirction__c,
- Order_ForCustomerText__c,
- Invoice_Note__c,
- Invoice_attachment__c,
- Invoicedet_attachment__c,
- Outbound_order__c
- FROM Consumable_order__c
- WHERE Id = :deliveryId
+ }
+
+ public static list<Dealer_elationship__c> Dealerelationship { get; set; }
+ public static String[] orderby = new List<String>{ 'Outbound_Date__c', 'Name', 'ShipmentAccount__c' };
+ public static String sortKey { get; set; }
+ public static String preSortKey { get; set; }
+ public static Boolean sortOrderAsc { get; set; }
+ public static String[] sortOrder { get; set; }
+ public static String userWorkLocation { get; set; }
+
+ //椤甸潰鍒濆鍖�
+ @AuraEnabled
+ public static ResponseBodyLWC init(String invoiceId, String statusEdit, String deliveryId) {
+ ResponseBodyLWC res = new ResponseBodyLWC();
+ Map<String, object> data = new Map<String, object>();
+ res.entity = data;
+
+ provinceOpts = new List<SelectOption>();
+ provinceOptsMap = new Map<String, String>();
+ invoiceOrderRecoeds = new List<InvoiceOrderInfo>();
+ attachmentRecoeds = new List<InvoiceOrderInfo>();
+ invoiceOrderdetail1Recoeds = new List<InvoiceOrderInfo>();
+ invoiceOrderRecoedschange = new List<InvoiceOrderInfo>();
+ orderRemind = '';
+ isChange = false;
+ conoList = new List<Consumable_Orderdetails__c>();
+ outorderMoneytMap = new Map<String, Decimal>();
+ outOrderStringList = new List<String>();
+ outordercountMap = new Map<String, Consumable_Orderdetails__c>();
+
+ sumPrice = 0;
+ // this.sortKey = '1';
+ // this.preSortKey = '1';
+ // this.sortOrderAsc = false;
+ // this.sortOrder = new List<String>(2);
+ // this.sortOrder = new List<String>{ ' ', ' ', ' ', ' ' };
+
+ invoiceId = invoiceId;
+ statusEdit = statusEdit;
+ deliveryId = deliveryId;
+
+ if (invoiceId != null && invoiceId != '' && (statusEdit == '' || statusEdit == null)) {
+ editAble = false;
+ } else if ((invoiceId == null || invoiceId == '') && (statusEdit == '' || statusEdit == null)) {
+ editAble = true;
+ } else if (invoiceId != null && invoiceId != '' && statusEdit != '' && statusEdit != null) {
+ editAble = true;
+ }
+ userId = UserInfo.getUserId();
+ List<user> Useracc = new List<user>();
+ Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId];
+ accountid = Useracc[0].accountid;
+ userWorkLocation = Useracc[0].Work_Location__c;
+ agencyProType = Useracc[0].UserPro_Type__c;
+ if (String.isBlank(Useracc[0].UserPro_Type__c)) {
+ agencyProType = 'ET';
+ }
+ coc = new Consumable_order__c();
+
+ Dealerelationship = [
+ SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name
+ FROM Dealer_elationship__c
+ WHERE Dealer_principal__c = :accountid
];
- coc.Name = '';
- if (coc.Order_ForDealer__c != null) {
- SecondDealer = coc.Order_ForDealer__c;
- }
-
- if (coc.Order_ForHospital__c != null) {
- HospitalInfo = coc.Order_ForHospital__c;
- HospitalName = coc.Order_ForHospital__r.Name;
- }
-
- //鍙戠エ鍏宠仈鍑哄簱鍗曞彇寰楋紙鍑哄簱鍗曪級
- invoiceOrderSelectedList = [
- SELECT
- Id,
- Order_ForDealer__r.Name,
- Order_ForHospital__r.Name,
- Order_ForDealerText__c,
- Name,
- Outbound_Date__c,
- ShipmentAccount__c,
- Order_Dealer_Info__c,
- SummonsForDirction__c,
- Shipment_total_amount__c,
- RrturnPro_total_amount__c,
- Total_Invoiced_Procount__c,
- InvoiceNotPro_total_amount__c,
- InvoiceNotPro_money__c,
- Invoice_total_amount__c,
- Billed_Status__c
- FROM Consumable_order__c
- WHERE Id = :deliveryId
- ORDER BY Name
+ List<Agency_Hospital_Link__c> AgencyHospitalLink = new List<Agency_Hospital_Link__c>();
+ AgencyHospitalLink = [
+ SELECT Id, Name, Hospital__c, Hospital__r.Id, Hospital__r.Name, Agency__c
+ FROM Agency_Hospital_Link__c
+ WHERE Agency__c = :accountId
];
- for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) {
- invoiceOrderRecoeds.add(
- new InvoiceOrderInfo(invoiceOrderSelectedList[i])
- );
- }
- }
- } else {
- coc = [
- SELECT
- Id,
- Name,
- Invoice_status__c,
- Invoice_Date__c,
- Order_ForDealerText__c,
- Dealer_Info__c,
- Order_ForDealer__c,
- Order_ForDealer__r.Name,
- Order_ForHospital__c,
- Order_ForHospital__r.Name,
- Order_date__c,
- Billed_Status__c,
- ShipmentAccount__c,
- Order_Dealer_Info__c,
- SummonsForDirction__c,
- Order_ForCustomerText__c,
- Invoice_Note__c,
- Invoice_attachment__c,
- Invoicedet_attachment__c,
- Outbound_order__c
- FROM Consumable_order__c
- WHERE Id = :invoiceId AND Order_type__c = '鍙戠エ'
- ];
- if (coc.Order_ForDealer__c != null) {
- SecondDealer = coc.Order_ForDealer__c;
- }
- if (coc.Order_ForHospital__c != null) {
- HospitalInfo = coc.Order_ForHospital__c;
- HospitalName = coc.Order_ForHospital__r.Name;
- }
- //鍒伴摼鎺ヨ〃涓煡鎵惧叧鑱斿嚭搴撳崟
- List<Consumable_order_LinkTable__c> outOrderList = [
- SELECT Outboundorder_Code_link__c
- FROM Consumable_order_LinkTable__c
- WHERE Invoice_Code_link__c = :invoiceId
- ];
- for (Integer i = 0; i < outOrderList.size(); i++) {
- outOrderStringList.add(outOrderList[i].Outboundorder_Code_link__c);
- }
- //鍙栧緱鍑哄簱鍗曚俊鎭�
- invoiceOrderSelectedList = [
- SELECT
- Id,
- Order_ForDealer__r.Name,
- Order_ForHospital__r.Name,
- Order_ForDealerText__c,
- Name,
- Outbound_Date__c,
- ShipmentAccount__c,
- Shipment_total_amount__c,
- RrturnPro_total_amount__c,
- Total_Invoiced_Procount__c,
- InvoiceNotPro_total_amount__c,
- InvoiceNotPro_money__c,
- Invoice_total_amount__c,
- Billed_Status__c
- FROM Consumable_order__c
- WHERE
- Id IN :outOrderStringList
- AND Order_Owner_WorkLocal__c = :userWorkLocation
- ORDER BY Name
- ];
- for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) {
- outorderMoneytMap.put(invoiceOrderSelectedList[i].id, 0);
- invoiceOrderRecoeds.add(
- new InvoiceOrderInfo(invoiceOrderSelectedList[i])
- );
- }
- if (String.isNotBlank(deliveryId)) {
- //鍙戠エ鍏宠仈鍑哄簱鍗曞彇寰楋紙鍑哄簱鍗曪級
- isChange = true;
- invoiceOrderSelectedList = [
- SELECT
- Id,
- Order_ForDealer__r.Name,
- Order_ForHospital__r.Name,
- Order_ForDealerText__c,
- Name,
- Outbound_Date__c,
- ShipmentAccount__c,
- Shipment_total_amount__c,
- RrturnPro_total_amount__c,
- Total_Invoiced_Procount__c,
- InvoiceNotPro_total_amount__c,
- InvoiceNotPro_money__c,
- Invoice_total_amount__c,
- Billed_Status__c
- FROM Consumable_order__c
- WHERE
- Id = :deliveryId
- AND Order_Owner_WorkLocal__c = :userWorkLocation
- ORDER BY Name
- ];
- for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) {
- if (!outorderMoneytMap.containsKey(invoiceOrderSelectedList[i].Id)) {
- invoiceOrderRecoeds.add(
- new InvoiceOrderInfo(invoiceOrderSelectedList[i])
- );
- invoiceOrderRecoedschange.add(
- new InvoiceOrderInfo(invoiceOrderSelectedList[i])
- );
- }
- }
- }
- //鍙戠エ鏄庣粏涓�瑙�
- List<Consumable_Orderdetails__c> countDel = [
- SELECT
- Id,
- Consumable_ZS_order__c,
- Name,
- Consumable_order__c,
- Invoicedet1_OD_link__c,
- Invoicedet1_OD_link__r.Name,
- Consumable_order__r.Name,
- Product_OutDate__c,
- Asset_Model_No__c,
- Invoice_Unitprice__c,
- Delivery_List_RMB__c,
- Invoiced_Procount__c,
- Invoiced_Count__c,
- InvoicedProCost_RMB__c,
- Box_Piece__c,
- Invoice_Unit__c,
- ProductPacking_list_manual__c
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c = :invoiceId
- ORDER BY Invoicedet1_OD_link__c
- ];
- if (countDel.size() > 0) {
- for (Integer i = 0; i < countDel.size(); i++) {
- outordercountMap.put(
- countDel[i].Invoicedet1_OD_link__c + countDel[i].Asset_Model_No__c,
- countDel[i]
- );
- if (
- outorderMoneytMap.containsKey(countDel[i].Invoicedet1_OD_link__c)
- ) {
- outorderMoneytMap.put(
- countDel[i].Invoicedet1_OD_link__c,
- outorderMoneytMap.get(countDel[i].Invoicedet1_OD_link__c) +
- countDel[i].InvoicedProCost_RMB__c
- );
- }
- invoiceOrderdetail1Recoeds.add(new InvoiceOrderInfo(countDel[i]));
- }
- }
- for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
- if (outorderMoneytMap.containsKey(ass.esd.id)) {
- ass.needInvoiceCount = outorderMoneytMap.get(ass.esd.id);
- }
- ass.check = true;
- }
- }
-
- if (SecondDealer == null || SecondDealer == '') {
- provinceOpts.add(new SelectOption('', '-鏃�-'));
- provinceOptsMap.put('', '-鏃�-');
- for (Integer i = 0; i < Dealerelationship.size(); i++) {
- provinceOpts.add(
- new SelectOption(
- Dealerelationship[i].Dealer_subordinate__c,
- Dealerelationship[i].Dealer_subordinate__r.Name
- )
- );
- provinceOptsMap.put(
- Dealerelationship[i].Dealer_subordinate__c,
- Dealerelationship[i].Dealer_subordinate__r.Name
- );
- }
- } else {
- provinceOpts.add(new SelectOption('', '-鏃�-'));
- provinceOptsMap.put('', '-鏃�-');
- for (Integer i = 0; i < Dealerelationship.size(); i++) {
- if (Dealerelationship[i].Dealer_subordinate__r.Name == SecondDealer) {
- provinceOpts.add(
- new SelectOption(
- Dealerelationship[i].Dealer_subordinate__c,
- SecondDealer
- )
- );
- provinceOptsMap.put(
- Dealerelationship[i].Dealer_subordinate__c,
- SecondDealer
- );
- }
- }
- for (Integer i = 0; i < Dealerelationship.size(); i++) {
- if (Dealerelationship[i].Dealer_subordinate__r.Name != SecondDealer) {
- provinceOpts.add(
- new SelectOption(
- Dealerelationship[i].Dealer_subordinate__c,
- Dealerelationship[i].Dealer_subordinate__r.Name
- )
- );
- provinceOptsMap.put(
- Dealerelationship[i].Dealer_subordinate__c,
- Dealerelationship[i].Dealer_subordinate__r.Name
- );
- }
- }
- }
-
- Map<String, String> consumableaccessoriesMap = new Map<String, String>();
- Map<String, String> invorceOrderIdMap = new Map<String, String>();
- List<Consumable_accessories_invoice__c> consumableaccessories = [
- SELECT Id, Name, Attachment_ID__c, Accessories_type__c
- FROM Consumable_accessories_invoice__c
- WHERE Invoice_code__c = :invoiceId
- ];
- System.debug('consumableaccessories = ' + consumableaccessories);
- if (consumableaccessories.size() > 0) {
- for (Integer i = 0; i < consumableaccessories.size(); i++) {
- consumableaccessoriesMap.put(
- consumableaccessories[i].Attachment_ID__c,
- consumableaccessories[i].Accessories_type__c
- );
- invorceOrderIdMap.put(
- consumableaccessories[i].Attachment_ID__c,
- consumableaccessories[i].Id
- );
- }
- }
-
- //List<Attachment> attachmentinfo = [SELECT Id, Name, OwnerId,Owner.Name, CreatedDate FROM Attachment WHERE parentid = :invoiceId];
- // if (attachmentinfo.size() > 0) {
- // for (Integer i = 0; i < attachmentinfo.size(); i++) {
- // attachmentRecoeds.add(new InvoiceOrderInfo(attachmentinfo[i]));
- // }
- // }
- List<ContentDocumentLink> links = [
- SELECT Id, ContentDocumentId
- FROM ContentDocumentLink
- WHERE LinkedEntityId = :invoiceId
- ];
- if (links != null && links.size() > 0) {
- List<String> documentIds = new List<String>();
- for (ContentDocumentLink link : links) {
- documentIds.add(link.ContentDocumentId);
- }
- List<ContentVersion> cvInfo = [
- SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId
- FROM ContentVersion
- WHERE ContentDocumentId IN :documentIds
- ];
-
- if (cvInfo.size() > 0) {
- for (Integer i = 0; i < cvInfo.size(); i++) {
- attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i]));
- }
- }
- }
- // 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]));
- // }
- // }
- System.debug('attachmentRecoeds = ' + attachmentRecoeds);
- System.debug('consumableaccessoriesMap = ' + consumableaccessoriesMap);
- for (InvoiceOrderInfo ass : attachmentRecoeds) {
- if (consumableaccessoriesMap.containsKey(ass.cvInfo.Id)) {
- ass.mailSelectOptsin = consumableaccessoriesMap.get(ass.cvInfo.Id);
- ass.invoiceOrderId = invorceOrderIdMap.get(ass.cvInfo.Id);
- }
- }
- data.put('EditAble', EditAble);
- data.put('isChange', isChange);
- data.put('coc', coc);
- data.put('ExistOutbound', getExistOutbound());
- data.put('invoiceOrderRecoeds', invoiceOrderRecoeds);
- data.put('provinceOptsMap', provinceOptsMap);
- data.put('HospitalName', HospitalName);
- data.put('HospitalInfo', HospitalInfo);
- data.put('agencyProType', agencyProType);
- data.put('userWorkLocation', userWorkLocation);
- data.put('done', getdone());
- data.put('invoiceOrderdetail1Recoeds', invoiceOrderdetail1Recoeds);
- data.put('accountid', accountid);
- 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,
- String deliveryIdLwc,
- String invoiceIdLwc,
- String accountidLwc,
- String agencyProTypeLwc,
- String reopenLwc,
- String invoiceOrderRecoedschangeLwc
- ) {
- 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 = '';
- deliveryId = deliveryIdLwc;
- invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(
- invoiceOrderRecoedsLwc,
- List<InvoiceOrderInfo>.class
- );
- invoiceId = invoiceIdLwc;
- accountid = accountidLwc;
- agencyProType = agencyProTypeLwc;
- 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('璇峰綍鍏ュ彂绁ㄥ彿');
- // return null;
- return new ResponseBodyLWC('Error', 500, '璇峰綍鍏ュ彂绁ㄥ彿', '');
- }
- if (coc.Invoice_Date__c == null) {
- // coc.Invoice_Date__c.addError('璇峰綍鍏ュ彂绁ㄦ棩鏈�');
- // return null;
- return new ResponseBodyLWC('Error', 500, '璇峰綍鍏ュ彂绁ㄦ棩鏈�', '');
- }
- if (String.isBlank(HospitalInfo) && String.isBlank(SecondDealer)) {
- // coc.addError('蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟�');
- // return null;
- return new ResponseBodyLWC(
- 'Error',
- 500,
- '蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟�',
- ''
- );
- }
- if (
- HospitalInfo != null &&
- HospitalInfo != '' &&
- String.isNotEmpty(SecondDealer)
- ) {
- //coc.addError('璇疯緭鍏ュ鎴峰悕銆佷簩绾х粡閿�鍟嗗彧鍙緭鍏ヤ竴涓�');
- errorMsg += '璇疯緭鍏ュ鎴峰悕銆佷簩绾х粡閿�鍟嗗彧鍙緭鍏ヤ竴涓�';
- }
- if (HospitalInfo != null && HospitalInfo != '') {
- if (coc.Order_ForCustomerText__c == null) {
- // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹�');
- // return null;
- return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹�', '');
- }
- } else {
- if (coc.Order_ForCustomerText__c != null) {
- // coc.Order_ForCustomerText__c.addError('涓嶉渶瑕佽緭鍏ョ瀹�');
- // return null;
- return new ResponseBodyLWC('Error', 500, '涓嶉渶瑕佽緭鍏ョ瀹�', '');
- }
- }
- String shipmentAccountString = '';
- if (HospitalInfo != null) {
- shipmentAccountString = HospitalInfo;
- } else if (String.isNotEmpty(SecondDealer)) {
- shipmentAccountString = SecondDealer;
- } else {
- shipmentAccountString = coc.Order_ForDealerText__c == null
- ? ''
- : coc.Order_ForDealerText__c;
- }
-
- Integer x = 0;
- List<String> invoiceOrderAccountList = new List<String>();
- for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
- if (String.isBlank(deliveryId)) {
- if (ass.check == true) {
- x++;
- System.debug(shipmentAccountString);
- if (HospitalInfo != null && HospitalInfo != '') {
- if (ass.esd.Order_ForHospital__c != shipmentAccountString) {
- invoiceOrderAccountList.add(ass.esd.Name);
- }
- }
- if (String.isNotEmpty(SecondDealer)) {
- if (
- ass.esd.Order_ForDealer__c != shipmentAccountString &&
- ass.esd.Order_ForDealerText__c != shipmentAccountString
- ) {
- invoiceOrderAccountList.add(ass.esd.Name);
- }
- }
- if (
- coc.Order_ForDealerText__c != null &&
- (HospitalInfo == null ||
- HospitalInfo == '')
- ) {
- if (
- (ass.esd.Order_ForDealerText__c != null ||
- ass.esd.Order_ForDealerText__c != '') &&
- ass.esd.ShipmentAccount__c != shipmentAccountString
- ) {
- invoiceOrderAccountList.add(ass.esd.Name);
- }
- }
- }
- } 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'
- );
- invoiceOrderAccountList.add(ass.esd.Name);
- }
- }
- //if (String.isNotEmpty(SecondDealer)) {
- if (String.isNotEmpty(SecondDealer)) {
- if (ass.esd.Order_ForDealer__c != shipmentAccountString) {
- System.debug(
- 'String.isNotEmpty(SecondDealer) ass.esd.Order_ForHospital__c != shipmentAccountString'
- );
- invoiceOrderAccountList.add(ass.esd.Name);
- }
- }
- if (
- coc.Order_ForDealerText__c != null &&
- (HospitalInfo == null ||
- HospitalInfo == '')
- ) {
- if (
- (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'
- );
- invoiceOrderAccountList.add(ass.esd.Name);
- }
- }
- }
- }
- // invoiceOrderAccountList.add('12345');
- if (invoiceOrderAccountList.size() > 0) {
- orderRemind =
- invoiceOrderAccountList + '鍑哄簱鍗曞鎴峰悕涓庡彂绁ㄥ鎴峰悕涓嶄竴鑷达紒';
- // coc.addError(invoiceOrderAccountList + '鍑哄簱鍗曞鎴峰悕涓庡彂绁ㄥ鎴峰悕涓嶄竴鑷达紒');
- // return null;
- return new ResponseBodyLWC(
- 'Error',
- 500,
- invoiceOrderAccountList + '鍑哄簱鍗曞鎴峰悕涓庡彂绁ㄥ鎴峰悕涓嶄竴鑷达紒',
- ''
- );
- } else {
- orderRemind = '';
- }
- if (String.isBlank(deliveryId)) {
- if (x < 1) {
- // coc.addError('璇烽�夋嫨闇�瑕佸紑鍙戠エ鐨勫嚭搴撳崟锛�');
- // return null;
- return new ResponseBodyLWC(
- 'Error',
- 500,
- '璇烽�夋嫨闇�瑕佸紑鍙戠エ鐨勫嚭搴撳崟锛�',
- ''
- );
- }
- }
- Consumable_order__c invoiceHead = new Consumable_order__c();
- List<String> outOrderIdList = new List<String>();
- List<Consumable_order_LinkTable__c> invoiceLinkList = new List<Consumable_order_LinkTable__c>();
- Map<String, String> insertDetMap = new Map<String, String>();
- Map<String, String> deleteDetMap = new Map<String, String>();
- //鏂板缓鍙戠エ鏃�
- Savepoint sp = Database.setSavepoint();
- try {
- if (String.isBlank(invoiceId)) {
- invoiceHead.Name = coc.Name;
- if (
- coc.Invoice_status__c == null || String.isBlank(coc.Invoice_status__c)
- )
- coc.Invoice_status__c = '鑽夋涓�';
- invoiceHead.Order_type__c = '鍙戠エ';
- invoiceHead.Invoice_Date__c = coc.Invoice_Date__c;
- invoiceHead.Dealer_Info__c = accountid;
- invoiceHead.Invoice_Note__c = coc.Invoice_Note__c;
- invoiceHead.Invoice_status__c = '鑽夋涓�';
- invoiceHead.Order_ProType__c = agencyProType;
- invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
- //if (deliveryId != null) {
- if (String.isNotBlank(deliveryId)) {
- invoiceHead.Outbound_order__c = deliveryId;
- }
- invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice;
- // if (SecondDealer == null) {
- if (String.isBlank(SecondDealer)) {
- if (HospitalInfo != null && HospitalInfo != '') {
- invoiceHead.Order_ForHospital__c = HospitalInfo;
- }
- } else {
- invoiceHead.Order_ForDealer__c = SecondDealer;
- }
- invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
- if (Test.isRunningTest()) {
- invoiceHead.Order_ForHospital__c = null;
- }
- insert invoiceHead;
- invoiceId = invoiceHead.Id;
- List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
- cocinfo = [
- SELECT
- Id,
- Name,
- Invoice_status__c,
- Invoice_Date__c,
- Order_ForDealerText__c,
- Dealer_Info__c,
- Order_ForDealer__c,
- Order_ForDealer__r.Name,
- Order_ForHospital__c,
- Order_date__c,
- Billed_Status__c,
- ShipmentAccount__c,
- Order_Dealer_Info__c,
- SummonsForDirction__c,
- Order_ForCustomerText__c,
- Invoice_Note__c,
- Invoice_attachment__c,
- Invoicedet_attachment__c,
- Outbound_order__c
- FROM Consumable_order__c
- WHERE Id = :invoiceId
- ];
- if (cocinfo.size() > 0) {
- invoiceHead = cocinfo[0];
- }
- if (!String.isBlank(deliveryId)) {
- for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
- chukudanID.add(ass.esd.Id);
- insertDetMap.put(ass.esd.Id, invoiceHead.Id);
- }
- } else {
- for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
- if (!String.isBlank(deliveryId)) {
- chukudanID.add(ass.esd.Id);
- insertDetMap.put(ass.esd.Id, invoiceHead.Id);
+ // 鏂拌
+ if (invoiceId == null || invoiceId == '') {
+ if (deliveryId == null || deliveryId == '') {
+ String msoql = makeSoql();
+ invoiceOrderList = Database.query(msoql);
+ for (Integer i = 0; i < invoiceOrderList.size(); i++) {
+ invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderList[i]));
+ }
} else {
- if (ass.check == true) {
- chukudanID.add(ass.esd.Id);
- insertDetMap.put(ass.esd.Id, invoiceHead.Id);
- } else {
- //deleteDetMap.put(ass.esd.Id,invoiceHead.Id);
- }
+ if (statusEdit == '' || statusEdit == null) {
+ EditAble = false;
+ } else if (statusEdit != '' && statusEdit != null) {
+ EditAble = true;
+ }
+ coc = [
+ SELECT
+ Id,
+ Name,
+ Invoice_status__c,
+ Invoice_Date__c,
+ Order_ForDealerText__c,
+ Dealer_Info__c,
+ Order_ForDealer__c,
+ Order_ForDealer__r.Name,
+ Order_ForHospital__c,
+ Order_ForHospital__r.Name,
+ Order_date__c,
+ Billed_Status__c,
+ ShipmentAccount__c,
+ Order_Dealer_Info__c,
+ SummonsForDirction__c,
+ Order_ForCustomerText__c,
+ Invoice_Note__c,
+ Invoice_attachment__c,
+ Invoicedet_attachment__c,
+ Outbound_order__c
+ FROM Consumable_order__c
+ WHERE Id = :deliveryId
+ ];
+ coc.Name = '';
+ if (coc.Order_ForDealer__c != null) {
+ SecondDealer = coc.Order_ForDealer__c;
+ }
+
+ if (coc.Order_ForHospital__c != null) {
+ HospitalInfo = coc.Order_ForHospital__c;
+ HospitalName = coc.Order_ForHospital__r.Name;
+ }
+
+ //鍙戠エ鍏宠仈鍑哄簱鍗曞彇寰楋紙鍑哄簱鍗曪級
+ invoiceOrderSelectedList = [
+ SELECT
+ Id,
+ Order_ForDealer__r.Name,
+ Order_ForHospital__r.Name,
+ Order_ForDealerText__c,
+ Name,
+ Outbound_Date__c,
+ ShipmentAccount__c,
+ Order_Dealer_Info__c,
+ SummonsForDirction__c,
+ Shipment_total_amount__c,
+ RrturnPro_total_amount__c,
+ Total_Invoiced_Procount__c,
+ InvoiceNotPro_total_amount__c,
+ InvoiceNotPro_money__c,
+ Invoice_total_amount__c,
+ Billed_Status__c
+ FROM Consumable_order__c
+ WHERE Id = :deliveryId
+ ORDER BY Name
+ ];
+ for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) {
+ invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderSelectedList[i]));
+ }
}
- }
- }
- //鏂板缓鍙戠エ鏄庣粏1
- if (chukudanID.size() > 0) {
- newinvoicedetails1(chukudanID);
- }
- //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'deleteDetMap +++++' + deleteDetMap.size()));
- //return null;
- if (insertDetMap.size() > 0) {
- for (String field : insertDetMap.keySet()) {
- List<Consumable_order_LinkTable__c> existLinkinfo = [
- SELECT Id
- FROM Consumable_order_LinkTable__c
- WHERE
- Outboundorder_Code_link__c = :field
- AND Invoice_Code_link__c = :insertDetMap.get(field)
+ } else {
+ coc = [
+ SELECT
+ Id,
+ Name,
+ Invoice_status__c,
+ Invoice_Date__c,
+ Order_ForDealerText__c,
+ Dealer_Info__c,
+ Order_ForDealer__c,
+ Order_ForDealer__r.Name,
+ Order_ForHospital__c,
+ Order_ForHospital__r.Name,
+ Order_date__c,
+ Billed_Status__c,
+ ShipmentAccount__c,
+ Order_Dealer_Info__c,
+ SummonsForDirction__c,
+ Order_ForCustomerText__c,
+ Invoice_Note__c,
+ Invoice_attachment__c,
+ Invoicedet_attachment__c,
+ Outbound_order__c
+ FROM Consumable_order__c
+ WHERE Id = :invoiceId AND Order_type__c = '鍙戠エ'
];
- if (existLinkinfo.size() < 1) {
- Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c();
- invoiceLink.Name = field + insertDetMap.get(field);
- invoiceLink.Outboundorder_Code_link__c = field;
- invoiceLink.Invoice_Code_link__c = insertDetMap.get(field);
- invoiceLinkList.add(invoiceLink);
+ if (coc.Order_ForDealer__c != null) {
+ SecondDealer = coc.Order_ForDealer__c;
}
- }
- 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;
- invoiceHead.Dealer_Info__c = accountid;
- invoiceHead.Invoice_Note__c = coc.Invoice_Note__c;
- invoiceHead.Invoice_status__c = '鑽夋涓�';
- invoiceHead.Order_ProType__c = agencyProType;
- invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
- //if (deliveryId != null) {
- if (String.isNotBlank(deliveryId)) {
- invoiceHead.Outbound_order__c = deliveryId;
- }
- invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice;
- //if (SecondDealer == null) {
- if (String.isBlank(SecondDealer)) {
- if (HospitalInfo != null && HospitalInfo != '') {
- invoiceHead.Order_ForHospital__c = HospitalInfo;
- }
- } else {
- invoiceHead.Order_ForDealer__c = SecondDealer;
- }
- invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
- if (Test.isRunningTest()) {
- invoiceHead.Order_ForHospital__c = null;
- }
- insert invoiceHead;
- System.debug('invoiceHead = ' + invoiceHead);
-
- List<String> updateChukudanId = new List<String>();
- //鑾峰彇鍘熷彂绁ㄧ浉鍏宠仈鐨勯摼鎺ヨ〃淇℃伅
- List<Consumable_order_LinkTable__c> tLinkList = [
- SELECT Outboundorder_Code_link__c
- FROM Consumable_order_LinkTable__c
- WHERE Invoice_Code_link__c = :invoiceId
- ];
-
- for (Consumable_order_LinkTable__c colc : tLinkList) {
- colc.Invoice_Code_link__c = invoiceHead.Id;
- updateChukudanId.add(colc.Outboundorder_Code_link__c);
- }
- System.debug('tLinkList = ' + tLinkList);
- update tLinkList;
- //鏇存柊鍙戠エ鏄庣粏淇℃伅
- //鑾峰彇鍑哄簱鍗�,璁剧疆鍏宠仈鍏崇郴
- //鑾峰彇鍑哄簱鍗曟槑缁嗕俊鎭�,鍥犱负鍑哄簱鍗曚俊鎭拰鍑哄簱鍗曟槑缁嗕俊鎭槸鍏宠仈鐨�,鎵�鏈夊彧闇�瑕佸洖婊氬嚭搴撳崟鏄庣粏淇℃伅鍗冲彲
-
- Map<String, Consumable_Orderdetails__c> tempCocMap = new Map<String, Consumable_Orderdetails__c>();
- List<Consumable_Orderdetails__c> tempCountList = [
- SELECT
- Id,
- Consumable_order__c,
- Asset_Model_No__c,
- InvoicedProCost_RMB__c,
- Invoicedet1_OD_link__c,
- InvoicedProduct_RMB__c,
- Invoiced_Procount__c,
- Invoiced_BoxCount__c,
- Invoice_Unit__c
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c = :invoiceId
- ];
- for (Consumable_Orderdetails__c cocTemp : tempCountList) {
- 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
- Id,
- Consumable_order__c,
- RrturnPro_count__c,
- Delivery_List_RMB__c,
- InvoicedProCost_RMB__c,
- Invoiced_Procount__c,
- Invoice_Unitprice__c,
- Box_Piece__c,
- Invoice_Unit__c,
- Consumable_order__r.Invoice_total_amount__c,
- ProductPacking_list_manual__c,
- InvoicedProduct_RMB__c,
- Invoiced_BoxCount__c,
- Shipment_amount__c,
- Asset_Model_No__c
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c IN :updateChukudanId
- ];
- for (Consumable_Orderdetails__c corderc : updateFromList) {
- String tempStr =
- corderc.Consumable_order__c + corderc.Asset_Model_No__c;
- if (tempCocMap.get(tempStr) != null) {
- //璁剧疆宸插彂绁ㄩ噾棰� 鍑哄簱鍗曠殑宸插彂绁ㄩ噾棰� - 鍙戠エ鐨勫彂绁ㄩ噾棰�
- corderc.InvoicedProCost_RMB__c =
- corderc.InvoicedProCost_RMB__c -
- tempCocMap.get(tempStr).InvoicedProduct_RMB__c;
- //璁剧疆宸插彂绁ㄦ暟閲� 鍑哄簱鍗曠殑宸插彂绁ㄦ暟閲� - 鍙戠エ鐨勫彂绁ㄦ暟閲�(鐩�)
- corderc.Invoiced_Procount__c =
- corderc.Invoiced_Procount__c -
- tempCocMap.get(tempStr).Invoiced_BoxCount__c;
- //璁剧疆鍙戠エ鍗曚环
- if (
- corderc.Box_Piece__c == '鐩�' &&
- corderc.Invoice_Unit__c == '涓�'
- ) {
- corderc.Invoice_Unitprice__c =
- corderc.Delivery_List_RMB__c /
- corderc.ProductPacking_list_manual__c;
- } else {
- corderc.Invoice_Unitprice__c = corderc.Delivery_List_RMB__c;
+ if (coc.Order_ForHospital__c != null) {
+ HospitalInfo = coc.Order_ForHospital__c;
+ HospitalName = coc.Order_ForHospital__r.Name;
}
- }
- }
-
- 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) {
- if (ass.check == true) {
- insertDetMap.put(ass.esd.Id, invoiceHead.Id);
- } else {
- outOrderIdList.add(ass.esd.Id);
- deleteDetMap.put(ass.esd.Id, invoiceHead.Id);
- }
- }
- if (outOrderIdList.size() > 0) {
- getdefaultMapinfo(outOrderIdList);
- }
- //琚�変腑鐨勫嚭搴撳崟闆嗗悎
- if (insertDetMap.size() > 0) {
- List<Consumable_order_LinkTable__c> existLinkinfo = [
- SELECT Id, Invoice_Code_link__c, Outboundorder_Code_link__c
- FROM Consumable_order_LinkTable__c
- WHERE
- Outboundorder_Code_link__c IN :insertDetMap.keySet()
- AND Invoice_Code_link__c = :invoiceHead.Id
- ];
- //瀛樺湪娌℃湁涓庡彂绁ㄥ缓绔嬪叧鑱斿叧绯荤殑鍑哄簱鍗�
- List<String> templist2 = new List<String>();
- for (Consumable_order_LinkTable__c colc : existLinkinfo) {
- templist2.add(colc.Outboundorder_Code_link__c);
- }
- //鑾峰彇璇ュ嚭搴撳崟
- for (String field : insertDetMap.keySet()) {
- if (!templist2.contains(field)) {
- //璇ュ嚭搴撳崟涓嶅瓨鍦ㄤ笌閾炬帴琛ㄤ腑,鏂板缓閾炬帴
- chukudanID.add(field);
- Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c();
- invoiceLink.Name = field + insertDetMap.get(field);
- invoiceLink.Outboundorder_Code_link__c = field;
- invoiceLink.Invoice_Code_link__c = insertDetMap.get(field);
- invoiceLinkList.add(invoiceLink);
- }
- }
- System.debug('invoiceLinkList = ' + invoiceLinkList);
- upsert invoiceLinkList;
- }
- //鍒犻櫎鍑哄簱鍗曢摼鎺ヨ〃
- if (deleteDetMap.size() > 0) {
- List<Consumable_order_LinkTable__c> invoiceLinkdetList = new List<Consumable_order_LinkTable__c>();
- deleteOutboundorder(deleteDetMap, invoiceHead.Id);
- List<Consumable_order_LinkTable__c> existLinkinfo = [
- SELECT Id, Outboundorder_Code_link__c, Invoice_Code_link__c
- FROM Consumable_order_LinkTable__c
- WHERE
- Outboundorder_Code_link__c IN :deleteDetMap.keySet()
- AND Invoice_Code_link__c = :invoiceHead.Id
- ];
- for (Consumable_order_LinkTable__c colctemp : existLinkinfo) {
- if (
- deleteDetMap.get(colctemp.Outboundorder_Code_link__c) ==
- colctemp.Invoice_Code_link__c
- ) {
- //瀛樺湪涓庤鍙戠エ鍏宠仈鐨勫嚭搴撳崟
- invoiceLinkdetList.add(colctemp);
- }
- }
- System.debug('invoiceLinkdetList = ' + invoiceLinkdetList);
- delete invoiceLinkdetList;
- }
- //鏂板缓鍙戠エ鏄庣粏1
- System.debug('===>' + chukudanID);
- System.debug('===>' + chukudanID.size());
- if (chukudanID.size() > 0) {
- newinvoicedetails1(chukudanID);
- }
- } else {
- //CHAN-BSS5SQ update by rentongxiao 2020-09-04 end
- //缂栬緫鍚庝繚瀛�
- List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
- cocinfo = [
- SELECT
- Id,
- Name,
- Invoice_status__c,
- Invoice_Date__c,
- Order_ForDealerText__c,
- Dealer_Info__c,
- Order_ForDealer__c,
- Order_ForDealer__r.Name,
- Order_ForHospital__c,
- Order_date__c,
- Billed_Status__c,
- ShipmentAccount__c,
- Order_Dealer_Info__c,
- SummonsForDirction__c,
- Order_ForCustomerText__c,
- Invoice_Note__c,
- Invoice_attachment__c,
- Invoicedet_attachment__c,
- Outbound_order__c
- FROM Consumable_order__c
- WHERE Id = :invoiceId
- ];
- if (cocinfo.size() > 0) {
- invoiceHead = cocinfo[0];
- }
- if (String.isNotBlank(deliveryId)) {
- for (InvoiceOrderInfo ass : invoiceOrderRecoedschange) {
- insertDetMap.put(ass.esd.Id, invoiceHead.Id);
- }
-
- //鎹㈣揣鍗曚骇鍝佹暟閲�
- Map<String, Decimal> needchangeOrderProcountMap = new Map<String, Decimal>();
- Map<String, Decimal> returnProcountMap = new Map<String, Decimal>();
- Map<String, Decimal> changeOrderProcountMap = new Map<String, Decimal>();
- List<Consumable_Orderdetails__c> detaliFromList = [
- SELECT
- Id,
- Name,
- Consumable_order__c,
- 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_Unit__c,
- Box_Piece__c,
- Invoice_Cost_RMB__c
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c = :deliveryId
- ];
- for (Consumable_Orderdetails__c changeOD : detaliFromList) {
- needchangeOrderProcountMap.put(
- changeOD.Asset_Model_No__c,
- changeOD.Shipment_Count__c
- );
- }
- //鍙戠エ杩斿搧淇℃伅
- List<Consumable_Orderdetails__c> returnCountList = [
- SELECT
- Id,
- Name,
- Consumable_order__c,
- 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_Unit__c,
- Box_Piece__c
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c = :invoiceId
- ];
-
- for (Consumable_Orderdetails__c changeOD : returnCountList) {
- if (changeOD.RrturnPro_count__c > 0) {
- if (returnProcountMap.containsKey(changeOD.Asset_Model_No__c)) {
- returnProcountMap.put(
- changeOD.Asset_Model_No__c,
- returnProcountMap.get(changeOD.Asset_Model_No__c) +
- changeOD.RrturnPro_count__c
- );
- } else {
- returnProcountMap.put(
- changeOD.Asset_Model_No__c,
- changeOD.RrturnPro_count__c
- );
- }
- }
- }
-
- //宸叉崲璐у崟鍑哄簱鏁伴噺淇℃伅
- List<Consumable_Orderdetails__c> returnCount1List = [
- SELECT
- Id,
- Name,
- Consumable_order__c,
- 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_Unit__c,
- Box_Piece__c
- FROM Consumable_Orderdetails__c
- WHERE
- Consumable_order__c IN (
+ //鍒伴摼鎺ヨ〃涓煡鎵惧叧鑱斿嚭搴撳崟
+ List<Consumable_order_LinkTable__c> outOrderList = [
SELECT Outboundorder_Code_link__c
FROM Consumable_order_LinkTable__c
WHERE Invoice_Code_link__c = :invoiceId
- )
- AND Consumable_order__r.Onchange_order__c = TRUE
- AND Consumable_order__c != :deliveryId
- ];
- for (Consumable_Orderdetails__c changeOD : returnCount1List) {
- changeOrderProcountMap.put(
- changeOD.Asset_Model_No__c,
- changeOD.Shipment_Count__c
- );
- }
- outOrderchange(insertDetMap);
- } else {
- invoiceHead.Name = coc.Name;
- invoiceHead.Invoice_status__c = coc.Invoice_status__c;
- invoiceHead.Invoice_Date__c = coc.Invoice_Date__c;
- invoiceHead.Dealer_Info__c = accountid;
- invoiceHead.Invoice_Note__c = coc.Invoice_Note__c;
- invoiceHead.Invoice_status__c = '鑽夋涓�';
- invoiceHead.Order_ProType__c = agencyProType;
- invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
- //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'HospitalName +++++' + HospitalName));
- //return null;
- if (HospitalName != null && HospitalName != '') {
- if (HospitalInfo != null && HospitalInfo != '') {
- invoiceHead.Order_ForHospital__c = HospitalInfo;
- }
- } else {
- invoiceHead.Order_ForHospital__c = null;
- }
- invoiceHead.Order_ForDealer__c = SecondDealer == ''
- ? null
- : SecondDealer;
- invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
- update invoiceHead;
- for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
- if (ass.check == true) {
- insertDetMap.put(ass.esd.Id, invoiceHead.Id);
- } else {
- outOrderIdList.add(ass.esd.Id);
- deleteDetMap.put(ass.esd.Id, invoiceHead.Id);
- }
- }
- if (outOrderIdList.size() > 0) {
- getdefaultMapinfo(outOrderIdList);
- }
- //CHAN-BSS5SQ update by rentongxiao 2020-09-08 start
- //琚�変腑鐨勫嚭搴撳崟闆嗗悎
- if (insertDetMap.size() > 0) {
- List<Consumable_order_LinkTable__c> existLinkinfo = [
- SELECT Id, Invoice_Code_link__c, Outboundorder_Code_link__c
- FROM Consumable_order_LinkTable__c
- WHERE
- Outboundorder_Code_link__c IN :insertDetMap.keySet()
- AND Invoice_Code_link__c = :invoiceHead.Id
];
- //瀛樺湪娌℃湁涓庡彂绁ㄥ缓绔嬪叧鑱斿叧绯荤殑鍑哄簱鍗�
- List<String> templist2 = new List<String>();
- for (Consumable_order_LinkTable__c colc : existLinkinfo) {
- templist2.add(colc.Outboundorder_Code_link__c);
+ for (Integer i = 0; i < outOrderList.size(); i++) {
+ outOrderStringList.add(outOrderList[i].Outboundorder_Code_link__c);
}
- //鑾峰彇璇ュ嚭搴撳崟
+ //鍙栧緱鍑哄簱鍗曚俊鎭�
+ invoiceOrderSelectedList = [
+ SELECT
+ Id,
+ Order_ForDealer__r.Name,
+ Order_ForHospital__r.Name,
+ Order_ForDealerText__c,
+ Name,
+ Outbound_Date__c,
+ ShipmentAccount__c,
+ Shipment_total_amount__c,
+ RrturnPro_total_amount__c,
+ Total_Invoiced_Procount__c,
+ InvoiceNotPro_total_amount__c,
+ InvoiceNotPro_money__c,
+ Invoice_total_amount__c,
+ Billed_Status__c
+ FROM Consumable_order__c
+ WHERE Id IN :outOrderStringList AND Order_Owner_WorkLocal__c = :userWorkLocation
+ ORDER BY Name
+ ];
+ for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) {
+ outorderMoneytMap.put(invoiceOrderSelectedList[i].id, 0);
+ invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderSelectedList[i]));
+ }
+ if (String.isNotBlank(deliveryId)) {
+ //鍙戠エ鍏宠仈鍑哄簱鍗曞彇寰楋紙鍑哄簱鍗曪級
+ isChange = true;
+ invoiceOrderSelectedList = [
+ SELECT
+ Id,
+ Order_ForDealer__r.Name,
+ Order_ForHospital__r.Name,
+ Order_ForDealerText__c,
+ Name,
+ Outbound_Date__c,
+ ShipmentAccount__c,
+ Shipment_total_amount__c,
+ RrturnPro_total_amount__c,
+ Total_Invoiced_Procount__c,
+ InvoiceNotPro_total_amount__c,
+ InvoiceNotPro_money__c,
+ Invoice_total_amount__c,
+ Billed_Status__c
+ FROM Consumable_order__c
+ WHERE Id = :deliveryId AND Order_Owner_WorkLocal__c = :userWorkLocation
+ ORDER BY Name
+ ];
+ for (Integer i = 0; i < invoiceOrderSelectedList.size(); i++) {
+ if (!outorderMoneytMap.containsKey(invoiceOrderSelectedList[i].Id)) {
+ invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderSelectedList[i]));
+ invoiceOrderRecoedschange.add(new InvoiceOrderInfo(invoiceOrderSelectedList[i]));
+ }
+ }
+ }
+ //鍙戠エ鏄庣粏涓�瑙�
+ List<Consumable_Orderdetails__c> countDel = [
+ SELECT
+ Id,
+ Consumable_ZS_order__c,
+ Name,
+ Consumable_order__c,
+ Invoicedet1_OD_link__c,
+ Invoicedet1_OD_link__r.Name,
+ Consumable_order__r.Name,
+ Product_OutDate__c,
+ Asset_Model_No__c,
+ Invoice_Unitprice__c,
+ Delivery_List_RMB__c,
+ Invoiced_Procount__c,
+ Invoiced_Count__c,
+ InvoicedProCost_RMB__c,
+ Box_Piece__c,
+ Invoice_Unit__c,
+ ProductPacking_list_manual__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :invoiceId
+ ORDER BY Invoicedet1_OD_link__c
+ ];
+ if (countDel.size() > 0) {
+ for (Integer i = 0; i < countDel.size(); i++) {
+ outordercountMap.put(countDel[i].Invoicedet1_OD_link__c + countDel[i].Asset_Model_No__c, countDel[i]);
+ if (outorderMoneytMap.containsKey(countDel[i].Invoicedet1_OD_link__c)) {
+ outorderMoneytMap.put(
+ countDel[i].Invoicedet1_OD_link__c,
+ outorderMoneytMap.get(countDel[i].Invoicedet1_OD_link__c) + countDel[i].InvoicedProCost_RMB__c
+ );
+ }
+ invoiceOrderdetail1Recoeds.add(new InvoiceOrderInfo(countDel[i]));
+ }
+ }
+ for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
+ if (outorderMoneytMap.containsKey(ass.esd.id)) {
+ ass.needInvoiceCount = outorderMoneytMap.get(ass.esd.id);
+ }
+ ass.check = true;
+ }
+ }
+
+ if (SecondDealer == null || SecondDealer == '') {
+ provinceOpts.add(new SelectOption('', '-鏃�-'));
+ provinceOptsMap.put('', '-鏃�-');
+ for (Integer i = 0; i < Dealerelationship.size(); i++) {
+ provinceOpts.add(
+ new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name)
+ );
+ provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name);
+ }
+ } else {
+ provinceOpts.add(new SelectOption('', '-鏃�-'));
+ provinceOptsMap.put('', '-鏃�-');
+ for (Integer i = 0; i < Dealerelationship.size(); i++) {
+ if (Dealerelationship[i].Dealer_subordinate__r.Name == SecondDealer) {
+ provinceOpts.add(new SelectOption(Dealerelationship[i].Dealer_subordinate__c, SecondDealer));
+ provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, SecondDealer);
+ }
+ }
+ for (Integer i = 0; i < Dealerelationship.size(); i++) {
+ if (Dealerelationship[i].Dealer_subordinate__r.Name != SecondDealer) {
+ provinceOpts.add(
+ new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name)
+ );
+ provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name);
+ }
+ }
+ }
+
+ Map<String, String> consumableaccessoriesMap = new Map<String, String>();
+ Map<String, String> invorceOrderIdMap = new Map<String, String>();
+ List<Consumable_accessories_invoice__c> consumableaccessories = [
+ SELECT Id, Name, Attachment_ID__c, Accessories_type__c
+ FROM Consumable_accessories_invoice__c
+ WHERE Invoice_code__c = :invoiceId
+ ];
+ System.debug('consumableaccessories = ' + consumableaccessories);
+ if (consumableaccessories.size() > 0) {
+ for (Integer i = 0; i < consumableaccessories.size(); i++) {
+ consumableaccessoriesMap.put(consumableaccessories[i].Attachment_ID__c, consumableaccessories[i].Accessories_type__c);
+ invorceOrderIdMap.put(consumableaccessories[i].Attachment_ID__c, consumableaccessories[i].Id);
+ }
+ }
+
+ //List<Attachment> attachmentinfo = [SELECT Id, Name, OwnerId,Owner.Name, CreatedDate FROM Attachment WHERE parentid = :invoiceId];
+ // if (attachmentinfo.size() > 0) {
+ // for (Integer i = 0; i < attachmentinfo.size(); i++) {
+ // attachmentRecoeds.add(new InvoiceOrderInfo(attachmentinfo[i]));
+ // }
+ // }
+ List<ContentDocumentLink> links = [SELECT Id, ContentDocumentId FROM ContentDocumentLink WHERE LinkedEntityId = :invoiceId];
+ if (links != null && links.size() > 0) {
+ List<String> documentIds = new List<String>();
+ for (ContentDocumentLink link : links) {
+ documentIds.add(link.ContentDocumentId);
+ }
+ List<ContentVersion> cvInfo = [
+ SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId
+ FROM ContentVersion
+ WHERE ContentDocumentId IN :documentIds
+ ];
+
+ if (cvInfo.size() > 0) {
+ for (Integer i = 0; i < cvInfo.size(); i++) {
+ attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i]));
+ }
+ }
+ }
+ // 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]));
+ // }
+ // }
+ System.debug('attachmentRecoeds = ' + attachmentRecoeds);
+ System.debug('consumableaccessoriesMap = ' + consumableaccessoriesMap);
+ for (InvoiceOrderInfo ass : attachmentRecoeds) {
+ if (consumableaccessoriesMap.containsKey(ass.cvInfo.Id)) {
+ ass.mailSelectOptsin = consumableaccessoriesMap.get(ass.cvInfo.Id);
+ ass.invoiceOrderId = invorceOrderIdMap.get(ass.cvInfo.Id);
+ }
+ }
+ data.put('EditAble', EditAble);
+ data.put('isChange', isChange);
+ data.put('coc', coc);
+ data.put('ExistOutbound', getExistOutbound());
+ data.put('invoiceOrderRecoeds', invoiceOrderRecoeds);
+ data.put('provinceOptsMap', provinceOptsMap);
+ data.put('HospitalName', HospitalName);
+ data.put('HospitalInfo', HospitalInfo);
+ data.put('agencyProType', agencyProType);
+ data.put('userWorkLocation', userWorkLocation);
+ data.put('done', getdone());
+ data.put('invoiceOrderdetail1Recoeds', invoiceOrderdetail1Recoeds);
+ data.put('accountid', accountid);
+ 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,
+ String deliveryIdLwc,
+ String invoiceIdLwc,
+ String accountidLwc,
+ String agencyProTypeLwc,
+ String reopenLwc,
+ String invoiceOrderRecoedschangeLwc
+ ) {
+ 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 = '';
+ deliveryId = deliveryIdLwc;
+ invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
+ invoiceId = invoiceIdLwc;
+ accountid = accountidLwc;
+ agencyProType = agencyProTypeLwc;
+ 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('璇峰綍鍏ュ彂绁ㄥ彿');
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '璇峰綍鍏ュ彂绁ㄥ彿', '');
+ }
+ if (coc.Invoice_Date__c == null) {
+ // coc.Invoice_Date__c.addError('璇峰綍鍏ュ彂绁ㄦ棩鏈�');
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '璇峰綍鍏ュ彂绁ㄦ棩鏈�', '');
+ }
+ if (String.isBlank(HospitalInfo) && String.isBlank(SecondDealer)) {
+ // coc.addError('蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟�');
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '蹇呴』杈撳叆瀹㈡埛鍚嶆垨鑰呬簩绾х粡閿�鍟�', '');
+ }
+ if (HospitalInfo != null && HospitalInfo != '' && String.isNotEmpty(SecondDealer)) {
+ //coc.addError('璇疯緭鍏ュ鎴峰悕銆佷簩绾х粡閿�鍟嗗彧鍙緭鍏ヤ竴涓�');
+ errorMsg += '璇疯緭鍏ュ鎴峰悕銆佷簩绾х粡閿�鍟嗗彧鍙緭鍏ヤ竴涓�';
+ }
+ if (HospitalInfo != null && HospitalInfo != '') {
+ if (coc.Order_ForCustomerText__c == null) {
+ // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹�');
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹�', '');
+ }
+ } else {
+ if (coc.Order_ForCustomerText__c != null) {
+ // coc.Order_ForCustomerText__c.addError('涓嶉渶瑕佽緭鍏ョ瀹�');
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '涓嶉渶瑕佽緭鍏ョ瀹�', '');
+ }
+ }
+ String shipmentAccountString = '';
+ if (HospitalInfo != null) {
+ shipmentAccountString = HospitalInfo;
+ } else if (String.isNotEmpty(SecondDealer)) {
+ shipmentAccountString = SecondDealer;
+ } else {
+ shipmentAccountString = coc.Order_ForDealerText__c == null ? '' : coc.Order_ForDealerText__c;
+ }
+
+ Integer x = 0;
+ List<String> invoiceOrderAccountList = new List<String>();
+ for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
+ if (String.isBlank(deliveryId)) {
+ if (ass.check == true) {
+ x++;
+ System.debug(shipmentAccountString);
+ if (HospitalInfo != null && HospitalInfo != '') {
+ if (ass.esd.Order_ForHospital__c != shipmentAccountString) {
+ invoiceOrderAccountList.add(ass.esd.Name);
+ }
+ }
+ if (String.isNotEmpty(SecondDealer)) {
+ if (
+ ass.esd.Order_ForDealer__c != shipmentAccountString &&
+ ass.esd.Order_ForDealerText__c != shipmentAccountString
+ ) {
+ invoiceOrderAccountList.add(ass.esd.Name);
+ }
+ }
+ if (coc.Order_ForDealerText__c != null && (HospitalInfo == null || HospitalInfo == '')) {
+ if (
+ (ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') &&
+ ass.esd.ShipmentAccount__c != shipmentAccountString
+ ) {
+ invoiceOrderAccountList.add(ass.esd.Name);
+ }
+ }
+ }
+ } 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');
+ invoiceOrderAccountList.add(ass.esd.Name);
+ }
+ }
+ //if (String.isNotEmpty(SecondDealer)) {
+ if (String.isNotEmpty(SecondDealer)) {
+ if (ass.esd.Order_ForDealer__c != shipmentAccountString) {
+ System.debug('String.isNotEmpty(SecondDealer) ass.esd.Order_ForHospital__c != shipmentAccountString');
+ invoiceOrderAccountList.add(ass.esd.Name);
+ }
+ }
+ if (coc.Order_ForDealerText__c != null && (HospitalInfo == null || HospitalInfo == '')) {
+ if (
+ (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'
+ );
+ invoiceOrderAccountList.add(ass.esd.Name);
+ }
+ }
+ }
+ }
+ // invoiceOrderAccountList.add('12345');
+ if (invoiceOrderAccountList.size() > 0) {
+ orderRemind = invoiceOrderAccountList + '鍑哄簱鍗曞鎴峰悕涓庡彂绁ㄥ鎴峰悕涓嶄竴鑷达紒';
+ // coc.addError(invoiceOrderAccountList + '鍑哄簱鍗曞鎴峰悕涓庡彂绁ㄥ鎴峰悕涓嶄竴鑷达紒');
+ // return null;
+ return new ResponseBodyLWC('Error', 500, invoiceOrderAccountList + '鍑哄簱鍗曞鎴峰悕涓庡彂绁ㄥ鎴峰悕涓嶄竴鑷达紒', '');
+ } else {
+ orderRemind = '';
+ }
+ if (String.isBlank(deliveryId)) {
+ if (x < 1) {
+ // coc.addError('璇烽�夋嫨闇�瑕佸紑鍙戠エ鐨勫嚭搴撳崟锛�');
+ // return null;
+ return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨闇�瑕佸紑鍙戠エ鐨勫嚭搴撳崟锛�', '');
+ }
+ }
+ Consumable_order__c invoiceHead = new Consumable_order__c();
+ List<String> outOrderIdList = new List<String>();
+ List<Consumable_order_LinkTable__c> invoiceLinkList = new List<Consumable_order_LinkTable__c>();
+ Map<String, String> insertDetMap = new Map<String, String>();
+ Map<String, String> deleteDetMap = new Map<String, String>();
+ //鏂板缓鍙戠エ鏃�
+ Savepoint sp = Database.setSavepoint();
+ try {
+ if (String.isBlank(invoiceId)) {
+ invoiceHead.Name = coc.Name;
+ if (coc.Invoice_status__c == null || String.isBlank(coc.Invoice_status__c))
+ coc.Invoice_status__c = '鑽夋涓�';
+ invoiceHead.Order_type__c = '鍙戠エ';
+ invoiceHead.Invoice_Date__c = coc.Invoice_Date__c;
+ invoiceHead.Dealer_Info__c = accountid;
+ invoiceHead.Invoice_Note__c = coc.Invoice_Note__c;
+ invoiceHead.Invoice_status__c = '鑽夋涓�';
+ invoiceHead.Order_ProType__c = agencyProType;
+ invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+ //if (deliveryId != null) {
+ if (String.isNotBlank(deliveryId)) {
+ invoiceHead.Outbound_order__c = deliveryId;
+ }
+ invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice;
+ // if (SecondDealer == null) {
+ if (String.isBlank(SecondDealer)) {
+ if (HospitalInfo != null && HospitalInfo != '') {
+ invoiceHead.Order_ForHospital__c = HospitalInfo;
+ }
+ } else {
+ invoiceHead.Order_ForDealer__c = SecondDealer;
+ }
+ invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
+ if(Test.isRunningTest()){
+ invoiceHead.Order_ForHospital__c = null;
+ }
+ insert invoiceHead;
+ invoiceId = invoiceHead.Id;
+ List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
+ cocinfo = [
+ SELECT
+ Id,
+ Name,
+ Invoice_status__c,
+ Invoice_Date__c,
+ Order_ForDealerText__c,
+ Dealer_Info__c,
+ Order_ForDealer__c,
+ Order_ForDealer__r.Name,
+ Order_ForHospital__c,
+ Order_date__c,
+ Billed_Status__c,
+ ShipmentAccount__c,
+ Order_Dealer_Info__c,
+ SummonsForDirction__c,
+ Order_ForCustomerText__c,
+ Invoice_Note__c,
+ Invoice_attachment__c,
+ Invoicedet_attachment__c,
+ Outbound_order__c
+ FROM Consumable_order__c
+ WHERE Id = :invoiceId
+ ];
+ if (cocinfo.size() > 0) {
+ invoiceHead = cocinfo[0];
+ }
+ if (!String.isBlank(deliveryId)) {
+ for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
+ chukudanID.add(ass.esd.Id);
+ insertDetMap.put(ass.esd.Id, invoiceHead.Id);
+ }
+ } else {
+ for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
+ if (!String.isBlank(deliveryId)) {
+ chukudanID.add(ass.esd.Id);
+ insertDetMap.put(ass.esd.Id, invoiceHead.Id);
+ } else {
+ if (ass.check == true) {
+ chukudanID.add(ass.esd.Id);
+ insertDetMap.put(ass.esd.Id, invoiceHead.Id);
+ } else {
+ //deleteDetMap.put(ass.esd.Id,invoiceHead.Id);
+ }
+ }
+ }
+ }
+ //鏂板缓鍙戠エ鏄庣粏1
+ if (chukudanID.size() > 0) {
+ newinvoicedetails1(chukudanID);
+ }
+ //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'deleteDetMap +++++' + deleteDetMap.size()));
+ //return null;
+ if (insertDetMap.size() > 0) {
+ for (String field : insertDetMap.keySet()) {
+ List<Consumable_order_LinkTable__c> existLinkinfo = [
+ SELECT Id
+ FROM Consumable_order_LinkTable__c
+ WHERE Outboundorder_Code_link__c = :field AND Invoice_Code_link__c = :insertDetMap.get(field)
+ ];
+ if (existLinkinfo.size() < 1) {
+ Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c();
+ invoiceLink.Name = field + insertDetMap.get(field);
+ invoiceLink.Outboundorder_Code_link__c = field;
+ invoiceLink.Invoice_Code_link__c = insertDetMap.get(field);
+ invoiceLinkList.add(invoiceLink);
+ }
+ }
+ 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;
+ invoiceHead.Dealer_Info__c = accountid;
+ invoiceHead.Invoice_Note__c = coc.Invoice_Note__c;
+ invoiceHead.Invoice_status__c = '鑽夋涓�';
+ invoiceHead.Order_ProType__c = agencyProType;
+ invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+ //if (deliveryId != null) {
+ if (String.isNotBlank(deliveryId)) {
+ invoiceHead.Outbound_order__c = deliveryId;
+ }
+ invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice;
+ //if (SecondDealer == null) {
+ if (String.isBlank(SecondDealer)) {
+ if (HospitalInfo != null && HospitalInfo != '') {
+ invoiceHead.Order_ForHospital__c = HospitalInfo;
+ }
+ } else {
+ invoiceHead.Order_ForDealer__c = SecondDealer;
+ }
+ invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
+ if(Test.isRunningTest()){
+ invoiceHead.Order_ForHospital__c = null;
+ }
+ insert invoiceHead;
+ System.debug('invoiceHead = ' + invoiceHead);
+
+ List<String> updateChukudanId = new List<String>();
+ //鑾峰彇鍘熷彂绁ㄧ浉鍏宠仈鐨勯摼鎺ヨ〃淇℃伅
+ List<Consumable_order_LinkTable__c> tLinkList = [
+ SELECT Outboundorder_Code_link__c
+ FROM Consumable_order_LinkTable__c
+ WHERE Invoice_Code_link__c = :invoiceId
+ ];
+
+ for (Consumable_order_LinkTable__c colc : tLinkList) {
+ colc.Invoice_Code_link__c = invoiceHead.Id;
+ updateChukudanId.add(colc.Outboundorder_Code_link__c);
+ }
+ System.debug('tLinkList = ' + tLinkList);
+ update tLinkList;
+ //鏇存柊鍙戠エ鏄庣粏淇℃伅
+ //鑾峰彇鍑哄簱鍗�,璁剧疆鍏宠仈鍏崇郴
+ //鑾峰彇鍑哄簱鍗曟槑缁嗕俊鎭�,鍥犱负鍑哄簱鍗曚俊鎭拰鍑哄簱鍗曟槑缁嗕俊鎭槸鍏宠仈鐨�,鎵�鏈夊彧闇�瑕佸洖婊氬嚭搴撳崟鏄庣粏淇℃伅鍗冲彲
+
+ Map<String, Consumable_Orderdetails__c> tempCocMap = new Map<String, Consumable_Orderdetails__c>();
+ List<Consumable_Orderdetails__c> tempCountList = [
+ SELECT
+ Id,
+ Consumable_order__c,
+ Asset_Model_No__c,
+ InvoicedProCost_RMB__c,
+ Invoicedet1_OD_link__c,
+ InvoicedProduct_RMB__c,
+ Invoiced_Procount__c,
+ Invoiced_BoxCount__c,
+ Invoice_Unit__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :invoiceId
+ ];
+ for (Consumable_Orderdetails__c cocTemp : tempCountList) {
+ 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
+ Id,
+ Consumable_order__c,
+ RrturnPro_count__c,
+ Delivery_List_RMB__c,
+ InvoicedProCost_RMB__c,
+ Invoiced_Procount__c,
+ Invoice_Unitprice__c,
+ Box_Piece__c,
+ Invoice_Unit__c,
+ Consumable_order__r.Invoice_total_amount__c,
+ ProductPacking_list_manual__c,
+ InvoicedProduct_RMB__c,
+ Invoiced_BoxCount__c,
+ Shipment_amount__c,
+ Asset_Model_No__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c IN :updateChukudanId
+ ];
+ for (Consumable_Orderdetails__c corderc : updateFromList) {
+ String tempStr = corderc.Consumable_order__c + corderc.Asset_Model_No__c;
+ if (tempCocMap.get(tempStr) != null) {
+ //璁剧疆宸插彂绁ㄩ噾棰� 鍑哄簱鍗曠殑宸插彂绁ㄩ噾棰� - 鍙戠エ鐨勫彂绁ㄩ噾棰�
+ corderc.InvoicedProCost_RMB__c = corderc.InvoicedProCost_RMB__c - tempCocMap.get(tempStr).InvoicedProduct_RMB__c;
+ //璁剧疆宸插彂绁ㄦ暟閲� 鍑哄簱鍗曠殑宸插彂绁ㄦ暟閲� - 鍙戠エ鐨勫彂绁ㄦ暟閲�(鐩�)
+ corderc.Invoiced_Procount__c = corderc.Invoiced_Procount__c - tempCocMap.get(tempStr).Invoiced_BoxCount__c;
+ //璁剧疆鍙戠エ鍗曚环
+ if (corderc.Box_Piece__c == '鐩�' && corderc.Invoice_Unit__c == '涓�') {
+ corderc.Invoice_Unitprice__c = corderc.Delivery_List_RMB__c / corderc.ProductPacking_list_manual__c;
+ } else {
+ corderc.Invoice_Unitprice__c = corderc.Delivery_List_RMB__c;
+ }
+ }
+ }
+
+ 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) {
+ if (ass.check == true) {
+ insertDetMap.put(ass.esd.Id, invoiceHead.Id);
+ } else {
+ outOrderIdList.add(ass.esd.Id);
+ deleteDetMap.put(ass.esd.Id, invoiceHead.Id);
+ }
+ }
+ if (outOrderIdList.size() > 0) {
+ getdefaultMapinfo(outOrderIdList);
+ }
+ //琚�変腑鐨勫嚭搴撳崟闆嗗悎
+ if (insertDetMap.size() > 0) {
+ List<Consumable_order_LinkTable__c> existLinkinfo = [
+ SELECT Id, Invoice_Code_link__c, Outboundorder_Code_link__c
+ FROM Consumable_order_LinkTable__c
+ WHERE Outboundorder_Code_link__c IN :insertDetMap.keySet() AND Invoice_Code_link__c = :invoiceHead.Id
+ ];
+ //瀛樺湪娌℃湁涓庡彂绁ㄥ缓绔嬪叧鑱斿叧绯荤殑鍑哄簱鍗�
+ List<String> templist2 = new List<String>();
+ for (Consumable_order_LinkTable__c colc : existLinkinfo) {
+ templist2.add(colc.Outboundorder_Code_link__c);
+ }
+ //鑾峰彇璇ュ嚭搴撳崟
+ for (String field : insertDetMap.keySet()) {
+ if (!templist2.contains(field)) {
+ //璇ュ嚭搴撳崟涓嶅瓨鍦ㄤ笌閾炬帴琛ㄤ腑,鏂板缓閾炬帴
+ chukudanID.add(field);
+ Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c();
+ invoiceLink.Name = field + insertDetMap.get(field);
+ invoiceLink.Outboundorder_Code_link__c = field;
+ invoiceLink.Invoice_Code_link__c = insertDetMap.get(field);
+ invoiceLinkList.add(invoiceLink);
+ }
+ }
+ System.debug('invoiceLinkList = ' + invoiceLinkList);
+ upsert invoiceLinkList;
+ }
+ //鍒犻櫎鍑哄簱鍗曢摼鎺ヨ〃
+ if (deleteDetMap.size() > 0) {
+ List<Consumable_order_LinkTable__c> invoiceLinkdetList = new List<Consumable_order_LinkTable__c>();
+ deleteOutboundorder(deleteDetMap, invoiceHead.Id);
+ List<Consumable_order_LinkTable__c> existLinkinfo = [
+ SELECT Id, Outboundorder_Code_link__c, Invoice_Code_link__c
+ FROM Consumable_order_LinkTable__c
+ WHERE Outboundorder_Code_link__c IN :deleteDetMap.keySet() AND Invoice_Code_link__c = :invoiceHead.Id
+ ];
+ for (Consumable_order_LinkTable__c colctemp : existLinkinfo) {
+ if (deleteDetMap.get(colctemp.Outboundorder_Code_link__c) == colctemp.Invoice_Code_link__c) {
+ //瀛樺湪涓庤鍙戠エ鍏宠仈鐨勫嚭搴撳崟
+ invoiceLinkdetList.add(colctemp);
+ }
+ }
+ System.debug('invoiceLinkdetList = ' + invoiceLinkdetList);
+ delete invoiceLinkdetList;
+ }
+ //鏂板缓鍙戠エ鏄庣粏1
+ System.debug('===>' + chukudanID);
+ System.debug('===>' + chukudanID.size());
+ if (chukudanID.size() > 0) {
+ newinvoicedetails1(chukudanID);
+ }
+ } else {
+ //CHAN-BSS5SQ update by rentongxiao 2020-09-04 end
+ //缂栬緫鍚庝繚瀛�
+ List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
+ cocinfo = [
+ SELECT
+ Id,
+ Name,
+ Invoice_status__c,
+ Invoice_Date__c,
+ Order_ForDealerText__c,
+ Dealer_Info__c,
+ Order_ForDealer__c,
+ Order_ForDealer__r.Name,
+ Order_ForHospital__c,
+ Order_date__c,
+ Billed_Status__c,
+ ShipmentAccount__c,
+ Order_Dealer_Info__c,
+ SummonsForDirction__c,
+ Order_ForCustomerText__c,
+ Invoice_Note__c,
+ Invoice_attachment__c,
+ Invoicedet_attachment__c,
+ Outbound_order__c
+ FROM Consumable_order__c
+ WHERE Id = :invoiceId
+ ];
+ if (cocinfo.size() > 0) {
+ invoiceHead = cocinfo[0];
+ }
+ if (String.isNotBlank(deliveryId)) {
+ for (InvoiceOrderInfo ass : invoiceOrderRecoedschange) {
+ insertDetMap.put(ass.esd.Id, invoiceHead.Id);
+ }
+
+ //鎹㈣揣鍗曚骇鍝佹暟閲�
+ Map<String, Decimal> needchangeOrderProcountMap = new Map<String, Decimal>();
+ Map<String, Decimal> returnProcountMap = new Map<String, Decimal>();
+ Map<String, Decimal> changeOrderProcountMap = new Map<String, Decimal>();
+ List<Consumable_Orderdetails__c> detaliFromList = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ 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_Unit__c,
+ Box_Piece__c,
+ Invoice_Cost_RMB__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :deliveryId
+ ];
+ for (Consumable_Orderdetails__c changeOD : detaliFromList) {
+ needchangeOrderProcountMap.put(changeOD.Asset_Model_No__c, changeOD.Shipment_Count__c);
+ }
+ //鍙戠エ杩斿搧淇℃伅
+ List<Consumable_Orderdetails__c> returnCountList = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ 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_Unit__c,
+ Box_Piece__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :invoiceId
+ ];
+
+ for (Consumable_Orderdetails__c changeOD : returnCountList) {
+ if (changeOD.RrturnPro_count__c > 0) {
+ if (returnProcountMap.containsKey(changeOD.Asset_Model_No__c)) {
+ returnProcountMap.put(
+ changeOD.Asset_Model_No__c,
+ returnProcountMap.get(changeOD.Asset_Model_No__c) + changeOD.RrturnPro_count__c
+ );
+ } else {
+ returnProcountMap.put(changeOD.Asset_Model_No__c, changeOD.RrturnPro_count__c);
+ }
+ }
+ }
+
+ //宸叉崲璐у崟鍑哄簱鏁伴噺淇℃伅
+ List<Consumable_Orderdetails__c> returnCount1List = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ 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_Unit__c,
+ Box_Piece__c
+ FROM Consumable_Orderdetails__c
+ WHERE
+ Consumable_order__c IN (
+ SELECT Outboundorder_Code_link__c
+ FROM Consumable_order_LinkTable__c
+ WHERE Invoice_Code_link__c = :invoiceId
+ )
+ AND Consumable_order__r.Onchange_order__c = TRUE
+ AND Consumable_order__c != :deliveryId
+ ];
+ for (Consumable_Orderdetails__c changeOD : returnCount1List) {
+ changeOrderProcountMap.put(changeOD.Asset_Model_No__c, changeOD.Shipment_Count__c);
+ }
+ outOrderchange(insertDetMap);
+ } else {
+ invoiceHead.Name = coc.Name;
+ invoiceHead.Invoice_status__c = coc.Invoice_status__c;
+ invoiceHead.Invoice_Date__c = coc.Invoice_Date__c;
+ invoiceHead.Dealer_Info__c = accountid;
+ invoiceHead.Invoice_Note__c = coc.Invoice_Note__c;
+ invoiceHead.Invoice_status__c = '鑽夋涓�';
+ invoiceHead.Order_ProType__c = agencyProType;
+ invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+ //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'HospitalName +++++' + HospitalName));
+ //return null;
+ if (HospitalName != null && HospitalName != '') {
+ if (HospitalInfo != null && HospitalInfo != '') {
+ invoiceHead.Order_ForHospital__c = HospitalInfo;
+ }
+ } else {
+ invoiceHead.Order_ForHospital__c = null;
+ }
+ invoiceHead.Order_ForDealer__c = SecondDealer == '' ? null : SecondDealer;
+ invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c;
+ update invoiceHead;
+ for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
+ if (ass.check == true) {
+ insertDetMap.put(ass.esd.Id, invoiceHead.Id);
+ } else {
+ outOrderIdList.add(ass.esd.Id);
+ deleteDetMap.put(ass.esd.Id, invoiceHead.Id);
+ }
+ }
+ if (outOrderIdList.size() > 0) {
+ getdefaultMapinfo(outOrderIdList);
+ }
+ //CHAN-BSS5SQ update by rentongxiao 2020-09-08 start
+ //琚�変腑鐨勫嚭搴撳崟闆嗗悎
+ if (insertDetMap.size() > 0) {
+ List<Consumable_order_LinkTable__c> existLinkinfo = [
+ SELECT Id, Invoice_Code_link__c, Outboundorder_Code_link__c
+ FROM Consumable_order_LinkTable__c
+ WHERE Outboundorder_Code_link__c IN :insertDetMap.keySet() AND Invoice_Code_link__c = :invoiceHead.Id
+ ];
+ //瀛樺湪娌℃湁涓庡彂绁ㄥ缓绔嬪叧鑱斿叧绯荤殑鍑哄簱鍗�
+ List<String> templist2 = new List<String>();
+ for (Consumable_order_LinkTable__c colc : existLinkinfo) {
+ templist2.add(colc.Outboundorder_Code_link__c);
+ }
+ //鑾峰彇璇ュ嚭搴撳崟
+ for (String field : insertDetMap.keySet()) {
+ if (!templist2.contains(field)) {
+ //璇ュ嚭搴撳崟涓嶅瓨鍦ㄤ笌閾炬帴琛ㄤ腑,鏂板缓閾炬帴
+ chukudanID.add(field);
+ Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c();
+ invoiceLink.Name = field + insertDetMap.get(field);
+ invoiceLink.Outboundorder_Code_link__c = field;
+ invoiceLink.Invoice_Code_link__c = insertDetMap.get(field);
+ invoiceLinkList.add(invoiceLink);
+ }
+ }
+ upsert invoiceLinkList;
+ }
+ if (deleteDetMap.size() > 0) {
+ List<Consumable_order_LinkTable__c> invoiceLinkdetList = new List<Consumable_order_LinkTable__c>();
+ deleteOutboundorder(deleteDetMap, invoiceHead.Id);
+ List<Consumable_order_LinkTable__c> existLinkinfo = [
+ SELECT Id, Outboundorder_Code_link__c, Invoice_Code_link__c
+ FROM Consumable_order_LinkTable__c
+ WHERE Outboundorder_Code_link__c IN :deleteDetMap.keySet() AND Invoice_Code_link__c = :invoiceHead.Id
+ ];
+ for (Consumable_order_LinkTable__c colctemp : existLinkinfo) {
+ if (deleteDetMap.get(colctemp.Outboundorder_Code_link__c) == colctemp.Invoice_Code_link__c) {
+ //瀛樺湪涓庤鍙戠エ鍏宠仈鐨勫嚭搴撳崟
+ invoiceLinkdetList.add(colctemp);
+ }
+ }
+ delete invoiceLinkdetList;
+ }
+ //CHAN-BSS5SQ update by rentongxiao 2020-09-08 end
+ //鏂板缓鍙戠エ鏄庣粏1
+ if (chukudanID.size() > 0) {
+ newinvoicedetails1(chukudanID);
+ }
+ }
+ }
+ } catch (Exception ex) {
+ Database.rollback(sp);
+ // ApexPages.addMessages(ex);
+ // return null;
+ System.debug('Exception ex = ' + ex.getMessage() + ex.getLineNumber());
+ errorMsg += ex.getMessage() + ex.getLineNumber();
+ }
+ data.put('invoiceId', invoiceId);
+ res.status = 'Success';
+ res.code = 200;
+ res.msg = errorMsg;
+ System.debug('res = ' + res);
+ return res;
+ }
+
+ public static void newinvoicedetails1(List<String> chukudanID) {
+ //鏂拌鍙戠エ鏄庣粏1
+ List<Consumable_Orderdetails__c> invoiceorderList1 = new List<Consumable_Orderdetails__c>();
+ //鍑哄簱鍗曟槑缁嗘洿鏂�
+ List<Consumable_Orderdetails__c> outOrderList1 = new List<Consumable_Orderdetails__c>();
+ List<Consumable_Orderdetails__c> detaliFromList = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ 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,
+ Consumable_Product__c,
+ Intra_Trade_List_RMB__c,
+ Dealer_Custom_Price__c,
+ Sum_of_money__c,
+ Box_Piece__c,
+ Used_date__c,
+ Send_date__c,
+ Invoice_Unit__c,
+ ProductPacking_list_manual__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c IN :chukudanID AND InvoiceProNot_count__c > 0
+ ];
+
+ for (Integer i = 0; i < detaliFromList.size(); i++) {
+ Consumable_Orderdetails__c invoiceInsert1 = new Consumable_Orderdetails__c();
+ invoiceInsert1.Used_date__c = detaliFromList[i].Used_date__c;
+ invoiceInsert1.Send_date__c = detaliFromList[i].Send_date__c;
+ String str = string.valueOf(i + 1);
+ if (str.length() == 1) {
+ str = '0' + str;
+ }
+ invoiceInsert1.Name =
+ coc.Name +
+ '-' +
+ detaliFromList[i].Name.substring(detaliFromList[i].Name.length() - 7, detaliFromList[i].Name.length());
+ invoiceInsert1.Shipment_Count__c = detaliFromList[i].InvoiceProNot_count__c;
+ invoiceInsert1.Consumable_Product__c = detaliFromList[i].Consumable_Product__c;
+ invoiceInsert1.Intra_Trade_List_RMB__c = detaliFromList[i].Intra_Trade_List_RMB__c;
+ invoiceInsert1.Delivery_List_RMB__c = detaliFromList[i].Delivery_List_RMB__c;
+ invoiceInsert1.Dealer_Custom_Price__c = detaliFromList[i].Dealer_Custom_Price__c;
+ invoiceInsert1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
+
+ if (detaliFromList[i].Box_Piece__c == '鐩�' && detaliFromList[i].Invoice_Unit__c == '涓�') {
+ invoiceInsert1.Invoice_Unitprice__c =
+ detaliFromList[i].Delivery_List_RMB__c / detaliFromList[i].ProductPacking_list_manual__c;
+ } else {
+ invoiceInsert1.Invoice_Unitprice__c = detaliFromList[i].Delivery_List_RMB__c;
+ }
+ invoiceInsert1.Box_Piece__c = detaliFromList[i].Box_Piece__c;
+ invoiceInsert1.Invoice_Unit__c = detaliFromList[i].Box_Piece__c;
+ if (detaliFromList[i].Invoiced_Procount__c == null)
+ detaliFromList[i].Invoiced_Procount__c = 0;
+ if (detaliFromList[i].RrturnPro_count__c == null)
+ detaliFromList[i].RrturnPro_count__c = 0;
+ invoiceInsert1.Invoiced_Count__c = detaliFromList[i].InvoiceProNot_count__c;
+ if (detaliFromList[i].InvoicedProCost_RMB__c == null)
+ detaliFromList[i].InvoicedProCost_RMB__c = 0;
+ invoiceInsert1.InvoicedProCost_RMB__c = invoiceInsert1.Invoiced_Count__c * invoiceInsert1.Delivery_List_RMB__c;
+ invoiceInsert1.Consumable_order__c = invoiceId;
+ invoiceInsert1.Invoicedet1_OD_link__c = detaliFromList[i].Consumable_order__c;
+ invoiceorderList1.add(invoiceInsert1);
+ }
+ 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);
+ //ApexPages.addMessages(ex);
+ errorMsg += ex.getMessage();
+ }
+ }
+ }
+
+ public static void getdefaultMapinfo(List<String> orderIdList) {
+ List<Consumable_Orderdetails__c> existLinkinfo = new List<Consumable_Orderdetails__c>();
+ existLinkinfo = [
+ SELECT Id, Consumable_order__c, Consumable_product__c, Asset_Model_No__c
+ 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);
+ // }
+ }
+
+ public static void deleteOutboundorder(Map<String, String> deleteMap, String value) {
+ //鍒犻櫎鍙戠エ鏄庣粏1
+ List<Consumable_Orderdetails__c> detInvoicedet1List = [
+ SELECT Id, Consumable_Shipment_order__c, Consumable_Sale_order__c, Consumable_product__c, Asset_Model_No__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :value AND Invoicedet1_OD_link__c = :deleteMap.keySet()
+ ];
+ System.debug('detInvoicedet1List = ' + detInvoicedet1List);
+ delete detInvoicedet1List;
+ }
+
+ //鎹㈣揣鍗曢摼鎺ヨ〃 鍙戠エ鏄庣粏2鍋氭垚
+ public static void outOrderchange(Map<String, String> insertDetMap) {
+ List<string> chukudanID = new List<string>();
+ List<Consumable_order_LinkTable__c> invoiceLinkList = new List<Consumable_order_LinkTable__c>();
+ Consumable_order__c p = new Consumable_order__c();
+ if (insertDetMap.size() > 0) {
for (String field : insertDetMap.keySet()) {
- if (!templist2.contains(field)) {
- //璇ュ嚭搴撳崟涓嶅瓨鍦ㄤ笌閾炬帴琛ㄤ腑,鏂板缓閾炬帴
+ List<Consumable_order_LinkTable__c> existLinkinfo = [
+ SELECT Id
+ FROM Consumable_order_LinkTable__c
+ WHERE Outboundorder_Code_link__c = :field
+ ];
+ if (existLinkinfo.size() > 0) {
+ delete existLinkinfo;
+ }
chukudanID.add(field);
Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c();
invoiceLink.Name = field + insertDetMap.get(field);
invoiceLink.Outboundorder_Code_link__c = field;
invoiceLink.Invoice_Code_link__c = insertDetMap.get(field);
invoiceLinkList.add(invoiceLink);
- }
+ p.Id = field;
+ p.ConInvoice_Code__c = insertDetMap.get(field);
+ p.Onchange_order__c = true;
+ update p;
}
- upsert invoiceLinkList;
- }
- if (deleteDetMap.size() > 0) {
- List<Consumable_order_LinkTable__c> invoiceLinkdetList = new List<Consumable_order_LinkTable__c>();
- deleteOutboundorder(deleteDetMap, invoiceHead.Id);
- List<Consumable_order_LinkTable__c> existLinkinfo = [
- SELECT Id, Outboundorder_Code_link__c, Invoice_Code_link__c
- FROM Consumable_order_LinkTable__c
- WHERE
- Outboundorder_Code_link__c IN :deleteDetMap.keySet()
- AND Invoice_Code_link__c = :invoiceHead.Id
- ];
- for (Consumable_order_LinkTable__c colctemp : existLinkinfo) {
- if (
- deleteDetMap.get(colctemp.Outboundorder_Code_link__c) ==
- colctemp.Invoice_Code_link__c
- ) {
- //瀛樺湪涓庤鍙戠エ鍏宠仈鐨勫嚭搴撳崟
- invoiceLinkdetList.add(colctemp);
- }
- }
- delete invoiceLinkdetList;
- }
- //CHAN-BSS5SQ update by rentongxiao 2020-09-08 end
- //鏂板缓鍙戠エ鏄庣粏1
- if (chukudanID.size() > 0) {
- newinvoicedetails1(chukudanID);
- }
+ insert invoiceLinkList;
}
- }
- } catch (Exception ex) {
- Database.rollback(sp);
- // ApexPages.addMessages(ex);
- // return null;
- System.debug('Exception ex = ' + ex.getMessage() + ex.getLineNumber());
- errorMsg += ex.getMessage() + ex.getLineNumber();
- }
- data.put('invoiceId', invoiceId);
- res.status = 'Success';
- res.code = 200;
- res.msg = errorMsg;
- System.debug('res = ' + res);
- return res;
- }
-
- public static void newinvoicedetails1(List<String> chukudanID) {
- //鏂拌鍙戠エ鏄庣粏1
- List<Consumable_Orderdetails__c> invoiceorderList1 = new List<Consumable_Orderdetails__c>();
- //鍑哄簱鍗曟槑缁嗘洿鏂�
- List<Consumable_Orderdetails__c> outOrderList1 = new List<Consumable_Orderdetails__c>();
- List<Consumable_Orderdetails__c> detaliFromList = [
- SELECT
- Id,
- Name,
- Consumable_order__c,
- 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,
- Consumable_Product__c,
- Intra_Trade_List_RMB__c,
- Dealer_Custom_Price__c,
- Sum_of_money__c,
- Box_Piece__c,
- Used_date__c,
- Send_date__c,
- Invoice_Unit__c,
- ProductPacking_list_manual__c
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c IN :chukudanID AND InvoiceProNot_count__c > 0
- ];
-
- for (Integer i = 0; i < detaliFromList.size(); i++) {
- Consumable_Orderdetails__c invoiceInsert1 = new Consumable_Orderdetails__c();
- invoiceInsert1.Used_date__c = detaliFromList[i].Used_date__c;
- invoiceInsert1.Send_date__c = detaliFromList[i].Send_date__c;
- String str = string.valueOf(i + 1);
- if (str.length() == 1) {
- str = '0' + str;
- }
- invoiceInsert1.Name =
- coc.Name +
- '-' +
- detaliFromList[i]
- .Name.substring(
- detaliFromList[i].Name.length() - 7,
- detaliFromList[i].Name.length()
- );
- invoiceInsert1.Shipment_Count__c = detaliFromList[i]
- .InvoiceProNot_count__c;
- invoiceInsert1.Consumable_Product__c = detaliFromList[i]
- .Consumable_Product__c;
- invoiceInsert1.Intra_Trade_List_RMB__c = detaliFromList[i]
- .Intra_Trade_List_RMB__c;
- invoiceInsert1.Delivery_List_RMB__c = detaliFromList[i]
- .Delivery_List_RMB__c;
- invoiceInsert1.Dealer_Custom_Price__c = detaliFromList[i]
- .Dealer_Custom_Price__c;
- invoiceInsert1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
-
- if (
- detaliFromList[i].Box_Piece__c == '鐩�' &&
- detaliFromList[i].Invoice_Unit__c == '涓�'
- ) {
- invoiceInsert1.Invoice_Unitprice__c =
- detaliFromList[i].Delivery_List_RMB__c /
- detaliFromList[i].ProductPacking_list_manual__c;
- } else {
- invoiceInsert1.Invoice_Unitprice__c = detaliFromList[i]
- .Delivery_List_RMB__c;
- }
- invoiceInsert1.Box_Piece__c = detaliFromList[i].Box_Piece__c;
- invoiceInsert1.Invoice_Unit__c = detaliFromList[i].Box_Piece__c;
- if (detaliFromList[i].Invoiced_Procount__c == null)
- detaliFromList[i].Invoiced_Procount__c = 0;
- if (detaliFromList[i].RrturnPro_count__c == null)
- detaliFromList[i].RrturnPro_count__c = 0;
- invoiceInsert1.Invoiced_Count__c = detaliFromList[i]
- .InvoiceProNot_count__c;
- if (detaliFromList[i].InvoicedProCost_RMB__c == null)
- detaliFromList[i].InvoicedProCost_RMB__c = 0;
- invoiceInsert1.InvoicedProCost_RMB__c =
- invoiceInsert1.Invoiced_Count__c * invoiceInsert1.Delivery_List_RMB__c;
- invoiceInsert1.Consumable_order__c = invoiceId;
- invoiceInsert1.Invoicedet1_OD_link__c = detaliFromList[i]
- .Consumable_order__c;
- invoiceorderList1.add(invoiceInsert1);
- }
- 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);
- //ApexPages.addMessages(ex);
- errorMsg += ex.getMessage();
- }
- }
- }
-
- public static void getdefaultMapinfo(List<String> orderIdList) {
- List<Consumable_Orderdetails__c> existLinkinfo = new List<Consumable_Orderdetails__c>();
- existLinkinfo = [
- SELECT Id, Consumable_order__c, Consumable_product__c, Asset_Model_No__c
- 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);
- // }
- }
-
- public static void deleteOutboundorder(
- Map<String, String> deleteMap,
- String value
- ) {
- //鍒犻櫎鍙戠エ鏄庣粏1
- List<Consumable_Orderdetails__c> detInvoicedet1List = [
- SELECT
- Id,
- Consumable_Shipment_order__c,
- Consumable_Sale_order__c,
- Consumable_product__c,
- Asset_Model_No__c
- FROM Consumable_Orderdetails__c
- WHERE
- Consumable_order__c = :value
- AND Invoicedet1_OD_link__c = :deleteMap.keySet()
- ];
- System.debug('detInvoicedet1List = ' + detInvoicedet1List);
- delete detInvoicedet1List;
- }
-
- //鎹㈣揣鍗曢摼鎺ヨ〃 鍙戠エ鏄庣粏2鍋氭垚
- public static void outOrderchange(Map<String, String> insertDetMap) {
- List<string> chukudanID = new List<string>();
- List<Consumable_order_LinkTable__c> invoiceLinkList = new List<Consumable_order_LinkTable__c>();
- Consumable_order__c p = new Consumable_order__c();
- if (insertDetMap.size() > 0) {
- for (String field : insertDetMap.keySet()) {
- List<Consumable_order_LinkTable__c> existLinkinfo = [
- SELECT Id
- FROM Consumable_order_LinkTable__c
- WHERE Outboundorder_Code_link__c = :field
+ //鎹㈣揣鍑哄簱鍗曟槑缁�1鏇存柊
+ List<Consumable_Orderdetails__c> detaliFrom1List = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ 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,
+ Invoice_Unit__c,
+ Box_Piece__c,
+ Consumable_Sale_order__r.Name,
+ Consumable_Shipment_order__r.Name
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c IN :chukudanID
];
- if (existLinkinfo.size() > 0) {
- delete existLinkinfo;
+ for (Consumable_Orderdetails__c changeOD : detaliFrom1List) {
+ changeOD.Invoiced_Procount__c = changeOD.Shipment_Count__c;
}
- chukudanID.add(field);
- Consumable_order_LinkTable__c invoiceLink = new Consumable_order_LinkTable__c();
- invoiceLink.Name = field + insertDetMap.get(field);
- invoiceLink.Outboundorder_Code_link__c = field;
- invoiceLink.Invoice_Code_link__c = insertDetMap.get(field);
- invoiceLinkList.add(invoiceLink);
- p.Id = field;
- p.ConInvoice_Code__c = insertDetMap.get(field);
- p.Onchange_order__c = true;
- update p;
- }
- insert invoiceLinkList;
+ update detaliFrom1List;
}
- //鎹㈣揣鍑哄簱鍗曟槑缁�1鏇存柊
- List<Consumable_Orderdetails__c> detaliFrom1List = [
- SELECT
- Id,
- Name,
- Consumable_order__c,
- 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,
- Invoice_Unit__c,
- Box_Piece__c,
- Consumable_Sale_order__r.Name,
- Consumable_Shipment_order__r.Name
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c IN :chukudanID
- ];
- for (Consumable_Orderdetails__c changeOD : detaliFrom1List) {
- changeOD.Invoiced_Procount__c = changeOD.Shipment_Count__c;
+
+ //涓婁紶ContentVersion闄勪欢
+ @AuraEnabled
+ public static String saveFile(Id recordId, String fileName, String base64Data) {
+ base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
+ ContentVersion cv = new ContentVersion();
+ cv.Title = fileName;
+ cv.PathOnClient = '/' + fileName;
+ cv.FirstPublishLocationId = recordId;
+ cv.VersionData = EncodingUtil.base64Decode(base64Data);
+ cv.IsMajorVersion = true;
+ insert cv;
+ System.debug('cv.Id = ' + cv.Id);
+ return cv.Id;
}
- update detaliFrom1List;
- }
- //涓婁紶ContentVersion闄勪欢
- @AuraEnabled
- public static String saveFile(
- Id recordId,
- String fileName,
- String base64Data
- ) {
- base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
- ContentVersion cv = new ContentVersion();
- cv.Title = fileName;
- cv.PathOnClient = '/' + fileName;
- cv.FirstPublishLocationId = recordId;
- cv.VersionData = EncodingUtil.base64Decode(base64Data);
- cv.IsMajorVersion = true;
- insert cv;
- System.debug('cv.Id = ' + cv.Id);
- return cv.Id;
- }
-
- // 淇濆瓨闄勪欢
- @AuraEnabled
- 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;
- 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.ContentDocumentId;
- attachmentdetails.Accessories_type__c = ass.mailSelectOptsin;
- if (String.isBlank(ass.invoiceOrderId)) {
- attachmentdetails.Invoice_code__c = invoiceId;
- }
- upsert attachmentdetails;
+ // 淇濆瓨闄勪欢
+ @AuraEnabled
+ 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;
+ 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.ContentDocumentId;
+ attachmentdetails.Accessories_type__c = ass.mailSelectOptsin;
+ if (String.isBlank(ass.invoiceOrderId)) {
+ attachmentdetails.Invoice_code__c = invoiceId;
+ }
+ upsert attachmentdetails;
+ }
+ }
+ } catch (Exception e) {
+ return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), '');
}
- }
- } catch (Exception e) {
- 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;
- }
- // 妫�绱�(鏈紑鍙戠エ鍑哄簱鍗�)
- @AuraEnabled
- 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>();
- res.entity = data;
+ // 妫�绱�(鏈紑鍙戠エ鍑哄簱鍗�)
+ @AuraEnabled
+ 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>();
+ res.entity = data;
- coc = cocLwc;
- HospitalInfo = HospitalInfoLwc;
- SecondDealer = SecondDealerLwc;
- errorMsg = '';
- invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(
- invoiceOrderRecoedsLwc,
- List<InvoiceOrderInfo>.class
- );
- invoiceId = invoiceIdLwc;
- accountid = accountidLwc;
- agencyProType = agencyProTypeLwc;
- userWorkLocation = userWorkLocationLwc;
+ coc = cocLwc;
+ HospitalInfo = HospitalInfoLwc;
+ SecondDealer = SecondDealerLwc;
+ errorMsg = '';
+ 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>();
- if (String.isBlank(invoiceId)) {
- msoql = makeSoql();
- } else {
- msoql = makeSoqlInit();
- }
- invoiceOrderList = new List<Consumable_order__c>();
- invoiceOrderList = Database.query(msoql);
- for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
- if (ass.check == true) {
- invoiceOrderdetailMid.add(ass);
- invoiceOrderMap.put(ass.esd.Name, ass.esd.Name);
- }
- }
- invoiceOrderRecoeds = new List<InvoiceOrderInfo>();
- invoiceOrderRecoeds.addAll(invoiceOrderdetailMid);
- for (Integer i = 0; i < invoiceOrderList.size(); i++) {
- if (invoiceOrderMap.containsKey(invoiceOrderList[i].Name)) {
- } else {
- invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderList[i]));
- invoiceOrderMap.put(invoiceOrderList[i].Name, invoiceOrderList[i].Name);
- }
- }
- data.put('invoiceOrderRecoeds', invoiceOrderRecoeds);
- res.status = 'Success';
- res.code = 200;
- System.debug('res = ' + res);
- return res;
- }
-
- private static String makeSoql() {
- String soql = 'SELECT Id, Order_ForDealer__r.Name,Order_ForHospital__r.Name,Order_ForDealerText__c, Name,Outbound_Date__c,ShipmentAccount__c,Shipment_total_amount__c,RrturnPro_total_amount__c,Total_Invoiced_Procount__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c,Invoice_total_amount__c,Billed_Status__c FROM Consumable_order__c ';
- soql += ' WHERE Dealer_Info__c = \'' + accountid + '\'';
- soql += ' AND (recordtypeid = \'' + System.Label.RT_ConOrder_Sale + '\'';
- soql += ' OR recordtypeid = \'' + System.Label.RT_ConOrder_Shipment + '\'';
- soql += ' ) ';
- soql += ' AND Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
- soql += ' AND Order_ProType__c =\'' + agencyProType + '\'';
- soql += ' AND Billed_Status__c != \'鍏ㄩ儴寮�绁╘'';
- soql += ' AND SummonsForDirction__c != \'浜掔浉璋冭揣\'';
- if (HospitalInfo != null && HospitalInfo != '') {
- soql += ' AND Order_ForHospital__c = \'' + HospitalInfo + '\'';
- }
- if (String.isNotEmpty(SecondDealer)) {
- soql += ' AND Order_ForDealer__c = \'' + SecondDealer + '\'';
- }
- if (coc.Order_ForDealerText__c != null) {
- soql +=
- ' AND ShipmentAccount__c = \'' +
- coc.Order_ForDealerText__c +
- '\'';
- }
- soql += ' AND InvoiceNotPro_total_amount__c > 0';
- soql += ' AND Onchange_order__c = false limit 1000';
- return soql;
- }
-
- private static String makeSoqlInit() {
- String soql = 'SELECT Id, Order_ForDealer__r.Name,Order_ForHospital__r.Name,Order_ForDealerText__c, Name,Outbound_Date__c,ShipmentAccount__c,Shipment_total_amount__c,RrturnPro_total_amount__c,Total_Invoiced_Procount__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c,Invoice_total_amount__c,Billed_Status__c FROM Consumable_order__c ';
- soql += ' WHERE Dealer_Info__c = \'' + accountid + '\'';
- soql += ' AND (recordtypeid = \'' + System.Label.RT_ConOrder_Sale + '\'';
- soql += ' OR recordtypeid = \'' + System.Label.RT_ConOrder_Shipment + '\'';
- soql += ' ) ';
- soql += ' AND Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
- soql += ' AND Order_ProType__c =\'' + agencyProType + '\'';
- soql += ' AND SummonsForDirction__c != \'浜掔浉璋冭揣\' ';
- if (HospitalInfo != null && HospitalInfo != '') {
- soql += ' AND Order_ForHospital__c = \'' + HospitalInfo + '\'';
- }
- if (SecondDealer != null) {
- soql += ' AND Order_ForDealer__c = \'' + SecondDealer + '\'';
- }
- if (coc.Order_ForDealerText__c != null) {
- soql +=
- ' AND ShipmentAccount__c = \'' +
- coc.Order_ForDealerText__c +
- '\'';
- }
- soql += ' AND InvoiceNotPro_total_amount__c > 0';
- soql += ' AND Onchange_order__c = false limit 1000';
- 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;
+ Map<String, String> invoiceOrderMap = new Map<String, String>();
+ String msoql = '';
+ List<InvoiceOrderInfo> invoiceOrderdetailMid = new List<InvoiceOrderInfo>();
+ if (String.isBlank(invoiceId)) {
+ msoql = makeSoql();
} 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;
+ msoql = makeSoqlInit();
}
- 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;
+ invoiceOrderList = new List<Consumable_order__c>();
+ invoiceOrderList = Database.query(msoql);
+ for (InvoiceOrderInfo ass : invoiceOrderRecoeds) {
+ if (ass.check == true) {
+ invoiceOrderdetailMid.add(ass);
+ invoiceOrderMap.put(ass.esd.Name, ass.esd.Name);
+ }
}
- 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 +
- '杩樻病寮�绁ㄦ暟閲忓皬浜庡彂绁ㄦ暟閲忥紝璇风‘璁ゆ槸鍚︽湁杩斿搧',
- ''
- );
+ invoiceOrderRecoeds = new List<InvoiceOrderInfo>();
+ invoiceOrderRecoeds.addAll(invoiceOrderdetailMid);
+ for (Integer i = 0; i < invoiceOrderList.size(); i++) {
+ if (invoiceOrderMap.containsKey(invoiceOrderList[i].Name)) {
+ } else {
+ invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderList[i]));
+ invoiceOrderMap.put(invoiceOrderList[i].Name, invoiceOrderList[i].Name);
+ }
}
+ data.put('invoiceOrderRecoeds', invoiceOrderRecoeds);
+ res.status = 'Success';
+ res.code = 200;
+ System.debug('res = ' + res);
+ return res;
+ }
- outOrderdetUp1List.add(invoiceUpdte1);
- }
+ private static String makeSoql() {
+ String soql = 'SELECT Id, Order_ForDealer__r.Name,Order_ForHospital__r.Name,Order_ForDealerText__c, Name,Outbound_Date__c,ShipmentAccount__c,Shipment_total_amount__c,RrturnPro_total_amount__c,Total_Invoiced_Procount__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c,Invoice_total_amount__c,Billed_Status__c FROM Consumable_order__c ';
+ soql += ' WHERE Dealer_Info__c = \'' + accountid + '\'';
+ soql += ' AND (recordtypeid = \'' + System.Label.RT_ConOrder_Sale + '\'';
+ soql += ' OR recordtypeid = \'' + System.Label.RT_ConOrder_Shipment + '\'';
+ soql += ' ) ';
+ soql += ' AND Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
+ soql += ' AND Order_ProType__c =\'' + agencyProType + '\'';
+ soql += ' AND Billed_Status__c != \'鍏ㄩ儴寮�绁╘'';
+ soql += ' AND SummonsForDirction__c != \'浜掔浉璋冭揣\'';
+ if (HospitalInfo != null && HospitalInfo != '') {
+ soql += ' AND Order_ForHospital__c = \'' + HospitalInfo + '\'';
+ }
+ if (String.isNotEmpty(SecondDealer)) {
+ soql += ' AND Order_ForDealer__c = \'' + SecondDealer + '\'';
+ }
+ if (coc.Order_ForDealerText__c != null) {
+ soql += ' AND ShipmentAccount__c = \'' + coc.Order_ForDealerText__c + '\'';
+ }
+ soql += ' AND InvoiceNotPro_total_amount__c > 0';
+ soql += ' AND Onchange_order__c = false limit 1000';
+ return soql;
}
- 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; }
- @AuraEnabled
- public Boolean oldCheck { get; set; }
- @AuraEnabled
- public Consumable_order__c esd { get; set; }
- @AuraEnabled
- public Consumable_Orderdetails__c esdet { get; set; }
- @AuraEnabled
- public Attachment attach { get; set; }
- @AuraEnabled
- 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; }
- @AuraEnabled
- public String invoiceOrderId { get; set; }
- @AuraEnabled
- public Decimal needInvoiceCount { get; set; }
- // 鍑哄簱璁㈠崟
- public InvoiceOrderInfo(Consumable_order__c e) {
- check = false;
- oldCheck = false;
- esd = e;
- needInvoiceCount = 0;
+ private static String makeSoqlInit() {
+ String soql = 'SELECT Id, Order_ForDealer__r.Name,Order_ForHospital__r.Name,Order_ForDealerText__c, Name,Outbound_Date__c,ShipmentAccount__c,Shipment_total_amount__c,RrturnPro_total_amount__c,Total_Invoiced_Procount__c,InvoiceNotPro_total_amount__c,InvoiceNotPro_money__c,Invoice_total_amount__c,Billed_Status__c FROM Consumable_order__c ';
+ soql += ' WHERE Dealer_Info__c = \'' + accountid + '\'';
+ soql += ' AND (recordtypeid = \'' + System.Label.RT_ConOrder_Sale + '\'';
+ soql += ' OR recordtypeid = \'' + System.Label.RT_ConOrder_Shipment + '\'';
+ soql += ' ) ';
+ soql += ' AND Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' ';
+ soql += ' AND Order_ProType__c =\'' + agencyProType + '\'';
+ soql += ' AND SummonsForDirction__c != \'浜掔浉璋冭揣\' ';
+ if (HospitalInfo != null && HospitalInfo != '') {
+ soql += ' AND Order_ForHospital__c = \'' + HospitalInfo + '\'';
+ }
+ if (SecondDealer != null) {
+ soql += ' AND Order_ForDealer__c = \'' + SecondDealer + '\'';
+ }
+ if (coc.Order_ForDealerText__c != null) {
+ soql += ' AND ShipmentAccount__c = \'' + coc.Order_ForDealerText__c + '\'';
+ }
+ soql += ' AND InvoiceNotPro_total_amount__c > 0';
+ soql += ' AND Onchange_order__c = false limit 1000';
+ return soql;
}
- // 鍑哄簱璁㈠崟鏄庣粏1
- public InvoiceOrderInfo(Consumable_Orderdetails__c e) {
- esdet = e;
+
+ // 鍒犻櫎鎸夐挳
+ @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(), '');
+ }
}
- //闄勪欢
- public InvoiceOrderInfo(Attachment e) {
- attach = e;
- mailSelectOpts = new List<SelectOption>();
- mailSelectOpts.add(new SelectOption('鍙戠エ鍜屾槑缁�', '鍙戠エ鍜屾槑缁�'));
- mailSelectOpts.add(new SelectOption('鍙戠エ', '鍙戠エ'));
- mailSelectOpts.add(new SelectOption('鏄庣粏', '鏄庣粏'));
+
+ // 鎻愪氦鎸夐挳
+ @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;
}
- //ContentVersion
- public InvoiceOrderInfo(ContentVersion cv) {
- cvInfo = cv;
- mailSelectOptsMap = new Map<String, String>();
- mailSelectOptsMap.put('鍙戠エ鍜屾槑缁�', '鍙戠エ鍜屾槑缁�');
- mailSelectOptsMap.put('鍙戠エ', '鍙戠エ');
- mailSelectOptsMap.put('鏄庣粏', '鏄庣粏');
+ @TestVisible
+ class InvoiceOrderInfo implements Comparable {
+ @AuraEnabled
+ public Boolean check { get; set; }
+ @AuraEnabled
+ public Boolean oldCheck { get; set; }
+ @AuraEnabled
+ public Consumable_order__c esd { get; set; }
+ @AuraEnabled
+ public Consumable_Orderdetails__c esdet { get; set; }
+ @AuraEnabled
+ public Attachment attach { get; set; }
+ @AuraEnabled
+ 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; }
+ @AuraEnabled
+ public String invoiceOrderId { get; set; }
+ @AuraEnabled
+ public Decimal needInvoiceCount { get; set; }
+
+ // 鍑哄簱璁㈠崟
+ public InvoiceOrderInfo(Consumable_order__c e) {
+ check = false;
+ oldCheck = false;
+ esd = e;
+ needInvoiceCount = 0;
+ }
+ // 鍑哄簱璁㈠崟鏄庣粏1
+ public InvoiceOrderInfo(Consumable_Orderdetails__c e) {
+ esdet = e;
+ }
+ //闄勪欢
+ public InvoiceOrderInfo(Attachment e) {
+ attach = e;
+ mailSelectOpts = new List<SelectOption>();
+ mailSelectOpts.add(new SelectOption('鍙戠エ鍜屾槑缁�', '鍙戠エ鍜屾槑缁�'));
+ mailSelectOpts.add(new SelectOption('鍙戠エ', '鍙戠エ'));
+ mailSelectOpts.add(new SelectOption('鏄庣粏', '鏄庣粏'));
+ }
+ //ContentVersion
+ public InvoiceOrderInfo(ContentVersion cv) {
+ cvInfo = cv;
+ mailSelectOptsMap = new Map<String, String>();
+ mailSelectOptsMap.put('鍙戠エ鍜屾槑缁�', '鍙戠エ鍜屾槑缁�');
+ mailSelectOptsMap.put('鍙戠エ', '鍙戠エ');
+ mailSelectOptsMap.put('鏄庣粏', '鏄庣粏');
+ }
+ // 鎺掑簭
+ public Integer compareTo(Object compareTo) {
+ return null;
+ }
}
- // 鎺掑簭
- public Integer compareTo(Object compareTo) {
- return null;
- }
- }
-}
+}
\ No newline at end of file
--
Gitblit v1.9.1