| | |
| | | return (coc.Name); |
| | | } |
| | | // 精琢科技 zxk 2021-11-03 存放消耗品明细 end |
| | | public List < Consumable_Orderdetails__c > conoList { |
| | | get; |
| | | set; |
| | | } |
| | | public List<Consumable_Orderdetails__c> conoList { get; set; } |
| | | // 精琢科技 zxk 2021-11-03 存放消耗品明细 end |
| | | |
| | | public String shipmentAccount{ |
| | |
| | | //发票明细1(出库单) |
| | | private List<Consumable_order__c> invoiceOrderSelectedList = new List<Consumable_order__c>(); |
| | | |
| | | |
| | | |
| | | Map<String,Decimal> ordermx1defaultMap = new Map<String,Decimal>(); |
| | | //出库单汇总金额 from 发票明细1 |
| | | Map<String,Decimal> outorderMoneytMap = new Map<String,Decimal>(); |
| | |
| | | } |
| | | } |
| | | |
| | | list<Dealer_elationship__c> Dealerelationship = new list<Dealer_elationship__c>(); |
| | | list<Dealer_elationship__c> Dealerelationship = new List<Dealer_elationship__c>(); |
| | | //排序使用 |
| | | private String[] orderby = new String[]{ 'Outbound_Date__c','Name','ShipmentAccount__c'}; |
| | | private String[] orderby = new List<String>{ 'Outbound_Date__c', 'Name', 'ShipmentAccount__c' }; |
| | | public String sortKey { get; set; } |
| | | public String preSortKey { get; private set; } |
| | | public Boolean sortOrderAsc { get; private set; } |
| | |
| | | this.sortKey = '1'; |
| | | this.preSortKey = '1'; |
| | | this.sortOrderAsc = false; |
| | | this.sortOrder = new String[2]; |
| | | this.sortOrder = new String[]{' ',' ',' ',' '}; |
| | | this.sortOrder = new List<String>(2); |
| | | this.sortOrder = new List<String>{ ' ', ' ', ' ', ' ' }; |
| | | |
| | | if(invoiceId!=null && invoiceId!='' && (statusEdit==''|| statusEdit==null)){ |
| | | editAble = false; |
| | |
| | | } |
| | | userId = UserInfo.getUserId(); |
| | | //userId = '00510000005QQ35'; |
| | | List<user> Useracc = New List<user>(); |
| | | 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; |
| | |
| | | } |
| | | coc = new Consumable_order__c(); |
| | | |
| | | Dealerelationship = [SELECT Dealer_subordinate__c,Dealer_subordinate__r.Name FROM Dealer_elationship__c WHERE Dealer_principal__c =:accountid ]; |
| | | 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]; |
| | | 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=='') { |
| | | if (invoiceId == null || invoiceId == '') { |
| | | if (deliveryId == null || deliveryId == '') { |
| | | String msoql = makeSoql(); |
| | | invoiceOrderList = Database.query(msoql); |
| | | for(Integer i = 0; i < invoiceOrderList.size(); i++){ |
| | |
| | | }else if(statusEdit!=''&&statusEdit!=null){ |
| | | EditAble = true; |
| | | } |
| | | coc = [SELECT Id,Name, |
| | | coc = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id =:deliveryId]; |
| | | WHERE Id = :deliveryId |
| | | ]; |
| | | coc.Name = ''; |
| | | if(coc.Order_ForDealer__c != null){ |
| | | SecondDealer = coc.Order_ForDealer__c; |
| | |
| | | } |
| | | |
| | | //发票关联出库单取得(出库单) |
| | | invoiceOrderSelectedList = [SELECT Id, |
| | | invoiceOrderSelectedList = [ |
| | | SELECT |
| | | Id, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__r.Name, |
| | | Order_ForDealerText__c, |
| | | Name,Outbound_Date__c, |
| | | Name, |
| | | Outbound_Date__c, |
| | | ShipmentAccount__c, |
| | | Order_Dealer_Info__c, |
| | | SummonsForDirction__c, |
| | |
| | | Billed_Status__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :deliveryId |
| | | order by Name ]; |
| | | ORDER BY Name |
| | | ]; |
| | | for(Integer i = 0; i < invoiceOrderSelectedList.size(); i++){ |
| | | invoiceOrderRecoeds.add(new InvoiceOrderInfo(invoiceOrderSelectedList[i])); |
| | | } |
| | | } |
| | | }else{ |
| | | coc = [SELECT Id,Name, |
| | | coc = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id =:invoiceId |
| | | AND Order_type__c = '发票']; |
| | | WHERE Id = :invoiceId AND Order_type__c = '发票' |
| | | ]; |
| | | if(coc.Order_ForDealer__c != null){ |
| | | SecondDealer = coc.Order_ForDealer__c; |
| | | } |
| | |
| | | HospitalName = coc.Order_ForHospital__r.Name; |
| | | } |
| | | //到链接表中查找关联出库单 |
| | | List<Consumable_order_LinkTable__c> outOrderList = [SELECT Outboundorder_Code_link__c |
| | | List<Consumable_order_LinkTable__c> outOrderList = [ |
| | | SELECT Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Invoice_Code_link__c = :invoiceId]; |
| | | 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, |
| | | invoiceOrderSelectedList = [ |
| | | SELECT |
| | | Id, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__r.Name, |
| | | Order_ForDealerText__c, |
| | | Name,Outbound_Date__c, |
| | | Name, |
| | | Outbound_Date__c, |
| | | ShipmentAccount__c, |
| | | Shipment_total_amount__c, |
| | | RrturnPro_total_amount__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 ]; |
| | | 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, |
| | | invoiceOrderSelectedList = [ |
| | | SELECT |
| | | Id, |
| | | Order_ForDealer__r.Name, |
| | | Order_ForHospital__r.Name, |
| | | Order_ForDealerText__c, |
| | | Name,Outbound_Date__c, |
| | | Name, |
| | | Outbound_Date__c, |
| | | ShipmentAccount__c, |
| | | Shipment_total_amount__c, |
| | | RrturnPro_total_amount__c, |
| | |
| | | Invoice_total_amount__c, |
| | | Billed_Status__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :deliveryId |
| | | AND Order_Owner_WorkLocal__c =: userWorkLocation |
| | | order by Name ]; |
| | | 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])); |
| | |
| | | } |
| | | } |
| | | //发票明细一览 |
| | | List<Consumable_Orderdetails__c> countDel = [SELECT Id, |
| | | List<Consumable_Orderdetails__c> countDel = [ |
| | | SELECT |
| | | Id, |
| | | Consumable_ZS_order__c, |
| | | Name, |
| | | Consumable_order__c, |
| | |
| | | ProductPacking_list_manual__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | order by Invoicedet1_OD_link__c]; |
| | | 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); |
| | | 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])); |
| | | } |
| | |
| | | if(SecondDealer==null||SecondDealer==''){ |
| | | provinceOpts.add(new SelectOption('', '-无-')); |
| | | for(Integer i = 0; i < Dealerelationship.size(); i++){ |
| | | provinceOpts.add(new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name)); |
| | | provinceOpts.add( |
| | | new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name) |
| | | ); |
| | | } |
| | | }else{ |
| | | provinceOpts.add(new SelectOption('', '-无-')); |
| | |
| | | } |
| | | 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)); |
| | | provinceOpts.add( |
| | | new SelectOption(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 ]; |
| | | 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); |
| | |
| | | // 保存附件 |
| | | public PageReference saveAttachment() { |
| | | Consumable_accessories_invoice__c attachmentdetails = new Consumable_accessories_invoice__c(); |
| | | System.debug('AttachmentRecoeds = ' + AttachmentRecoeds); |
| | | for (InvoiceOrderInfo ass : AttachmentRecoeds) { |
| | | if(!String.isBlank(ass.mailSelectOptsin)){ |
| | | attachmentdetails.Id = ass.invoiceOrderId; |
| | |
| | | } |
| | | // 保存按钮 |
| | | public PageReference save() { |
| | | System.debug('enter ConInvoiceViewController.save success'); |
| | | List<String> chukudanID = new List<String>(); |
| | | // 画面录入项判断 |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'HospitalInfo +++++' + HospitalInfo + '-----' + HospitalName)); |
| | | //return null; |
| | | if(coc.Name ==''||coc.Name == null){ |
| | | coc.Name.addError('请录入发票号。'); |
| | | return null; |
| | |
| | | coc.addError('必须输入客户名或者二级经销商。'); |
| | | return null; |
| | | } |
| | | /*if(String.isBlank(HospitalInfo) && SecondDealer != null && coc.Order_ForDealerText__c != null){ |
| | | coc.Order_ForDealerText__c.addError('请输入二级经销商或者经销商(录入)。'); |
| | | return null; |
| | | }*/ |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-08-26 start |
| | | /* if(HospitalInfo !=null && HospitalInfo !='' && SecondDealer != null && coc.Order_ForDealerText__c != null){ |
| | | coc.addError('请输入客户名、二级经销商和经销商(录入)只可输入一个。'); |
| | | return null; |
| | | } |
| | | */ |
| | | if (HospitalInfo != null && HospitalInfo != '' && SecondDealer != null) { |
| | | coc.addError('请输入客户名、二级经销商只可输入一个。'); |
| | | |
| | | } |
| | | /* if(HospitalInfo !=null && HospitalInfo !='' && (SecondDealer != null || coc.Order_ForDealerText__c != null)){ |
| | | coc.addError('请输入客户名、二级经销商和经销商(录入)只可输入一个。'); |
| | |
| | | } |
| | | } |
| | | if(SecondDealer != null){ |
| | | if(ass.esd.Order_ForDealer__c != shipmentAccountString && ass.esd.Order_ForDealerText__c != shipmentAccountString){ |
| | | if ( |
| | | ass.esd.Order_ForDealer__c != shipmentAccountString && |
| | | ass.esd.Order_ForDealerText__c != shipmentAccountString |
| | | ) { |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, shipmentAccountString + ass.esd.Order_ForDealer__c + ass.esd.Order_ForDealerText__c)); |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | |
| | | // if(coc.Order_ForDealerText__c != null){ |
| | | if(coc.Order_ForDealerText__c != null && (HospitalInfo == null || HospitalInfo == '' )){ |
| | | //update by rentx 2021-2-24 CHAN-BYH9PK end |
| | | if((ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') && ass.esd.ShipmentAccount__c != shipmentAccountString){ |
| | | if ( |
| | | (ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') && |
| | | ass.esd.ShipmentAccount__c != shipmentAccountString |
| | | ) { |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | |
| | | // if(coc.Order_ForDealerText__c != null){ |
| | | if(coc.Order_ForDealerText__c != null && (HospitalInfo == null || HospitalInfo == '' )){ |
| | | //update by rentx 2021-2-24 CHAN-BYH9PK end |
| | | if((ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') && ass.esd.ShipmentAccount__c != shipmentAccountString){ |
| | | if ( |
| | | (ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') && |
| | | ass.esd.ShipmentAccount__c != shipmentAccountString |
| | | ) { |
| | | invoiceOrderAccountList.add(ass.esd.Name); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | 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>(); |
| | | 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>(); |
| | | //新建发票时 |
| | |
| | | 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 ='草案中'; |
| | | 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; |
| | |
| | | insert invoiceHead; |
| | | |
| | | invoiceId = invoiceHead.Id ; |
| | | List<Consumable_order__c> cocinfo = New List<Consumable_order__c>(); |
| | | cocinfo = [SELECT Id,Name, |
| | | List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); |
| | | cocinfo = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id =:invoiceId]; |
| | | WHERE Id = :invoiceId |
| | | ]; |
| | | if (cocinfo.size()>0){ |
| | | invoiceHead = cocinfo[0]; |
| | | } |
| | |
| | | //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)]; |
| | | 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); |
| | |
| | | } |
| | | delete invoiceLinkdetList; |
| | | }*/ |
| | | } |
| | | } else if (String.isNotBlank(reopen) && reopen.equals('isreopen') && String.isNotBlank(invoiceId)) { |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-09-04 start |
| | | else if (String.isNotBlank(reopen) && reopen.equals('isreopen') && String.isNotBlank(invoiceId)) { |
| | | //如果是 作废重开 |
| | | //1. 设置新发票信息 |
| | | invoiceHead.Name = coc.Name; |
| | |
| | | invoiceHead.Order_ForDealer__c = SecondDealer; |
| | | } |
| | | invoiceHead.Order_ForDealerText__c = coc.Order_ForDealerText__c; |
| | | System.debug('invoiceHead = ' + invoiceHead); |
| | | insert invoiceHead; |
| | | |
| | | List<String> updateChukudanId = new List<String>(); |
| | | //获取原发票相关联的链接表信息 |
| | | List<Consumable_order_LinkTable__c> tLinkList = [SELECT Outboundorder_Code_link__c |
| | | List<Consumable_order_LinkTable__c> tLinkList = [ |
| | | SELECT Outboundorder_Code_link__c |
| | | FROM Consumable_order_LinkTable__c |
| | | WHERE Invoice_Code_link__c = :invoiceId]; |
| | | 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]; |
| | | 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 |
| | |
| | | Shipment_amount__c, |
| | | Asset_Model_No__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c in : updateChukudanId |
| | | WHERE Consumable_order__c IN :updateChukudanId |
| | | ]; |
| | | for(Consumable_Orderdetails__c corderc : updateFromList){ |
| | | String tempStr = corderc.Consumable_order__c + corderc.Asset_Model_No__c; |
| | |
| | | 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(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<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){ |
| | |
| | | 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>(); |
| | | 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]; |
| | | 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 |
| | | if(chukudanID.size() > 0 ){ |
| | | newinvoicedetails1(chukudanID); |
| | | } |
| | | } |
| | | } else { |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-09-04 end |
| | | //编辑后保存 |
| | | else{ |
| | | List<Consumable_order__c> cocinfo = New List<Consumable_order__c>(); |
| | | cocinfo = [SELECT Id,Name, |
| | | List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); |
| | | cocinfo = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Invoice_status__c, |
| | | Invoice_Date__c, |
| | | Order_ForDealerText__c, |
| | |
| | | Invoicedet_attachment__c, |
| | | Outbound_order__c |
| | | FROM Consumable_order__c |
| | | WHERE Id =:invoiceId]; |
| | | WHERE Id = :invoiceId |
| | | ]; |
| | | if (cocinfo.size()>0){ |
| | | invoiceHead = cocinfo[0]; |
| | | } |
| | |
| | | Map<String,Decimal> returnProcountMap = new Map<String,Decimal>(); |
| | | Map<String,Decimal> changeOrderProcountMap = new Map<String,Decimal>(); |
| | | List<Consumable_Orderdetails__c> detaliFromList = [ |
| | | SELECT Id, |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | |
| | | Box_Piece__c, |
| | | Invoice_Cost_RMB__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :deliveryId ]; |
| | | 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, |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | |
| | | Invoice_Unit__c, |
| | | Box_Piece__c |
| | | FROM Consumable_Orderdetails__c |
| | | where Consumable_order__c = :invoiceId]; |
| | | 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); |
| | | 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, |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__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]; |
| | | 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); |
| | | } |
| | |
| | | //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<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){ |
| | |
| | | } |
| | | } |
| | | upsert invoiceLinkList; |
| | | |
| | | } |
| | | /*if(insertDetMap.size() > 0 ){ |
| | | for (String field : insertDetMap.keySet()) { |
| | |
| | | }*/ |
| | | //删除出库单链接表 |
| | | if(deleteDetMap.size() > 0 ){ |
| | | |
| | | List<Consumable_order_LinkTable__c> invoiceLinkdetList = New List<Consumable_order_LinkTable__c>(); |
| | | 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]; |
| | | 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) { |
| | | //存在与该发票关联的出库单 |
| | |
| | | //换货单链接表 发票明细2做成 |
| | | public void outOrderchange(Map<String,String> insertDetMap){ |
| | | List<string> chukudanID = new List<string>(); |
| | | List<Consumable_order_LinkTable__c> invoiceLinkList = New List<Consumable_order_LinkTable__c>(); |
| | | 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]; |
| | | 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; |
| | | } |
| | |
| | | } |
| | | //换货出库单明细1更新 |
| | | List<Consumable_Orderdetails__c> detaliFrom1List = [ |
| | | SELECT Id, |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | |
| | | Consumable_Sale_order__r.Name, |
| | | Consumable_Shipment_order__r.Name |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c in : chukudanID]; |
| | | WHERE Consumable_order__c IN :chukudanID |
| | | ]; |
| | | for(Consumable_Orderdetails__c changeOD : detaliFrom1List){ |
| | | changeOD.Invoiced_Procount__c = changeOD.Shipment_Count__c; |
| | | } |
| | |
| | | changeOD.Invoice_Date__c = Date.today(); |
| | | } |
| | | update detaliFromList;*/ |
| | | |
| | | } |
| | | |
| | | //取得更新map初始化数据 |
| | | //获取 订单中产品的初始化 Map |
| | | public 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 |
| | | existLinkinfo = [ |
| | | SELECT Id, Consumable_order__c, Consumable_product__c, Asset_Model_No__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c in:orderIdList]; |
| | | 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 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 |
| | | 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()]; |
| | | WHERE Consumable_order__c = :value AND Invoicedet1_OD_link__c = :deleteMap.keySet() |
| | | ]; |
| | | System.debug('detInvoicedet1List = ' + detInvoicedet1List); |
| | | delete detInvoicedet1List; |
| | | } |
| | | //CHAN-BSS5SQ update by rentongxiao 2020-09-08 end |
| | | |
| | | public void newinvoicedetails1(List<String> chukudanID){ |
| | | //新规发票明细1 |
| | | List<Consumable_Orderdetails__c> invoiceorderList1 = New List<Consumable_Orderdetails__c>(); |
| | | List<Consumable_Orderdetails__c> invoiceorderList1 = new List<Consumable_Orderdetails__c>(); |
| | | //出库单明细更新 |
| | | List<Consumable_Orderdetails__c> outOrderList1 = New List<Consumable_Orderdetails__c>(); |
| | | List<Consumable_Orderdetails__c> outOrderList1 = new List<Consumable_Orderdetails__c>(); |
| | | List<Consumable_Orderdetails__c> detaliFromList = [ |
| | | SELECT Id, |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Asset_Model_No__c, |
| | |
| | | Invoice_Unit__c, |
| | | ProductPacking_list_manual__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c in : chukudanID |
| | | AND InvoiceProNot_count__c > 0 |
| | | WHERE Consumable_order__c IN :chukudanID AND InvoiceProNot_count__c > 0 |
| | | ]; |
| | | |
| | | for(Integer i = 0; i < detaliFromList.size(); i++){ |
| | |
| | | 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.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.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; |
| | | 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; |
| | | //orderUpdate1.Invoice_Unitprice__c = detaliFromList[i].Delivery_List_RMB__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; |
| | | 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_Procount__c = detaliFromList[i].Invoiced_Procount__c; |
| | | invoiceInsert1.Invoiced_Count__c = detaliFromList[i].InvoiceProNot_count__c; |
| | | if (detaliFromList[i].InvoicedProCost_RMB__c == null) detaliFromList[i].InvoicedProCost_RMB__c = 0; |
| | | 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.Sum_of_money__c = invoiceInsert1.InvoicedProCost_RMB__c; |
| | | invoiceInsert1.Consumable_order__c = invoiceId; |
| | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | if(invoiceorderList1.size() > 0){ |
| | | try { |
| | | System.debug('invoiceorderList1 = ' + invoiceorderList1); |
| | | insert invoiceorderList1; |
| | | }catch (Exception ex) { |
| | | Database.rollback(sp); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | //上传附件 |
| | | public PageReference FilesUpload(){ |
| | | PageReference ref = new Pagereference('/p/attach/NoteAttach?pid='+invoiceId+'&retURL=%2F' + '/ConInvoiceView?invoiceId=' +invoiceId); |
| | | PageReference ref = new Pagereference( |
| | | '/p/attach/NoteAttach?pid=' + |
| | | invoiceId + |
| | | '&retURL=%2F' + |
| | | '/ConInvoiceView?invoiceId=' + |
| | | invoiceId |
| | | ); |
| | | ref.setRedirect(true); |
| | | return ref; |
| | | } |
| | |
| | | // 删除按钮 |
| | | public PageReference deleteButton() { |
| | | system.debug('====invoiceId==========>' + invoiceId); |
| | | List < Consumable_Orderdetails__c > consList = [select id, Consumable_order__c from Consumable_Orderdetails__c where Consumable_order__c = : invoiceId]; |
| | | List<Consumable_Orderdetails__c> consList = [ |
| | | SELECT id, Consumable_order__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :invoiceId |
| | | ]; |
| | | // Consumable_order__c consumable = [select id from Consumable_order__c where id =: invoiceId AND Invoice_status__c = '草案中']; |
| | | try { |
| | | system.debug('====cons==========>' + consList); |
| | |
| | | } |
| | | // 精琢科技 zxk 2021-11-03 CHAN-C8D86K 添加删除按钮 end |
| | | |
| | | |
| | | // 作废重开按钮 |
| | | public PageReference setreopen(){ |
| | | statusEdit = 'Redirect'; |
| | |
| | | public PageReference approval() { |
| | | //更新发票明细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>(); |
| | | 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>(); |
| | | List<Consumable_Orderdetails__c> outOrderdetUp1List = new List<Consumable_Orderdetails__c>(); |
| | | //需要更新出库单明细1 |
| | | List<Consumable_Orderdetails__c> outOrderdet1List = [ |
| | | SELECT Id, |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_order__c, |
| | | Consumable_order__r.Name, |
| | |
| | | Box_Piece__c, |
| | | Invoice_Unit__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c in : outOrderStringList |
| | | 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 == '个'){ |
| | | 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); |
| | | 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.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; |
| | | invoiceUpdte1.Invoice_Unitprice__c = outordercountMap.get( |
| | | outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c |
| | | ) |
| | | .Invoice_Unitprice__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); |
| | | 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; |
| | | invoicedProcount = outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c) |
| | | .Invoiced_Count__c; |
| | | } |
| | | |
| | | 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 +'还没开票数量小于发票数量,请确认是否有返品。')); |
| | | ApexPages.addmessage( |
| | | new ApexPages.message( |
| | | ApexPages.severity.Error, |
| | | '出库单' + |
| | | outOrderdet1List[i].Consumable_order__r.Name + |
| | | '中,' + |
| | | outOrderdet1List[i].Asset_Model_No__c + |
| | | '还没开票数量小于发票数量,请确认是否有返品。' |
| | | ) |
| | | ); |
| | | return null; |
| | | } |
| | | |
| | | outOrderdetUp1List.add(invoiceUpdte1); |
| | | |
| | | } |
| | | } |
| | | Savepoint sp = Database.setSavepoint(); |
| | |
| | | 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]; |
| | | cocinfo = [ |
| | | SELECT Id, Name, Invoice_status__c, Dealer_Info__c, Order_ForHospital__c, SummonsForDirction__c |
| | | FROM Consumable_order__c |
| | | WHERE Id = :invoiceId |
| | | ]; |
| | | if (cocinfo.size()>0){ |
| | | p = cocinfo[0]; |
| | | } |
| | |
| | | soql += ' AND InvoiceNotPro_total_amount__c > 0'; |
| | | soql += ' AND Onchange_order__c = false limit 1000'; |
| | | return soql; |
| | | |
| | | } |
| | | |
| | | // Data Bean |