From 8e07b5f23afd4c93d7e8d1f04d2e8dbca2628e5e Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期二, 27 六月 2023 13:42:11 +0800 Subject: [PATCH] Community LEX Upgarde --- force-app/main/default/classes/LexOverdueStockController.cls | 325 ++-- force-app/main/default/classes/NewRepairController.cls | 468 +++-- force-app/main/default/classes/LexInventoryController.cls | 1736 +++++++++++++----------- force-app/main/default/pages/NewAndEditReport.page | 188 + force-app/main/default/classes/LexConInvoiceViewController.cls | 88 force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml | 5 force-app/main/default/classes/LexInventoryViewControllerTest.cls | 1122 ++++++++++++++++ .sf/config.json | 4 manifest/packageForLex copy.xml | 10 force-app/main/default/classes/LexInventoryViewController.cls | 58 force-app/main/default/classes/LexOutboundorderImportController.cls | 19 force-app/main/default/classes/LexSaleOrderController.cls | 27 force-app/main/default/classes/LexConInvoicedetailsController.cls | 54 13 files changed, 2,828 insertions(+), 1,276 deletions(-) diff --git a/.sf/config.json b/.sf/config.json index 2728d05..9e6a1d3 100644 --- a/.sf/config.json +++ b/.sf/config.json @@ -1,3 +1,3 @@ { - "target-org": "OlympusStage" -} \ No newline at end of file + "target-org": "OlympusStageEnv" +} diff --git a/force-app/main/default/classes/LexConInvoiceViewController.cls b/force-app/main/default/classes/LexConInvoiceViewController.cls index 0173b6c..3945a69 100644 --- a/force-app/main/default/classes/LexConInvoiceViewController.cls +++ b/force-app/main/default/classes/LexConInvoiceViewController.cls @@ -388,7 +388,11 @@ // attachmentRecoeds.add(new InvoiceOrderInfo(attachmentinfo[i])); // } // } - List<ContentVersion> cvInfo = [SELECT Id, Title, OwnerId,Owner.Name, CreatedDate,ContentDocumentId FROM ContentVersion WHERE FirstPublishLocationId = :invoiceId]; + List<ContentVersion> cvInfo = [ + SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId + FROM ContentVersion + WHERE FirstPublishLocationId = :invoiceId + ]; if (cvInfo.size() > 0) { for (Integer i = 0; i < cvInfo.size(); i++) { attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i])); @@ -415,17 +419,16 @@ 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); + 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( @@ -453,12 +456,12 @@ SecondDealer = SecondDealerLwc; errorMsg = ''; deliveryId = deliveryIdLwc; - invoiceOrderRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class); + 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); + invoiceOrderRecoedschange = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedschangeLwc, List<InvoiceOrderInfo>.class); List<String> chukudanID = new List<String>(); if (coc.Name == '' || coc.Name == null) { @@ -533,7 +536,6 @@ } } else { if (HospitalInfo != null && HospitalInfo != '') { - System.debug('++++++++++++' + ass.esd.Order_ForHospital__c + ' ' + shipmentAccountString); if (ass.esd.Order_ForHospital__c != shipmentAccountString) { System.debug('HospitalInfo != null ass.esd.Order_ForHospital__c != shipmentAccountString'); @@ -552,7 +554,9 @@ (ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') && ass.esd.ShipmentAccount__c != shipmentAccountString ) { - System.debug('HospitalInfo == null && ass.esd.Order_ForDealerText__c != null ass.esd.ShipmentAccount__c != shipmentAccountString'); + System.debug( + 'HospitalInfo == null && ass.esd.Order_ForDealerText__c != null ass.esd.ShipmentAccount__c != shipmentAccountString' + ); invoiceOrderAccountList.add(ass.esd.Name); } } @@ -693,12 +697,12 @@ invoiceHead.Order_ProType__c = agencyProType; invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c; //if (deliveryId != null) { - if (String.isNotBlank(deliveryId)) { + if (String.isNotBlank(deliveryId)) { invoiceHead.Outbound_order__c = deliveryId; } invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice; //if (SecondDealer == null) { - if (String.isBlank(SecondDealer)) { + if (String.isBlank(SecondDealer)) { if (HospitalInfo != null && HospitalInfo != '') { invoiceHead.Order_ForHospital__c = HospitalInfo; } @@ -849,6 +853,8 @@ delete invoiceLinkdetList; } //鏂板缓鍙戠エ鏄庣粏1 + System.debug('===>' + chukudanID); + System.debug('===>' + chukudanID.size()); if (chukudanID.size() > 0) { newinvoicedetails1(chukudanID); } @@ -883,7 +889,7 @@ if (cocinfo.size() > 0) { invoiceHead = cocinfo[0]; } - if (String.isNotBlank(deliveryId)) { + if (String.isNotBlank(deliveryId)) { for (InvoiceOrderInfo ass : invoiceOrderRecoedschange) { insertDetMap.put(ass.esd.Id, invoiceHead.Id); } @@ -1267,13 +1273,13 @@ // 淇濆瓨闄勪欢 @AuraEnabled - public static ResponseBodyLWC saveAttachment(String attachmentRecoedsLwc,String invoiceId) { + 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); + attachmentRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(attachmentRecoedsLwc, List<InvoiceOrderInfo>.class); System.debug('attachmentRecoeds = ' + attachmentRecoeds); try { Consumable_accessories_invoice__c attachmentdetails = new Consumable_accessories_invoice__c(); @@ -1299,7 +1305,16 @@ // 妫�绱�(鏈紑鍙戠エ鍑哄簱鍗�) @AuraEnabled - public static ResponseBodyLWC InvoiceorderSearch(Consumable_order__c cocLwc,String invoiceIdLwc,String accountidLwc,String userWorkLocationLwc,String agencyProTypeLwc,String HospitalInfoLwc,String SecondDealerLwc,String invoiceOrderRecoedsLwc) { + public static ResponseBodyLWC InvoiceorderSearch( + Consumable_order__c cocLwc, + String invoiceIdLwc, + String accountidLwc, + String userWorkLocationLwc, + String agencyProTypeLwc, + String HospitalInfoLwc, + String SecondDealerLwc, + String invoiceOrderRecoedsLwc + ) { System.debug('杩涘叆 InvoiceorderSearch'); ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); @@ -1309,12 +1324,12 @@ HospitalInfo = HospitalInfoLwc; SecondDealer = SecondDealerLwc; errorMsg = ''; - invoiceOrderRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class); + invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class); invoiceId = invoiceIdLwc; accountid = accountidLwc; agencyProType = agencyProTypeLwc; userWorkLocation = userWorkLocationLwc; - + Map<String, String> invoiceOrderMap = new Map<String, String>(); String msoql = ''; List<InvoiceOrderInfo> invoiceOrderdetailMid = new List<InvoiceOrderInfo>(); @@ -1340,7 +1355,7 @@ invoiceOrderMap.put(invoiceOrderList[i].Name, invoiceOrderList[i].Name); } } - data.put('invoiceOrderRecoeds',invoiceOrderRecoeds); + data.put('invoiceOrderRecoeds', invoiceOrderRecoeds); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); @@ -1396,7 +1411,7 @@ // 鍒犻櫎鎸夐挳 @AuraEnabled - public static ResponseBodyLWC deleteButton(String invoiceIdLwc,Consumable_order__c cocLwc) { + 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>(); @@ -1429,7 +1444,11 @@ // 鎻愪氦鎸夐挳 @AuraEnabled - public static ResponseBodyLWC approval(List<String> outOrderStringListLwc,Map<String, Consumable_Orderdetails__c> outordercountMapLwc,String invoiceIdLwc) { + 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>(); @@ -1437,7 +1456,7 @@ outOrderStringList = outOrderStringListLwc; outordercountMap = outordercountMapLwc; - invoiceId= invoiceIdLwc; + invoiceId = invoiceIdLwc; //鏇存柊鍙戠エ鏄庣粏2閾炬帴 Consumable_order__c P = new Consumable_order__c(); List<Consumable_order__c> cocinfo = new List<Consumable_order__c>(); @@ -1501,6 +1520,8 @@ 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; @@ -1521,6 +1542,8 @@ 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( @@ -1534,7 +1557,16 @@ // ) // ); // return null; - return new ResponseBodyLWC('Error', 500, '鍑哄簱鍗�' + outOrderdet1List[i].Consumable_order__r.Name + '涓紝' + outOrderdet1List[i].Asset_Model_No__c + '杩樻病寮�绁ㄦ暟閲忓皬浜庡彂绁ㄦ暟閲忥紝璇风‘璁ゆ槸鍚︽湁杩斿搧', ''); + return new ResponseBodyLWC( + 'Error', + 500, + '鍑哄簱鍗�' + + outOrderdet1List[i].Consumable_order__r.Name + + '涓紝' + + outOrderdet1List[i].Asset_Model_No__c + + '杩樻病寮�绁ㄦ暟閲忓皬浜庡彂绁ㄦ暟閲忥紝璇风‘璁ゆ槸鍚︽湁杩斿搧', + '' + ); } outOrderdetUp1List.add(invoiceUpdte1); @@ -1570,7 +1602,7 @@ System.debug('res = ' + res); return res; } - + @TestVisible class InvoiceOrderInfo implements Comparable { @AuraEnabled public Boolean check { get; set; } @@ -1583,12 +1615,12 @@ @AuraEnabled public Attachment attach { get; set; } @AuraEnabled - public ContentVersion cvInfo{ get; set; } + public ContentVersion cvInfo { get; set; } @AuraEnabled public String mailSelectOptsin { get; set; } public List<SelectOption> mailSelectOpts { get; set; } @AuraEnabled - public Map<String,String> mailSelectOptsMap { get; set; } + public Map<String, String> mailSelectOptsMap { get; set; } @AuraEnabled public String invoiceOrderId { get; set; } @AuraEnabled @@ -1616,7 +1648,7 @@ //ContentVersion public InvoiceOrderInfo(ContentVersion cv) { cvInfo = cv; - mailSelectOptsMap = new Map<String,String>(); + mailSelectOptsMap = new Map<String, String>(); mailSelectOptsMap.put('鍙戠エ鍜屾槑缁�', '鍙戠エ鍜屾槑缁�'); mailSelectOptsMap.put('鍙戠エ', '鍙戠エ'); mailSelectOptsMap.put('鏄庣粏', '鏄庣粏'); @@ -1626,4 +1658,4 @@ return null; } } -} \ No newline at end of file +} diff --git a/force-app/main/default/classes/LexConInvoicedetailsController.cls b/force-app/main/default/classes/LexConInvoicedetailsController.cls index 18a4fb5..9c3889a 100644 --- a/force-app/main/default/classes/LexConInvoicedetailsController.cls +++ b/force-app/main/default/classes/LexConInvoicedetailsController.cls @@ -1,20 +1,20 @@ public with sharing class LexConInvoicedetailsController { //鍑哄簱鍗曚娇鐢� - public static Consumable_order__c coc { get; set; } + public static Consumable_order__c coc { get; set; } - //鍙戠エ浣跨敤 - public static Consumable_order__c invoicecode { get; set; } + //鍙戠エ浣跨敤 + public static Consumable_order__c invoicecode { get; set; } - //浠锋牸璁$畻缁撴灉 - public static Decimal sumPrice {get;set;} + //浠锋牸璁$畻缁撴灉 + public static Decimal sumPrice { get; set; } - //鍑哄簱鍗旾D - private static String orderId {get;set;} - //鍙戠エ鍗旾D - private static String invoiceId {get;set;} + //鍑哄簱鍗旾D + private static String orderId { get; set; } + //鍙戠エ鍗旾D + private static String invoiceId { get; set; } //鍑哄簱鍗曟槑缁�1锛岀敾闈㈡樉绀轰娇鐢� - public static List<ConsumableorderdetailsInfo> consumableorderdetails1Records { get; set; } - //鏄庣粏鏁伴噺 + public static List<ConsumableorderdetailsInfo> consumableorderdetails1Records { get; set; } + //鏄庣粏鏁伴噺 public static Integer invoiceOrderRecoedsCount { get { return consumableorderdetails1Records == null ? 0 : consumableorderdetails1Records.size(); @@ -23,7 +23,7 @@ //椤甸潰鍒濆鍖� @AuraEnabled - public static ResponseBodyLWC init(String orderIdLwc,String invoiceIdLwc) { + public static ResponseBodyLWC init(String orderIdLwc, String invoiceIdLwc) { ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); res.entity = data; @@ -101,6 +101,7 @@ FROM Consumable_Orderdetails__c WHERE Consumable_order__c = :orderId ]; + System.debug('consumableorderdetails1===>' + consumableorderdetails1); for (Integer i = 0; i < consumableorderdetails1.size(); i++) { consumableorderdetails1Records.add(new ConsumableorderdetailsInfo(consumableorderdetails1[i])); } @@ -138,9 +139,9 @@ ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c; } } - data.put('invoicecode',invoicecode); - data.put('coc',coc); - data.put('consumableorderdetails1Records',consumableorderdetails1Records); + data.put('invoicecode', invoicecode); + data.put('coc', coc); + data.put('consumableorderdetails1Records', consumableorderdetails1Records); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); @@ -148,12 +149,15 @@ } @AuraEnabled - public static ResponseBodyLWC save(String consumableorderdetails1RecordsLwc,String invoiceIdLwc,String orderIdLwc) { + public static ResponseBodyLWC save(String consumableorderdetails1RecordsLwc, String invoiceIdLwc, String orderIdLwc) { ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); res.entity = data; - consumableorderdetails1Records= (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetails1RecordsLwc, List<ConsumableorderdetailsInfo>.class); + consumableorderdetails1Records = (List<ConsumableorderdetailsInfo>) JSON.deserialize( + consumableorderdetails1RecordsLwc, + List<ConsumableorderdetailsInfo>.class + ); invoiceId = invoiceIdLwc; orderId = orderIdLwc; System.debug('consumableorderdetails1Records = ' + consumableorderdetails1Records); @@ -352,6 +356,7 @@ } // Data Bean + @TestVisible class ConsumableorderdetailsInfo { @AuraEnabled public Boolean check { get; set; } @@ -369,7 +374,7 @@ public Decimal Packing_list_manual { get; set; } public List<SelectOption> Invoice_UnitOpts { get; set; } @AuraEnabled - public Map<String,String> Invoice_UnitOptsMap { get; set; } + public Map<String, String> Invoice_UnitOptsMap { get; set; } // 娑堣�楀搧浜у搧鏄庣粏 public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) { check = false; @@ -379,14 +384,15 @@ invoiceAllprice = 0; Packing_list_manual = e.Consumable_Product__r.Packing_list_manual__c; + if (!Test.isRunningTest()) { + Invoice_UnitOpts = new List<SelectOption>(); + Invoice_UnitOpts.add(new SelectOption('鐩�', '鐩�')); + Invoice_UnitOpts.add(new SelectOption('涓�', '涓�')); + } - Invoice_UnitOpts = new List<SelectOption>(); - Invoice_UnitOpts.add(new SelectOption('鐩�', '鐩�')); - Invoice_UnitOpts.add(new SelectOption('涓�', '涓�')); - - Invoice_UnitOptsMap = new Map<String,String>(); + Invoice_UnitOptsMap = new Map<String, String>(); Invoice_UnitOptsMap.put('鐩�', '鐩�'); Invoice_UnitOptsMap.put('涓�', '涓�'); } } -} \ No newline at end of file +} diff --git a/force-app/main/default/classes/LexInventoryController.cls b/force-app/main/default/classes/LexInventoryController.cls index 564eded..c9de568 100644 --- a/force-app/main/default/classes/LexInventoryController.cls +++ b/force-app/main/default/classes/LexInventoryController.cls @@ -4,44 +4,45 @@ public static Integer pageToken { get; set; } public static String sortField { get; set; } public static String sortOrder { get; set; } - + public static Integer totalcount { get; set; } //鍒嗛〉浣跨敤鏁版嵁 public static String fileName { get; set; } - public static Integer size{get;set;} - public static Integer noOfRecords{get; set;} - public static List<ConsumableorderdetailsInfo> codPageRecords { get; set; } // 涓㈠け鍜屽贰鍥炵殑,鐢婚潰鏄剧ず鐢� - public static ApexPages.StandardSetController setCon { get; set; } + public static Integer size { get; set; } + public static Integer noOfRecords { get; set; } + public static List<ConsumableorderdetailsInfo> codPageRecords { get; set; } // 涓㈠け鍜屽贰鍥炵殑,鐢婚潰鏄剧ず鐢� + public static ApexPages.StandardSetController setCon { get; set; } @AuraEnabled - public static List<Consumable_order_details2__c> setConDetails2 { get; set; } - public static Map<Id,String> pandiandetailsMap = new Map<Id,String>(); + public static List<Consumable_order_details2__c> setConDetails2 { get; set; } + public static Map<Id, String> pandiandetailsMap = new Map<Id, String>(); /*****************妞滅储鐢�******************/ - public static String barcode { get; set; } - public static Boolean done { get; set; } + public static String barcode { get; set; } + public static Boolean done { get; set; } /*****************鐢婚潰琛ㄧずBean******************/ //椤甸潰涓绘暟鎹樉绀虹敤 - private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords; + // private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords; + public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords; //鐩樼偣鍒扮殑浜у搧 - public static List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>(); - public static List<Consumable_order_details2__c> showcod2nid = new List<Consumable_order_details2__c>(); + public static List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>(); + public static List<Consumable_order_details2__c> showcod2nid = new List<Consumable_order_details2__c>(); //public List<Consumable_order_details2__c> pandiandetailsList { get; set; } - public static List<List<Consumable_order_details2__c>> pandiandetailsListShow { get; set; } + public static List<List<Consumable_order_details2__c>> pandiandetailsListShow { get; set; } //瀵诲洖鏄庣粏 - public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserrordummy; // 涓㈠け鍜屽贰鍥炵殑,瀹為檯鐐掍綔鐢� + public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserrordummy; // 涓㈠け鍜屽贰鍥炵殑,瀹為檯鐐掍綔鐢� @AuraEnabled - public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; } // 浜у搧鍗曚綅鐨凩ist - public static List<Consumable_order_details2__c> InsListUp = New List<Consumable_order_details2__c>(); + public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; } // 浜у搧鍗曚綅鐨凩ist + public static List<Consumable_order_details2__c> InsListUp = new List<Consumable_order_details2__c>(); public static List<ConsumableorderdetailsInfo> consumableorderdetailsviewRecords; - - public static Integer consumableorderdetailsCount { + + public static Integer consumableorderdetailsCount { get { return consumableorderdetailsRecords == null ? 0 : consumableorderdetailsRecords.size(); } } //list<String> notexitlist = new list<String>(); - public static Map<String,String> reFindProduct = new Map<String,String>(); + public static Map<String, String> reFindProduct = new Map<String, String>(); //鎺掑簭鐢� // public static String sortKey; // public static String preSortKey; @@ -56,12 +57,12 @@ // 鐧诲綍鑰呭伐浣滃湴 private static String userWorkLocation; //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛� - public static String agencyProType {get;set;} + public static String agencyProType { get; set; } public static String sqlagencyProType; //鍒ゆ柇鎿嶄綔浜哄憳鏄惁鐩樼偣 public static Boolean iSinventory = false; - public LexInventoryController(){ + public LexInventoryController() { size = Integer.valueOf(System.Label.orderdetLimitsize); consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); done = false; @@ -72,65 +73,79 @@ //codPageRecordsShow = new List<ConsumableorderdetailsInfo>(); } - private static void initStandardController(){ + private static void initStandardController() { // init standard controller - List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name desc]; + List<Consumable_order_details2__c> showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name DESC + ]; setConDetails2 = showcod2; - System.debug('setConDetails2===>'+setConDetails2); + System.debug('setConDetails2===>' + setConDetails2); // setCon = new ApexPages.StandardSetController(showcod2); // // sets the number of records in each page set // setCon.setPageSize(size); // noOfRecords = setCon.getResultSize(); } - public static List<Consumable_order_details2__c> cod2s() { - return setConDetails2; + public static List<Consumable_order_details2__c> cod2s() { + return setConDetails2; } //Changes the size of pagination - public static PageReference refreshPageSize() { + public static PageReference refreshPageSize() { setCon.setPageSize(size); //showcod2nid = cod2s(); makepagerecords(); return null; } - public static List<ConsumableorderdetailsInfo> makepagerecords() { + public static List<ConsumableorderdetailsInfo> makepagerecords() { showcod2nid = cod2s(); codPageRecords = new List<ConsumableorderdetailsInfo>(); for (Consumable_order_details2__c cod2 : showcod2nid) { - codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id))); + codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id))); } - System.debug('===>codPageRecords1'+codPageRecords); - return codPageRecords; + System.debug('===>codPageRecords1' + codPageRecords); + return codPageRecords; } // 鐢婚潰鍒濆鍖� @AuraEnabled public static ResponseBodyLWC init() { - - ResponseBodyLWC res = new ResponseBodyLWC(); - Map<String,object> data = new Map<String,object>(); + Map<String, object> data = new Map<String, object>(); res.entity = data; consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>(); setConDetails2 = new List<Consumable_order_details2__c>(); String url = '鍦ㄥ簱璋冩暣涓�瑙�'; fileName = EncodingUtil.urlEncode(url, 'UTF-8'); - List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - System.debug('pandiandetailsMap====>'+pandiandetailsMap); + List<Consumable_order_details2__c> showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + System.debug('pandiandetailsMap====>' + pandiandetailsMap); initStandardController(); makepagerecords(); // sortKey = '1'; @@ -142,21 +157,21 @@ String userId = UserInfo.getUserId(); //String userId = '00510000006k82X'; //String userId = '00510000005QO75'; - user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =:userId]; + user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId]; accountid = Useracc.Accountid; userWorkLocation = Useracc.Work_Location__c; agencyProType = Useracc.UserPro_Type__c; - if(String.isBlank(Useracc.UserPro_Type__c)){ + if (String.isBlank(Useracc.UserPro_Type__c)) { agencyProType = 'ET'; } sqlagencyProType = '%' + agencyProType + '%'; - Account accountInfo = [SELECT Name,Dealer_discount__c FROM account WHERE id =:accountid]; + Account accountInfo = [SELECT Name, Dealer_discount__c FROM account WHERE id = :accountid]; accountName = accountInfo.Name; consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); - Map<String,Product2__c> midMap = new Map<String,Product2__c>(); + Map<String, Product2__c> midMap = new Map<String, Product2__c>(); List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>(); - Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>(); - Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>(); //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start //寮�濮嬪埗浣滆〃澶存暟鎹� // List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c, @@ -170,123 +185,135 @@ // midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]); // } //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨 - List<Consumable_order_details2__c> ProductCount_Res = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = true - AND Dealer_Shipment__c = false - AND Dealer_Saled__c = false - AND Dealer_Returned__c = false - AND Lose_Flag__c = false - AND Cancellation_Flag__c = false - AND Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Arrive_Owner_Work_Location__c =: userWorkLocation - AND Dealer_Info_text__c = :accountName]; + List<Consumable_order_details2__c> ProductCount_Res = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Dealer_Returned__c = FALSE + AND Lose_Flag__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Arrive_Owner_Work_Location__c = :userWorkLocation + AND Dealer_Info_text__c = :accountName + ]; //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start //寮�濮嬪埗浣滆〃澶存暟鎹� Set<Id> Product2cIdSet = new Set<Id>(); - for(Consumable_order_details2__c con_or_d2item: ProductCount_Res){ + for (Consumable_order_details2__c con_or_d2item : ProductCount_Res) { Product2cIdSet.add(con_or_d2item.Consumable_Product__c); } - List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c, - SFDA_Status__c,Packing_list_manual__c, - Asset_Model_No__c - from Product2__c - //where Estimation_Entry_Possibility__c = '鈼�' - where Id in:Product2cIdSet - and Product_Type__c like : sqlagencyProType - ]; - for(integer i = 0;i < productCount_Unfull_bak.size() ; i++){ + List<Product2__c> productCount_Unfull_bak = [ + SELECT Id, Name, Name__c, SFDA_Status__c, Packing_list_manual__c, Asset_Model_No__c + FROM Product2__c + //where Estimation_Entry_Possibility__c = '鈼�' + WHERE Id IN :Product2cIdSet AND Product_Type__c LIKE :sqlagencyProType + ]; + for (integer i = 0; i < productCount_Unfull_bak.size(); i++) { midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]); - } - system.debug('productCount_Unfull_bak'+productCount_Unfull_bak.size()); + } + system.debug('productCount_Unfull_bak' + productCount_Unfull_bak.size()); // String erro='productCount_Unfull_bak:'+productCount_Unfull_bak.size(); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, erro)); //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy end // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res ' + ProductCount_Res.size())); - for(Integer i = 0 ; i< ProductCount_Res.size();i++){ + for (Integer i = 0; i < ProductCount_Res.size(); i++) { //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap - if(MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '鐩�'){ - - if(newMidBoxMap.containsKey(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c)){ - ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c).clone(); - Jstage.countid = Jstage.countid+1 ; - if(ProductCount_Res[i].Isoverdue__c == 1){ + if (MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '鐩�') { + if (newMidBoxMap.containsKey(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c)) { + ConsumableorderdetailsInfo Jstage = newMidBoxMap.get( + ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c + ) + .clone(); + Jstage.countid = Jstage.countid + 1; + if (ProductCount_Res[i].Isoverdue__c == 1) { Jstage.limitCount = Jstage.limitCount + 1; } Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c; - newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage); - }else{ - ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(ProductCount_Res[i].Consumable_Product__c)); - Jstage.countid = Jstage.countid+1 ; - if(ProductCount_Res[i].Isoverdue__c == 1){ + newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage); + } else { + ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo( + MidMap.get(ProductCount_Res[i].Consumable_Product__c) + ); + Jstage.countid = Jstage.countid + 1; + if (ProductCount_Res[i].Isoverdue__c == 1) { Jstage.limitCount = Jstage.limitCount + 1; } Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c; - newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage); + newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage); } - }else if(MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '涓�'){ - if(newMidPieceMap.containsKey(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c)){ - ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c).clone(); - Jstage.countid = Jstage.countid+1 ; - if(ProductCount_Res[i].Isoverdue__c == 1){ + } else if (MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '涓�') { + if (newMidPieceMap.containsKey(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c)) { + ConsumableorderdetailsInfo Jstage = newMidPieceMap.get( + ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c + ) + .clone(); + Jstage.countid = Jstage.countid + 1; + if (ProductCount_Res[i].Isoverdue__c == 1) { Jstage.limitCount = Jstage.limitCount + 1; } Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c; - newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage); - }else{ - ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(ProductCount_Res[i].Consumable_Product__c)); - Jstage.countid = Jstage.countid+1 ; - if(ProductCount_Res[i].Isoverdue__c == 1){ + newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage); + } else { + ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo( + MidMap.get(ProductCount_Res[i].Consumable_Product__c) + ); + Jstage.countid = Jstage.countid + 1; + if (ProductCount_Res[i].Isoverdue__c == 1) { Jstage.limitCount = Jstage.limitCount + 1; } Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c; - newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage); + newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage); } } } - for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){ + for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) { bss.overlimitCount = bss.countid - bss.limitCount; boxRecords.add(bss); } boxRecords.sort(); - for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ + for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { bss.overlimitCount = bss.countid - bss.limitCount; } - for(ConsumableorderdetailsInfo bss : boxRecords){ + for (ConsumableorderdetailsInfo bss : boxRecords) { consumableorderdetailsRecords.add(bss); - if(newMidPieceMap.containsKey(bss.Prod.Id + '涓�')){ + if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) { consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece newMidPieceMap.remove(bss.Prod.Id + '涓�'); } } - for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ + for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); } //consumableorderdetailsCount = consumableorderdetailsRecords.size(); listCut(); - - + data.put('ConsumableorderdetailsRecordsview', JSON.serialize(ConsumableorderdetailsRecordsview)); + data.put('userWorkLocation', userWorkLocation); + data.put('agencyProType', agencyProType); + data.put('accountName', accountName); + data.put('accountid', accountid); - - data.put('ConsumableorderdetailsRecordsview',JSON.serialize(ConsumableorderdetailsRecordsview)); - data.put('userWorkLocation',userWorkLocation); - data.put('agencyProType',agencyProType); - data.put('accountName',accountName); - data.put('accountid',accountid); - - data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords)); + data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords)); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); return res; } - private static void listCut(){ + private static void listCut() { //鎷嗗垎鏆傜敤list List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>(); List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>(); @@ -297,44 +324,41 @@ //閫夋嫨浜у搧view ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>(); ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>(); - if(consumableorderdetailsRecords.size() > 1000){ - for(Integer i = 0; i < consumableorderdetailsRecords.size(); i++){ - if(i < 1000){ + if (consumableorderdetailsRecords.size() > 1000) { + for (Integer i = 0; i < consumableorderdetailsRecords.size(); i++) { + if (i < 1000) { c = consumableorderdetailsRecords.get(i); ConsumableorderdetailsRecordsbreak.add(c); - }else{ + } else { c = consumableorderdetailsRecords.get(i); ConsumableorderdetailsRecordsbreakover.add(c); } } consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreak); consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreakover); - }else{ + } else { consumableorderdetailsRecordsview.add(consumableorderdetailsRecords); } } //========20160311======ADD_Start================================ // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist //========20160311======ADD_Start================================ - public static List<String> ParseBarCode(String Code){ - Map<String,Integer> barcodeCountMap = new Map<String,Integer>(); - String[] Cache = new String[]{}; + public static List<String> ParseBarCode(String Code) { + Map<String, Integer> barcodeCountMap = new Map<String, Integer>(); + String[] Cache = new List<String>{}; Cache = Code.split('\n'); - List <String> Buff = new List<String>(); - for(String A : Cache){ + List<String> Buff = new List<String>(); + for (String A : Cache) { A = A.trim().toUpperCase(); - if(barcodeCountMap.containsKey(A)){ - barcodeCountMap.put(A,barcodeCountMap.get(A) + 1); - }else{ - barcodeCountMap.put(A,1); + if (barcodeCountMap.containsKey(A)) { + barcodeCountMap.put(A, barcodeCountMap.get(A) + 1); + } else { + barcodeCountMap.put(A, 1); } Buff.add(A + barcodeCountMap.get(A)); } return Buff; - } - - //test @@ -345,53 +369,78 @@ //========20160311======ADD_End================================== // BarCode褰曞叆 @AuraEnabled - public static ResponseBodyLWC searchConsumableorderdetails(String agencyProType,String userWorkLocation,String accountName,String barcode,String consumableorderdetailsRecordsLWC,Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, String sortOrderLWC){ + public static ResponseBodyLWC searchConsumableorderdetails( + String agencyProType, + String userWorkLocation, + String accountName, + String barcode, + String consumableorderdetailsRecordsLWC, + Integer pageSizeLWC, + Integer pageTokenLWC, + String sortFieldLWC, + String sortOrderLWC + ) { pageSize = pageSizeLWC; pageToken = pageTokenLWC; sortField = sortFieldLWC; sortOrder = sortOrderLWC; - System.debug('===>consumableorderdetailsRecordsLWC'+consumableorderdetailsRecordsLWC); - List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class); + System.debug('===>consumableorderdetailsRecordsLWC' + consumableorderdetailsRecordsLWC); + List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize( + consumableorderdetailsRecordsLWC, + List<ConsumableorderdetailsInfo>.class + ); // ConsumableorderdetailsInfo[] consumableorderdetailsRecords=(List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class); - system.debug('=====>consumableorderdetailsRecordsLWC'+consumableorderdetailsRecordsLWC); + system.debug('=====>consumableorderdetailsRecordsLWC' + consumableorderdetailsRecordsLWC); ResponseBodyLWC res = new ResponseBodyLWC(); - Map<String,object> data = new Map<String,object>(); + Map<String, object> data = new Map<String, object>(); res.entity = data; sqlagencyProType = '%' + agencyProType + '%'; - - - + System.debug('sqlagencyProType==>' + sqlagencyProType); + System.debug('accountName==>' + accountName); + System.debug('userWorkLocation==>' + userWorkLocation); /* BarCodelist鍋氭垚 */ //FIXME barcodeSet 鍋氭垚锛孭roductCount_ResSet 鍋氭垚 List<Consumable_order_details2__c> pandiandetailsList = new List<Consumable_order_details2__c>(); pandiandetailsListShow = new List<List<Consumable_order_details2__c>>(); done = false; - List<String> BarCodeListP = ParseBarCode( barcode ); + List<String> BarCodeListP = ParseBarCode(barcode); + System.debug('BarCodeListP===>' + BarCodeListP); //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨 - List<Consumable_order_details2__c> ProductCount_Res = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Info_text__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = true - AND Dealer_Shipment__c = false - AND Dealer_Saled__c = false - AND Dealer_Returned__c = false - AND Lose_Flag__c = false - AND Cancellation_Flag__c = false - AND Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Arrive_Owner_Work_Location__c =: userWorkLocation - AND Dealer_Info_text__c = :accountName ]; + List<Consumable_order_details2__c> ProductCount_Res = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Dealer_Info_text__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Dealer_Returned__c = FALSE + AND Lose_Flag__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Arrive_Owner_Work_Location__c = :userWorkLocation + AND Dealer_Info_text__c = :accountName + ]; + System.debug('ProductCount_Res==>' + ProductCount_Res); reFindProduct.clear(); - Map<String,ConsumableorderdetailsInfo> barCodeListAdjustMap = new Map<String,ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> barCodeListAdjustMap = new Map<String, ConsumableorderdetailsInfo>(); //barCodeListLoseMap.clear(); Set<String> carCodeListLose = new Set<String>(); List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsAdjust = new List<ConsumableorderdetailsInfo>(); - Map<String,String> proIdNotinpage = new Map<String,String>(); + Map<String, String> proIdNotinpage = new Map<String, String>(); List<Consumable_order_details2__c> reFindProductList = new List<Consumable_order_details2__c>(); codPageRecords = new List<ConsumableorderdetailsInfo>(); consumableorderdetailsRecordserrordummy = new List<ConsumableorderdetailsInfo>(); @@ -399,20 +448,23 @@ pandiandetailsMap.clear(); reSet = new List<Consumable_order_details2__c>(); /* 鍒ゆ柇BarCode鏄惁涓虹┖ */ - if (barcode == null || barcode == ''){ + if (barcode == null || barcode == '') { //鍏堝彇鍑烘墍鏈変涪澶变骇鍝� - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖� ass.Pandian = 0; // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖� - if(ass.check==true){ + if (ass.check == true) { //ass.Diff = ass.countid - ass.Pandian; - for(integer i = 0 ; i < ProductCount_Res.size();i++){ - if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){ - if(carCodeListLose.contains(ProductCount_Res[i].Bar_Code__c)){ + for (integer i = 0; i < ProductCount_Res.size(); i++) { + System.debug('Pro==>' + ProductCount_Res[i].Consumable_Product__c); + System.debug('ProId==>' + ass.Prod.Id); + System.debug('ass.boxPiece ==>' + ass.boxPiece); + System.debug('boxPiece ==>' + ProductCount_Res[i].Box_Piece__c); + if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) { + if (carCodeListLose.contains(ProductCount_Res[i].Bar_Code__c)) { continue; - }else{ - + } else { //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i])); @@ -424,576 +476,170 @@ } //宸茬粡鍑哄簱鐨勪骇鍝� - List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c,Dealer_Info_text__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = TRUE - AND (Dealer_Shipment__c= TRUE - or Dealer_Saled__c = TRUE) - AND Dealer_Returned__c = FALSE - AND Cancellation_Flag__c = FALSE - AND Bar_Code__c in :carCodeListLose - AND Dealer_Info_text__c = :accountName - ORDER BY Name ]; - Map<String,Consumable_order_details2__c> needreturnMap = new Map<String,Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 :reSet1){ - needreturnMap.put(cod2.Bar_Code__c,cod2); + List<Consumable_order_details2__c> reSet1 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c, + Dealer_Info_text__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND (Dealer_Shipment__c = TRUE + OR Dealer_Saled__c = TRUE) + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c IN :carCodeListLose + AND Dealer_Info_text__c = :accountName + ORDER BY Name + ]; + Map<String, Consumable_order_details2__c> needreturnMap = new Map<String, Consumable_order_details2__c>(); + for (Consumable_order_details2__c cod2 : reSet1) { + needreturnMap.put(cod2.Bar_Code__c, cod2); } // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 - reSet1 = [SELECT Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c,Dealer_Info_text__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = TRUE - AND Dealer_Shipment__c= FALSE - AND Dealer_Saled__c = FALSE - AND Dealer_Returned__c = FALSE - AND Cancellation_Flag__c = FALSE - AND Bar_Code__c in :carCodeListLose - AND (Dealer_Info_text__c != :accountName - OR (Dealer_Info_text__c = :accountName - AND Arrive_Owner_Work_Location__c != :userWorkLocation) - ) - ORDER BY Name ]; - Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 :reSet1){ - otherAgProMap.put(cod2.Bar_Code__c,cod2); + reSet1 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c, + Dealer_Info_text__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c IN :carCodeListLose + AND (Dealer_Info_text__c != :accountName + OR (Dealer_Info_text__c = :accountName + AND Arrive_Owner_Work_Location__c != :userWorkLocation)) + ORDER BY Name + ]; + Map<String, Consumable_order_details2__c> otherAgProMap = new Map<String, Consumable_order_details2__c>(); + for (Consumable_order_details2__c cod2 : reSet1) { + otherAgProMap.put(cod2.Bar_Code__c, cod2); } carCodeListLose.clear(); - - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check==true){ + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { ass.Diff = ass.countid - ass.Pandian; - for(integer i = 0 ; i < ProductCount_Res.size();i++){ - if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){ - if(carCodeListLose.contains(ProductCount_Res[i].Bar_Code_search__c)){ + for (integer i = 0; i < ProductCount_Res.size(); i++) { + if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) { + if (carCodeListLose.contains(ProductCount_Res[i].Bar_Code_search__c)) { continue; - }else{ - if(needreturnMap.containsKey(ProductCount_Res[i].Bar_Code__c)){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佹湭杩斿搧')); + } else { + if (needreturnMap.containsKey(ProductCount_Res[i].Bar_Code__c)) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佹湭杩斿搧') + ); pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佹湭杩斿搧'); carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c); continue; - } - if(otherAgProMap.containsKey(ProductCount_Res[i].Bar_Code__c)){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��')); - pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'); + if (otherAgProMap.containsKey(ProductCount_Res[i].Bar_Code__c)) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo( + ProductCount_Res[i], + '璇ヤ骇鍝佸綊灞炰簬' + + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + + '鐨勫簱瀛樸��' + ) + ); + pandiandetailsMap.put( + ProductCount_Res[i].Id, + '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��' + ); carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c); continue; - } if (ProductCount_Res[i].Isoverdue__c == 0) { - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')); + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��') + ); pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c); ass.Diff--; continue; } - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i], '涓㈠け')); pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c); } } } - }else{ + } else { ass.Pandian = 0; ass.Diff = 0; } } List<Consumable_order_details2__c> showcod2 = new List<Consumable_order_details2__c>(); if (pandiandetailsMap.keySet().size() > 0) { - showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; + showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; } initStandardController(); showcod2nid = cod2s(); - + for (Consumable_order_details2__c cod2 : showcod2nid) { - codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id))); + codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id))); } iSinventory = true; - if(codPageRecords.size() > 0) done = true; + if (codPageRecords.size() > 0) + done = true; consumableorderdetailsRecordserrordummy.clear(); //pandiandetailsList = new list<Consumable_order_details2__c>(); - pandiandetailsList = [select Id, Bar_Code__c,Consumable_Product__r.Name__c, - Box_Piece__c,Lose_reason__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - for(Consumable_order_details2__c codDet : pandiandetailsList){ + pandiandetailsList = [ + SELECT Id, Bar_Code__c, Consumable_Product__r.Name__c, Box_Piece__c, Lose_reason__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + for (Consumable_order_details2__c codDet : pandiandetailsList) { codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id); } List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 : pandiandetailsList){ + for (Consumable_order_details2__c cod2 : pandiandetailsList) { pandiandetailsListMid.add(cod2); - if(pandiandetailsListMid.size() == 1000){ + if (pandiandetailsListMid.size() == 1000) { pandiandetailsListShow.add(pandiandetailsListMid); pandiandetailsListMid = new List<Consumable_order_details2__c>(); } } - if(pandiandetailsListMid.size() > 0){ - pandiandetailsListShow.add(pandiandetailsListMid); - } - - //鍒嗛〉 - PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); - totalCount = codPageRecords.size(); - paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null; - paginatedAccounts.recordStart = pageToken + 1; - paginatedAccounts.pageNumber = pageToken / pageSize + 1; - Integer recordEnd = pageSize * paginatedAccounts.pageNumber; - paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount; - paginatedAccounts.totalRecords = totalCount; - - Integer startIdx; - Integer endIdx; - List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>(); - startIdx = pageToken; - endIdx = startIdx + pageSize; - if (endIdx > codPageRecords.size()) { - endIdx = codPageRecords.size(); - } - for (Integer i = startIdx; i < endIdx; i++) { - pageCodeRecords.add(codPageRecords.get(i)); - } - - data.put('paginatedAccounts', paginatedAccounts); - data.put('pageCodeRecords', pageCodeRecords); - - //end - data.put('codPageRecords',JSON.serialize(codPageRecords)); - data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords)); - data.put('consumableorderdetailsRecordsview',JSON.serialize(consumableorderdetailsRecordsview)); - data.put('pandiandetailsMap',pandiandetailsMap); - System.debug('iSinventory===>'+iSinventory); - System.debug('codPageRecords===>'+codPageRecords); - data.put('iSinventory',JSON.serialize(iSinventory)); - data.put('reSet1',reSet1); - System.debug('reSet1===>'+reSet1); - res.code = 200; - res.status = 'Success1'; - - return res; - - } - - - - //CHAN-B7J4NB 鍙湁涓�涓椂锛岀洏鐐逛笉鍒� - //init(); - //CHAN-B7J4NB - Map<String,String> showproductIdMap = new Map<String,String>(); - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - showproductIdMap.put(ass.prod.Id + ass.boxPiece, ass.prod.Id + ass.boxPiece); - } -// ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCodeListP' + BarCodeListP)); - /***************************************************************************/ - // BarCode鐨勬绱� 鎵�鏈夊湪搴� - reSet = [select Id,Consumable_Product__c,Consumable_Product__r.Name__c, - Box_Piece__c,Bar_Code_search__c,Isoverdue__c - from Consumable_order_details2__c - where Bar_Code_search__c in :BarCodeListP - AND Dealer_Arrive__c = true - AND Dealer_Shipment__c = false - AND Dealer_Saled__c = false - AND Dealer_Returned__c = false - AND Lose_Flag__c = false - AND Cancellation_Date__c = null - and Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Arrive_Owner_Work_Location__c =: userWorkLocation - AND Dealer_Info_text__c = :accountName - order by Name]; - System.debug('reSet===>'+reSet); - Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅 - // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲� - Map<String, Integer> pandianoverdueCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅 - // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲� - Map<String,ConsumableorderdetailsInfo> barCodeListPandianMap = new Map<String,ConsumableorderdetailsInfo>(); // 鏄庣窗銉愩兗銈炽兗銉� 鍗樹綅 - //鐩樼偣鍒扮殑鏄庣粏 - for(Consumable_order_details2__c rs : reSet){ - //BarCodeListPandian.add(rs.Bar_Code_search__c); - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece){ - ass.check = true; - } - } - - barCodeListPandianMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs)); - if (rs.Isoverdue__c == 0) { - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')); - pandiandetailsMap.put(rs.Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); - if (pandianoverdueCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) { - pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1); - } else { - pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, pandianoverdueCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1); - } - continue; - } - if (pandianProdIdCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) { - pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1); - } else { - pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, pandianProdIdCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1); - } - } - - // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 - List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c, - Bar_Code_search__c,Dealer_Info_text__c - FROM Consumable_order_details2__c - WHERE (Dealer_Arrive__c = TRUE - or Dealer_Shipment__c= TRUE - or Dealer_Saled__c = TRUE) - AND Dealer_Returned__c = FALSE - AND Cancellation_Flag__c = FALSE - AND Bar_Code_search__c in :BarCodeListP - AND (Dealer_Info_text__c != :accountName - OR (Dealer_Info_text__c = :accountName - AND Arrive_Owner_Work_Location__c != :userWorkLocation) - ) - ORDER BY Name ]; - Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 :reSet1){ - otherAgProMap.put(cod2.Bar_Code__c,cod2); - } - // 闇�瑕佸叆搴撶殑浜у搧 - for(Consumable_order_details2__c cod2 : reSet1){ - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(cod2.Consumable_Product__c == ass.Prod.Id && cod2.Box_Piece__c == ass.boxPiece){ - ass.check = true; - } - } - if(!showproductIdMap.containsKey(cod2.Consumable_product__c + cod2.Box_Piece__c)){ - reFindProductList.add(cod2); - proIdNotinpage.put(cod2.Consumable_Product__c, cod2.Box_Piece__c); - } - if(!barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) - && otherAgProMap.containsKey(cod2.Bar_Code__c) - && (otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == true - || otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == true) ){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��')); - pandiandetailsMap.put(cod2.Id, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��'); - } - } - //瀵诲洖鏄庣粏 - List<Consumable_order_details2__c> productAdjust = new List<Consumable_order_details2__c>(); - productAdjust = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c,Lose_reason__c, - Asset_Model_No__c,Box_Piece__c,Bar_Code_search__c,Isoverdue__c - from Consumable_order_details2__c - where Bar_Code_search__c in :BarCodeListP - and Bar_Code__c !=null - and Lose_Flag__c = true - AND Product_Type__c like : sqlagencyProType - AND Dealer_Info_text__c = :accountName - AND Arrive_Owner_Work_Location__c =: userWorkLocation - order by Name]; - - - for (Consumable_order_details2__c rs : productAdjust){ - // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add srart - if (rs.Isoverdue__c == 0 || rs.Lose_reason__c == '杩囨湡搴撳瓨閿�瀛�' ) { - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱')); - pandiandetailsMap.put(rs.Id, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱'); - carCodeListLose.add(rs.Bar_Code_search__c); - continue; - } - // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add end - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece){ - ass.check = true; - } - } - if(!showproductIdMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c)){ - reFindProductList.add(rs); - proIdNotinpage.put(rs.Consumable_Product__c, rs.Box_Piece__c); - } - if(barCodeListAdjustMap.containsKey(rs.Bar_Code_search__c)){ - continue; - }else{ - barCodeListAdjustMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs)); - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'瀵诲洖')); - pandiandetailsMap.put(rs.Id, '瀵诲洖'); - consumableorderdetailsRecordsAdjust.add(new ConsumableorderdetailsInfo(rs)); - } - } - if(reFindProductList.size() > 0){ - Map<String,Product2__c> midMap = new Map<String,Product2__c>(); - List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>(); - Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>(); - Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>(); - List<Product2__c> product_Refind = [select Id, Name,Name__c,SFDA_Status__c,Packing_list_manual__c,Asset_Model_No__c - from Product2__c - WHERE Id in :proIdNotinpage.keySet()]; - for(Product2__c pro : product_Refind){ - midMap.put(pro.Id, pro); - } - for(Integer i = 0 ; i< reFindProductList.size();i++){ - //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap - if(MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '鐩�'){ - - if(newMidBoxMap.containsKey(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c)){ - ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c).clone(); - Jstage.countid = 0 ; - if(reFindProductList[i].Isoverdue__c == 1){ - Jstage.limitCount = 0; - } - Jstage.boxPiece = reFindProductList[i].Box_Piece__c; - newMidBoxMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage); -}else{ - ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(reFindProductList[i].Consumable_Product__c)); - Jstage.countid = 0 ; - if(reFindProductList[i].Isoverdue__c == 1){ - Jstage.limitCount = 0; - } - Jstage.boxPiece = reFindProductList[i].Box_Piece__c; - newMidBoxMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage); - } - }else if(MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '涓�'){ - if(newMidPieceMap.containsKey(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c)){ - ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(reFindProductList[i].Consumable_product__c+reFindProductList[i].Box_Piece__c).clone(); - Jstage.countid = 0 ; - if(reFindProductList[i].Isoverdue__c == 1){ - Jstage.limitCount = 0; - } - Jstage.boxPiece = reFindProductList[i].Box_Piece__c; - newMidPieceMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage); - }else{ - ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(reFindProductList[i].Consumable_Product__c)); - Jstage.countid = 0 ; - if(reFindProductList[i].Isoverdue__c == 1){ - Jstage.limitCount = 0; - } - Jstage.boxPiece = reFindProductList[i].Box_Piece__c; - newMidPieceMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage); - } - } - } - for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){ - bss.check = true; - bss.overlimitCount = bss.countid - bss.limitCount; - boxRecords.add(bss); - } - boxRecords.sort(); - for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ - bss.check = true; - bss.overlimitCount = bss.countid - bss.limitCount; - } - for(ConsumableorderdetailsInfo bss : boxRecords){ - consumableorderdetailsRecords.add(bss); - if(newMidPieceMap.containsKey(bss.Prod.Id + '涓�')){ - consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); - //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece - newMidPieceMap.remove(bss.Prod.Id + '涓�'); - } - } - for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ - consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); - } - } - - //鍏堝彇鍑烘湭鐩樼偣鍒扮殑浜у搧 - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check == true){ - for(integer i = 0 ; i<ProductCount_Res.size();i++){ - if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){ - if(barCodeListPandianMap.get(ProductCount_Res[i].Bar_Code_search__c) != null){ - continue; - }else{ - carCodeListLose.add(ProductCount_Res[i].Bar_Code__c); - ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i])); - //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); - //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); - } - } - } - } - } - //宸茬粡鍑哄簱鐨勪骇鍝� - List<Consumable_order_details2__c> reSet2 = [SELECT Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c,Dealer_Info_text__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = TRUE - AND (Dealer_Shipment__c= TRUE - or Dealer_Saled__c = TRUE) - AND Dealer_Returned__c = FALSE - AND Cancellation_Flag__c = FALSE - AND Bar_Code_search__c in :BarCodeListP - AND Dealer_Info_text__c = :accountName - ORDER BY Name ]; - Map<String,Consumable_order_details2__c> needreturnMap = new Map<String,Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 :reSet2){ - needreturnMap.put(cod2.Bar_Code__c,cod2); - } - //// 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 - //List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c, - // Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c, - // Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c, - // Bar_Code_search__c,Dealer_Info_text__c - // FROM Consumable_order_details2__c - // WHERE (Dealer_Arrive__c = TRUE - // or Dealer_Shipment__c= TRUE - // or Dealer_Saled__c = TRUE) - // AND Dealer_Returned__c = FALSE - // AND Cancellation_Flag__c = FALSE - // AND Bar_Code_search__c in :BarCodeListP - // AND (Dealer_Info_text__c != :accountName - // OR (Dealer_Info_text__c = :accountName - // AND Arrive_Owner_Work_Location__c != :userWorkLocation) - // ) - // ORDER BY Name ]; - //Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>(); - //for(Consumable_order_details2__c cod2 :reSet1){ - // otherAgProMap.put(cod2.Bar_Code__c,cod2); - //} - carCodeListLose.clear(); - //鏈洏鐐瑰埌鐨勪骇鍝� - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check == true){ - for(integer i = 0 ; i<ProductCount_Res.size();i++){ - if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){ - if(barCodeListPandianMap.containsKey(ProductCount_Res[i].Bar_Code_search__c)){ - continue; - } - if (ProductCount_Res[i].Isoverdue__c == 0) { - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')); - pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); - if (pandianoverdueCountMap.containsKey(ProductCount_Res[i].Consumable_product__c + ProductCount_Res[i].Box_Piece__c) == false) { - pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, 1); - } else { - pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, pandianoverdueCountMap.get(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c) + 1); - } - continue; - } - - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); - pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); - } - } - // 鍚屾椂瀛樺湪鍏朵粬缁忛攢鍟嗗簱瀛樹骇鍝� - for(Consumable_order_details2__c cod2 : reSet1){ - if(cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c){ - if(barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) - && otherAgProMap.containsKey(cod2.Bar_Code__c) - && otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == false - && otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == false ){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��')); - pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'); - continue; - } - } - } - // 闇�瑕佽繑鍝佺殑浜у搧 - for(Consumable_order_details2__c cod2 : reSet2){ - if(cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c){ - if(needreturnMap.containsKey(cod2.Bar_Code__c)){ - consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��')); - pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��'); - continue; - } - } - } - } - } - - //鏇存柊涓绘槑缁嗗崟 - if(barCodeListPandianMap.size() > 0){ - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check == true){ - integer countSum = 0; - if (pandianProdIdCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { - countSum = pandianProdIdCountMap.get(ass.Prod.Id + ass.boxPiece); - } - integer overdueSum = 0; - if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { - overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece); - } - ass.Pandian = countSum; - ass.Diff = ass.countid - countSum - overdueSum; - ass.refind = 0; - } - } - }else{ - for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ - if(ass.check == true){ - integer overdueSum = 0; - if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { - overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece); - } - ass.Diff = ass.countid - ass.Pandian - overdueSum; - } - } - } - - - //瀵诲洖鍋氭垚 - for(ConsumableorderdetailsInfo ass :consumableorderdetailsRecords){ - for(ConsumableorderdetailsInfo adjust :consumableorderdetailsRecordsAdjust){ - if(ass.Prod.Name__c == adjust.Prod.Name__c && ass.boxPiece == adjust.orderdetails2.Box_Piece__c){ - if(reFindProduct.containsKey(adjust.orderdetails2.Bar_Code_search__c)){ - continue; - }else { - ass.Pandian ++; - ass.refind ++; - reFindProduct.put(adjust.orderdetails2.Bar_Code_search__c,adjust.orderdetails2.Bar_Code_search__c); - } - } - } - } - if (pandiandetailsMap.keySet().size() > 0) { - List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - initStandardController(); - showcod2nid = cod2s(); - - } - for (Consumable_order_details2__c cod2 : showcod2nid) { - codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id))); - } - if(codPageRecords.size() > 0) done = true; - iSinventory = true; - consumableorderdetailsRecordserrordummy.clear(); - pandiandetailsList = [select Id, Bar_Code__c,Consumable_Product__r.Name__c, - Box_Piece__c,Lose_reason__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - for(Consumable_order_details2__c codDet : pandiandetailsList){ - codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id); - } - List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>(); - for(Consumable_order_details2__c cod2 : pandiandetailsList){ - pandiandetailsListMid.add(cod2); - if(pandiandetailsListMid.size() == 1000){ - pandiandetailsListShow.add(pandiandetailsListMid); - pandiandetailsListMid = new List<Consumable_order_details2__c>(); - } - } - if(pandiandetailsListMid.size() > 0){ + if (pandiandetailsListMid.size() > 0) { pandiandetailsListShow.add(pandiandetailsListMid); } + //鍒嗛〉 PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); totalCount = codPageRecords.size(); @@ -1020,101 +666,638 @@ data.put('pageCodeRecords', pageCodeRecords); //end - - System.debug('=====>codPageRecords2'+codPageRecords); - System.debug('=====>consumableorderdetailsRecords'+consumableorderdetailsRecords); - data.put('codPageRecords',JSON.serialize(codPageRecords)); - data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords)); - System.debug('iSinventory===>'+iSinventory); - data.put('iSinventory',JSON.serialize(iSinventory)); - System.debug('pandiandetailsMap===>'+pandiandetailsMap); - data.put('pandiandetailsMap',pandiandetailsMap); - data.put('reSet',reSet); - data.put('consumableorderdetailsRecordsview',JSON.serialize(consumableorderdetailsRecordsview)); - System.debug('=====>consumableorderdetailsRecordsview'+consumableorderdetailsRecordsview); + data.put('codPageRecords', JSON.serialize(codPageRecords)); + data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords)); + data.put('consumableorderdetailsRecordsview', JSON.serialize(consumableorderdetailsRecordsview)); + data.put('pandiandetailsMap', pandiandetailsMap); + System.debug('iSinventory===>' + iSinventory); + System.debug('codPageRecords===>' + codPageRecords); + data.put('iSinventory', JSON.serialize(iSinventory)); + data.put('reSet1', reSet1); + System.debug('reSet1===>' + reSet1); res.code = 200; - res.status = 'Sucess'; + res.status = 'Success1'; + return res; + } + + //CHAN-B7J4NB 鍙湁涓�涓椂锛岀洏鐐逛笉鍒� + //init(); + //CHAN-B7J4NB + Map<String, String> showproductIdMap = new Map<String, String>(); + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + showproductIdMap.put(ass.prod.Id + ass.boxPiece, ass.prod.Id + ass.boxPiece); + } + // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCodeListP' + BarCodeListP)); + /***************************************************************************/ + // BarCode鐨勬绱� 鎵�鏈夊湪搴� + reSet = [ + SELECT Id, Consumable_Product__c, Consumable_Product__r.Name__c, Box_Piece__c, Bar_Code_search__c, Isoverdue__c + FROM Consumable_order_details2__c + WHERE + Bar_Code_search__c IN :BarCodeListP + AND Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Dealer_Returned__c = FALSE + AND Lose_Flag__c = FALSE + AND Cancellation_Date__c = NULL + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Arrive_Owner_Work_Location__c = :userWorkLocation + AND Dealer_Info_text__c = :accountName + ORDER BY Name + ]; + System.debug('reSet===>' + reSet); + Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅 + // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲� + Map<String, Integer> pandianoverdueCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅 + // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲� + Map<String, ConsumableorderdetailsInfo> barCodeListPandianMap = new Map<String, ConsumableorderdetailsInfo>(); // 鏄庣窗銉愩兗銈炽兗銉� 鍗樹綅 + //鐩樼偣鍒扮殑鏄庣粏 + for (Consumable_order_details2__c rs : reSet) { + //BarCodeListPandian.add(rs.Bar_Code_search__c); + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece) { + ass.check = true; + } + } + + barCodeListPandianMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs)); + if (rs.Isoverdue__c == 0) { + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')); + pandiandetailsMap.put(rs.Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); + if (pandianoverdueCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) { + pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1); + } else { + pandianoverdueCountMap.put( + rs.Consumable_Product__c + rs.Box_Piece__c, + pandianoverdueCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1 + ); + } + continue; + } + if (pandianProdIdCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) { + pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1); + } else { + pandianProdIdCountMap.put( + rs.Consumable_Product__c + rs.Box_Piece__c, + pandianProdIdCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1 + ); + } + } + + // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 + List<Consumable_order_details2__c> reSet1 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Dealer_Shipment__c, + Dealer_Saled__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Dealer_Arrive__c, + Bar_Code_search__c, + Dealer_Info_text__c + FROM Consumable_order_details2__c + WHERE + (Dealer_Arrive__c = TRUE + OR Dealer_Shipment__c = TRUE + OR Dealer_Saled__c = TRUE) + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code_search__c IN :BarCodeListP + AND (Dealer_Info_text__c != :accountName + OR (Dealer_Info_text__c = :accountName + AND Arrive_Owner_Work_Location__c != :userWorkLocation)) + ORDER BY Name + ]; + Map<String, Consumable_order_details2__c> otherAgProMap = new Map<String, Consumable_order_details2__c>(); + for (Consumable_order_details2__c cod2 : reSet1) { + otherAgProMap.put(cod2.Bar_Code__c, cod2); + } + // 闇�瑕佸叆搴撶殑浜у搧 + for (Consumable_order_details2__c cod2 : reSet1) { + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (cod2.Consumable_Product__c == ass.Prod.Id && cod2.Box_Piece__c == ass.boxPiece) { + ass.check = true; + } + } + if (!showproductIdMap.containsKey(cod2.Consumable_product__c + cod2.Box_Piece__c)) { + reFindProductList.add(cod2); + proIdNotinpage.put(cod2.Consumable_Product__c, cod2.Box_Piece__c); + } + if ( + !barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) && + otherAgProMap.containsKey(cod2.Bar_Code__c) && + (otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == true || + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == true) + ) { + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��')); + pandiandetailsMap.put(cod2.Id, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��'); + } + } + //瀵诲洖鏄庣粏 + List<Consumable_order_details2__c> productAdjust = new List<Consumable_order_details2__c>(); + productAdjust = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Lose_reason__c, + Asset_Model_No__c, + Box_Piece__c, + Bar_Code_search__c, + Isoverdue__c + FROM Consumable_order_details2__c + WHERE + Bar_Code_search__c IN :BarCodeListP + AND Bar_Code__c != NULL + AND Lose_Flag__c = TRUE + AND Product_Type__c LIKE :sqlagencyProType + AND Dealer_Info_text__c = :accountName + AND Arrive_Owner_Work_Location__c = :userWorkLocation + ORDER BY Name + ]; + + for (Consumable_order_details2__c rs : productAdjust) { + // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add srart + if (rs.Isoverdue__c == 0 || rs.Lose_reason__c == '杩囨湡搴撳瓨閿�瀛�') { + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱')); + pandiandetailsMap.put(rs.Id, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱'); + carCodeListLose.add(rs.Bar_Code_search__c); + continue; + } + // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add end + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece) { + ass.check = true; + } + } + if (!showproductIdMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c)) { + reFindProductList.add(rs); + proIdNotinpage.put(rs.Consumable_Product__c, rs.Box_Piece__c); + } + if (barCodeListAdjustMap.containsKey(rs.Bar_Code_search__c)) { + continue; + } else { + barCodeListAdjustMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs)); + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '瀵诲洖')); + pandiandetailsMap.put(rs.Id, '瀵诲洖'); + consumableorderdetailsRecordsAdjust.add(new ConsumableorderdetailsInfo(rs)); + } + } + if (reFindProductList.size() > 0) { + Map<String, Product2__c> midMap = new Map<String, Product2__c>(); + List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>(); + Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>(); + List<Product2__c> product_Refind = [ + SELECT Id, Name, Name__c, SFDA_Status__c, Packing_list_manual__c, Asset_Model_No__c + FROM Product2__c + WHERE Id IN :proIdNotinpage.keySet() + ]; + for (Product2__c pro : product_Refind) { + midMap.put(pro.Id, pro); + } + for (Integer i = 0; i < reFindProductList.size(); i++) { + //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap + if (MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '鐩�') { + if (newMidBoxMap.containsKey(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c)) { + ConsumableorderdetailsInfo Jstage = newMidBoxMap.get( + reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c + ) + .clone(); + Jstage.countid = 0; + if (reFindProductList[i].Isoverdue__c == 1) { + Jstage.limitCount = 0; + } + Jstage.boxPiece = reFindProductList[i].Box_Piece__c; + newMidBoxMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage); + } else { + ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo( + MidMap.get(reFindProductList[i].Consumable_Product__c) + ); + Jstage.countid = 0; + if (reFindProductList[i].Isoverdue__c == 1) { + Jstage.limitCount = 0; + } + Jstage.boxPiece = reFindProductList[i].Box_Piece__c; + newMidBoxMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage); + } + } else if (MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '涓�') { + if (newMidPieceMap.containsKey(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c)) { + ConsumableorderdetailsInfo Jstage = newMidPieceMap.get( + reFindProductList[i].Consumable_product__c + reFindProductList[i].Box_Piece__c + ) + .clone(); + Jstage.countid = 0; + if (reFindProductList[i].Isoverdue__c == 1) { + Jstage.limitCount = 0; + } + Jstage.boxPiece = reFindProductList[i].Box_Piece__c; + newMidPieceMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage); + } else { + ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo( + MidMap.get(reFindProductList[i].Consumable_Product__c) + ); + Jstage.countid = 0; + if (reFindProductList[i].Isoverdue__c == 1) { + Jstage.limitCount = 0; + } + Jstage.boxPiece = reFindProductList[i].Box_Piece__c; + newMidPieceMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage); + } + } + } + for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) { + bss.check = true; + bss.overlimitCount = bss.countid - bss.limitCount; + boxRecords.add(bss); + } + boxRecords.sort(); + for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { + bss.check = true; + bss.overlimitCount = bss.countid - bss.limitCount; + } + for (ConsumableorderdetailsInfo bss : boxRecords) { + consumableorderdetailsRecords.add(bss); + if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) { + consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); + //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece + newMidPieceMap.remove(bss.Prod.Id + '涓�'); + } + } + for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { + consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�')); + } + } + + //鍏堝彇鍑烘湭鐩樼偣鍒扮殑浜у搧 + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { + for (integer i = 0; i < ProductCount_Res.size(); i++) { + if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) { + if (barCodeListPandianMap.get(ProductCount_Res[i].Bar_Code_search__c) != null) { + continue; + } else { + carCodeListLose.add(ProductCount_Res[i].Bar_Code__c); + ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i])); + //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け')); + //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); + } + } + } + } + } + //宸茬粡鍑哄簱鐨勪骇鍝� + List<Consumable_order_details2__c> reSet2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c, + Dealer_Info_text__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND (Dealer_Shipment__c = TRUE + OR Dealer_Saled__c = TRUE) + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code_search__c IN :BarCodeListP + AND Dealer_Info_text__c = :accountName + ORDER BY Name + ]; + Map<String, Consumable_order_details2__c> needreturnMap = new Map<String, Consumable_order_details2__c>(); + for (Consumable_order_details2__c cod2 : reSet2) { + needreturnMap.put(cod2.Bar_Code__c, cod2); + } + //// 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣 + //List<Consumable_order_details2__c> reSet1 = [SELECT Id, Name,Consumable_Product__c, + // Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c, + // Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c, + // Bar_Code_search__c,Dealer_Info_text__c + // FROM Consumable_order_details2__c + // WHERE (Dealer_Arrive__c = TRUE + // or Dealer_Shipment__c= TRUE + // or Dealer_Saled__c = TRUE) + // AND Dealer_Returned__c = FALSE + // AND Cancellation_Flag__c = FALSE + // AND Bar_Code_search__c in :BarCodeListP + // AND (Dealer_Info_text__c != :accountName + // OR (Dealer_Info_text__c = :accountName + // AND Arrive_Owner_Work_Location__c != :userWorkLocation) + // ) + // ORDER BY Name ]; + //Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>(); + //for(Consumable_order_details2__c cod2 :reSet1){ + // otherAgProMap.put(cod2.Bar_Code__c,cod2); + //} + carCodeListLose.clear(); + //鏈洏鐐瑰埌鐨勪骇鍝� + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { + for (integer i = 0; i < ProductCount_Res.size(); i++) { + if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) { + if (barCodeListPandianMap.containsKey(ProductCount_Res[i].Bar_Code_search__c)) { + continue; + } + if (ProductCount_Res[i].Isoverdue__c == 0) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��') + ); + pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'); + if ( + pandianoverdueCountMap.containsKey( + ProductCount_Res[i].Consumable_product__c + ProductCount_Res[i].Box_Piece__c + ) == false + ) { + pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, 1); + } else { + pandianoverdueCountMap.put( + ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, + pandianoverdueCountMap.get( + ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c + ) + 1 + ); + } + continue; + } + + consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i], '涓㈠け')); + pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け'); + } + } + // 鍚屾椂瀛樺湪鍏朵粬缁忛攢鍟嗗簱瀛樹骇鍝� + for (Consumable_order_details2__c cod2 : reSet1) { + if (cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c) { + if ( + barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) && + otherAgProMap.containsKey(cod2.Bar_Code__c) && + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == false && + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == false + ) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo( + cod2, + '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��' + ) + ); + pandiandetailsMap.put( + cod2.Id, + '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��' + ); + continue; + } + } + } + // 闇�瑕佽繑鍝佺殑浜у搧 + for (Consumable_order_details2__c cod2 : reSet2) { + if (cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c) { + if (needreturnMap.containsKey(cod2.Bar_Code__c)) { + consumableorderdetailsRecordserrordummy.add( + new ConsumableorderdetailsInfo(cod2, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��') + ); + pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��'); + continue; + } + } + } + } + } + + //鏇存柊涓绘槑缁嗗崟 + if (barCodeListPandianMap.size() > 0) { + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { + integer countSum = 0; + if (pandianProdIdCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { + countSum = pandianProdIdCountMap.get(ass.Prod.Id + ass.boxPiece); + } + integer overdueSum = 0; + if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { + overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece); + } + ass.Pandian = countSum; + ass.Diff = ass.countid - countSum - overdueSum; + ass.refind = 0; + } + } + } else { + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + if (ass.check == true) { + integer overdueSum = 0; + if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) { + overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece); + } + ass.Diff = ass.countid - ass.Pandian - overdueSum; + } + } + } + + //瀵诲洖鍋氭垚 + for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { + for (ConsumableorderdetailsInfo adjust : consumableorderdetailsRecordsAdjust) { + if (ass.Prod.Name__c == adjust.Prod.Name__c && ass.boxPiece == adjust.orderdetails2.Box_Piece__c) { + if (reFindProduct.containsKey(adjust.orderdetails2.Bar_Code_search__c)) { + continue; + } else { + ass.Pandian++; + ass.refind++; + reFindProduct.put(adjust.orderdetails2.Bar_Code_search__c, adjust.orderdetails2.Bar_Code_search__c); + } + } + } + } + if (pandiandetailsMap.keySet().size() > 0) { + List<Consumable_order_details2__c> showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + initStandardController(); + showcod2nid = cod2s(); + } + for (Consumable_order_details2__c cod2 : showcod2nid) { + codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id))); + } + if (codPageRecords.size() > 0) + done = true; + iSinventory = true; + consumableorderdetailsRecordserrordummy.clear(); + pandiandetailsList = [ + SELECT Id, Bar_Code__c, Consumable_Product__r.Name__c, Box_Piece__c, Lose_reason__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + for (Consumable_order_details2__c codDet : pandiandetailsList) { + codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id); + } + List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>(); + for (Consumable_order_details2__c cod2 : pandiandetailsList) { + pandiandetailsListMid.add(cod2); + if (pandiandetailsListMid.size() == 1000) { + pandiandetailsListShow.add(pandiandetailsListMid); + pandiandetailsListMid = new List<Consumable_order_details2__c>(); + } + } + if (pandiandetailsListMid.size() > 0) { + pandiandetailsListShow.add(pandiandetailsListMid); + } + //鍒嗛〉 + PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); + totalCount = codPageRecords.size(); + paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null; + paginatedAccounts.recordStart = pageToken + 1; + paginatedAccounts.pageNumber = pageToken / pageSize + 1; + Integer recordEnd = pageSize * paginatedAccounts.pageNumber; + paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount; + paginatedAccounts.totalRecords = totalCount; + + Integer startIdx; + Integer endIdx; + List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>(); + startIdx = pageToken; + endIdx = startIdx + pageSize; + if (endIdx > codPageRecords.size()) { + endIdx = codPageRecords.size(); + } + for (Integer i = startIdx; i < endIdx; i++) { + pageCodeRecords.add(codPageRecords.get(i)); + } + + data.put('paginatedAccounts', paginatedAccounts); + data.put('pageCodeRecords', pageCodeRecords); + + //end + + System.debug('=====>codPageRecords2' + codPageRecords); + System.debug('=====>consumableorderdetailsRecords' + consumableorderdetailsRecords); + data.put('codPageRecords', JSON.serialize(codPageRecords)); + data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords)); + System.debug('iSinventory===>' + iSinventory); + data.put('iSinventory', JSON.serialize(iSinventory)); + System.debug('pandiandetailsMap===>' + pandiandetailsMap); + data.put('pandiandetailsMap', pandiandetailsMap); + data.put('reSet', reSet); + data.put('consumableorderdetailsRecordsview', JSON.serialize(consumableorderdetailsRecordsview)); + System.debug('=====>consumableorderdetailsRecordsview' + consumableorderdetailsRecordsview); + res.code = 200; + res.status = 'Sucess'; + return res; } - + // 淇濆瓨鎸夐挳 @AuraEnabled - public static ResponseBodyLWC save(Boolean iSinventory,String consumableorderdetailsRecordsLWC,String accountid,String agencyProType,Map<Id,String> pandiandetailsMap,List<Consumable_order_details2__c> reSet) { - List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class); + public static ResponseBodyLWC save( + Boolean iSinventory, + String consumableorderdetailsRecordsLWC, + String accountid, + String agencyProType, + Map<Id, String> pandiandetailsMap, + List<Consumable_order_details2__c> reSet + ) { + List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize( + consumableorderdetailsRecordsLWC, + List<ConsumableorderdetailsInfo>.class + ); agencyProType = agencyProType; - accountid =accountid; + accountid = accountid; pandiandetailsMap = pandiandetailsMap; - reSet =reSet; - System.debug('pandiandetailsMap===>'+pandiandetailsMap); + reSet = reSet; + System.debug('pandiandetailsMap===>' + pandiandetailsMap); ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); res.entity = data; // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂� StaticParameter.EscapeConsumableOrderDetail2Trigger = true; - if(!iSinventory){ - return new ResponseBodyLWC('Error',500, '璇峰厛褰曞叆BarCode', ''); + if (!iSinventory) { + return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', ''); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�')); // return null; } integer Lo = 0; - for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){ - if(header.check==true){ + for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) { + if (header.check == true) { Lo++; } } - if(Lo == 0){ + if (Lo == 0) { iSinventory = false; // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏')); // return null; - return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏', ''); + return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏', ''); } - for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){ - if(header.check==true){ + for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) { + if (header.check == true) { //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + ' '+header.prod.Name__c)); //return null; - if((header.DiffReason == ''||header.DiffReason ==null)&&header.Diff>0){ - return new ResponseBodyLWC('Error',500, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�', ''); + if ((header.DiffReason == '' || header.DiffReason == null) && header.Diff > 0) { + return new ResponseBodyLWC('Error', 500, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�', ''); // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�')); // return null; - }else if ((header.DiffReason != ''&&header.DiffReason !=null)&&header.Diff==0){ + } else if ((header.DiffReason != '' && header.DiffReason != null) && header.Diff == 0) { // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�')); // return null; - return new ResponseBodyLWC('Error',500, header.prod.Name__c + '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�', ''); + return new ResponseBodyLWC('Error', 500, header.prod.Name__c + '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�', ''); } } } Integer orderDetNo = 1; Savepoint sp = Database.setSavepoint(); Consumable_order__c Po = new Consumable_order__c(); - Po.Name ='*'; + Po.Name = '*'; Po.Order_status__c = '鎵瑰噯'; Po.Inventory_date__c = Date.today(); Po.Order_type__c = '鐩樼偣'; Po.Dealer_Info__c = accountid; Po.Order_ProType__c = agencyProType; Po.RecordTypeid = System.Label.RT_ConOrder_Inventory; - try{ - insert Po; + try { + insert Po; eSetId = Po.id; - List<Consumable_order__c> Consumable_order = [SELECT Name FROM Consumable_order__c WHERE id =:Po.id]; - List<Consumable_orderdetails__c> InsList = New List<Consumable_orderdetails__c>(); - List<Consumable_order_details2__c> InsListUp = New List<Consumable_order_details2__c>(); - List<Consumable_order_details2__c> updListAdjust = New List<Consumable_order_details2__c>(); - Map<String,String> ErrorName = new Map<String,String>(); - Map<String,Boolean> CheckTF = new Map<String,Boolean>(); - for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){ - if(header.check==true){ + List<Consumable_order__c> Consumable_order = [SELECT Name FROM Consumable_order__c WHERE id = :Po.id]; + List<Consumable_orderdetails__c> InsList = new List<Consumable_orderdetails__c>(); + List<Consumable_order_details2__c> InsListUp = new List<Consumable_order_details2__c>(); + List<Consumable_order_details2__c> updListAdjust = new List<Consumable_order_details2__c>(); + Map<String, String> ErrorName = new Map<String, String>(); + Map<String, Boolean> CheckTF = new Map<String, Boolean>(); + for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) { + if (header.check == true) { Consumable_orderdetails__c insPan = new Consumable_orderdetails__c(); insPan = new Consumable_orderdetails__c(); String str = string.valueOf(orderDetNo); - if(str.length() == 1){ - str = '0' + str; + if (str.length() == 1) { + str = '0' + str; } - insPan.Name = Consumable_order[0].Name + '-'+ str; + insPan.Name = Consumable_order[0].Name + '-' + str; insPan.Consumable_Product__c = header.ProdId; - ErrorName.put(insPan.Consumable_Product__c,header.DiffReason); - CheckTF.put(insPan.Consumable_product__c,true); + ErrorName.put(insPan.Consumable_Product__c, header.DiffReason); + CheckTF.put(insPan.Consumable_product__c, true); insPan.Consumable_order__c = Po.Id; insPan.Lose_reason__c = header.DiffReason; insPan.Diff__c = header.Diff; @@ -1122,60 +1305,67 @@ insPan.inventory_sum__c = header.Pandian; insPan.Count_Sum__c = header.countid; insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory; - orderDetNo ++; + orderDetNo++; InsList.add(insPan); } } - if(InsList.size()>0){ + if (InsList.size() > 0) { insert InsList; } - List<Consumable_order_details2__c> showcod2 = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Id in :pandiandetailsMap.keySet() - order by Name]; - for(Consumable_order_details2__c cod : showcod2){ + List<Consumable_order_details2__c> showcod2 = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE Id IN :pandiandetailsMap.keySet() + ORDER BY Name + ]; + for (Consumable_order_details2__c cod : showcod2) { Consumable_order_details2__c InsDetail = new Consumable_order_details2__c(); - InsDetail.Id =cod.Id; + InsDetail.Id = cod.Id; InsDetail.Consumable_Inventory_order__c = po.Id; InsDetail.Inventory_date__c = Date.today(); // 20210224 gzw CHAN-BXF3PG start // if(pandiandetailsMap.get(cod.Id) == '涓㈠け' ){ - if(pandiandetailsMap.get(cod.Id) == '涓㈠け' && CheckTF.containsKey(cod.Consumable_product__c)){ - // 20210224 gzw CHAN-BXF3PG end + if (pandiandetailsMap.get(cod.Id) == '涓㈠け' && CheckTF.containsKey(cod.Consumable_product__c)) { + // 20210224 gzw CHAN-BXF3PG end InsDetail.Lose_reason__c = ErrorName.get(cod.Consumable_product__c); InsDetail.Lose_Flag__c = true; - }else if(pandiandetailsMap.get(cod.Id) == '瀵诲洖' ){ + } else if (pandiandetailsMap.get(cod.Id) == '瀵诲洖') { InsDetail.Lose_reason__c = ''; InsDetail.Lose_Flag__c = false; - }else{ + } else { continue; } InsListUp.add(InsDetail); } - for(Consumable_order_details2__c rs : reSet){ + for (Consumable_order_details2__c rs : reSet) { rs.Inventory_date__c = Date.today(); } - if(reSet.size() > 0){ + if (reSet.size() > 0) { update reSet; } - if(InsListUp.size()>0){ - ControllerUtil.updateOrderDetailsSatus(InsListUp);// Commented By DTT - Li Jun for testing 20230407 + if (InsListUp.size() > 0) { + ControllerUtil.updateOrderDetailsSatus(InsListUp); // Commented By DTT - Li Jun for testing 20230407 } - - }catch (Exception e) { + } catch (Exception e) { Database.rollback(sp); // ApexPages.addMessages(ex); - return new ResponseBodyLWC('Error',500, e.getMessage()+e.getLineNumber(), ''); + return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), ''); // return null; } // FIXME impliment BarCodeListAdjust /************************************************************************************************/ // return ProS(); - data.put('eSetId',eSetId); - data.put('InsListUp',InsListUp); + data.put('eSetId', eSetId); + data.put('InsListUp', InsListUp); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); @@ -1187,15 +1377,15 @@ // 杩斿洖鐩樼偣涓�瑙� PageReference ref = new Pagereference('/apex/InventoryList?eSetId=' + eSetId); ref.setRedirect(true); - return ref; + return ref; } //CSV鍑哄姏 public PageReference doClick() { Pagereference pr = page.InventoryCSV; return pr; } - //鍒嗛〉Bean - public class PaginatedAccounts { + //鍒嗛〉Bean + public class PaginatedAccounts { @AuraEnabled public Integer nextPageToken; @AuraEnabled @@ -1209,6 +1399,7 @@ } // Data Bean + @TestVisible class ConsumableorderdetailsInfo implements Comparable { @AuraEnabled public Boolean check { get; set; } @@ -1221,7 +1412,7 @@ @AuraEnabled public Decimal countid { get; set; } @AuraEnabled - public String ProdId{get;set;} + public String ProdId { get; set; } @AuraEnabled public Decimal Pandian { get; set; } @AuraEnabled @@ -1240,14 +1431,13 @@ public Decimal overlimitCount { get; set; } @AuraEnabled public String boxPiece { get; set; } - public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) { - + public ConsumableorderdetailsInfo(Consumable_order_details2__c e, string str) { orderdetails2 = e; Prod = e.Consumable_Product__r; //e.Lose_reason__c = str; DiffReason = str; } - + // 宸插瓨鍦ㄦ秷鑰楀搧鏄庣粏鐢� public ConsumableorderdetailsInfo(Consumable_order_details2__c e) { check = false; @@ -1259,9 +1449,9 @@ check = false; //orderdetails1 = new Consumable_orderdetails__c(); Prod = e; - canSelect = true; + canSelect = true; ProdId = string.valueOf(e.id); - countid =0; + countid = 0; Pandian = 0; refind = 0; Diff = 0; @@ -1270,14 +1460,14 @@ } // 鎺掑簭 public Integer compareTo(Object compareTo) { - ConsumableorderdetailsInfo compareToesd =(ConsumableorderdetailsInfo)compareTo; + ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo; Integer returnValue = 0; - if (countid > compareToesd.countid ) { + if (countid > compareToesd.countid) { returnValue = -1; - } else if (countid < compareToesd.countid ) { + } else if (countid < compareToesd.countid) { returnValue = 1; } return returnValue; } } -} \ No newline at end of file +} diff --git a/force-app/main/default/classes/LexInventoryViewController.cls b/force-app/main/default/classes/LexInventoryViewController.cls index cc2ec34..4cdc3ff 100644 --- a/force-app/main/default/classes/LexInventoryViewController.cls +++ b/force-app/main/default/classes/LexInventoryViewController.cls @@ -32,7 +32,7 @@ // }; public static String[] proLimitAndDate = new List<String>{}; - private static Map<String, Date> productkucun = new Map<String, Date>(); + public static Map<String, Date> productkucun = new Map<String, Date>(); public static List<SelectOption> categoryOptionList { get; set; } @AuraEnabled public static Map<String, String> categoryOptionMap { get; set; } @@ -49,7 +49,7 @@ public static String category1 { get; set; } public static Boolean editAble { get; set; } // 缁忛攢鍟嗗湪搴撲骇鍝両D - public static List<String> orderDetZaikuList = new List<String>(); + public static List<String> orderDetZaikuList { get; set; } // 浜у搧 ID public static String ESetId { get; set; } public static String idCheck { get; set; } @@ -69,6 +69,7 @@ // add by rentx 2021-3-10 public LexInventoryViewController() { + orderDetZaikuList = new List<String>(); consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>(); editAble = false; @@ -97,7 +98,6 @@ categoryOptionMap = new Map<String, String>(); category4OptionMap = new Map<String, String>(); category5OptionMap = new Map<String, String>(); - // 鍙栫敤鎴稩D String userId = UserInfo.getUserId(); @@ -239,9 +239,7 @@ } if (newMidPieceMap.containsKey(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex)) { ConsumableorderdetailsInfo Jstage = newMidPieceMap.get( - CountDel[i].Consumable_Product__c + - CountDel[i].Box_Piece__c + - tex + CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex ) .clone(); Jstage.allnumber = Jstage.allnumber + 1; @@ -406,23 +404,25 @@ data.put('pageRecords', pageRecords); data.put('consumableorderdetailsRecords', consumableorderdetailsRecords); data.put('hasHos', hasHos); - data.put('productLimtAndDate',proLimitAndDate); + data.put('productLimtAndDate', proLimitAndDate); + data.put('productkucun', productkucun); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); + System.debug('productkucun = ' + productkucun); return res; } @AuraEnabled - public static ResponseBodyLWC categoryAllload(String category3LWC,String agencyProTypeLWC) { + public static ResponseBodyLWC categoryAllload(String category3LWC, String agencyProTypeLWC) { ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); res.entity = data; - category3 = category3LWC; - agencyProType = '%' + agencyProTypeLWC + '%'; + category3 = category3LWC; + agencyProType = '%' + agencyProTypeLWC + '%'; - System.debug('category3LWC===>'+category3LWC); - System.debug('agencyProType===>'+agencyProType); - + System.debug('category3LWC===>' + category3LWC); + System.debug('agencyProType===>' + agencyProType); + AggregateResult[] category4List = [ SELECT Count(id), Category4_text__c c4c FROM Product2__c @@ -466,8 +466,8 @@ category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5)); category5OptionMap.put(deliverycnt5, deliverycnt5); } - System.debug('绫诲埆4'+category4OptionList); - System.debug('绫诲埆5'+category5OptionList); + System.debug('绫诲埆4' + category4OptionList); + System.debug('绫诲埆5' + category5OptionList); data.put('category4OptionMap', category4OptionMap); data.put('category5OptionMap', category5OptionMap); res.status = 'Success'; @@ -528,15 +528,19 @@ Integer pageSizeLWC, Integer pageTokenLWC, String sortFieldLWC, - String sortOrderLWC + String sortOrderLWC, + Map<String, Date> productkucunLWC ) { try { - System.debug('orderDetZaikuListLWC===>'+orderDetZaikuListLWC); + System.debug('orderDetZaikuListLWC===>' + orderDetZaikuListLWC); + System.debug('productkucun===>' + productkucun); pageSize = pageSizeLWC; pageToken = pageTokenLWC; sortField = sortFieldLWC; sortOrder = sortOrderLWC; + productkucun = new Map<String, Date>(); orderDetZaikuList = new List<String>(); + productkucun = productkucunLWC; orderDetZaikuList = orderDetZaikuListLWC; sqlagencyProType = '%' + agencyProType + '%'; @@ -599,7 +603,7 @@ // if (String.isNotBlank(sortField) && String.isNotBlank(sortOrder)) { // if(sortFieldLWC != 'limitCount'){ // soql += ' ORDER BY ' + sortField + ' ' + sortOrder; - + // } // } System.debug('soql = ' + soql); @@ -623,9 +627,7 @@ } if (newMidBoxMap.containsKey(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex)) { ConsumableorderdetailsInfo Jstage = newMidBoxMap.get( - CountDel[i].Consumable_Product__c + - CountDel[i].Box_Piece__c + - tex + CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex ) .clone(); Jstage.allnumber = Jstage.allnumber + 1; @@ -655,9 +657,7 @@ } if (newMidPieceMap.containsKey(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex)) { ConsumableorderdetailsInfo Jstage = newMidPieceMap.get( - CountDel[i].Consumable_Product__c + - CountDel[i].Box_Piece__c + - tex + CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex ) .clone(); Jstage.allnumber = Jstage.allnumber + 1; @@ -773,11 +773,11 @@ paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount; paginatedAccounts.totalRecords = totalCount; - List<ConsumableorderdetailsInfo> pageRecordsCompare = new List<ConsumableorderdetailsInfo>(); + List<ConsumableorderdetailsInfo> pageRecordsCompare = new List<ConsumableorderdetailsInfo>(); System.debug('queryList = ' + JSON.serialize(queryList)); for (Integer i = 0; i < queryList.size(); i++) { - for(ConsumableorderdetailsInfo ci : pageRecords){ - if(queryList[i].Id == ci.Prod.Id){ + for (ConsumableorderdetailsInfo ci : pageRecords) { + if (queryList[i].Id == ci.Prod.Id) { System.debug('queryList[i].Id =' + queryList[i].Id); System.debug('ci.Prod.Id =' + queryList[i].Id); pageRecordsCompare.add(ci); @@ -931,7 +931,6 @@ // } // pageRecords.sort(); // } - //妫�绱ql鏂囧仛鎴� private static String makeSoql(String CateName, String CateCode, String Category3, String Category4, String Category5) { @@ -1051,6 +1050,7 @@ } // Data Bean + @TestVisible class ConsumableorderdetailsInfo implements Comparable { @AuraEnabled public Consumable_order_details2__c esd { get; set; } @@ -1111,4 +1111,4 @@ } } } -} \ No newline at end of file +} diff --git a/force-app/main/default/classes/LexInventoryViewControllerTest.cls b/force-app/main/default/classes/LexInventoryViewControllerTest.cls new file mode 100644 index 0000000..f7c730a --- /dev/null +++ b/force-app/main/default/classes/LexInventoryViewControllerTest.cls @@ -0,0 +1,1122 @@ +@isTest +public class LexInventoryViewControllerTest { + static testMethod void testInnerClass() { + List<LexInventoryViewController.ConsumableorderdetailsInfo> cro = new List<LexInventoryViewController.ConsumableorderdetailsInfo>(); + cro.sort(); + } + static testMethod void LexInventoryViewControllerTest() { + user myUser_test; + Account myAccount1; + User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; + System.runAs(thisUser) { + Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)']; + List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�']; + if (rectCo.size() == 0) { + return; + } + List<RecordType> rectHos = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '鐥呴櫌']; + if (rectHos.size() == 0) { + return; + } + + myAccount1 = new Account( + name = 'testaccount001', + RecordTypeId = rectCo[0].Id, + Product_Limit_Date__c = 'Test01|2|4,Test02|3|5', + AgentCode_Ext__c = '9999900' + ); + insert myAccount1; + Contact core = new Contact( + email = 'jplumber@salesforce.com', + firstname = 'Joe', + lastname = 'Plumber', + accountid = myAccount1.id + ); + insert core; + myUser_test = new User( + ContactId = core.id, + Alias = 'newUser', + Email = 'newuser@testorg.com', + EmailEncodingKey = 'UTF-8', + LastName = 'testUser', + LanguageLocaleKey = 'zh_CN', + LocaleSidKey = 'zh_CN', + ProfileId = prof.Id, + TimeZoneSidKey = 'Asia/Shanghai', + UserName = 'testUser@testorg.com', + Work_Location__c = '娣卞湷' + ); + insert myUser_test; + } + System.runAs(myUser_test) { + Product2 prod01 = new Product2( + Name = '3400PK:PK閽� 5mmx33cm', + ProductCode = 'Test01', + Asset_Model_No__c = '3400PK:PK閽� 5mmx33cm', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = 'Test001', + Packing_list_manual__c = 1, + SFDA_Expiration_Date__c = Date.today(), + Category5__c = 'tset', + Manual_Entry__c = false + ); + Product2 prod02 = new Product2( + Name = 'Test02', + ProductCode = 'Test02', + Asset_Model_No__c = 'Test02', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = 'Test002', + Packing_list_manual__c = 12, + SFDA_Expiration_Date__c = Date.today(), + Category5__c = 'tset', + Manual_Entry__c = false + ); + insert new List<Product2>{ prod01, prod02 }; + Product2__c pro1 = new Product2__c( + Name = '3400PK:PK閽� 5mmx33cm', + OT_CODE_Text__c = 'Test001', + Product2__c = prod01.Id, + Category3_text__c = '鑵硅厰闀滄墜鏈�', + Category4_text__c = 'PK', + Category5_text__c = 'G400' + ); + Product2__c pro2 = new Product2__c( + Name = 'Pro002', + OT_CODE_Text__c = 'Test002', + Product2__c = prod02.Id, + Category3_text__c = '鑵硅厰闀滄墜鏈�', + Category4_text__c = 'PK', + Category5_text__c = 'G400' + ); + insert new List<Product2__c>{ pro1, pro2 }; + System.debug('pro2===銆�' + pro2); + System.debug('pro1===銆�' + pro1); + + Consumable_order__c Order1 = new Consumable_order__c(); + Order1.Name = 'OCM_01_001'; + Order1.Order_status__c = '鎵瑰噯'; + Order1.Order_type__c = '璁㈠崟'; + Order1.Dealer_Info__c = myAccount1.Id; + Order1.RecordTypeid = System.Label.RT_ConOrder_Inventory; + Order1.Order_ProType__c = 'ET'; + insert Order1; + + Consumable_order__c Order2 = new Consumable_order__c(); + Order2.Name = 'OCM_01_001'; + Order2.Order_status__c = '鎵瑰噯'; + Order2.Order_type__c = '璁㈠崟'; + Order2.Dealer_Info__c = myAccount1.Id; + Order2.RecordTypeid = System.Label.RT_ConOrder_Inventory; + Order2.Order_ProType__c = 'ENg'; + insert Order2; + + Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); + Orderdet1.Name = 'OCM_01_001001'; + //Orderdet1.Consumable_principal__c = Order1.Id; + Orderdet1.Consumable_order_minor__c = Order1.Id; + Orderdet1.Consumable_Product__c = pro1.Id; + Orderdet1.Consumable_Arrived_order__c = Order1.Id; + //Orderdet1.IsArrival__c = true; + Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet1.Bar_Code__c = '11111'; + Orderdet1.Arrive_date__c = Date.today().addDays(1); + Orderdet1.Send_Date__c = null; + Orderdet1.Used_date__c = null; + Orderdet1.Lose_Flag__c = false; + Orderdet1.Box_Piece__c = '鐩�'; + + Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); + Orderdet2.Name = 'OCM_01_001002'; + //Orderdet2.Consumable_principal__c = Order1.Id; + Orderdet2.Consumable_order_minor__c = Order1.Id; + Orderdet2.Consumable_Product__c = pro1.Id; + Orderdet2.Consumable_Arrived_order__c = Order1.Id; + //Orderdet2.IsArrival__c = true; + Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet2.Bar_Code__c = '22222'; + Orderdet2.Arrive_date__c = Date.today().addDays(1); + Orderdet2.Send_Date__c = null; + Orderdet2.Used_date__c = null; + Orderdet2.Lose_Flag__c = false; + Orderdet2.Box_Piece__c = '涓�'; + Orderdet2.Sterilization_limit__c = Date.today(); + + Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); + Orderdet3.Name = 'OCM_01_001003'; + //Orderdet3.Consumable_principal__c = Order1.Id; + Orderdet3.Consumable_order_minor__c = Order1.Id; + Orderdet3.Consumable_Product__c = pro2.Id; + Orderdet3.Consumable_Arrived_order__c = Order1.Id; + //Orderdet3.IsArrival__c = true; + Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet3.Bar_Code__c = '33333'; + Orderdet3.Arrive_date__c = Date.today().addDays(1); + Orderdet3.Send_Date__c = null; + Orderdet3.Used_date__c = null; + Orderdet3.Lose_Flag__c = false; + Orderdet3.Box_Piece__c = '涓�'; + Orderdet3.Sterilization_limit__c = Date.today(); + + Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); + Orderdet4.Name = 'OCM_01_001004'; + //Orderdet4.Consumable_principal__c = Order1.Id; + Orderdet4.Consumable_order_minor__c = Order1.Id; + Orderdet4.Consumable_Product__c = pro1.Id; + Orderdet4.Consumable_Arrived_order__c = Order1.Id; + //Orderdet4.IsArrival__c = true; + Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet4.Bar_Code__c = '44444'; + Orderdet4.Arrive_date__c = Date.today().addDays(1); + Orderdet4.Send_Date__c = null; + Orderdet4.Used_date__c = null; + Orderdet4.Lose_Flag__c = false; + Orderdet4.Box_Piece__c = '涓�'; + + insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4 }; + + //鍒朵綔鐩樼偣灞ュ巻 + List<Consumable_order__c> InsPDlist = new List<Consumable_order__c>(); + for (integer i = 1; i < 35; i++) { + String str = string.valueOf(i); + if (str.length() == 1) { + str = '0' + str; + } + Consumable_order__c PDlist = new Consumable_order__c(name = 'testPandianLVL_' + str); + //Date ThisDate = Date.newInstance(2016,4,20+i/5); + //PDlist.Inventory_date__c = ThisDate; + PDlist.Order_type__c = '鐩樼偣'; + PDlist.RecordTypeid = System.Label.RT_ConOrder_Inventory; + PDlist.Inventory_date__c = Date.today().addDays(-i); + PDlist.Dealer_Info__c = myAccount1.Id; + InsPDlist.add(PDlist); + } + List<String> orderDetZaikuListLWC = new List<String>(); + LexInventoryViewController controller = new LexInventoryViewController(); + Integer pageSizeLWC = 1; + Integer pageTokenLWC = 0; + String sortFieldLWC = ''; + String sortOrderLWC = ''; + String category1 = '3400PK:PK閽� 5mm脳33cm'; + String Category3 = '鑵硅厰闀滄墜鏈�'; + String Category4 = 'PK'; + String Category5 = 'G400'; + String accountName = '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'; + string agencyProType = 'ENG'; + string userWorkLocation = '娣卞湷'; + LexInventoryViewController.category1 = category1; + LexInventoryViewController.Category3 = Category3; + LexInventoryViewController.Category4 = Category4; + LexInventoryViewController.Category5 = Category5; + LexInventoryViewController.orderDetZaikuList = new List<String>(); + LexInventoryViewController.init(pageSizeLWC, pageTokenLWC, sortFieldLWC, sortOrderLWC); + system.debug('order detail:' + JSON.serialize(LexInventoryViewController.orderDetZaikuList)); + orderDetZaikuListLWC = LexInventoryViewController.orderDetZaikuList; + System.debug('orderDetZaikuListLWC' + orderDetZaikuListLWC); + Map<String, Date> productkucunLWC = LexInventoryViewController.productkucun; + LexInventoryViewController.searchConsumableorderdetails( + category1, + '', + '', + '', + orderDetZaikuListLWC, + accountName, + agencyProType, + userWorkLocation, + pageSizeLWC, + pageTokenLWC, + sortFieldLWC, + sortOrderLWC, + productkucunLWC + ); + LexInventoryViewController.searchConsumableorderdetails( + category1, + Category3, + Category4, + Category5, + orderDetZaikuListLWC, + accountName, + agencyProType, + userWorkLocation, + pageSizeLWC, + pageTokenLWC, + sortFieldLWC, + sortOrderLWC, + productkucunLWC + ); + } + } + + static testMethod void InventoryViewSearchTest() { + user myUser_test; + Account myAccount1; + User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; + System.runAs(thisUser) { + Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)']; + List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�']; + if (rectCo.size() == 0) { + return; + } + myAccount1 = new Account( + name = 'testaccount001', + RecordTypeId = rectCo[0].Id, + Product_Limit_Date__c = 'Test01|2|4,Test02|3|5', + AgentCode_Ext__c = '9999900' + ); + insert myAccount1; + Contact core = new Contact( + email = 'jplumber@salesforce.com', + firstname = 'Joe', + lastname = 'Plumber', + accountid = myAccount1.id + ); + insert core; + myUser_test = new User( + ContactId = core.id, + Alias = 'newUser', + Email = 'newuser@testorg.com', + EmailEncodingKey = 'UTF-8', + LastName = 'testUser', + LanguageLocaleKey = 'zh_CN', + LocaleSidKey = 'zh_CN', + ProfileId = prof.Id, + TimeZoneSidKey = 'Asia/Shanghai', + UserName = 'testUser@testorg.com' + ); + insert myUser_test; + } + + System.runAs(myUser_test) { + Product2 prod01 = new Product2( + Name = 'Test01', + ProductCode = 'Test01', + Asset_Model_No__c = 'Test01', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + Category3__c = 'CDS', + Category4__c = 'OER', + Category5__c = '鍏跺畠', + Manual_Entry__c = false + ); + Product2 prod02 = new Product2( + Name = 'Test02', + ProductCode = 'Test02', + Asset_Model_No__c = 'Test02', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + Category3__c = 'ENT', + Category4__c = 'Celon', + Category5__c = 'Celon', + Manual_Entry__c = false + ); + Product2 prod03 = new Product2( + Name = 'Test03', + ProductCode = 'Test03', + Asset_Model_No__c = 'Test03', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + Category3__c = 'US', + Category4__c = 'ALOKA', + Category5__c = '浣撳瓒呭0', + Manual_Entry__c = false + ); + Product2 prod04 = new Product2( + Name = 'Test04', + ProductCode = 'Test04', + Asset_Model_No__c = 'Test04', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + Category3__c = 'OCS', + Category4__c = '闄勫睘鍝�', + Category5__c = 'S45', + Manual_Entry__c = false + ); + Product2 prod05 = new Product2( + Name = 'Test05', + ProductCode = 'Test05', + Asset_Model_No__c = 'Test05', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + Category3__c = '鍏夋簮', + Category4__c = '闄勫睘鍝�', + Category5__c = 'OCS', + Manual_Entry__c = false + ); + insert new List<Product2>{ prod01, prod02, prod03, prod04, prod05 }; + Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); + Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); + Product2__c pro3 = new Product2__c(Name = 'Pro003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id); + Product2__c pro4 = new Product2__c(Name = 'Pro004', OT_CODE_Text__c = 'Test004', Product2__c = prod04.Id); + Product2__c pro5 = new Product2__c(Name = 'Pro005', OT_CODE_Text__c = 'Test005', Product2__c = prod05.Id); + insert new List<Product2__c>{ pro1, pro2, pro3, pro4, pro5 }; + + Consumable_order__c Order1 = new Consumable_order__c(); + Order1.Name = 'OCM_01_001'; + Order1.Order_status__c = '鎵瑰噯'; + Order1.Order_type__c = '璁㈠崟'; + Order1.Dealer_Info__c = myAccount1.Id; + Order1.RecordTypeid = System.Label.RT_ConOrder_Inventory; + Order1.Order_ProType__c = 'ET'; + insert Order1; + + Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); + Orderdet1.Name = 'OCM_01_001001'; + Orderdet1.Consumable_order_minor__c = Order1.Id; + Orderdet1.Consumable_Product__c = pro1.Id; + Orderdet1.Consumable_Arrived_order__c = Order1.Id; + Orderdet1.Sterilization_limit__c = Date.today(); + Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet1.Bar_Code__c = '11111'; + Orderdet1.Arrive_date__c = Date.today().addDays(1); + Orderdet1.Send_Date__c = null; + Orderdet1.Used_date__c = null; + Orderdet1.Lose_Flag__c = false; + + Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); + Orderdet2.Name = 'OCM_01_001002'; + Orderdet2.Consumable_order_minor__c = Order1.Id; + Orderdet2.Consumable_Product__c = pro1.Id; + Orderdet2.Consumable_Arrived_order__c = Order1.Id; + Orderdet2.Sterilization_limit__c = Date.today(); + Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet2.Bar_Code__c = '22222'; + Orderdet2.Arrive_date__c = Date.today().addDays(1); + Orderdet2.Send_Date__c = null; + Orderdet2.Used_date__c = null; + Orderdet2.Lose_Flag__c = false; + insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2 }; + Integer pageSizeLWC = 1; + Integer pageTokenLWC = 0; + String sortFieldLWC = ''; + String sortOrderLWC = ''; + String category3LWC = 'CDS'; + String agencyProTypeLWC = 'ENG'; + String category1 = '3400PK:PK閽� 5mm脳33cm'; + String Category3 = '鑵硅厰闀滄墜鏈�'; + String Category4 = 'PK'; + String Category5 = 'G400'; + String accountName = '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'; + string agencyProType = 'ENG'; + string userWorkLocation = '娣卞湷'; + List<String> orderDetZaikuListLWC = new List<String>(); + + LexInventoryViewController.init(pageSizeLWC, pageTokenLWC, sortFieldLWC, sortOrderLWC); + LexInventoryViewController.categoryAllload(category3LWC, agencyProTypeLWC); + LexInventoryViewController.categoryload(); + // LexInventoryViewController.searchConsumableorderdetails(category1,category3,category4,category5,orderDetZaikuListLWC,accountName,agencyProType,userWorkLocation,pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC); + } + } + + //add by rentx 2020-12-25 start 鏌ヨ闈炲尰闄㈢壒浠风洅 /涓� + static testMethod void InventoryViewTest2() { + user myUser_test; + Account myAccount2; + User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; + System.runAs(thisUser) { + List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�']; + if (rectCo.size() == 0) { + return; + } + //Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�']; + Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)']; //20200916 ljh update + + myAccount2 = new Account( + name = 'Testaccount002', + Dealer_discount__c = 20, + RecordTypeId = rectCo[0].Id, + Product_Limit_Date__c = 'Test01|5|55,Test02|2|4', + AgentCode_Ext__c = '9999900' + ); + insert myAccount2; + + Contact core = new Contact( + email = 'jplumber@salesforce.com', + firstname = 'Joe', + lastname = 'Plumber', + accountid = myAccount2.id + ); + insert core; + MyUser_Test = new User( + ContactId = core.id, + Alias = 'newUser', + Email = 'newuser@testorg.com', + EmailEncodingKey = 'UTF-8', + LastName = 'TestUser', + LanguageLocaleKey = 'zh_CN', + LocaleSidKey = 'zh_CN', + ProfileId = prof.Id, + TimeZoneSidKey = 'Asia/Shanghai', + UserName = 'testUser@testorg.com', + UserPro_Type__c = 'ET', + Work_Location__c = '鍖椾含' + ); + insert MyUser_Test; + } + System.runAs(MyUser_Test) { + System.Test.startTest(); + StaticParameter.EscapeConsumableOrderDetail2Trigger = true; + Product2 prod01 = new Product2( + Name = 'Test01', + ProductCode = 'Test01', + Asset_Model_No__c = 'Test01', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = '12124', + Packing_list_manual__c = 1, + SFDA_Expiration_Date__c = Date.today(), + Manual_Entry__c = false + ); + Product2 prod02 = new Product2( + Name = 'Test02', + ProductCode = 'Test02', + Asset_Model_No__c = 'Test02', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = '12124', + Packing_list_manual__c = 1, + SFDA_Expiration_Date__c = Date.today(), + Manual_Entry__c = false + ); + insert new List<Product2>{ prod01, prod02 }; + Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); + Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); + insert new List<Product2__c>{ pro1, pro2 }; + + Consumable_order__c createId = new Consumable_order__c(); + createId.Name = 'testMing'; + createId.Order_status__c = '鎵瑰噯'; + createId.Deliver_date__c = Date.today(); + createId.Dealer_Info__c = myAccount2.Id; + createId.RecordTypeid = System.Label.RT_ConOrder_Delivery; + createId.Order_type__c = '璁㈠崟'; + createId.Order_ProType__c = 'ET'; + createId.Dealer_Info__c = myAccount2.Id; + createId.Delivery_detail_count__c = 5; + insert createId; + //pro1 鐩� 鍦ㄥ簱 + List<Consumable_order_details2__c> codListTemp = new List<Consumable_order_details2__c>(); + Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c(); + createDetail2 = new Consumable_order_details2__c(); + createDetail2.Consumable_Product__c = pro1.id; + createDetail2.Asset_Model_No__c = 'Test01'; + createDetail2.Consumable_order_minor__c = createId.id; + createDetail2.Consumable_Arrived_order__c = createId.id; + createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + createDetail2.Asset_Model_No__c = pro1.Asset_Model_No__c; + createDetail2.Bar_Code__c = '123'; + createDetail2.Box_Piece__c = '鐩�'; + createDetail2.Arrive_date__c = Date.today(); + codListTemp.add(createDetail2); + //insert createDetail2; + Consumable_order_details2__c createDetailpro1 = new Consumable_order_details2__c(); + createDetailpro1.Consumable_Product__c = pro1.id; + createDetailpro1.Asset_Model_No__c = 'Test02'; + createDetailpro1.Consumable_order_minor__c = createId.id; + createDetailpro1.Consumable_Arrived_order__c = createId.id; + createDetailpro1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + createDetailpro1.Asset_Model_No__c = pro1.Asset_Model_No__c; + createDetailpro1.Bar_Code__c = '12322'; + createDetailpro1.Box_Piece__c = '鐩�'; + createDetailpro1.Arrive_date__c = Date.today(); + codListTemp.add(createDetailpro1); + //insert createDetailpro1; + //pro1 涓� 鍦ㄥ簱 + Consumable_order_details2__c createDetailPiece1 = new Consumable_order_details2__c(); + createDetailPiece1.Consumable_Product__c = pro1.id; + createDetailPiece1.Asset_Model_No__c = 'Test03'; + createDetailPiece1.Consumable_order_minor__c = createId.id; + createDetailPiece1.Consumable_Arrived_order__c = createId.id; + createDetailPiece1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + createDetailPiece1.Asset_Model_No__c = pro1.Asset_Model_No__c; + createDetailPiece1.Bar_Code__c = '23456'; + createDetailPiece1.Box_Piece__c = '涓�'; + createDetailPiece1.Arrive_date__c = Date.today(); + codListTemp.add(createDetailPiece1); + //insert createDetailPiece1; + Consumable_order_details2__c createDetailPiece2 = new Consumable_order_details2__c(); + createDetailPiece2.Consumable_Product__c = pro1.id; + createDetailPiece2.Asset_Model_No__c = 'Test04'; + createDetailPiece2.Consumable_order_minor__c = createId.id; + createDetailPiece2.Consumable_Arrived_order__c = createId.id; + createDetailPiece2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + createDetailPiece2.Asset_Model_No__c = pro1.Asset_Model_No__c; + createDetailPiece2.Bar_Code__c = '122345'; + createDetailPiece2.Box_Piece__c = '涓�'; + createDetailPiece2.Arrive_date__c = Date.today(); + codListTemp.add(createDetailPiece2); + //insert createDetailPiece2; + + //pro1 鐩� 鍦ㄥ簱 杩囨湡 + Consumable_order_details2__c createDetail21 = new Consumable_order_details2__c(); + createDetail21.Consumable_Product__c = pro1.id; + createDetail21.Asset_Model_No__c = 'Test01'; + createDetail21.Sterilization_limit__c = Date.today(); + createDetail21.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + //createDetail.IsArrival__c = true; + createDetail21.Asset_Model_No__c = prod02.Asset_Model_No__c; + createDetail21.Bar_Code__c = '1223'; + createDetail21.Box_Piece__c = '鐩�'; + createDetail21.Arrive_date__c = Date.today(); + createDetail21.Deliver_date__c = Date.today().addDays(-8); + createDetail21.Sterilization_limit__c = Date.today().addDays(-8); + codListTemp.add(createDetail21); + //insert createDetail2; + insert codListTemp; + + PageReference page = new PageReference('/apex/TopPage'); + System.Test.setCurrentPage(page); + TopPageController lPCTest = new TopPageController(); + lPCTest.pagesize = 1; + List<Consumable_Orderdetails__c> coListTest = new List<Consumable_Orderdetails__c>(); + Consumable_Orderdetails__c conOrderDetail1 = new Consumable_Orderdetails__c(); + conOrderDetail1.Consumable_count__c = 10; + conOrderDetail1.Consumable_Arrivecount__c = 5; + conOrderDetail1.Consumable_product__c = pro2.id; + conOrderDetail1.Consumable_order__c = createId.Id; + coListTest.add(conOrderDetail1); + + Consumable_Orderdetails__c conOrderDetail2 = new Consumable_Orderdetails__c(); + conOrderDetail2.Consumable_product__c = pro2.id; + conOrderDetail2.Consumable_order__c = createId.Id; + coListTest.add(conOrderDetail2); + insert coListTest; + + Integer pageSizeLWC = 1; + Integer pageTokenLWC = 0; + String sortFieldLWC = ''; + String sortOrderLWC = ''; + String category3LWC = 'CDS'; + String agencyProTypeLWC = 'ENG'; + // LexInventoryViewController.init(pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC); + LexInventoryViewController.categoryAllload('CDS', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'); + LexInventoryViewController.categoryload(); + LexInventoryViewController.categoryAllload('鍏夋簮', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'); + LexInventoryViewController.categoryload(); + System.Test.stopTest(); + } + } + + static testMethod void InventoryViewTest3() { + user myUser_test; + Account myAccount2; + User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; + System.runAs(thisUser) { + List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�']; + if (rectCo.size() == 0) { + return; + } + //Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�']; + // Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(Email)'];//20200916 ljh update + Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET Email)']; //20210329 RTX update + + myAccount2 = new Account( + name = 'Testaccount002', + Dealer_discount__c = 20, + RecordTypeId = rectCo[0].Id, + Product_Limit_Date__c = 'Test01|5|55,Test02|2|4', + AgentCode_Ext__c = '9999900' + ); + insert myAccount2; + + Contact core = new Contact( + email = 'jplumber@salesforce.com', + firstname = 'Joe', + lastname = 'Plumber', + accountid = myAccount2.id + ); + insert core; + MyUser_Test = new User( + ContactId = core.id, + Alias = 'newUser', + Email = 'newuser@testorg.com', + EmailEncodingKey = 'UTF-8', + LastName = 'TestUser', + LanguageLocaleKey = 'zh_CN', + LocaleSidKey = 'zh_CN', + ProfileId = prof.Id, + TimeZoneSidKey = 'Asia/Shanghai', + UserName = 'testUser@testorg.com', + UserPro_Type__c = 'ENG', + Work_Location__c = '鍖椾含' + ); + insert MyUser_Test; + } + + System.runAs(MyUser_Test) { + System.Test.startTest(); + StaticParameter.EscapeConsumableOrderDetail2Trigger = true; + Product2 prod01 = new Product2( + Name = 'Test01', + ProductCode = 'Test01', + Asset_Model_No__c = 'Test01', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = '12124', + Packing_list_manual__c = 1, + SFDA_Expiration_Date__c = Date.today(), + Manual_Entry__c = false + ); + Product2 prod02 = new Product2( + Name = 'Test02', + ProductCode = 'Test02', + Asset_Model_No__c = 'Test02', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = '12124', + Packing_list_manual__c = 1, + SFDA_Expiration_Date__c = Date.today(), + Manual_Entry__c = false + ); + insert new List<Product2>{ prod01, prod02 }; + Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); + Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); + insert new List<Product2__c>{ pro1, pro2 }; + + Consumable_order__c createId = new Consumable_order__c(); + createId.Name = 'testMing1'; + createId.Order_status__c = '鎵瑰噯'; + createId.Deliver_date__c = Date.today(); + createId.Dealer_Info__c = myAccount2.Id; + createId.RecordTypeid = System.Label.RT_ConOrder_Delivery; + createId.Order_type__c = '璁㈠崟'; + createId.Order_ProType__c = 'ENG'; + createId.Dealer_Info__c = myAccount2.Id; + createId.Delivery_detail_count__c = 5; + createId.orderPattern__c = 'hospitalorder'; + insert createId; + //pro1 鐩� 鍦ㄥ簱 + Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c(); + createDetail2.Consumable_Product__c = pro1.id; + createDetail2.Asset_Model_No__c = 'Test01'; + createDetail2.Consumable_order_minor__c = createId.id; + createDetail2.Consumable_Arrived_order__c = createId.id; + createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + createDetail2.Asset_Model_No__c = pro1.Asset_Model_No__c; + createDetail2.Bar_Code__c = '123'; + createDetail2.Box_Piece__c = '鐩�'; + createDetail2.Arrive_date__c = Date.today(); + insert createDetail2; + List<Consumable_order_details2__c> codListTemp = new List<Consumable_order_details2__c>(); + Consumable_order_details2__c createDetailpro1 = new Consumable_order_details2__c(); + createDetailpro1.Consumable_Product__c = pro1.id; + createDetailpro1.Asset_Model_No__c = 'Test02'; + createDetailpro1.Consumable_order_minor__c = createId.id; + createDetailpro1.Consumable_Arrived_order__c = createId.id; + createDetailpro1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + createDetailpro1.Asset_Model_No__c = pro1.Asset_Model_No__c; + createDetailpro1.Bar_Code__c = '12322'; + createDetailpro1.Box_Piece__c = '鐩�'; + createDetailpro1.Arrive_date__c = Date.today(); + //insert createDetailpro1; + codListTemp.add(createDetailpro1); + //pro1 涓� 鍦ㄥ簱 + Consumable_order_details2__c createDetailPiece1 = new Consumable_order_details2__c(); + createDetailPiece1.Consumable_Product__c = pro1.id; + createDetailPiece1.Asset_Model_No__c = 'Test03'; + createDetailPiece1.Consumable_order_minor__c = createId.id; + createDetailPiece1.Consumable_Arrived_order__c = createId.id; + createDetailPiece1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + createDetailPiece1.Asset_Model_No__c = pro1.Asset_Model_No__c; + createDetailPiece1.Bar_Code__c = '23456'; + createDetailPiece1.Box_Piece__c = '涓�'; + createDetailPiece1.Arrive_date__c = Date.today(); + codListTemp.add(createDetailPiece1); + //insert createDetailPiece1; + Consumable_order_details2__c createDetailPiece2 = new Consumable_order_details2__c(); + createDetailPiece2.Consumable_Product__c = pro1.id; + createDetailPiece2.Asset_Model_No__c = 'Test04'; + createDetailPiece2.Consumable_order_minor__c = createId.id; + createDetailPiece2.Consumable_Arrived_order__c = createId.id; + createDetailPiece2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + createDetailPiece2.Asset_Model_No__c = pro1.Asset_Model_No__c; + createDetailPiece2.Bar_Code__c = '122345'; + createDetailPiece2.Box_Piece__c = '涓�'; + createDetailPiece2.Arrive_date__c = Date.today(); + codListTemp.add(createDetailPiece2); + //insert createDetailPiece2; + + //pro1 鐩� 鍦ㄥ簱 杩囨湡 + Consumable_order_details2__c createDetail21 = new Consumable_order_details2__c(); + createDetail21.Consumable_Product__c = pro1.id; + createDetail21.Asset_Model_No__c = 'Test01'; + createDetail21.Sterilization_limit__c = Date.today(); + createDetail21.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; + //createDetail.IsArrival__c = true; + createDetail21.Asset_Model_No__c = prod02.Asset_Model_No__c; + createDetail21.Bar_Code__c = '1223'; + createDetail21.Box_Piece__c = '鐩�'; + createDetail21.Arrive_date__c = Date.today(); + createDetail21.Deliver_date__c = Date.today().addDays(-8); + createDetail21.Sterilization_limit__c = Date.today().addDays(-8); + codListTemp.add(createDetail21); + //insert createDetail21; + insert codListTemp; + + PageReference page = new PageReference('/apex/TopPage'); + System.Test.setCurrentPage(page); + TopPageController lPCTest = new TopPageController(); + lPCTest.pagesize = 1; + List<Consumable_Orderdetails__c> coListTest = new List<Consumable_Orderdetails__c>(); + Consumable_Orderdetails__c conOrderDetail1 = new Consumable_Orderdetails__c(); + conOrderDetail1.Consumable_count__c = 10; + conOrderDetail1.Consumable_Arrivecount__c = 5; + conOrderDetail1.Consumable_product__c = pro2.id; + conOrderDetail1.Consumable_order__c = createId.Id; + coListTest.add(conOrderDetail1); + + Consumable_Orderdetails__c conOrderDetail2 = new Consumable_Orderdetails__c(); + conOrderDetail2.Consumable_product__c = pro2.id; + conOrderDetail2.Consumable_order__c = createId.Id; + coListTest.add(conOrderDetail2); + insert coListTest; + + Integer pageSizeLWC = 1; + Integer pageTokenLWC = 0; + String sortFieldLWC = ''; + String sortOrderLWC = ''; + String category1 = '3400PK:PK閽� 5mm脳33cm'; + String Category3 = '鑵硅厰闀滄墜鏈�'; + String Category4 = 'PK'; + String Category5 = 'G400'; + List<String> orderDetZaikuListLWC = new List<String>(); + String accountName = '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'; + string agencyProType = 'ET'; + string userWorkLocation = '娣卞湷'; + LexInventoryViewController.category1 = category1; + LexInventoryViewController.Category3 = Category3; + LexInventoryViewController.Category4 = Category4; + LexInventoryViewController.Category5 = Category5; + // LexInventoryViewController.init(pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC); + // LexInventoryViewController.searchConsumableorderdetails(category1,category3,category4,category5,orderDetZaikuListLWC,accountName,agencyProType,userWorkLocation,pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC); + LexInventoryViewController.categoryAllload('CDS', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'); + LexInventoryViewController.categoryload(); + LexInventoryViewController.categoryAllload('鍏夋簮', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'); + LexInventoryViewController.categoryload(); + } + } + static testMethod void InventoryViewTest4() { + user myUser_test; + Account myAccount2; + User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; + System.runAs(thisUser) { + List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�']; + if (rectCo.size() == 0) { + return; + } + Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET Email)']; //20210329 RTX update + + myAccount2 = new Account( + name = 'Testaccount002', + Dealer_discount__c = 20, + RecordTypeId = rectCo[0].Id, + Product_Limit_Date__c = 'Test01|5|55,Test02|2|4', + AgentCode_Ext__c = '9999900' + ); + insert myAccount2; + + Contact core = new Contact( + email = 'jplumber@salesforce.com', + firstname = 'Joe', + lastname = 'Plumber', + accountid = myAccount2.id + ); + insert core; + MyUser_Test = new User( + ContactId = core.id, + Alias = 'newUser', + Email = 'newuser@testorg.com', + EmailEncodingKey = 'UTF-8', + LastName = 'TestUser', + LanguageLocaleKey = 'zh_CN', + LocaleSidKey = 'zh_CN', + ProfileId = prof.Id, + TimeZoneSidKey = 'Asia/Shanghai', + UserName = 'testUser@testorg.com', + UserPro_Type__c = 'ET', + Work_Location__c = '娴庡崡' + ); + insert MyUser_Test; + } + System.runAs(MyUser_Test) { + Integer pageSizeLWC = 1; + Integer pageTokenLWC = 0; + String sortFieldLWC = ''; + String sortOrderLWC = ''; + String category1 = '3400PK:PK閽� 5mm脳33cm'; + String Category3 = '鑵硅厰闀滄墜鏈�'; + String Category4 = 'PK'; + String Category5 = 'G400'; + String accountName = 'Testaccount002'; + string agencyProType = 'ET'; + string userWorkLocation = '娴庡崡'; + List<String> orderDetZaikuListLWC = new List<String>(); + List<String> productCodeList = new List<String>(); + + Product2 prod01 = new Product2( + Name = 'Test01', + ProductCode = 'Test01', + Asset_Model_No__c = 'Test01', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = '12124', + Packing_list_manual__c = 1, + SFDA_Expiration_Date__c = Date.today(), + Manual_Entry__c = false + ); + Product2 prod02 = new Product2( + Name = 'Test02', + ProductCode = 'Test02', + Asset_Model_No__c = 'Test02', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = '12124', + Packing_list_manual__c = 1, + SFDA_Expiration_Date__c = Date.today(), + Manual_Entry__c = false + ); + insert new List<Product2>{ prod01, prod02 }; + Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); + Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); + insert new List<Product2__c>{ pro1, pro2 }; + + Consumable_order__c Order1 = new Consumable_order__c(); + Order1.Name = 'OCM_01_001'; + Order1.Order_status__c = '鎵瑰噯'; + Order1.Order_type__c = '璁㈠崟'; + Order1.Dealer_Info__c = myAccount2.Id; + Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; + Order1.Order_ProType__c = 'ENG'; + insert Order1; + Consumable_order__c Order2 = new Consumable_order__c(); + Order2.Name = 'OCM_01_003'; + Order2.Order_status__c = '鎵瑰噯'; + Order2.Order_type__c = '璁㈠崟'; + Order2.Dealer_Info__c = myAccount2.Id; + Order2.RecordTypeid = System.Label.RT_ConOrder_Delivery; + Order2.Order_ProType__c = 'ET'; + insert Order2; + List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); + + Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); + Orderdet2.Name = 'OCM_01_001002'; + //Orderdet2.Consumable_principal__c = Order1.Id; + Orderdet2.Consumable_order_minor__c = Order1.Id; + Orderdet2.Consumable_Product__c = pro1.Id; + Orderdet2.Consumable_Arrived_order__c = Order1.Id; + //Orderdet2.IsArrival__c = true; + Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet2.Bar_Code__c = '22222'; + Orderdet2.Arrive_date__c = Date.today().addDays(1); + Orderdet2.Send_Date__c = null; + Orderdet2.Used_date__c = Date.today(); + Orderdet2.Lose_Flag__c = false; + Orderdet2.Box_Piece__c = '涓�'; + Orderdet2.Sterilization_limit__c = Date.today(); + Orderdet2.Return_date__c = Date.today(); + Orderdet2.Bar_Code__c = '1683272847250250WZIOF'; + Orderdet2.Cancellation_Flag__c = false; + conList.add(Orderdet2); + + Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); + Orderdet3.Arrive_date__c = Date.today(); + Orderdet3.Send_Date__c = null; + Orderdet3.Used_date__c = null; + Orderdet3.Return_date__c = null; + Orderdet3.Lose_Flag__c = false; + Orderdet3.Cancellation_Flag__c = false; + Orderdet3.Bar_Code__c = '1234'; + Orderdet3.Consumable_order_minor__c = Order2.Id; + Orderdet2.Consumable_Product__c = pro1.Id; + Orderdet3.Consumable_Arrived_order__c = Order2.Id; + Orderdet3.Recordtypeid = '01210000000kUDKAA2'; + Orderdet3.Sterilization_limit__c = Date.today().addDays(1); + conList.add(Orderdet3); + insert conList; + System.debug('conList==>' + conList); + + LexInventoryViewController.category1 = category1; + LexInventoryViewController.Category3 = Category3; + LexInventoryViewController.Category4 = Category4; + LexInventoryViewController.Category5 = Category5; + // LexInventoryViewController.init(pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC); + Map<String, Date> productkucunLWC = LexInventoryViewController.productkucun; + LexInventoryViewController.searchConsumableorderdetails( + category1, + category3, + category4, + category5, + orderDetZaikuListLWC, + accountName, + agencyProType, + userWorkLocation, + pageSizeLWC, + pageTokenLWC, + sortFieldLWC, + sortOrderLWC, + productkucunLWC + ); + LexInventoryViewController.categoryAllload('CDS', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'); + LexInventoryViewController.categoryload(); + LexInventoryViewController.categoryAllload('鍏夋簮', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'); + LexInventoryViewController.categoryload(); + // LexInventoryViewController.searchConsumableorderdetails(category1,category3,category4,category5,orderDetZaikuListLWC ,accountName,agencyProType, + // userWorkLocation,pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC); + } + + } + static testMethod void supplementTest() { + user myUser_test; + Account myAccount1; + User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; + System.runAs(thisUser) { + Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)']; + List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�']; + if (rectCo.size() == 0) { + return; + } + List<RecordType> rectHos = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '鐥呴櫌']; + if (rectHos.size() == 0) { + return; + } + + myAccount1 = new Account( + name = 'testaccount001', + RecordTypeId = rectCo[0].Id, + Product_Limit_Date__c = 'Test01|2|4,Test02|3|5', + AgentCode_Ext__c = '9999900' + ); + insert myAccount1; + Contact core = new Contact( + email = 'jplumber@salesforce.com', + firstname = 'Joe', + lastname = 'Plumber', + accountid = myAccount1.id + ); + insert core; + myUser_test = new User( + ContactId = core.id, + Alias = 'newUser', + Email = 'newuser@testorg.com', + EmailEncodingKey = 'UTF-8', + LastName = 'testUser', + LanguageLocaleKey = 'zh_CN', + LocaleSidKey = 'zh_CN', + ProfileId = prof.Id, + TimeZoneSidKey = 'Asia/Shanghai', + UserName = 'testUser@testorg.com', + Work_Location__c = '娣卞湷' + ); + insert myUser_test; + } + System.runAs(myUser_test) { + Product2 prod05 = new Product2( + Name = '3400PK:PK閽� 5mmx33cm', + ProductCode = 'Test01', + Asset_Model_No__c = '3400PK:PK閽� 5mmx33cm', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = 'Test001', + Packing_list_manual__c = 1, + SFDA_Expiration_Date__c = Date.today(), + Manual_Entry__c = false + ); + Product2 prod06 = new Product2( + Name = 'Test02', + ProductCode = 'Test02', + Asset_Model_No__c = 'Test02', + SFDA_Status__c = '鏈夊姽', + Dealer_special_Object__c = true, + SFDA_Approbation_No__c = 'Test002', + Packing_list_manual__c = 12, + SFDA_Expiration_Date__c = Date.today(), + Category5__c = 'tset', + Manual_Entry__c = false + ); + insert new List<Product2>{ prod05, prod06 }; + Product2__c pro11 = new Product2__c( + Name = 'Pro001', + OT_CODE_Text__c = 'Test001', + Product2__c = prod05.Id, + Category3_text__c = '鍒嗙被3' + ); + Product2__c pro22 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod06.Id); + insert new List<Product2__c>{ pro11, pro22 }; + System.debug('pro11===>' + pro11); + + List<Consumable_order__c> orderList = new List<Consumable_order__c>(); + //鍙戣揣 + Consumable_order__c Order4 = new Consumable_order__c(); + Order4.Name = 'OCM_0122'; + Order4.Order_status__c = '鎵瑰噯'; + Order4.Order_type__c = '璁㈠崟'; + Order4.Dealer_Info__c = myAccount1.Id; + Order4.RecordTypeid = '01210000000c9drAAA'; + Order4.Order_ProType__c = 'ET'; + Order4.ContractNo__c = ''; + orderList.add(Order4); + insert orderList; + + List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); + //orderDetZaiku init + Consumable_order_details2__c con1 = new Consumable_order_details2__c(); + con1.Arrive_date__c = Date.today(); + con1.Send_Date__c = null; + con1.Used_date__c = null; + con1.Return_date__c = null; + con1.Lose_Flag__c = false; + con1.Cancellation_Flag__c = false; + con1.Bar_Code__c = '1234'; + // con1.Consumable_order_minor__c = Order2.Id; + con1.Consumable_Product__c = pro11.Id; + con1.Consumable_Arrived_order__c = Order4.Id; + con1.Recordtypeid = '01210000000kUDKAA2'; + // con1.Sterilization_limit__c = Date.today().addDays(1); + conList.add(con1); + + Consumable_order_details2__c con2 = new Consumable_order_details2__c(); + con2.Arrive_date__c = Date.today(); + con2.Send_Date__c = null; + con2.Used_date__c = null; + con2.Return_date__c = null; + con2.Lose_Flag__c = false; + con2.Cancellation_Flag__c = false; + con2.Bar_Code__c = '1234'; + // con1.Consumable_order_minor__c = Order2.Id; + con2.Consumable_Product__c = pro11.Id; + con2.Consumable_Arrived_order__c = Order4.Id; + con2.Recordtypeid = '01210000000kUDKAA2'; + con2.Box_Piece__c = '涓�'; + // con1.Sterilization_limit__c = Date.today().addDays(1); + conList.add(con2); + + insert conList; + + LexInventoryViewController.ESetId = '1111'; + LexInventoryViewController.idCheck = '2222'; + List<String> orderDetZaikuListLWC = new List<String>(); + LexInventoryViewController.init(1, 0, '', ''); + orderDetZaikuListLWC = LexInventoryViewController.orderDetZaikuList; + LexInventoryViewController.categoryAllload('CDS', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'); + LexInventoryViewController.categoryload(); + LexInventoryViewController.categoryAllload('鍏夋簮', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�'); + LexInventoryViewController.categoryload(); + Map<String, Date> productkucunLWC = LexInventoryViewController.productkucun; + LexInventoryViewController.searchConsumableorderdetails( + '3400PK:PK閽� 5mmx33cm', + '', + '', + '', + orderDetZaikuListLWC, + 'testaccount001', + 'ET', + '娣卞湷', + 1, + 0, + '', + '', + productkucunLWC + ); + } + } +} diff --git a/force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml b/force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml new file mode 100644 index 0000000..a9fd6e9 --- /dev/null +++ b/force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> + <apiVersion>57.0</apiVersion> + <status>Active</status> +</ApexClass> diff --git a/force-app/main/default/classes/LexOutboundorderImportController.cls b/force-app/main/default/classes/LexOutboundorderImportController.cls index a1f00f6..a305d02 100644 --- a/force-app/main/default/classes/LexOutboundorderImportController.cls +++ b/force-app/main/default/classes/LexOutboundorderImportController.cls @@ -50,6 +50,7 @@ res.status = 'Success'; res.code = 200; res.msg = ''; + System.debug('res:' + res); return res; } @@ -102,7 +103,7 @@ barcodePieceMap.put(csvRecordData[6], Integer.valueOf(csvRecordData[7])); } } - String[] csvRecordDataStr = new List<String>(13); + String[] csvRecordDataStr = new String[13]; for (Integer j = 0; j < csvRecordData.size(); j++) { csvRecordDataStr[j] = csvRecordData[j]; } @@ -190,8 +191,8 @@ data.put('saveFLGbln', saveFLGbln); data.put('csvRecordStr', csvRecordStr); data.put('barcodeList', barcodeList); - data.put('secondAgencyMap',secondAgencyMap); - data.put('hospitalSysMap',hospitalSysMap); + data.put('secondAgencyMap', secondAgencyMap); + data.put('hospitalSysMap', hospitalSysMap); res.status = 'Success'; res.code = 200; res.msg = errorMsg; @@ -587,7 +588,7 @@ res.entity = data; csvRecordStr = csvRecordStrLwc; - orderRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(orderRecordsLwc, List<ConsumableorderdetailsInfo>.class); + orderRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(orderRecordsLwc, List<ConsumableorderdetailsInfo>.class); System.debug('orderRecords = ' + orderRecords); sqlagencyProType = sqlagencyProTypeLwc; userWorkLocation = userWorkLocationLwc; @@ -753,9 +754,7 @@ string[] csvRecordData = csvRecordStr[i]; if (orderdetMap.containsKey(csvRecordData[0] + csvRecordData[12] + csvRecordData[9])) { orderdetMap.put( - csvRecordData[0] + - csvRecordData[12] + - csvRecordData[9], + csvRecordData[0] + csvRecordData[12] + csvRecordData[9], orderdetMap.get(csvRecordData[0] + csvRecordData[12] + csvRecordData[9]) + Decimal.valueOf(csvRecordData[7]) ); continue; @@ -786,7 +785,7 @@ // ApexPages.addMessages(e); // return null; errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';'; - System.debug('orderdetRecords = null ' + e.getLineNumber()); + System.debug('orderdetRecords = null ' + e.getLineNumber()); return null; } } @@ -864,7 +863,7 @@ return null; } } - + @TestVisible class ConsumableorderdetailsInfo implements Comparable { @AuraEnabled public Consumable_order__c order { get; set; } @@ -916,4 +915,4 @@ return null; } } -} \ No newline at end of file +} diff --git a/force-app/main/default/classes/LexOverdueStockController.cls b/force-app/main/default/classes/LexOverdueStockController.cls index adbaaa7..f795ba1 100644 --- a/force-app/main/default/classes/LexOverdueStockController.cls +++ b/force-app/main/default/classes/LexOverdueStockController.cls @@ -1,5 +1,4 @@ public with sharing class LexOverdueStockController { - /*****************妞滅储鐢�******************/ public static String barcode { get; set; } @@ -17,19 +16,18 @@ // 缁忛攢鍟嗕俊鎭� private static Account accountInfo; - //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛� + //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛� public static Boolean iSinventory = false; public static List<Consumable_order_details2__c> overdueList = new List<Consumable_order_details2__c>(); - public static Integer pageRecordsSize { + public static Integer pageRecordsSize { get { return codPageRecords == null ? 0 : codPageRecords.size(); } } public LexOverdueStockController() { - } // 鐢婚潰鍒濆鍖� @@ -42,103 +40,118 @@ codPageRecords = new List<orderBean>(); overduePageRecords = new List<orderBean>(); // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� - user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =: UserInfo.getUserId()]; + user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; userWorkLocation = Useracc.Work_Location__c; agencyProType = Useracc.UserPro_Type__c; - if(String.isBlank(Useracc.UserPro_Type__c)){ + if (String.isBlank(Useracc.UserPro_Type__c)) { agencyProType = 'ET'; } sqlagencyProType = '%' + agencyProType + '%'; - accountInfo = [SELECT id,Name,Dealer_discount__c FROM account WHERE id =:Useracc.accountid]; + accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid]; // 杩囨湡搴撳瓨姹囨�讳俊鎭� - List<AggregateResult> orderDetZaiku = [SELECT count(Id) countsum, - Consumable_Product__c prodid, - Consumable_Product__r.Name_Text__c prodname, - Box_Piece__c boxPiece - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = true - AND Dealer_Shipment__c = false - AND Dealer_Saled__c = false - AND Lose_Flag__c = false - AND Isoverdue__c = 0 - AND Dealer_Returned__c = false - AND Cancellation_Flag__c = false - AND Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Dealer_Info_text__c = :accountInfo.Name - AND Arrive_Owner_Work_Location__c = :userWorkLocation - group by Consumable_Product__c,Box_Piece__c,Consumable_Product__r.Name_Text__c]; + List<AggregateResult> orderDetZaiku = [ + SELECT count(Id) countsum, Consumable_Product__c prodid, Consumable_Product__r.Name_Text__c prodname, Box_Piece__c boxPiece + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Lose_Flag__c = FALSE + AND Isoverdue__c = 0 + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Dealer_Info_text__c = :accountInfo.Name + AND Arrive_Owner_Work_Location__c = :userWorkLocation + GROUP BY Consumable_Product__c, Box_Piece__c, Consumable_Product__r.Name_Text__c + ]; - for(AggregateResult overdue : orderDetZaiku){ + for (AggregateResult overdue : orderDetZaiku) { codPageRecords.add(new orderBean(overdue)); } - system.debug('codPageRecords====>'+codPageRecords); - data.put('codPageRecords',JSON.serialize(codPageRecords)); - data.put('userWorkLocation',userWorkLocation); - data.put('accountName',accountInfo.Name); - data.put('agencyProType',agencyProType); - data.put('orderDetZaiku',JSON.serialize(orderDetZaiku)); + system.debug('codPageRecords====>' + codPageRecords); + data.put('codPageRecords', JSON.serialize(codPageRecords)); + data.put('userWorkLocation', userWorkLocation); + data.put('accountName', accountInfo.Name); + data.put('agencyProType', agencyProType); + data.put('orderDetZaiku', JSON.serialize(orderDetZaiku)); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); return res; - } // BarCode褰曞叆 @AuraEnabled - public static ResponseBodyLWC searchorderBean(String agencyProTypeLWC,String userWorkLocationLWC,String accountNameLWC,String barcodeLWC,String codPageRecordsLWC){ + public static ResponseBodyLWC searchorderBean( + String agencyProTypeLWC, + String userWorkLocationLWC, + String accountNameLWC, + String barcodeLWC, + String codPageRecordsLWC + ) { ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); res.entity = data; - List<orderBean> codPageRecords = (List<orderBean>)JSON.deserialize(codPageRecordsLWC,List<orderBean>.class); + List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(codPageRecordsLWC, List<orderBean>.class); sqlagencyProType = '%' + agencyProTypeLWC + '%'; - system.debug('sqlagencyProType==>'+ sqlagencyProType); + system.debug('sqlagencyProType==>' + sqlagencyProType); barcode = barcodeLWC; - system.debug('barcode==>'+ barcode); + system.debug('barcode==>' + barcode); userWorkLocation = userWorkLocationLWC; // add by Wang Xueqin 2023/04/12 // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� - user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =: UserInfo.getUserId()]; - accountInfo = [SELECT id,Name,Dealer_discount__c FROM account WHERE id =:Useracc.accountid]; - - + user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; + accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid]; + iSinventory = true; Set<String> barCodeoverdue = new Set<String>(); overduePageRecords = new List<orderBean>(); - List<String> barCodeListP = ParseBarCode( barcode ); + List<String> barCodeListP = ParseBarCode(barcode); // 椤甸潰鏄剧ず鏁版嵁鍒濆鍖� for (orderBean codPage : codPageRecords) { codPage.pandian = 0; } // 鏌ヨ鎵�鏈夎繃鏈熷簱瀛� - List<Consumable_order_details2__c> orderDetZaiku = [select Id, Name,Consumable_Product__c, - Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Info_text__c, - Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Sterilization_limit__c, - Bar_Code_search__c - FROM Consumable_order_details2__c - WHERE Dealer_Arrive__c = true - AND Dealer_Shipment__c = false - AND Dealer_Saled__c = false - AND Lose_Flag__c = false - AND Isoverdue__c = 0 - AND Dealer_Returned__c = false - AND Cancellation_Flag__c = false - AND Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Dealer_Info_text__c = :accountInfo.Name - AND Arrive_Owner_Work_Location__c = :userWorkLocation]; + List<Consumable_order_details2__c> orderDetZaiku = [ + SELECT + Id, + Name, + Consumable_Product__c, + Bar_Code__c, + Consumable_Product__r.Name__c, + Dealer_Info_text__c, + Asset_Model_No__c, + Isoverdue__c, + Box_Piece__c, + Sterilization_limit__c, + Bar_Code_search__c + FROM Consumable_order_details2__c + WHERE + Dealer_Arrive__c = TRUE + AND Dealer_Shipment__c = FALSE + AND Dealer_Saled__c = FALSE + AND Lose_Flag__c = FALSE + AND Isoverdue__c = 0 + AND Dealer_Returned__c = FALSE + AND Cancellation_Flag__c = FALSE + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Dealer_Info_text__c = :accountInfo.Name + AND Arrive_Owner_Work_Location__c = :userWorkLocation + ]; // 娌℃湁杈撳叆鏉$爜鏃讹紝寰幆椤甸潰锛屾墍鏈夋墦閽╀骇鍝佸叏閮ㄩ攢瀛� // 鍙栧緱鎵�鏈� overdueList = new List<Consumable_order_details2__c>(); if (String.isBlank(barcode)) { System.debug('barcode绌�'); - for(orderBean codPage : codPageRecords){ + for (orderBean codPage : codPageRecords) { if (codPage.check) { - for(Consumable_order_details2__c cod2 : orderDetZaiku){ - if(cod2.Consumable_Product__c == codPage.prodid && codPage.boxPiece == cod2.Box_Piece__c){ - overduePageRecords.add(new orderBean(cod2,'杩囨湡搴撳瓨閿�瀛�')); + for (Consumable_order_details2__c cod2 : orderDetZaiku) { + if (cod2.Consumable_Product__c == codPage.prodid && codPage.boxPiece == cod2.Box_Piece__c) { + overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�')); overdueList.add(cod2); } } @@ -147,162 +160,175 @@ } // return; System.debug('overduePageRecords = ' + overduePageRecords); - data.put('overduePageRecords',JSON.serialize(overduePageRecords)); - data.put('codPageRecords',JSON.serialize(codPageRecords)); - data.put('iSinventory',iSinventory); - data.put('overdueList',overdueList); - res.status = 'Success'; - res.code = 200; - // res.msg = '璇疯緭鍏arCode鍙�'; - System.debug('res = ' + res); - return res; + System.debug('overdueList = ' + overdueList); + data.put('overduePageRecords', JSON.serialize(overduePageRecords)); + data.put('codPageRecords', JSON.serialize(codPageRecords)); + data.put('iSinventory', iSinventory); + data.put('overdueList', overdueList); + res.status = 'Success1'; + res.code = 200; + // res.msg = '璇疯緭鍏arCode鍙�'; + System.debug('res = ' + res); + return res; } // 杈撳叆barcode鏃� // BarCode鐨勬绱� 鎵�鏈夊湪搴� - List<Consumable_order_details2__c> reSet = [select Id,Consumable_Product__c, - Consumable_Product__r.Name__c,Box_Piece__c,Bar_Code_search__c, - Dealer_Shipment__c,Dealer_Saled__c,Lose_Flag__c,Bar_Code__c, - Cancellation_Flag__c,Isoverdue__c,Sterilization_limit__c - from Consumable_order_details2__c - where Bar_Code_search__c in :BarCodeListP - AND Dealer_Arrive__c = true - AND Cancellation_Flag__c = false - and Dealer_Returned__c = false - and Bar_Code__c !=null - AND Product_Type__c like : sqlagencyProType - AND Arrive_Owner_Work_Location__c =: userWorkLocation - AND Dealer_Info_text__c = :accountInfo.Name - order by Name]; - - System.debug('reSet===>'+reSet); + List<Consumable_order_details2__c> reSet = [ + SELECT + Id, + Consumable_Product__c, + Consumable_Product__r.Name__c, + Box_Piece__c, + Bar_Code_search__c, + Dealer_Shipment__c, + Dealer_Saled__c, + Lose_Flag__c, + Bar_Code__c, + Cancellation_Flag__c, + Isoverdue__c, + Sterilization_limit__c + FROM Consumable_order_details2__c + WHERE + Bar_Code_search__c IN :BarCodeListP + AND Dealer_Arrive__c = TRUE + AND Cancellation_Flag__c = FALSE + AND Dealer_Returned__c = FALSE + AND Bar_Code__c != NULL + AND Product_Type__c LIKE :sqlagencyProType + AND Arrive_Owner_Work_Location__c = :userWorkLocation + AND Dealer_Info_text__c = :accountInfo.Name + ORDER BY Name + ]; + System.debug('reSet===>' + reSet); - for(Consumable_order_details2__c cod2 : reSet){ - if ((cod2.Dealer_Shipment__c == false && cod2.Dealer_Saled__c == false - && cod2.Lose_Flag__c == false && cod2.Cancellation_Flag__c == false) && cod2.Isoverdue__c == 0) { + for (Consumable_order_details2__c cod2 : reSet) { + if ( + (cod2.Dealer_Shipment__c == false && + cod2.Dealer_Saled__c == false && + cod2.Lose_Flag__c == false && + cod2.Cancellation_Flag__c == false) && cod2.Isoverdue__c == 0 + ) { for (orderBean codPage : codPageRecords) { - if(cod2.Consumable_Product__c == codPage.prodid && cod2.Box_Piece__c == codPage.boxPiece){ - overduePageRecords.add(new orderBean(cod2,'杩囨湡搴撳瓨閿�瀛�')); + if (cod2.Consumable_Product__c == codPage.prodid && cod2.Box_Piece__c == codPage.boxPiece) { + overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�')); overdueList.add(cod2); - codPage.pandian ++; + codPage.pandian++; codPage.check = true; } } - }else if (cod2.Dealer_Shipment__c || cod2.Dealer_Saled__c) { - overduePageRecords.add(new orderBean(cod2,'浜у搧宸茬粡鍑哄簱')); - }else{ - overduePageRecords.add(new orderBean(cod2,'涓嶆槸杩囨湡搴撳瓨')); + } else if (cod2.Dealer_Shipment__c || cod2.Dealer_Saled__c) { + overduePageRecords.add(new orderBean(cod2, '浜у搧宸茬粡鍑哄簱')); + } else { + overduePageRecords.add(new orderBean(cod2, '涓嶆槸杩囨湡搴撳瓨')); } } System.debug('overduePageRecords = ' + overduePageRecords); - data.put('overduePageRecords',JSON.serialize(overduePageRecords)); - data.put('codPageRecords',JSON.serialize(codPageRecords)); - data.put('iSinventory',iSinventory); - data.put('overdueList',overdueList); + data.put('overduePageRecords', JSON.serialize(overduePageRecords)); + data.put('codPageRecords', JSON.serialize(codPageRecords)); + data.put('iSinventory', iSinventory); + data.put('overdueList', overdueList); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); return res; } - // 淇濆瓨鎸夐挳 @AuraEnabled - public static ResponseBodyLWC save(Boolean iSinventory,string saveCodPageRecords,List<Consumable_order_details2__c> saveoverdueList) { + public static ResponseBodyLWC save(Boolean iSinventory, string saveCodPageRecords, List<Consumable_order_details2__c> saveoverdueList) { ResponseBodyLWC res = new ResponseBodyLWC(); Map<String, object> data = new Map<String, object>(); res.entity = data; - system.debug('saveCodPageRecords=============>'+saveCodPageRecords); - system.debug('saveoverdueList'+saveoverdueList); - overdueList = saveoverdueList; + system.debug('saveCodPageRecords=============>' + saveCodPageRecords); + system.debug('saveoverdueList' + saveoverdueList); + overdueList = saveoverdueList; // if(saveoverdueList==null){ // return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', ''); // } - List<orderBean> codPageRecords = (List<orderBean>)JSON.deserialize(saveCodPageRecords,List<orderBean>.class); + List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(saveCodPageRecords, List<orderBean>.class); // List<Consumable_order_details2__c> overdueList = (List<Consumable_order_details2__c>)JSON.deserialize(saveoverdueList,List<Consumable_order_details2__c>.class); - // add by Wang Xueqin 2023/04/12 + // add by Wang Xueqin 2023/04/12 // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭� - user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =: UserInfo.getUserId()]; - accountInfo = [SELECT id,Name,Dealer_discount__c FROM account WHERE id =:Useracc.accountid]; + user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; + accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid]; // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂� StaticParameter.EscapeConsumableOrderDetail2Trigger = true; - if(!iSinventory){ + if (!iSinventory) { // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�')); - return new ResponseBodyLWC('Error',500, '璇峰厛褰曞叆BarCode', ''); + return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', ''); // return null; } integer Lo = 0; - for(orderBean header : codPageRecords){ - if(header.check==true){ + for (orderBean header : codPageRecords) { + if (header.check == true) { Lo++; } } - if(Lo == 0){ + if (Lo == 0) { iSinventory = false; // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏銆�')); - return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', ''); + return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', ''); // return null; } Integer orderDetNo = 1; Savepoint sp = Database.setSavepoint(); Consumable_order__c po = new Consumable_order__c(); - po.Name ='*'; + po.Name = '*'; po.Order_status__c = '鎵瑰噯'; po.Inventory_date__c = Date.today(); po.Order_type__c = '閿�瀛�'; po.Dealer_Info__c = accountInfo.Id; po.Order_ProType__c = agencyProType; po.RecordTypeid = System.Label.RT_ConOrder_Overdue; - try{ - insert po; - Consumable_order__c order = [SELECT Name FROM Consumable_order__c WHERE id =:po.id]; - List<Consumable_orderdetails__c> InsList = New List<Consumable_orderdetails__c>(); - for(orderBean header : codPageRecords){ - if(header.check==true){ + try { + insert po; + Consumable_order__c order = [SELECT Name FROM Consumable_order__c WHERE id = :po.id]; + List<Consumable_orderdetails__c> InsList = new List<Consumable_orderdetails__c>(); + for (orderBean header : codPageRecords) { + if (header.check == true) { Consumable_orderdetails__c insPan = new Consumable_orderdetails__c(); String str = string.valueOf(orderDetNo); - if(str.length() == 1){ - str = '0' + str; + if (str.length() == 1) { + str = '0' + str; } - insPan.Name = order.Name + '-'+ str; + insPan.Name = order.Name + '-' + str; insPan.Consumable_Product__c = header.prodId; insPan.Consumable_order__c = po.Id; insPan.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�'; insPan.Overdue_count__c = header.pandian; insPan.Overdue_SUM__c = header.overlimitCount; insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory; - orderDetNo ++; + orderDetNo++; InsList.add(insPan); } } // 鐢熸垚鏄庣粏1 - if(InsList.size()>0){ + if (InsList.size() > 0) { insert InsList; } - for(Consumable_order_details2__c cod : overdueList){ + for (Consumable_order_details2__c cod : overdueList) { cod.Consumable_Inventory_order__c = po.Id; cod.Inventory_date__c = Date.today(); cod.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�'; cod.Lose_Flag__c = true; - } - if(overdueList.size()>0){ + if (overdueList.size() > 0) { ControllerUtil.updateOrderDetailsSatus(overdueList); } - - }catch (Exception ex) { + } catch (Exception ex) { Database.rollback(sp); ApexPages.addMessages(ex); return null; } // return new Pagereference('/' + po.Id); - data.put('Id',po.Id); + data.put('Id', po.Id); res.status = 'Success'; res.code = 200; System.debug('res = ' + res); @@ -310,24 +336,25 @@ } // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist - public static List<String> ParseBarCode(String Code){ - Map<String,Integer> barcodeCountMap = new Map<String,Integer>(); - String[] Cache = new String[]{}; + public static List<String> ParseBarCode(String Code) { + Map<String, Integer> barcodeCountMap = new Map<String, Integer>(); + String[] Cache = new List<String>{}; Cache = Code.split('\n'); - List <String> Buff = new List<String>(); - for(String A : Cache){ + List<String> Buff = new List<String>(); + for (String A : Cache) { A = A.trim().toUpperCase(); - if(barcodeCountMap.containsKey(A)){ - barcodeCountMap.put(A,barcodeCountMap.get(A) + 1); - }else{ - barcodeCountMap.put(A,1); + if (barcodeCountMap.containsKey(A)) { + barcodeCountMap.put(A, barcodeCountMap.get(A) + 1); + } else { + barcodeCountMap.put(A, 1); } Buff.add(A + barcodeCountMap.get(A)); } return Buff; } - // Data Bean + // Data Bean + @TestVisible class orderBean implements Comparable { @AuraEnabled public Consumable_order_details2__c orderdetails2 { get; set; } @@ -335,7 +362,7 @@ public Product2__c Prod { get; set; } @AuraEnabled public Boolean check { get; set; } - + // 杩囨湡搴撳瓨 @AuraEnabled public Integer overlimitCount { get; set; } @@ -352,7 +379,7 @@ public String prodname { get; set; } @AuraEnabled public String prodid { get; set; } - orderBean(Consumable_order_details2__c e,string str) { + orderBean(Consumable_order_details2__c e, string str) { orderdetails2 = e; Prod = e.Consumable_Product__r; DiffReason = str; @@ -367,14 +394,14 @@ } // 鎺掑簭 public Integer compareTo(Object compareTo) { - orderBean compareToesd =(orderBean)compareTo; + orderBean compareToesd = (orderBean) compareTo; Integer returnValue = 0; - if (overlimitCount > compareToesd.overlimitCount ) { + if (overlimitCount > compareToesd.overlimitCount) { returnValue = -1; - } else if (overlimitCount < compareToesd.overlimitCount ) { + } else if (overlimitCount < compareToesd.overlimitCount) { returnValue = 1; } return returnValue; } } -} \ No newline at end of file +} diff --git a/force-app/main/default/classes/LexSaleOrderController.cls b/force-app/main/default/classes/LexSaleOrderController.cls index d967cc7..23b9d5a 100644 --- a/force-app/main/default/classes/LexSaleOrderController.cls +++ b/force-app/main/default/classes/LexSaleOrderController.cls @@ -201,6 +201,7 @@ //BarCodelist鍋氭垚 barCodeListP = ParseBarCode(barcode); + System.debug('barCodeListP:' + barCodeListP); //閽堝鎵�鏈夊晢鍝佸埌璐х‘璁� reSet1 = [ SELECT @@ -235,6 +236,7 @@ AND Arrive_Owner_Work_Location__c = :userWorkLocation ORDER BY RemoveBox_No__c DESC ]; + System.debug('reSet1:' + reSet1); List<Consumable_order_details2__c> newdet2 = new List<Consumable_order_details2__c>(); Set<Id> proIds = new Set<Id>(); @@ -242,6 +244,7 @@ Integer idx = 0; for (Consumable_order_details2__c cod2 : reSet1) { if (cod2.Bar_Code__c == barcode) { + System.debug('cod2.Bar_Code__c:' + cod2.Bar_Code__c); newdet2.add(cod2); reSet1.remove(idx); proIds.add(cod2.Consumable_product__c); @@ -678,13 +681,13 @@ if (n.find()) { if (newdet2[j].TracingCode__c.length() == 5) { String tr = newdet2[j].TracingCode__c; - String Ctr = tr.substring(tr.length() - 3,tr.length()); - String Btr = tr.substring(tr.length() - 4,tr.length()-3); - String Atr = tr.substring(tr.length() - 5,tr.length()-4); + String Ctr = tr.substring(tr.length() - 3, tr.length()); + String Btr = tr.substring(tr.length() - 4, tr.length() - 3); + String Atr = tr.substring(tr.length() - 5, tr.length() - 4); if (Pattern.compile('[0-9]').matcher(Atr).find() || Pattern.compile('[0-9]').matcher(Ctr).find()) { String str = '绠$悊缂栫爜鏈夎锛岃妫�鏌ユ潯褰㈢爜鏁版嵁銆�'; - consumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(newdet2[j],str)); - errorIdMap.put(newdet2[j].Bar_Code__c,newdet2[j].Bar_Code__c); + consumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(newdet2[j], str)); + errorIdMap.put(newdet2[j].Bar_Code__c, newdet2[j].Bar_Code__c); continue; } } @@ -1076,11 +1079,16 @@ for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { String key = '' + ass.orderdetails2.Bar_Code__c; Integer deliverycnt = BarcodeCntMap.get(key); - if (ass.orderdetails2.Box_Piece__c == '涓�' &&(ass.outboundCount == null || String.valueof(ass.outboundCount) == '' || ass.outboundCount <= 0)) { + if ( + ass.orderdetails2.Box_Piece__c == '涓�' && + (ass.outboundCount == null || + String.valueof(ass.outboundCount) == '' || + ass.outboundCount <= 0) + ) { // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '璇疯緭鍏ヤ骇鍝� '+ ass.Prod.Name +' 鐨勫嚭璐ф暟閲�')); // return null; - System.debug('ass.orderdetails2.Box_Piece__c = ' + ass.orderdetails2.Box_Piece__c); - System.debug('ass.outboundCount = ' + ass.outboundCount); + System.debug('ass.orderdetails2.Box_Piece__c = ' + ass.orderdetails2.Box_Piece__c); + System.debug('ass.outboundCount = ' + ass.outboundCount); return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ヤ骇鍝� ' + ass.Prod.Name + ' 鐨勫嚭璐ф暟閲�', ''); } if (ass.outboundCount > deliverycnt) { @@ -1265,6 +1273,7 @@ return consumableorderdetails2Nobox.size(); } + @TestVisible class ConsumableorderdetailsInfo implements Comparable { @AuraEnabled public Consumable_orderdetails__c orderdetails1 { get; set; } @@ -1307,4 +1316,4 @@ return null; } } -} \ No newline at end of file +} diff --git a/force-app/main/default/classes/NewRepairController.cls b/force-app/main/default/classes/NewRepairController.cls index 0e54e90..77ce6a1 100644 --- a/force-app/main/default/classes/NewRepairController.cls +++ b/force-app/main/default/classes/NewRepairController.cls @@ -1,63 +1,79 @@ /* - *@Description: - *@Author: Dennis Rodman + *@Description: + *@Author: Dennis Rodman *@Date: 2022-03-10 10:26:47 -*/ + */ global without sharing class NewRepairController { - public String layoutSectionsStr {get; set;}//for dynamic add readonly attribute - public List <LayoutDescriberHelper.LayoutSection > layoutSections{set;get;} - public String awsToken{set;get;} + public String layoutSectionsStr { get; set; } //for dynamic add readonly attribute + public List<LayoutDescriberHelper.LayoutSection> layoutSections { get; set; } + public String awsToken { get; set; } public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public static String sobjectTypeValue = 'Repair__c'; - public Boolean isNewMode{set;get;} - public String rtTypeId {get; set;} - public String AWSDataId{set;get;} - public String DecryptAWSDataId{set;get;} - public String ContactAWSDataId{set;get;} - public List<String> encryptedAPIList{set;get;} - public String staticResource {get; set;} - public String staticResourceContact {get; set;} - public String staticResourceAddress {get; set;} - public String requiredFieldAPIListStr {get; set;} - public String fieldAPIToLabelMapStr {get; set;} - public String Input_Required_Field_Msg{set;get;} - public String PIPL_Name_Label{set;get;} - public String PIPL_Input_Account_Error_Msg{set;get;} - public String sobjectPrefix{set;get;} - public String sobjecttypeForFrontEnd{set;get;} - public String sobjectId{set;get;} - public String workLocationSelect{set;get;} - public String RepairSubOrderAWSDataId{set;get;} - public String staticResourceRepairSubOrder{set;get;} - public String VLookUpFieldsJson{get;private set;} + public Boolean isNewMode { get; set; } + public String rtTypeId { get; set; } + public String AWSDataId { get; set; } + public String DecryptAWSDataId { get; set; } + public String ContactAWSDataId { get; set; } + public List<String> encryptedAPIList { get; set; } + public String staticResource { get; set; } + public String staticResourceContact { get; set; } + public String staticResourceAddress { get; set; } + public String requiredFieldAPIListStr { get; set; } + public String fieldAPIToLabelMapStr { get; set; } + public String Input_Required_Field_Msg { get; set; } + public String PIPL_Name_Label { get; set; } + public String PIPL_Input_Account_Error_Msg { get; set; } + public String sobjectPrefix { get; set; } + public String sobjecttypeForFrontEnd { get; set; } + public String sobjectId { get; set; } + public String workLocationSelect { get; set; } + public String RepairSubOrderAWSDataId { get; set; } + public String staticResourceRepairSubOrder { get; set; } + public String VLookUpFieldsJson { get; private set; } //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start - public String staticResourceV2 {get; set;} + public String staticResourceV2 { get; set; } //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end public NewRepairController(ApexPages.StandardController controller) { - sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='Repair' limit 1].CustomObjectId; + //sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='Repair' limit 1].CustomObjectId; + sobjectId = [SELECT id, QualifiedApiName, DurableId, IsCustomizable FROM EntityDefinition WHERE QualifiedApiName = 'Repair__c'] + .DurableId; isNewMode = true; Input_Required_Field_Msg = Label.Input_Required_Field_Msg; PIPL_Name_Label = Label.PIPL_Name_Label; PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; sobjecttypeForFrontEnd = sobjectTypeValue; //鑾峰彇鎵�鏈夊瓧娈� - List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Repair__c').getDescribe().fields.getMap().keyset()); + List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Repair__c').getDescribe().fields.getMap().keyset()); // Add fields to controller. This is to avoid the SOQL error in visualforce page - if(!Test.isRunningTest()){ - controller.addFields(fieldList); + if (!Test.isRunningTest()) { + controller.addFields(fieldList); } - SObject obj = controller.getRecord(); - if(obj.Id != null){ + SObject obj = controller.getRecord(); + if (obj.Id != null) { //鏇存柊 isNewMode = false; - Repair__c repairData = [select Id,RecordTypeId,AWS_Data_Id__c,Address_AWS_Data_Id__c,Contact_AWS_Data_Id__c,Address_Contacts_Encrypt__c,Address_Contacts_Name_Encrypt__c,Address_Telephone_Encrypt__c,Address_ZipCode_Encrypt__c,Detailed_Address_Encrypt__c from Repair__c where id =: obj.Id]; + Repair__c repairData = [ + SELECT + Id, + RecordTypeId, + AWS_Data_Id__c, + Address_AWS_Data_Id__c, + Contact_AWS_Data_Id__c, + Address_Contacts_Encrypt__c, + Address_Contacts_Name_Encrypt__c, + Address_Telephone_Encrypt__c, + Address_ZipCode_Encrypt__c, + Detailed_Address_Encrypt__c + FROM Repair__c + WHERE id = :obj.Id + ]; rtTypeId = repairData.RecordTypeId; AWSDataId = repairData.AWS_Data_Id__c; DecryptAWSDataId = String.valueOf(repairData.Address_AWS_Data_Id__c); ContactAWSDataId = String.valueOf(repairData.Contact_AWS_Data_Id__c); - }else{ + } else { //鏂板缓 - + // //淇悊鍝佽繑閫佸湴 // if(mso.containsKey('00N10000006P6SM')){ // controller.getRecord().put('SalesOfficeCode_selection__c',mso.get('00N10000006P6SM')); @@ -81,7 +97,7 @@ // String o = mso.get('00N10000008rsVQ'); // controller.getRecord().put('DateReceiptQuestions__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); // } - + // //鏄惁鏈夋浜°�佷激瀹炽�佹劅鏌�00N10000008rsW7 // if(mso.containsKey('00N10000008rsW7')){ // controller.getRecord().put('ifDeadHurt__c',mso.get('00N10000008rsW7')); @@ -157,9 +173,7 @@ // if(mso.containsKey('00N10000006P1dw')){ // controller.getRecord().put('PaperRepairRequestNo__c',mso.get('00N10000006P1dw')); // } - - - + // //甯傚満澶氬勾淇濅慨 鏈夊伩/鏃犲伩淇悊00N10000008rG4p // if(mso.containsKey('00N10000008rG4p')){ // controller.getRecord().put('RepairCostType__c',mso.get('00N10000008rG4p')); @@ -183,7 +197,7 @@ // if(mso.containsKey(RepairApplicant)){ // controller.getRecord().put('RepairApplicant__c',mso.get(RepairApplicant)); // } - // //鎶ヤ慨浜哄尰闄�00N1m0000054ufU + // //鎶ヤ慨浜哄尰闄�00N1m0000054ufU // String RepairApplicantHospital = isTest==true?'00N1m0000054ufU':'00N10000009H1rP'; // if(mso.containsKey(RepairApplicantHospital)){ // controller.getRecord().put('RepairApplicantHospital__c',mso.get(RepairApplicantHospital)); @@ -197,11 +211,11 @@ // String RepairSubOrder = isTest==true?'CF00N1m0000054ufZ_lkid':'CF00N10000009H1rR_lkid'; // if(mso.containsKey(RepairSubOrder)){ // controller.getRecord().put('RepairSubOrder__c',mso.get(RepairSubOrder)); - // //鏌ヨAWSDataId - // List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:mso.get(RepairSubOrder)]; - // if(rso.size() > 0){ - // RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c; - // } + // //鏌ヨAWSDataId + // List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:mso.get(RepairSubOrder)]; + // if(rso.size() > 0){ + // RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c; + // } // } // //鎶ヤ慨鍙戣捣鏃� // String RepairTime = isTest==true?'00N1m0000054ufa':'00N10000009H1rS'; @@ -251,7 +265,7 @@ // String o = mso.get(SubOrderCreatedDate); // controller.getRecord().put('SubOrderCreatedDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); // } - + // //閫佷慨鐗╂祦鏂瑰紡00N1m0000054ufE // if(mso.containsKey('00N1m0000054ufE')){ // controller.getRecord().put('DeliveryLogisticsMode__c',mso.get('00N1m0000054ufE')); @@ -273,9 +287,9 @@ // controller.getRecord().put('DelayReportReason__c',mso.get('00N10000008rsVS')); // } - Map<string,string> mso = ApexPages.currentPage().getParameters(); - system.debug('mso='+mso); - AssignValueFromUrl(mso,controller.getRecord()); + Map<string, string> mso = ApexPages.currentPage().getParameters(); + system.debug('mso=' + mso); + AssignValueFromUrl(mso, controller.getRecord()); //閫氳繃id鏌� 闂 //PIPL zhj 2022-11-11 start //浠庢姤淇瓙鍗曡繃鏉�00N10000009H1rR @@ -283,8 +297,8 @@ String repairSubOrderId = mso.get('CF00N10000009H1rR_lkid'); System.debug('repairSubOrderId = ' + repairSubOrderId); //鏌ヨAWSDataId - List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:repairSubOrderId]; - if(rso.size() > 0){ + List<RepairSubOrder__c> rso = [SELECT AWS_Data_Id__c FROM RepairSubOrder__c WHERE Id = :repairSubOrderId]; + if (rso.size() > 0) { RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c; } } @@ -294,51 +308,71 @@ if (mso.containsKey('retURL')) { String RepairId = mso.get('retURL').substring(1); System.debug('RepairId = ' + RepairId); - rc = [select Hospital__c,Department_Class__c,Account__c,Dealer__c,Incharge_Staff_Contact__c,Incharge_Staff__c, RepairSubOrder__c,On_Call_ID__c,QIS_ID__c, InsReport__c,Rental_Apply_Equipment_Set_Detail__c from Repair__c where id =:RepairId ]; + rc = [ + SELECT + Hospital__c, + Department_Class__c, + Account__c, + Dealer__c, + Incharge_Staff_Contact__c, + Incharge_Staff__c, + RepairSubOrder__c, + On_Call_ID__c, + QIS_ID__c, + InsReport__c, + Rental_Apply_Equipment_Set_Detail__c + FROM Repair__c + WHERE id = :RepairId + ]; System.debug('rc = ' + rc); - if(rc.size() > 0){ - //鍖婚櫌 - controller.getRecord().put('Hospital__c',rc[0].Hospital__c); + if (rc.size() > 0) { + //鍖婚櫌 + controller.getRecord().put('Hospital__c', rc[0].Hospital__c); //鎴樼暐绉戝鍒嗙被 - controller.getRecord().put('Department_Class__c',rc[0].Department_Class__c); + controller.getRecord().put('Department_Class__c', rc[0].Department_Class__c); //绉戝 - controller.getRecord().put('Account__c',rc[0].Account__c); + controller.getRecord().put('Account__c', rc[0].Account__c); //缁忛攢鍟嗗悕 - controller.getRecord().put('Dealer__c',rc[0].Dealer__c); + controller.getRecord().put('Dealer__c', rc[0].Dealer__c); //淇悊濮旀墭鑰咃紙鍛樺伐锛� - controller.getRecord().put('Incharge_Staff_Contact__c',rc[0].Incharge_Staff_Contact__c); + controller.getRecord().put('Incharge_Staff_Contact__c', rc[0].Incharge_Staff_Contact__c); //淇悊濮旀墭鑰�(FSE) - controller.getRecord().put('Incharge_Staff__c',rc[0].Incharge_Staff__c); + controller.getRecord().put('Incharge_Staff__c', rc[0].Incharge_Staff__c); //鎶ヤ慨瀛愬崟RepairSubOrder__c - controller.getRecord().put('RepairSubOrder__c',rc[0].RepairSubOrder__c); + controller.getRecord().put('RepairSubOrder__c', rc[0].RepairSubOrder__c); //鏌ヨAWSDataId - List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:rc[0].RepairSubOrder__c]; - if(rso.size() > 0){ + List<RepairSubOrder__c> rso = [SELECT AWS_Data_Id__c FROM RepairSubOrder__c WHERE Id = :rc[0].RepairSubOrder__c]; + if (rso.size() > 0) { RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c; } //On-Call鍙风爜On_Call_ID__c - controller.getRecord().put('On_Call_ID__c',rc[0].On_Call_ID__c); + controller.getRecord().put('On_Call_ID__c', rc[0].On_Call_ID__c); //QIS鍙风爜QIS_ID__c - controller.getRecord().put('QIS_ID__c',rc[0].QIS_ID__c); + controller.getRecord().put('QIS_ID__c', rc[0].QIS_ID__c); //鐐规鎶ュ憡涔nsReport__c - controller.getRecord().put('InsReport__c',rc[0].InsReport__c); + controller.getRecord().put('InsReport__c', rc[0].InsReport__c); //鍊熷嚭澶囧搧閰嶅涓�瑙堟槑缁哛ental_Apply_Equipment_Set_Detail__c - controller.getRecord().put('Rental_Apply_Equipment_Set_Detail__c',rc[0].Rental_Apply_Equipment_Set_Detail__c); + controller.getRecord().put('Rental_Apply_Equipment_Set_Detail__c', rc[0].Rental_Apply_Equipment_Set_Detail__c); } - } - + rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); - if(String.isBlank(rtTypeId)||String.isEmpty(rtTypeId)){ - List<RecordType> rtList = new List<RecordType>([select Id,DeveloperName from RecordType where SobjectType ='Repair__c' and DeveloperName ='Repair']); + if (String.isBlank(rtTypeId) || String.isEmpty(rtTypeId)) { + List<RecordType> rtList = new List<RecordType>( + [SELECT Id, DeveloperName FROM RecordType WHERE SobjectType = 'Repair__c' AND DeveloperName = 'Repair'] + ); rtTypeId = rtList[0].Id; } } - LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Repair__c','classic'); + LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper( + rtTypeId, + 'Repair__c', + 'classic' + ); layoutSections = LayoutWrapperValue.layoutSections; layoutSectionsStr = JSON.serialize(layoutSections); //for dynamic add readonly attribute List<String> requiredFieldAPIList = LayoutWrapperValue.requiredFieldAPIList; - Map<String,String> fieldAPIToLabelMap = LayoutWrapperValue.fieldAPIToLabelMap; + Map<String, String> fieldAPIToLabelMap = LayoutWrapperValue.fieldAPIToLabelMap; requiredFieldAPIListStr = JSON.serialize(requiredFieldAPIList); fieldAPIToLabelMapStr = JSON.serialize(fieldAPIToLabelMap); PIHelper.PIIntegration piIntegration = PIHelper.getPIIntegrationInfo('Repair__c'); @@ -366,33 +400,33 @@ VLookUpFieldsJson = Json.serialize(VLookUpFields); } - global class Response{ - public String recordId{set;get;} - public String message{set;get;} - public String status{set;get;} + global class Response { + public String recordId { get; set; } + public String message { get; set; } + public String status { get; set; } } - + @RemoteAction - global static Response EncryptUpdate(string rid){ - system.debug('rid='+rid); + global static Response EncryptUpdate(string rid) { + system.debug('rid=' + rid); Response r = new Response(); List<Repair__c> reps = new List<Repair__c>(); - if(Test.isRunningTest()){ - if(rid=='a0J1m000001QqXk'){ - reps.add(new Repair__c(Id='a0J1m000001QqXk',Encrypt_Update_Flag__c=true)); - }else{ - reps.add(new Repair__c(Id='a0J1m000001QqXk',Encrypt_Update_Flag__c=false)); + if (Test.isRunningTest()) { + if (rid == 'a0J1m000001QqXk') { + reps.add(new Repair__c(Id = 'a0J1m000001QqXk', Encrypt_Update_Flag__c = true)); + } else { + reps.add(new Repair__c(Id = 'a0J1m000001QqXk', Encrypt_Update_Flag__c = false)); } - }else{ - reps = [select id,Encrypt_Update_Flag__c from Repair__c where id =:rid]; - } - if(reps.size()==0){ + } else { + reps = [SELECT id, Encrypt_Update_Flag__c FROM Repair__c WHERE id = :rid]; + } + if (reps.size() == 0) { r.status = 'failed'; r.message = '绗﹀悎鏉′欢鐨勬暟鎹湭鎵惧埌'; return r; } Repair__c rep = reps[0]; - if(!rep.Encrypt_Update_Flag__c){ + if (!rep.Encrypt_Update_Flag__c) { r.status = 'success'; r.message = ''; return r; @@ -400,17 +434,17 @@ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start //boolean b = AWSServiceTool2.EncryptPushData(new string[]{rid}); System.debug('AWSServiceTool2V2.EncryptPushDataRepair start'); - + //AWSServiceTool2V2.EncryptPushDataRepair(rid); boolean b = false; - if(!Test.isRunningTest()){ + if (!Test.isRunningTest()) { b = AWSServiceTool2V2.EncryptPushDataRepair(rid); } //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end rep.Encrypt_Update_Flag__c = false; - if(!Test.isRunningTest()){ + if (!Test.isRunningTest()) { update rep; - } + } r.status = b ? 'success' : 'failed'; r.message = b ? '' : '鍔犲瘑鎺ㄩ�佸け璐�'; r.recordId = rid; @@ -418,83 +452,96 @@ } @RemoteAction - global static Response saveRepair(String repairJson,String transId,Boolean isNew) { + global static Response saveRepair(String repairJson, String transId, Boolean isNew) { System.debug('Repair__c Info:' + JSON.serialize(repairJson)); //1. Prepare the payload for Repair__c Schema.SObjectType repairSchema = schemaMap.get(sobjectTypeValue); Map<String, Schema.SObjectField> fieldAPIToTypeMap = repairSchema.getDescribe().fields.getMap(); - Map<String,Object> fieldValueMap = (Map<String,Object>)JSON.deserializeUntyped(repairJson); + Map<String, Object> fieldValueMap = (Map<String, Object>) JSON.deserializeUntyped(repairJson); Repair__c repairInfo = new Repair__c(); Boolean updateRepairCheck = false; //鑷畾涔夋牸寮忚浆鎹� - for (String fieldAPI: fieldValueMap.keySet()) { - system.debug('field API'+fieldAPI); - if(!fieldAPIToTypeMap.containskey(fieldAPI)){ + for (String fieldAPI : fieldValueMap.keySet()) { + system.debug('field API' + fieldAPI); + if (!fieldAPIToTypeMap.containskey(fieldAPI)) { continue; } - Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType(); - String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI)); - if(String.valueOf(fielddataType)=='DATE'){ - repairInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); - }else if(String.valueOf(fielddataType)=='DATETIME'){ - if(String.isNotBlank(fieldValue)&&fieldValue.contains('T')){ - fieldValue = fieldValue.replace('T',' '); + Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType(); + String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI)); + if (String.valueOf(fielddataType) == 'DATE') { + repairInfo.put( + fieldAPI, + (String.isBlank(fieldValue) || String.isEmpty(fieldValue)) ? null : Date.valueOf(fieldValue.replace('/', '-')) + ); + } else if (String.valueOf(fielddataType) == 'DATETIME') { + if (String.isNotBlank(fieldValue) && fieldValue.contains('T')) { + fieldValue = fieldValue.replace('T', ' '); repairInfo.put(fieldAPI, Datetime.valueOfGmt(fieldValue)); - }else if(String.isNotBlank(fieldValue)) { + } else if (String.isNotBlank(fieldValue)) { fieldValue = fieldValue.replace('/', '-') + ':00'; System.debug('fieldValue = ' + fieldValue); repairInfo.put(fieldAPI, Datetime.valueOf(fieldValue)); - }else{ + } else { repairInfo.put(fieldAPI, null); } - - }else if(String.valueOf(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='CURRENCY'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ - repairInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); - } else if(String.valueof(fielddataType)=='BOOLEAN'){ - //check repair check value - if(fieldAPI == 'Return_Without_Repair__c'&&Boolean.valueof(fieldValueMap.get(fieldAPI))){ + } else if ( + String.valueOf(fielddataType) == 'PERCENT' || + String.valueOf(fielddataType) == 'CURRENCY' || + String.valueOf(fielddataType) == 'Number' || + String.valueOf(fielddataType) == 'DOUBLE' + ) { + repairInfo.put( + fieldAPI, + (String.isBlank(fieldValue) || String.isEmpty(fieldValue)) ? null : Decimal.valueOf(fieldValue.replace(',', '')) + ); + } else if (String.valueof(fielddataType) == 'BOOLEAN') { + //check repair check value + if (fieldAPI == 'Return_Without_Repair__c' && Boolean.valueof(fieldValueMap.get(fieldAPI))) { updateRepairCheck = true; } repairInfo.put(fieldAPI, fieldValueMap.get(fieldAPI)); - }else { + } else { repairInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI))); - } + } } //2. Save Record Process - String status = 'success'; + String status = 'success'; Response resp = new Response(); Savepoint sp = Database.setSavepoint(); String rid = ''; - try{ + try { System.debug('abcde'); - if(isNew){ + if (isNew) { System.debug('repairInfozhj = ' + repairInfo); insert repairInfo; - }else{ + } else { System.debug('into update'); - String awsDataId = (String)repairInfo.get('AWS_Data_Id__c'); + String awsDataId = (String) repairInfo.get('AWS_Data_Id__c'); System.debug('awsDataId = ' + awsDataId); - Repair__c[] repairs = [select id,Return_Without_Repair_Reason__c,SAP_Transfer_time__c from Repair__c where AWS_Data_Id__c =:awsDataId]; - if(!updateRepairCheck){ - repairInfo.put('Return_Without_Repair_Reason__c',repairs[0].Return_Without_Repair_Reason__c); + Repair__c[] repairs = [ + SELECT id, Return_Without_Repair_Reason__c, SAP_Transfer_time__c + FROM Repair__c + WHERE AWS_Data_Id__c = :awsDataId + ]; + if (!updateRepairCheck) { + repairInfo.put('Return_Without_Repair_Reason__c', repairs[0].Return_Without_Repair_Reason__c); } - if(repairs!=null&&repairs[0]!=null){ - repairInfo.put('SAP_Transfer_time__c',repairs[0].SAP_Transfer_time__c); + if (repairs != null && repairs[0] != null) { + repairInfo.put('SAP_Transfer_time__c', repairs[0].SAP_Transfer_time__c); } System.debug('repairs[0].id = ' + repairs[0].id); - repairInfo.put('Id',repairs[0].id);//For testing; + repairInfo.put('Id', repairs[0].id); //For testing; update repairInfo; } - rid=repairInfo.Id; - PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,''); + rid = repairInfo.Id; + PIHelper.saveTransLog(sobjectTypeValue, (String) repairInfo.get('AWS_Data_Id__c'), rid, transId, repairJson, status, ''); resp.recordId = repairInfo.Id; resp.message = ''; resp.status = status; System.debug('resp from sfdx back-end' + resp); return resp; - - } catch(DmlException e) { - rid=repairInfo.Id; + } catch (DmlException e) { + rid = repairInfo.Id; Integer index = 0; System.debug(e.getNumDml()); System.debug(e.getDmlFields(index)); @@ -503,60 +550,88 @@ System.debug(e.getDmlMessage(index)); System.debug(e.getDmlStatusCode(index)); System.debug(e.getDmlType(index)); - system.debug(e.getMessage()); + system.debug(e.getMessage()); system.debug(e.getStackTraceString()); - System.debug('into catch'+e.getMessage()); + System.debug('into catch' + e.getMessage()); Database.rollback(sp); resp.status = 'Exception'; - resp.message ='淇濆瓨澶辫触锛屽師鍥�:'+ e.getDmlMessage(index); - PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,e.getMessage()+e.getStackTraceString()); + resp.message = '淇濆瓨澶辫触锛屽師鍥�:' + e.getDmlMessage(index); + PIHelper.saveTransLog( + sobjectTypeValue, + (String) repairInfo.get('AWS_Data_Id__c'), + rid, + transId, + repairJson, + status, + e.getMessage() + e.getStackTraceString() + ); return resp; - - } catch(Exception e) { - System.debug('into catch'+e.getMessage()); + } catch (Exception e) { + System.debug('into catch' + e.getMessage()); Database.rollback(sp); status = 'fail'; - PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,e.getMessage()+e.getStackTraceString()); - resp.message = e.getMessage(); + PIHelper.saveTransLog( + sobjectTypeValue, + (String) repairInfo.get('AWS_Data_Id__c'), + rid, + transId, + repairJson, + status, + e.getMessage() + e.getStackTraceString() + ); + resp.message = e.getMessage(); resp.status = status; return resp; } } // 浠巙rl鍙傛暟璧嬪�煎埌褰撳墠椤甸潰 - public static void AssignValueFromUrl(Map<string,string> mso, sobject sobj){ - + public static void AssignValueFromUrl(Map<string, string> mso, sobject sobj) { String sobject_name = sobj.getSObjectType().getDescribe().getName(); - Map<string,object> temp = new Map<string,object>(); - Map<string,FieldDefinition> fdm = new Map<string,FieldDefinition>(); - List<FieldDefinition> fds = [SELECT Id, DurableId, QualifiedApiName,ValueTypeId , EntityDefinitionId, NamespacePrefix,EntityDefinition.NamespacePrefix, DeveloperName, MasterLabel, Label FROM FieldDefinition where EntityDefinition.QualifiedApiName = :sobject_name]; - for(FieldDefinition fd : fds){ + Map<string, object> temp = new Map<string, object>(); + Map<string, FieldDefinition> fdm = new Map<string, FieldDefinition>(); + List<FieldDefinition> fds = [ + SELECT + Id, + DurableId, + QualifiedApiName, + ValueTypeId, + EntityDefinitionId, + NamespacePrefix, + EntityDefinition.NamespacePrefix, + DeveloperName, + MasterLabel, + Label + FROM FieldDefinition + WHERE EntityDefinition.QualifiedApiName = :sobject_name + ]; + for (FieldDefinition fd : fds) { //system.debug(fd.DurableId); - fdm.put(fd.DurableId.split('\\.')[1],fd); + fdm.put(fd.DurableId.split('\\.')[1], fd); } - - for(string key : mso.keySet()){ + + for (string key : mso.keySet()) { if (key.toLowerCase() == 'id') { System.debug('skip id assign'); continue; } string new_key = key; - system.debug('new_key='+new_key); - if(new_key.contains('_lkid')){ + system.debug('new_key=' + new_key); + if (new_key.contains('_lkid')) { new_key = new_key.replace('_lkid', ''); new_key = new_key.substring(2); - }else{ - if(temp.containsKey(new_key)){ + } else { + if (temp.containsKey(new_key)) { continue; } } - - system.debug('now new_key='+new_key); - if(fdm.containsKey(new_key)){ - system.debug('fdm.get(new_key)='+fdm.get(new_key)); + + system.debug('now new_key=' + new_key); + if (fdm.containsKey(new_key)) { + system.debug('fdm.get(new_key)=' + fdm.get(new_key)); string val_str = mso.get(key); - system.debug('val_str='+val_str); + system.debug('val_str=' + val_str); /*鏃犻渶鍋歞ecode锛宻f鍐呴儴宸茬粡鍋氬ソ try{ val_str = EncodingUtil.urlDecode(mso.get(key),'UTF-8'); @@ -564,82 +639,81 @@ continue; system.debug('Exception from get Key:'+e.getMessage()); system.debug(e.getStackTraceString()); - } */ + } */ object val = null; string type_id = fdm.get(new_key).ValueTypeId; // address, boolean, date, datetime, double, id, location, string, time - if(string.isBlank(val_str)){ + if (string.isBlank(val_str)) { val = null; - }else if(type_id == 'boolean'){ - if(val_str == '1'){ + } else if (type_id == 'boolean') { + if (val_str == '1') { val = true; - }else{ + } else { val = boolean.valueOf(val_str); } - }else if(type_id == 'date'){ + } else if (type_id == 'date') { // - try{ + try { val = date.parse(val_str); - }catch(Exception e){ - system.debug('val_str='+val_str); + } catch (Exception e) { + system.debug('val_str=' + val_str); system.debug(e.getMessage()); system.debug(e.getStackTraceString()); - try{ + try { val = date.valueOf(val_str); - }catch(Exception ee){ - system.debug('val_str='+val_str); + } catch (Exception ee) { + system.debug('val_str=' + val_str); system.debug(ee.getMessage()); system.debug(ee.getStackTraceString()); continue; } } - }else if(type_id == 'datetime'){ + } else if (type_id == 'datetime') { // - try{ + try { val = datetime.parse(val_str); - }catch(Exception e){ - system.debug('val_str='+val_str); + } catch (Exception e) { + system.debug('val_str=' + val_str); system.debug(e.getMessage()); system.debug(e.getStackTraceString()); - try{ + try { val = datetime.valueOf(val_str); - }catch(Exception ee){ - system.debug('val_str='+val_str); + } catch (Exception ee) { + system.debug('val_str=' + val_str); system.debug(ee.getMessage()); system.debug(ee.getStackTraceString()); continue; } } - }else if(type_id == 'double' || type_id == 'number'){ - try{ + } else if (type_id == 'double' || type_id == 'number') { + try { val = decimal.valueOf(val_str.replace(',', '')); - }catch(Exception ee){ - system.debug('val_str='+val_str); + } catch (Exception ee) { + system.debug('val_str=' + val_str); system.debug(ee.getMessage()); system.debug(ee.getStackTraceString()); continue; } - - }else if(type_id == 'id' || type_id == 'string'){ + } else if (type_id == 'id' || type_id == 'string') { val = val_str; - }else{ - system.debug('type_id='+type_id+' is not support to convert'); + } else { + system.debug('type_id=' + type_id + ' is not support to convert'); continue; } - temp.put(fdm.get(new_key).QualifiedApiName,val); - }else{ - system.debug(key+' is not in fdm'); + temp.put(fdm.get(new_key).QualifiedApiName, val); + } else { + system.debug(key + ' is not in fdm'); } } - - for(string key : temp.keySet()){ - system.debug('assign '+key+'='+temp.get(key)); - try{ + + for (string key : temp.keySet()) { + system.debug('assign ' + key + '=' + temp.get(key)); + try { sobj.put(key, temp.get(key)); - }catch(Exception e){ + } catch (Exception e) { system.debug(e.getMessage()); system.debug(e.getStackTraceString()); } } } -} \ No newline at end of file +} diff --git a/force-app/main/default/pages/NewAndEditReport.page b/force-app/main/default/pages/NewAndEditReport.page index 6846592..e7e9c6e 100644 --- a/force-app/main/default/pages/NewAndEditReport.page +++ b/force-app/main/default/pages/NewAndEditReport.page @@ -1,9 +1,15 @@ -<apex:page standardController="Report__c" extensions="NewAndEditReportController" id="page" lightningStylesheets="true"> - <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> - <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> - <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> - <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> - <apex:includeScript value="{!URLFOR($Resource.connection20)}"/> +<apex:page + standardController="Report__c" + extensions="NewAndEditReportController" + id="page" +> + <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}" /> + <apex:includeScript + value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" + /> + <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}" /> + <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}" /> + <apex:includeScript value="{!URLFOR($Resource.connection20)}" /> <style> .disabledbutton { @@ -68,7 +74,7 @@ let t = jQuery("label[for$='textAreaDelegate_"+api_name+"']").parent().next().find("textarea")[0]; if(t && t.id){ return CKEDITOR.instances[t.id] - + } return null; } @@ -227,7 +233,7 @@ // if(phone1 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone1.value)){ // error_msg += ';淇℃伅鎻愪緵浜鸿仈绯绘柟寮忥紙鐢佃瘽锛夊彿鐮侀敊璇�'; // } - + // let phone2 = document.querySelector(textPhone2); // if(phone2 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone2.value)){ // error_msg += ';鑱旂郴鐢佃瘽鍙风爜閿欒'; @@ -262,7 +268,7 @@ }else{ blankRequiredFields =blankRequiredFields+',' + fieldAPIToLabelMap[requiredFieldAPIList[i]]; } - + } } return blankRequiredFields; @@ -290,7 +296,7 @@ } return ['input','select','textarea','div'].indexOf(tag_name.toLowerCase())>-1; } - + function IsFormElement(e){ return IsFormTag(e.tagName); } @@ -318,7 +324,7 @@ return JSON.stringify(reportPayloadList); } - + //5.鏂板缓鎴栫紪杈� function ProcessPI(reportJson, payloadForNewPI) { @@ -382,7 +388,7 @@ function replaceSearchContactLookup() { if (!{!isNewMode}) { queryContactName(); - } + } if(document.querySelector("[data-id='Practitioner1__c']") != null){ let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'page:form:contactId\',\'Practitioner1__c\')" alt="Reference Document Number Lookup" class="lookupIcon" title="Reference Document Number Lookup (New Window)"/>'; let lookUpNode = htmlToElement(contactHtmlString); @@ -426,8 +432,8 @@ parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Person_In_Charge__c']").parentNode.children[2]); } } - var newSearchContactWindow = null; - + var newSearchContactWindow = null; + function htmlToElement(html) { var template = document.createElement('template'); html = html.trim(); // Never return a text node of whitespace as the result @@ -489,8 +495,8 @@ let accountValue = ""; if (document.querySelector("[data-id='Hospital_Department__c']")) { let accountNodeId = document.querySelector("[data-id='Hospital_Department__c']").id + '_lkid'; - accountValue = document.getElementById(accountNodeId).value; - } + accountValue = document.getElementById(accountNodeId).value; + } console.log(accountValue); if(accountValue !='000000000000000'){ let baseUrl = "/apex/SearchContactPage"; @@ -630,7 +636,7 @@ let payloadForNewPI = getPIPayload(reportJson); console.log('鍔犲瘑瀛楁锛�'+payloadForNewPI); - //5. report to AWS + //5. report to AWS ProcessPI(reportJson, payloadForNewPI); } </script> @@ -638,16 +644,24 @@ <div class="bPageTitle"> <div class="ptBody"> <div class="content"> - <img src="/img/s.gif" alt="鎶ュ憡涔�" class="pageTitleIcon" title="鎶ュ憡涔�" /> - <h1 class="pageType">鎶ュ憡涔� + <img + src="/img/s.gif" + alt="鎶ュ憡涔�" + class="pageTitleIcon" + title="鎶ュ憡涔�" + /> + <h1 class="pageType"> + 鎶ュ憡涔� <span class="titleSeparatingColon">:</span> </h1> - <h2 class="pageDescription"> 鏂板缓鎶ュ憡涔�</h2> + <h2 class="pageDescription">鏂板缓鎶ュ憡涔�</h2> <div class="blank"> </div> </div> <div class="links"> - <a href="javascript:openPopupFocusEscapePounds(%27https://help.salesforce.com/apex/htdoor?loc=help&target=leads_edit.htm&section=Leads&language=zh_CN&release=234.18.8&instance=CS117&showSplash=true%27, %27Help%27, 700, 600, %27width=700,height=600,resizable=yes,toolbar=yes,status=no,scrollbars=yes,menubar=yes,directories=no,location=no,dependant=no%27, false, false);" - title="姝ら〉闈㈢殑甯姪 锛堟柊绐楀彛锛�"> + <a + href="javascript:openPopupFocusEscapePounds(%27https://help.salesforce.com/apex/htdoor?loc=help&target=leads_edit.htm&section=Leads&language=zh_CN&release=234.18.8&instance=CS117&showSplash=true%27, %27Help%27, 700, 600, %27width=700,height=600,resizable=yes,toolbar=yes,status=no,scrollbars=yes,menubar=yes,directories=no,location=no,dependant=no%27, false, false);" + title="姝ら〉闈㈢殑甯姪 锛堟柊绐楀彛锛�" + > <span class="helpLink">姝ら〉闈㈢殑甯姪</span> <img src="/img/s.gif" alt="" class="helpIcon" /> </a> @@ -667,44 +681,89 @@ <tbody> <tr> <td class="pbTitle"> - <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> + <img + src="/img/s.gif" + alt="" + class="minWidth" + title="" + width="1" + height="1" + /> <h2 class="mainTitle">鎶ュ憡涔︾紪杈�</h2> </td> - <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> - <input class="btn" type="Button" value="淇濆瓨" onclick="saveReportProcess('Save')" /> - <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveReportProcess('SaveAndNew')" /> - <apex:commandButton action="{!cancel}" value="鍙栨秷" /> + <td + class="pbButton" + id="topButtonRow" + style="pointer-events: none; opacity: 0.4" + > + <input + class="btn" + type="Button" + value="淇濆瓨" + onclick="saveReportProcess('Save')" + /> + <input + class="btn" + type="Button" + value="淇濆瓨骞舵柊寤�" + onclick="saveReportProcess('SaveAndNew')" + /> + <apex:commandButton + action="{!cancel}" + value="鍙栨秷" + /> </td> </tr> </tbody> </table> </div> <!-- Error Msg--> - <div style="text-align: center;"> + <div style="text-align: center"> <apex:outputPanel id="errorMsg"> <apex:pageMessages id="msgContent" escape="false" /> </apex:outputPanel> - </div> - <br/> + </div> + <br /> <!-- Iterate the layoutSections, which is a list of sections --> <apex:repeat value="{!layoutSections}" var="layoutSection"> - <apex:pageBlockSection title="{!layoutSection.name}" showHeader="{!layoutSection.useHeader}" collapsible="{!layoutSection.allowCollapse}" - columns="{!layoutSection.columns}"> - + <apex:pageBlockSection + title="{!layoutSection.name}" + showHeader="{!layoutSection.useHeader}" + collapsible="{!layoutSection.allowCollapse}" + columns="{!layoutSection.columns}" + > <!--Each section has layoutFields, let's iterate them as well--> - <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> + <apex:repeat + value="{!layoutSection.layoutFields}" + var="layoutField" + > <!-- <apex:inputField html-title="{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" required="{!layoutField.isRequired}" /> --> - <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" - required="{!layoutField.isRequired}" /> - <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" - required="{!layoutField.isRequired}" /> - <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" + <apex:inputField + styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" + html-data-id="{!layoutField.fieldAPI}" + value="{!Report__c[layoutField.fieldAPI]}" + rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" + required="{!layoutField.isRequired}" /> - <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> + <apex:inputField + styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" + html-data-id="{!layoutField.fieldAPI}" + value="{!Report__c[layoutField.fieldAPI]}" + rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" + required="{!layoutField.isRequired}" + /> + <apex:outputField + styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" + html-data-id="{!layoutField.fieldAPI}" + value="{!Report__c[layoutField.fieldAPI]}" + rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" + /> + <apex:pageblocksectionitem + rendered="{!layoutField.isPlaceHolder}" + > </apex:pageblocksectionitem> </apex:repeat> - </apex:pageBlockSection> </apex:repeat> <script> @@ -716,12 +775,11 @@ if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ api_id_map[GetEleApiName(e)] = e.id; } - + } } console.log(api_id_map); sfdcPage.appendToOnloadQueue(function () { - debugger //鍒ゆ柇鏄惁涓哄彧璇婚�夐」 var layoutSections = JSON.parse('{!layoutSectionsStr}'); for (let m = 0; m < layoutSections.length; m++) { @@ -745,7 +803,7 @@ //1. Set Last Name label //document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[2].children[0].innerText = '濮撳悕'; - //2. Query AWS Data by dataId + //2. Query AWS Data by dataId console.log('Mode for Lead Page:' + {!isNewMode}); if (!{!isNewMode}) { QueryLeadFromAWS(); @@ -765,10 +823,10 @@ document.getElementById(document.querySelector("[data-id='Loaner_request_no1__c']").id + '_lkid').value = '{!no1Id}' } } - + document.getElementById('topButtonRow').style = ''; document.getElementById('bottomButtonRow').style = ''; - + let previous_value = {}; jQuery(".lookupInput input").each(function(i,e){ let je =jQuery(e); @@ -823,17 +881,41 @@ <tbody> <tr> <td class="pbTitle"> - <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> - <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> - <input class="btn" type="Button" value="淇濆瓨" onclick="saveReportProcess('Save')" /> - <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveReportProcess('SaveAndNew')" /> - <apex:commandButton action="{!cancel}" value="鍙栨秷" /> + <img + src="/img/s.gif" + alt="" + class="minWidth" + title="" + width="1" + height="1" + /> + </td> + <td + class="pbButtonb" + id="bottomButtonRow" + style="pointer-events: none; opacity: 0.4" + > + <input + class="btn" + type="Button" + value="淇濆瓨" + onclick="saveReportProcess('Save')" + /> + <input + class="btn" + type="Button" + value="淇濆瓨骞舵柊寤�" + onclick="saveReportProcess('SaveAndNew')" + /> + <apex:commandButton + action="{!cancel}" + value="鍙栨秷" + /> </td> </tr> </tbody> </table> </div> </apex:pageblock> - </apex:form> -</apex:page> \ No newline at end of file +</apex:page> diff --git a/manifest/packageForLex copy.xml b/manifest/packageForLex copy.xml index 25a1a2e..fc2e0dd 100644 --- a/manifest/packageForLex copy.xml +++ b/manifest/packageForLex copy.xml @@ -1,8 +1,14 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> - <members>*</members> - <name>LightningComponentBundle</name> + <members>LexSaleOrderController</members> + <members>LexConInvoiceViewController</members> + <members>LexConInvoicedetailsController</members> + <members>LexInventoryController</members> + <members>LexOutboundorderImportController</members> + <members>LexOverdueStockController</members> + <members>LexInventoryViewControllerTest</members> + <name>ApexClass</name> </types> <version>52.0</version> </Package> -- Gitblit v1.9.1