| | |
| | | { |
| | | "target-org": "OlympusDev" |
| | | } |
| | | } |
| | |
| | | public without sharing class LexArriveGoodsMainController { |
| | | /*****************検索用******************/ |
| | | //经销商产品分类 |
| | | public static String agencyProType {get;set;} |
| | | public static String agencyProType { get; set; } |
| | | // public static Consumable_order__c coc { get; set; } |
| | | public static String category1 { get; set; } |
| | | private static String cate1ForSort = null; |
| | | private static Date cate2ForSort = Date.today(); |
| | | private static Date cate2 = Date.today(); |
| | | private static String[] columus = new String[]{ 'Product2__c.Name'}; |
| | | private static String[] columus = new List<String>{ 'Product2__c.Name' }; |
| | | // 产品 ID |
| | | private static String ESetId = ''; |
| | | private static String accountid = null; |
| | |
| | | // 登录者工作地 |
| | | private static String userWorkLocation; |
| | | // 20200904 ljh 汇总使用 start |
| | | public static Integer Total_num {get; set;} |
| | | public static Integer OrderNumber_arrived {get; set;} |
| | | public static Integer Delivery_detail_count {get; set;} |
| | | public static Integer OrderNumber_notarrive {get; set;} |
| | | public static Integer More_than_seven_days {get; set;} |
| | | public static Integer Total_num { get; set; } |
| | | public static Integer OrderNumber_arrived { get; set; } |
| | | public static Integer Delivery_detail_count { get; set; } |
| | | public static Integer OrderNumber_notarrive { get; set; } |
| | | public static Integer More_than_seven_days { get; set; } |
| | | |
| | | @AuraEnabled |
| | | public static Results init(){ |
| | | public static Results init() { |
| | | Results results = new Results(); |
| | | results.isNoteStay = LexUtility.getIsNoteStay(); |
| | | try { |
| | | // coc = new Consumable_order__c(); |
| | | String userId = UserInfo.getUserId(); |
| | | List<user> Useracc = New List<user>(); |
| | | Useracc = [select accountid, Work_Location__c,UserPro_Type__c from user where id =:userId]; |
| | | List<user> Useracc = new List<user>(); |
| | | Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId]; |
| | | accountid = Useracc[0].accountid; |
| | | userWorkLocation = Useracc[0].Work_Location__c; |
| | | agencyProType = Useracc[0].UserPro_Type__c; |
| | | if(String.isBlank(Useracc[0].UserPro_Type__c)){ |
| | | if (String.isBlank(Useracc[0].UserPro_Type__c)) { |
| | | agencyProType = 'ET'; |
| | | } |
| | | // 获得订单一览 |
| | |
| | | for (String s : column) { |
| | | soql += ',' + s; |
| | | } |
| | | soql += ' from Consumable_order__c where Order_type__c = \''+'订单'+'\' and recordtypeid =\'' + System.Label.RT_ConOrder_Delivery + '\' and Dealer_Info__c =\'' + accountid +'\' and Order_ProType__c =\'' + agencyProType +'\' and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' and showFalseNotshowTrue__c = false order by Deliver_date__c'; // |
| | | soql += |
| | | ' from Consumable_order__c where Order_type__c = \'' + |
| | | '订单' + |
| | | '\' and recordtypeid =\'' + |
| | | System.Label.RT_ConOrder_Delivery + |
| | | '\' and Dealer_Info__c =\'' + |
| | | accountid + |
| | | '\' and Order_ProType__c =\'' + |
| | | agencyProType + |
| | | '\' and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_Owner_WorkLocal__c = \'' + |
| | | userWorkLocation + |
| | | '\' and showFalseNotshowTrue__c = false order by Deliver_date__c'; // |
| | | // soql = 'select id,name,ContractNo__c,Total_num__c,OrderNumber_arrived__c,Delivery_detail_count__c,OrderNumber_notarrive__c,More_than_seven_days__c,Shipment_date__c,First_Delivery__c from Consumable_order__c where id in :idList'; |
| | | raesList = Database.query(soql); |
| | | //20200904 ljh add start |
| | |
| | | Delivery_detail_count = 0; |
| | | OrderNumber_notarrive = 0; |
| | | More_than_seven_days = 0; |
| | | System.debug('-----1------'+raesList); |
| | | for(Consumable_order__c conorder :raesList){ |
| | | if(conorder.Total_num__c != null){ |
| | | Total_num += (Integer)conorder.Total_num__c; |
| | | System.debug('-----1------' + raesList); |
| | | for (Consumable_order__c conorder : raesList) { |
| | | if (conorder.Total_num__c != null) { |
| | | Total_num += (Integer) conorder.Total_num__c; |
| | | } |
| | | if(conorder.OrderNumber_arrived__c != null){ |
| | | OrderNumber_arrived += (Integer)conorder.OrderNumber_arrived__c; |
| | | if (conorder.OrderNumber_arrived__c != null) { |
| | | OrderNumber_arrived += (Integer) conorder.OrderNumber_arrived__c; |
| | | } |
| | | if(conorder.Delivery_detail_count__c != null){ |
| | | Delivery_detail_count += (Integer)conorder.Delivery_detail_count__c; |
| | | if (conorder.Delivery_detail_count__c != null) { |
| | | Delivery_detail_count += (Integer) conorder.Delivery_detail_count__c; |
| | | } |
| | | if(conorder.OrderNumber_notarrive__c != null){ |
| | | OrderNumber_notarrive += (Integer)conorder.OrderNumber_notarrive__c; |
| | | if (conorder.OrderNumber_notarrive__c != null) { |
| | | OrderNumber_notarrive += (Integer) conorder.OrderNumber_notarrive__c; |
| | | } |
| | | if(conorder.More_than_seven_days__c != null){ |
| | | More_than_seven_days += (Integer)conorder.More_than_seven_days__c; |
| | | if (conorder.More_than_seven_days__c != null) { |
| | | More_than_seven_days += (Integer) conorder.More_than_seven_days__c; |
| | | } |
| | | } |
| | | results.agencyProType = agencyProType; |
| | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static Results searchConsumableorderdetails(String category1Str, Date cate2Str, String accountidStr, String userWorkLocationStr, String agencyProTypeStr){ |
| | | public static Results searchConsumableorderdetails( |
| | | String category1Str, |
| | | Date cate2Str, |
| | | String accountidStr, |
| | | String userWorkLocationStr, |
| | | String agencyProTypeStr |
| | | ) { |
| | | Results results = new Results(); |
| | | category1 = category1Str; |
| | | cate2 = cate2Str; |
| | |
| | | for (String s : column) { |
| | | soql += ',' + s; |
| | | } |
| | | soql += ' from Consumable_order__c where Order_type__c = \''+'订单'+'\' and recordtypeid =\'' + System.Label.RT_ConOrder_Delivery + '\' and Dealer_Info__c =\'' + accountid +'\' and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) '; |
| | | soql += |
| | | ' from Consumable_order__c where Order_type__c = \'' + |
| | | '订单' + |
| | | '\' and recordtypeid =\'' + |
| | | System.Label.RT_ConOrder_Delivery + |
| | | '\' and Dealer_Info__c =\'' + |
| | | accountid + |
| | | '\' and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) '; |
| | | soql += 'and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' '; |
| | | soql += 'and showFalseNotshowTrue__c = false'; |
| | | if (!String.isBlank(category1)) { |
| | | soql += ' and Name like \'%' + String.escapeSingleQuotes(category1.replaceAll('%', '\\%')) + '%\' '; |
| | | } |
| | | if(cate2 != null){ |
| | | if (cate2 != null) { |
| | | soql += ' and Shipment_date__c = :cate2 '; |
| | | } |
| | | soql += ' and Order_ProType__c =\'' + agencyProType +'\''; |
| | | soql += ' and Order_ProType__c =\'' + agencyProType + '\''; |
| | | soql += ' order by Deliver_date__c'; |
| | | system.debug('====soql:' + soql); |
| | | raesList = Database.query(soql); |
| | |
| | | try { |
| | | //取经销商信息 |
| | | String userId = UserInfo.getUserId(); |
| | | List<user> useracc = New List<user>(); |
| | | useracc = [select accountid from user where id =:userId]; |
| | | List<user> useracc = new List<user>(); |
| | | useracc = [SELECT accountid FROM user WHERE id = :userId]; |
| | | accountid = useracc[0].accountid; |
| | | List<Consumable_order__c> rs = New List<Consumable_order__c>(); |
| | | if(eSetId == NULL || eSetId == '') { |
| | | |
| | | }else { |
| | | rs = [SELECT id,name,Order_reason__c,Arrive_Order__c,Arrive_Order__r.Total_num__c,Arrive_Order__r.IsShipment__c,Arrive_Order__r.Name, |
| | | recordtypeid,Order_status__c,Deliver_date__c,Arrive_total_amount__c |
| | | FROM Consumable_order__c |
| | | WHERE id =:eSetId]; |
| | | coc = new Consumable_order__c(); |
| | | if(rs.size()>0){ |
| | | List<Consumable_order__c> rs = new List<Consumable_order__c>(); |
| | | if (eSetId == null || eSetId == '') { |
| | | } else { |
| | | rs = [ |
| | | SELECT |
| | | id, |
| | | name, |
| | | Order_reason__c, |
| | | Arrive_Order__c, |
| | | Arrive_Order__r.Total_num__c, |
| | | Arrive_Order__r.IsShipment__c, |
| | | Arrive_Order__r.Name, |
| | | recordtypeid, |
| | | Order_status__c, |
| | | Deliver_date__c, |
| | | Arrive_total_amount__c |
| | | FROM Consumable_order__c |
| | | WHERE id = :eSetId |
| | | ]; |
| | | coc = new Consumable_order__c(); |
| | | if (rs.size() > 0) { |
| | | coc = rs[0]; |
| | | orderallcount = coc.Arrive_Order__r.Total_num__c; |
| | | } |
| | | if(coc.Arrive_Order__c == null){ |
| | | if (coc.Arrive_Order__c == null) { |
| | | arrivetoorder = true; |
| | | } |
| | | List<Consumable_order_details2__c> consumablearriveproductdetailsSelected = [SELECT Id,Dealer_Arrive__c,Bar_Code__c, RecordTypeid, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name,Dealer_Saled__c, |
| | | Sterilization_limit__c,Deliver_date__c, |
| | | Intra_Trade_List_RMB__c,Asset_Model_No__c,Arrive_Date__c,Send_Date__c, |
| | | Consumable_Product__r.SFDA_Status__c, |
| | | Consumable_Product__r.Product2__r.Packing_list_manual__c, |
| | | Consumable_Product__r.Product2__r.SFDA_Approbation_No__c, |
| | | Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Consumable_Arrived_order__c = :eSetId |
| | | ORDER BY Name ]; |
| | | List<Consumable_order_details2__c> consumablearriveproductdetailsSelected = [ |
| | | SELECT |
| | | Id, |
| | | Dealer_Arrive__c, |
| | | Bar_Code__c, |
| | | RecordTypeid, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Dealer_Saled__c, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Intra_Trade_List_RMB__c, |
| | | Asset_Model_No__c, |
| | | Arrive_Date__c, |
| | | Send_Date__c, |
| | | Consumable_Product__r.SFDA_Status__c, |
| | | Consumable_Product__r.Product2__r.Packing_list_manual__c, |
| | | Consumable_Product__r.Product2__r.SFDA_Approbation_No__c, |
| | | Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Consumable_Arrived_order__c = :eSetId |
| | | ORDER BY Name |
| | | ]; |
| | | for (Integer i = 0; i < consumablearriveproductdetailsSelected.size(); i++) { |
| | | consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i])); |
| | | } |
| | | consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i])); |
| | | } |
| | | } |
| | | for(ConsumableorderdetailsInfo bss : consumableorderdetailsRecords){ |
| | | for (ConsumableorderdetailsInfo bss : consumableorderdetailsRecords) { |
| | | bss.packing_list = bss.Prod.Product2__r.Packing_list_manual__c; |
| | | bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c; |
| | | //update by rentx 20210622 start CHAN-C3K4ZQ |
| | | bss.expiration_DateStr = bss.Prod.Product2__r.SFDA_Expiration_Date__c == null ? '' : bss.Prod.Product2__r.SFDA_Expiration_Date__c.format(); |
| | | bss.expiration_DateStr = bss.Prod.Product2__r.SFDA_Expiration_Date__c == null |
| | | ? '' |
| | | : bss.Prod.Product2__r.SFDA_Expiration_Date__c.format(); |
| | | bss.Sterilization_limitStr = bss.esd.Sterilization_limit__c == null ? '' : bss.esd.Sterilization_limit__c.format(); |
| | | //update by rentx 20210622 end CHAN-C3K4ZQ |
| | | } |
| | |
| | | //add by rentx 20210622 CHAN-C3K4ZQ |
| | | // makeRecordsView(consumableorderdetailsRecords); |
| | | //add by rentx 20210622 CHAN- |
| | | for(ConsumableorderdetailsInfo con : consumableorderdetailsRecords){ |
| | | for (ConsumableorderdetailsInfo con : consumableorderdetailsRecords) { |
| | | con.prodName = con.esd.Consumable_Product__r.Name__c; |
| | | } |
| | | results.coc = coc; |
| | |
| | | try { |
| | | orderallcount = orderallcountParm; |
| | | consumableorderdetailsCount = consumableorderdetailsCountParm; |
| | | coc = (Consumable_order__c)JSON.deserialize(cocStr, Consumable_order__c.class); |
| | | coc = (Consumable_order__c) JSON.deserialize(cocStr, Consumable_order__c.class); |
| | | List<Consumable_order_details2__c> orderdetails = new List<Consumable_order_details2__c>(); |
| | | //发货明细2 |
| | | orderdetails = [SELECT Id |
| | | FROM Consumable_order_details2__c |
| | | WHERE Consumable_order_minor__c =:coc.Arrive_Order__c |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | AND Dealer_Arrive__c = true ]; |
| | | if(orderallcount!= consumableorderdetailsCount){ |
| | | orderdetails = [ |
| | | SELECT Id |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Consumable_order_minor__c = :coc.Arrive_Order__c |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | AND Dealer_Arrive__c = TRUE |
| | | ]; |
| | | if (orderallcount != consumableorderdetailsCount) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = '订单不完全到货,无法出库'; |
| | | return results; |
| | | } |
| | | if(coc.Arrive_Order__r.IsShipment__c == true){ |
| | | if (coc.Arrive_Order__r.IsShipment__c == true) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = '订单已经出库'; |
| | | return results; |
| | | } |
| | | results.url = '/lexsummonscreat?arriveorder=' + eSetId +'&KeyWords=Redirect'; |
| | | results.url = '/lexsummonscreat?arriveorder=' + eSetId + '&KeyWords=Redirect'; |
| | | results.result = 'Success'; |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | |
| | | @AuraEnabled |
| | | public Consumable_order_details2__c esd; |
| | | @AuraEnabled |
| | | public Product2__c Prod; |
| | | public Product2__c Prod; |
| | | @AuraEnabled |
| | | public Decimal packing_list; |
| | | @AuraEnabled |
| | |
| | | public String Sterilization_limitStr; |
| | | @AuraEnabled |
| | | public String prodName; |
| | | |
| | | |
| | | // 已存在消耗品明细用 |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e) { |
| | |
| | | public with sharing class LexCancelRemoveBoxController { |
| | | //经销商产品分类 |
| | | public static String agencyProType {get;set;} |
| | | public static String agencyProType { get; set; } |
| | | public static String userPro_Typestr = null; |
| | | public static String barcode { get; set; } |
| | | /*****************画面表示Bean******************/ |
| | |
| | | public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordserror { get; set; } |
| | | //拆盒明细 |
| | | public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy { get; set; } |
| | | public static boolean saveFLGbln {get;set;} |
| | | public static boolean saveFLGbln { get; set; } |
| | | //错误信息 |
| | | public static String alertMessage {set;get;} |
| | | public static String alertMessage { get; set; } |
| | | //拆盒明细件数 |
| | | public static Integer getinventorysize(){ |
| | | public static Integer getinventorysize() { |
| | | return ConsumableorderdetailsRecordsdummy.size(); |
| | | } |
| | | public static Map<String, String> ExistIdMap = new Map<String, String>(); |
| | | public static Map<String, String> ErrorIdMap = new Map<String, String>(); |
| | | public static Map<String, String> AllMap = new Map<String, String>(); |
| | | public static List<String> BarCodeListP = new List<String>(); |
| | | public static List<String> BarCodeListP = new List<String>(); |
| | | //不符合的barcode和型号 |
| | | public static list<String> notInlist = new list<String>(); |
| | | public static String baseUrl {get;private set;} |
| | | public static list<String> notInlist = new List<String>(); |
| | | public static String baseUrl { get; private set; } |
| | | private static String accountid = null; |
| | | private static String accountName = null; |
| | | //public String[] proidList =new String[]{}; |
| | | // 登录者工作地 |
| | | private static String userWorkLocation; |
| | | |
| | | public LexCancelRemoveBoxController(){ |
| | | public LexCancelRemoveBoxController() { |
| | | baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); |
| | | ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>(); |
| | | ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>(); |
| | | consumableInventory = new List<ConsumableorderdetailsInfo>(); |
| | | saveFLGbln = FALSE; |
| | | saveFLGbln = false; |
| | | } |
| | | |
| | | @AuraEnabled |
| | |
| | | res.entity = data; |
| | | |
| | | String userId = UserInfo.getUserId(); |
| | | List<user> Useracc = New List<user>(); |
| | | Useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:userId]; |
| | | List<user> Useracc = new List<user>(); |
| | | Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId]; |
| | | accountid = Useracc[0].accountid; |
| | | userWorkLocation = Useracc[0].Work_Location__c; |
| | | agencyProType = Useracc[0].UserPro_Type__c; |
| | | if(String.isBlank(Useracc[0].UserPro_Type__c)){ |
| | | if (String.isBlank(Useracc[0].UserPro_Type__c)) { |
| | | agencyProType = 'ET'; |
| | | } |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | List<account> accountInfo = [SELECT Name FROM account WHERE id =:accountid]; |
| | | List<account> accountInfo = [SELECT Name FROM account WHERE id = :accountid]; |
| | | //String view_product = accountInfo[0].view_product__c; |
| | | accountName = accountInfo[0].Name; |
| | | //proidList = view_product.split(','); |
| | | data.put('accountName',accountName); |
| | | data.put('userWorkLocation',userWorkLocation); |
| | | data.put('agencyProType',agencyProType); |
| | | data.put('accountName', accountName); |
| | | data.put('userWorkLocation', userWorkLocation); |
| | | data.put('agencyProType', agencyProType); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | |
| | | } |
| | | |
| | | // 将页面或取得BarCode去掉重复的,转换成List |
| | | public static List<String> ParseBarCode(String Code){ |
| | | String[] Cache = new String[]{}; |
| | | public static List<String> ParseBarCode(String Code) { |
| | | String[] Cache = new List<String>{}; |
| | | Cache = Code.split('\n'); |
| | | Set <String> Buff = new Set<String>(); |
| | | for(String A : Cache){ |
| | | Set<String> Buff = new Set<String>(); |
| | | for (String A : Cache) { |
| | | Buff.add(A); |
| | | } |
| | | List<String> outPut = new List<String>(); |
| | | for(String B :Buff){ |
| | | for (String B : Buff) { |
| | | B = B.trim(); |
| | | outPut.add(B); |
| | | } |
| | |
| | | |
| | | //获取明细 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC searchConsumableorderdetails(String barcode,String accountName,String userWorkLocation,String agencyProType) { |
| | | public static ResponseBodyLWC searchConsumableorderdetails( |
| | | String barcode, |
| | | String accountName, |
| | | String userWorkLocation, |
| | | String agencyProType |
| | | ) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String,object> data = new Map<String,object>(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | barcode = barcode; |
| | |
| | | ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>(); |
| | | ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>(); |
| | | |
| | | |
| | | |
| | | notInlist = new list<String>(); |
| | | notInlist = new List<String>(); |
| | | BarCodeListP = ParseBarCode(barcode); |
| | | Consumable_order_details2__c p = new Consumable_order_details2__c(); |
| | | List<Consumable_order_details2__c> Ins = New List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> Ins = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> reSet1 = new List<Consumable_order_details2__c>(); |
| | | saveFLGbln = FALSE; |
| | | alertMessage=''; |
| | | saveFLGbln = false; |
| | | alertMessage = ''; |
| | | |
| | | //判断barcode是否为空 |
| | | if(barcode == null || barcode ==''){ |
| | | return new ResponseBodyLWC('Error',500, '请输入BarCode号', ''); |
| | | if (barcode == null || barcode == '') { |
| | | return new ResponseBodyLWC('Error', 500, '请输入BarCode号', ''); |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'请输入BarCode号。')); |
| | | // return; |
| | | } |
| | |
| | | // ConsumableorderdetailsRecordsdummy.clear(); |
| | | |
| | | // 产品类型不同 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c,Product_Type__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = : userWorkLocation |
| | | AND (not Product_Type__c like : userPro_Typestr) |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Product_Type__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | Arrive_Owner_Work_Location__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND (NOT Product_Type__c LIKE :userPro_Typestr) |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品类型'+ reSet1[i].Product_Type__c +'与产品类型'+ agencyProType +'不符,不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } else { |
| | | String str = '该商品类型' + reSet1[i].Product_Type__c + '与产品类型' + agencyProType + '不符,不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //没有拆盒 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | 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 Box_Piece__c = '盒' |
| | | //AND ProductPacking_list_manual__c > 1 |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; //没出库,没销售,在库,没有拆盒 |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | 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 Box_Piece__c = '盒' |
| | | //AND ProductPacking_list_manual__c > 1 |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; //没出库,没销售,在库,没有拆盒 |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品没有拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //已出货,未到货 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = FALSE |
| | | AND Dealer_Shipment__c= FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '盒' |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = FALSE |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '盒' |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品还未到货'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //拆盒已出货 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Shipment__c = true |
| | | AND Dealer_Arrive__c = true |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Shipment__c = TRUE |
| | | AND Dealer_Arrive__c = TRUE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品存在出货履历'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //拆盒已销售 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Saled__c = true |
| | | AND Dealer_Arrive__c = true |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Saled__c = TRUE |
| | | AND Dealer_Arrive__c = TRUE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品存在销售履历'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //拆盒返品 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Returned__c = true |
| | | AND Return_date__c != null |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Returned__c = TRUE |
| | | AND Return_date__c != NULL |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品存在返品履历'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | //拆盒后盘点过(盘点日期不为空) |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Inventory_date__c != null |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Inventory_date__c != NULL |
| | | AND Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品存在盘点履历'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //不同工作地 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c !=: userWorkLocation |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | Arrive_Owner_Work_Location__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c != :userWorkLocation |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品属于' + reSet1[i].Arrive_Owner_Work_Location__c + ',不能取消拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | reSet = [SELECT Id, |
| | | Name, |
| | | Intra_Trade_List_RMB__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Consumable_Product__r.Name__c, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | Dealer_Arrive__c, |
| | | Guarantee_period_for_products__c, |
| | | CFDA_Status__c, |
| | | ProductPacking_list_manual__c, |
| | | Report_Product_Approbation__c, |
| | | Report_Product_Expiration__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | 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 Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c =: userWorkLocation |
| | | AND Product_Type__c like : userPro_Typestr |
| | | ]; |
| | | if(reSet.size()>0){ |
| | | reSet = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Intra_Trade_List_RMB__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Consumable_Product__r.Name__c, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | Dealer_Arrive__c, |
| | | Guarantee_period_for_products__c, |
| | | CFDA_Status__c, |
| | | ProductPacking_list_manual__c, |
| | | Report_Product_Approbation__c, |
| | | Report_Product_Expiration__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | 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 Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != NULL |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | ]; |
| | | if (reSet.size() > 0) { |
| | | for (Integer i = 0; i < reSet.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet[i].Bar_Code__c) ){ |
| | | if (ErrorIdMap.containsKey(reSet[i].Bar_Code__c)) { |
| | | // 跳过错误的消耗品明细 |
| | | continue; |
| | | } |
| | | else if(ExistIdMap.containsKey(reSet[i].Bar_Code__c) ){ |
| | | } else if (ExistIdMap.containsKey(reSet[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } |
| | | else{ |
| | | } else { |
| | | ConsumableorderdetailsRecordsdummy.add(new ConsumableorderdetailsInfo(reSet[i])); |
| | | ExistIdMap.put(reSet[i].Bar_Code__c,reSet[i].Bar_Code__c); |
| | | ExistIdMap.put(reSet[i].Bar_Code__c, reSet[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | |
| | | AllMap.putAll(ExistIdMap); |
| | | |
| | | //得到不存在的BarCode |
| | | for(Integer i = 0; i < BarCodeListP.size(); i++){ |
| | | if(ExistIdMap.containsKey(BarCodeListP[i])){ |
| | | for (Integer i = 0; i < BarCodeListP.size(); i++) { |
| | | if (ExistIdMap.containsKey(BarCodeListP[i])) { |
| | | continue; |
| | | }else if(ErrorIdMap.containsKey(BarCodeListP[i])){ |
| | | } else if (ErrorIdMap.containsKey(BarCodeListP[i])) { |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | notInlist.add(BarCodeListP[i]); |
| | | } |
| | | } |
| | | if(notInlist.size()>0){ |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。')); |
| | | return new ResponseBodyLWC('Error',500, 'BarCode'+ notInlist + '不存在。', ''); |
| | | if (notInlist.size() > 0) { |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。')); |
| | | return new ResponseBodyLWC('Error', 500, 'BarCode' + notInlist + '不存在。', ''); |
| | | } |
| | | data.put('ConsumableorderdetailsRecordsdummy',JSON.serialize(ConsumableorderdetailsRecordsdummy)); |
| | | data.put('ConsumableorderdetailsRecordserror',JSON.serialize(ConsumableorderdetailsRecordserror)); |
| | | data.put('dataSize',ConsumableorderdetailsRecordsdummy.size()); |
| | | data.put('ConsumableorderdetailsRecordsdummy', JSON.serialize(ConsumableorderdetailsRecordsdummy)); |
| | | data.put('ConsumableorderdetailsRecordserror', JSON.serialize(ConsumableorderdetailsRecordserror)); |
| | | data.put('dataSize', ConsumableorderdetailsRecordsdummy.size()); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | |
| | | } |
| | | |
| | | //取消拆盒确认 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC cancelRemoveBoxConfirm(String saveConsumableorderdetailsRecordsdummy,String accountName,String userWorkLocation,String agencyProType) { |
| | | public static ResponseBodyLWC cancelRemoveBoxConfirm( |
| | | String saveConsumableorderdetailsRecordsdummy, |
| | | String accountName, |
| | | String userWorkLocation, |
| | | String agencyProType |
| | | ) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String,object> data = new Map<String,object>(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | accountName = accountName; |
| | | userWorkLocation =userWorkLocation; |
| | | List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>)JSON.deserialize(saveConsumableorderdetailsRecordsdummy,List<ConsumableorderdetailsInfo>.class); |
| | | userWorkLocation = userWorkLocation; |
| | | List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>) JSON.deserialize( |
| | | saveConsumableorderdetailsRecordsdummy, |
| | | List<ConsumableorderdetailsInfo>.class |
| | | ); |
| | | |
| | | List<Consumable_order_details2__c> ins = new List<Consumable_order_details2__c>(); |
| | | |
| | | List<Consumable_order_details2__c> ins = New List<Consumable_order_details2__c>(); |
| | | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | if(ConsumableorderdetailsRecordsdummy.size()<1){ |
| | | if (ConsumableorderdetailsRecordsdummy.size() < 1) { |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'不存在取消拆盒明细')); |
| | | return new ResponseBodyLWC('Error',500, '不存在取消拆盒明细', ''); |
| | | return new ResponseBodyLWC('Error', 500, '不存在取消拆盒明细', ''); |
| | | // return null; |
| | | } |
| | | |
| | | List<String> BarCodeList = new List<String>(); |
| | | for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) { |
| | | for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) { |
| | | BarCodeList.add(tmp.esd.Bar_Code__c); |
| | | } |
| | | |
| | | try{ |
| | | try { |
| | | //取得通番大于001的在库明细 |
| | | List<Consumable_order_details2__c> orderDetails2del = [SELECT |
| | | Id, |
| | | Box_Piece__c, |
| | | RemoveBox_date__c, |
| | | RemoveBox_No__c, |
| | | Bar_Code__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | 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 |
| | | List<Consumable_order_details2__c> orderDetails2del = [ |
| | | SELECT |
| | | Id, |
| | | Box_Piece__c, |
| | | RemoveBox_date__c, |
| | | RemoveBox_No__c, |
| | | Bar_Code__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | 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 Box_Piece__c = '个' |
| | | AND RemoveBox_date__c != null |
| | | AND RemoveBox_date__c != NULL |
| | | AND RemoveBox_No__c > 1 |
| | | AND Bar_Code__c in :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c =: userWorkLocation |
| | | AND Product_Type__c like : userPro_Typestr |
| | | ]; |
| | | AND Bar_Code__c IN :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | ]; |
| | | |
| | | List<Consumable_order_details2__c> orderlistdel = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> orderlistupd= new List<Consumable_order_details2__c>(); |
| | | |
| | | List<Consumable_order_details2__c> orderlistupd = new List<Consumable_order_details2__c>(); |
| | | |
| | | for (Consumable_order_details2__c detail2tmp : orderDetails2del) { |
| | | Consumable_order_details2__c delDetails2 = new Consumable_order_details2__c(); |
| | | delDetails2.Id = detail2tmp.Id; |
| | | delDetails2.Id = detail2tmp.Id; |
| | | |
| | | //删除通番大于001的明细2 |
| | | //delete delDetails2; |
| | |
| | | } |
| | | |
| | | //取得通番001的在库明细 |
| | | List<Consumable_order_details2__c> orderDetails2 = [SELECT |
| | | Id, |
| | | Box_Piece__c, |
| | | RemoveBox_date__c, |
| | | RemoveBox_No__c, |
| | | Bar_Code__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rebtx 2020-10-13 end |
| | | List<Consumable_order_details2__c> orderDetails2 = [ |
| | | SELECT |
| | | Id, |
| | | Box_Piece__c, |
| | | RemoveBox_date__c, |
| | | RemoveBox_No__c, |
| | | Bar_Code__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c, |
| | | /*,ContractNo__c*/ |
| | | //add by rebtx 2020-10-13 end |
| | | // tcm start |
| | | ,Consumable_order_minor__r.ContractNo__c |
| | | // tcm end |
| | | 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 |
| | | Consumable_order_minor__r.ContractNo__c |
| | | // tcm end |
| | | 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 Box_Piece__c = '个' |
| | | AND RemoveBox_date__c !=null |
| | | AND RemoveBox_date__c != NULL |
| | | AND RemoveBox_No__c = 1 |
| | | AND Bar_Code__c in :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c =: userWorkLocation |
| | | AND Product_Type__c like : userPro_Typestr |
| | | ]; |
| | | AND Bar_Code__c IN :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | ]; |
| | | |
| | | for (Consumable_order_details2__c detail2tmp : orderDetails2) { |
| | | Consumable_order_details2__c updDetails2 = new Consumable_order_details2__c(); |
| | | updDetails2.Id = detail2tmp.Id; |
| | | updDetails2.Box_Piece__c = '盒'; |
| | | updDetails2.RemoveBox_date__c = null; |
| | | updDetails2.RemoveBox_No__c = null; |
| | | updDetails2.Id = detail2tmp.Id; |
| | | updDetails2.Box_Piece__c = '盒'; |
| | | updDetails2.RemoveBox_date__c = null; |
| | | updDetails2.RemoveBox_No__c = null; |
| | | |
| | | // tcm start |
| | | if (String.isBlank(detail2tmp.Consumable_order_minor__r.ContractNo__c)) { |
| | | updDetails2.ContractNo_text__c= detail2tmp.ContractNo_text__c; |
| | | }else { |
| | | updDetails2.ContractNo_text__c= detail2tmp.Consumable_order_minor__r.ContractNo__c; |
| | | updDetails2.ContractNo_text__c = detail2tmp.ContractNo_text__c; |
| | | } else { |
| | | updDetails2.ContractNo_text__c = detail2tmp.Consumable_order_minor__r.ContractNo__c; |
| | | } |
| | | // updDetails2.ContractNo_text__c = detail2tmp.ContractNo__c; |
| | | // tcm end |
| | |
| | | orderlistupd.add(updDetails2); |
| | | } |
| | | |
| | | if(orderlistdel.size()>0){ |
| | | if (orderlistdel.size() > 0) { |
| | | delete orderlistdel; |
| | | } |
| | | |
| | | if(orderlistupd.size()>0){ |
| | | if (orderlistupd.size() > 0) { |
| | | update orderlistupd; |
| | | } |
| | | saveFLGbln = true; |
| | | alertMessage = '取消拆盒完成'; |
| | | data.put('saveFLGbln',saveFLGbln); |
| | | data.put('saveFLGbln', saveFLGbln); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | res.msg = alertMessage; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | // return null; |
| | | }catch(Exception e){ |
| | | } catch (Exception e) { |
| | | Database.rollback(sp); |
| | | ApexPages.addMessages(e); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | class ConsumableorderdetailsInfo implements Comparable { |
| | | public Consumable_order_details2__c esd { get; set; } |
| | |
| | | //public String tracingCodeNo { get; set; } |
| | | public String oldConsumableCount { get; set; } |
| | | public String ErrorReason { get; set; } |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e, string str) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | oldConsumableCount = e.name; |
| | | ErrorReason = str; |
| | | ErrorReason = str; |
| | | } |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | oldConsumableCount = e.name; |
| | | } |
| | | /* |
| | | /* |
| | | public ConsumableorderdetailsInfo(Product2__c e,String barCode,Date sterilizationlimit,String serialNoorLot,String tracingCode) { |
| | | esd = new Consumable_order_details2__c(); |
| | | ProductName = e.Name__c; |
| | |
| | | // 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])); |
| | |
| | | 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( |
| | |
| | | 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) { |
| | |
| | | } |
| | | } 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'); |
| | |
| | | (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); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | } |
| | |
| | | delete invoiceLinkdetList; |
| | | } |
| | | //新建发票明细1 |
| | | System.debug('===>' + chukudanID); |
| | | System.debug('===>' + chukudanID.size()); |
| | | if (chukudanID.size() > 0) { |
| | | newinvoicedetails1(chukudanID); |
| | | } |
| | |
| | | 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); |
| | | } |
| | |
| | | |
| | | // 保存附件 |
| | | @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(); |
| | |
| | | |
| | | // 检索(未开发票出库单) |
| | | @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>(); |
| | |
| | | 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>(); |
| | |
| | | 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); |
| | |
| | | |
| | | // 删除按钮 |
| | | @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>(); |
| | |
| | | |
| | | // 提交按钮 |
| | | @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>(); |
| | |
| | | |
| | | 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>(); |
| | |
| | | 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; |
| | |
| | | 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( |
| | |
| | | // ) |
| | | // ); |
| | | // 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); |
| | |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | @TestVisible |
| | | class InvoiceOrderInfo implements Comparable { |
| | | @AuraEnabled |
| | | public Boolean check { get; set; } |
| | |
| | | @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 |
| | |
| | | //ContentVersion |
| | | public InvoiceOrderInfo(ContentVersion cv) { |
| | | cvInfo = cv; |
| | | mailSelectOptsMap = new Map<String,String>(); |
| | | mailSelectOptsMap = new Map<String, String>(); |
| | | mailSelectOptsMap.put('发票和明细', '发票和明细'); |
| | | mailSelectOptsMap.put('发票', '发票'); |
| | | mailSelectOptsMap.put('明细', '明细'); |
| | |
| | | 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; } |
| | | |
| | | //出库单ID |
| | | private static String orderId {get;set;} |
| | | //发票单ID |
| | | private static String invoiceId {get;set;} |
| | | //出库单ID |
| | | private static String orderId { get; set; } |
| | | //发票单ID |
| | | 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(); |
| | |
| | | |
| | | //页面初始化 |
| | | @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; |
| | |
| | | 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])); |
| | | } |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | @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); |
| | |
| | | } |
| | | |
| | | // Data Bean |
| | | @TestVisible |
| | | class ConsumableorderdetailsInfo { |
| | | @AuraEnabled |
| | | public Boolean check { get; set; } |
| | |
| | | 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; |
| | |
| | | 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('个', '个'); |
| | | } |
| | |
| | | List<String> accountList = new List<String>(); |
| | | for (AggregateResult ar : arList) { |
| | | System.debug('thisAmount = ' + String.valueOf(ar.get('thisAmount'))); |
| | | if(String.valueOf(ar.get('thisAmount')) != '0.0'){ |
| | | if (String.valueOf(ar.get('thisAmount')) != '0.0') { |
| | | accountList.add(String.valueOf(ar.get('hospitalName'))); |
| | | topInfo.deList.add(Decimal.valueOf(String.valueOf(ar.get('thisAmount')))); |
| | | topInfo.deList.add(Decimal.valueOf(String.valueOf(ar.get('thisAmount')))); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if (fiscalYear == 'thisYear') { |
| | | AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(thisDatetime, nextDatetime); |
| | | if(saleAmountList[0].get('saleAmount') != null){ |
| | | if (saleAmountList[0].get('saleAmount') != null) { |
| | | topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount'))); |
| | | System.debug('topInfo.saleAmount = ' + topInfo.saleAmount); |
| | | } |
| | | arList = LexConsumableAccountSOQL.getAccountBySales(thisDatetime, nextDatetime); |
| | | } else if (fiscalYear == 'lastYear') { |
| | | AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, thisDatetime2); |
| | | if(saleAmountList[0].get('saleAmount') != null){ |
| | | if (saleAmountList[0].get('saleAmount') != null) { |
| | | topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount'))); |
| | | System.debug('topInfo.saleAmount = ' + topInfo.saleAmount); |
| | | } |
| | | arList = LexConsumableAccountSOQL.getAccountBySales(lastDatetime, thisDatetime2); |
| | | } else { |
| | | AggregateResult[] saleAmountList = LexConsumableAccountSOQL.getAccountTotalSales(lastDatetime, nextDatetime); |
| | | if(saleAmountList[0].get('saleAmount') != null){ |
| | | if (saleAmountList[0].get('saleAmount') != null) { |
| | | topInfo.saleAmount = Decimal.valueOf(String.valueOf(saleAmountList[0].get('saleAmount'))); |
| | | System.debug('topInfo.saleAmount = ' + topInfo.saleAmount); |
| | | } |
| | |
| | | List<String> accountList = new List<String>(); |
| | | for (AggregateResult ar : arList) { |
| | | System.debug('thisAmount = ' + String.valueOf(ar.get('thisAmount'))); |
| | | if(String.valueOf(ar.get('thisAmount')) != '0.0'){ |
| | | if (String.valueOf(ar.get('thisAmount')) != '0.0') { |
| | | accountList.add(String.valueOf(ar.get('hospitalName'))); |
| | | topInfo.deList.add(Decimal.valueOf(String.valueOf(ar.get('thisAmount')))); |
| | | } |
| | | |
| | | } |
| | | System.debug('accountList = ' + accountList); |
| | | System.debug('topInfo = ' + topInfo); |
| | |
| | | if (accList != null && accList.size() > 0) { |
| | | obj = accList.get(0); |
| | | } |
| | | }else { |
| | | } else { |
| | | return new ResponseBodyLWC('Error', 500, 'accId为空', ''); |
| | | } |
| | | data.put('obj', obj); |
| | |
| | | public with sharing class LexConsumableAccountSOQL { |
| | | public static AggregateResult[] getAccountBySales(Datetime thisDatetime ,Datetime nextDatetime){ |
| | | AggregateResult[] arList = new List<AggregateResult>([ |
| | | SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE |
| | | CreatedDate >= :thisDatetime |
| | | AND CreatedDate < :nextDatetime |
| | | AND Consumable_order__r.Order_ForHospital__r.name != '' |
| | | GROUP BY Consumable_order__r.Order_ForHospital__r.Name |
| | | ORDER BY sum(Sale_amount__c) DESC |
| | | LIMIT 10 |
| | | ]); |
| | | public static AggregateResult[] getAccountBySales(Datetime thisDatetime, Datetime nextDatetime) { |
| | | AggregateResult[] arList = new List<AggregateResult>( |
| | | [ |
| | | SELECT count(id), Consumable_order__r.Order_ForHospital__r.name hospitalName, sum(Sale_amount__c) thisAmount |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE CreatedDate >= :thisDatetime AND CreatedDate < :nextDatetime AND Consumable_order__r.Order_ForHospital__r.name != '' |
| | | GROUP BY Consumable_order__r.Order_ForHospital__r.Name |
| | | ORDER BY sum(Sale_amount__c) DESC |
| | | LIMIT 10 |
| | | ] |
| | | ); |
| | | return arList; |
| | | } |
| | | |
| | | public static AggregateResult[] getAccountTotalSales(Datetime thisDatetime ,Datetime nextDatetime){ |
| | | public static AggregateResult[] getAccountTotalSales(Datetime thisDatetime, Datetime nextDatetime) { |
| | | AggregateResult[] saleAmountList = [ |
| | | SELECT sum(Sale_amount__c) saleAmount |
| | | FROM Consumable_Orderdetails__c |
| | |
| | | ]; |
| | | return saleAmountList; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | // 登录者工作地 |
| | | private static String userWorkLocation; |
| | | public static String agencyProType { get; set; } |
| | | public static String agencyProType1 {get;set;} //lt 20230526 安徽两票制 add |
| | | private static Boolean OSHFLG;//lt 20230517 安徽两票制 add |
| | | public static String agencyProType1 { get; set; } //lt 20230526 安徽两票制 add |
| | | private static Boolean OSHFLG; //lt 20230517 安徽两票制 add |
| | | public static String methodType { get; set; } |
| | | public static String hospitalName { get; set; } |
| | | public static String hospitalId { get; set; } |
| | |
| | | if (selectedIdMap.containsKey(consumableorderdetailsRecords[i].Prod.Id)) { |
| | | addNo++; |
| | | //continue; |
| | | } |
| | | } |
| | | // else if (consumableorderdetailsRecordsview.size() >= pageLimit + size) { |
| | | // break; |
| | | // } |
| | | // } |
| | | else { |
| | | if (consumableorderdetailsRecords[i].check == false) { |
| | | consumableorderdetailsRecords[i].esd = orderdetails1; |
| | |
| | | pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); |
| | | ESetId = esetId; |
| | | methodType = type; |
| | | if(String.isBlank(methodType) && String.isNotBlank(ESetId)){ |
| | | if (String.isBlank(methodType) && String.isNotBlank(ESetId)) { |
| | | List<Consumable_order__c> oclist = [SELECT orderPattern__c FROM Consumable_order__c WHERE id = :ESetid]; |
| | | methodType = oclist.get(0).orderPattern__c; |
| | | } |
| | | statusEdit = keywordStr; |
| | | System.debug('Param:'+ESetId+'---'+methodType+'---'+statusEdit); |
| | | System.debug('Param:' + ESetId + '---' + methodType + '---' + statusEdit); |
| | | try { |
| | | sortKey = '1'; |
| | | preSortKey = '1'; |
| | |
| | | userId = UserInfo.getUserId(); |
| | | List<user> Useracc = new List<user>(); |
| | | //lt 20230517 安徽两票制 add ,OSHFLG__c |
| | | Useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c,OSHFLG__c FROM user WHERE id = :userId ]; |
| | | Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c, OSHFLG__c FROM user WHERE id = :userId]; |
| | | accountid = Useracc[0].accountid; |
| | | userWorkLocation = Useracc[0].Work_Location__c; |
| | | agencyProType = Useracc[0].UserPro_Type__c; |
| | | agencyProType1 = Useracc[0].UserPro_Type__c; //lt 20230526 安徽两票制 add |
| | | //lt 20230526 安徽两票制 start |
| | | OSHFLG = Useracc[0].OSHFLG__c; //lt 20230517 安徽两票制 add |
| | | if(OSHFLG){ |
| | | if (OSHFLG) { |
| | | agencyProType1 = 'OSH'; |
| | | } |
| | | else if(String.isBlank(Useracc[0].UserPro_Type__c)){ |
| | | } else if (String.isBlank(Useracc[0].UserPro_Type__c)) { |
| | | agencyProType1 = 'ET'; |
| | | } |
| | | //lt 20230526 安徽两票制 end |
| | |
| | | RecordType.DeveloperName = 'AgencyContract' |
| | | AND Contract_Decide_Start_Date__c <= :dateToday |
| | | AND Contract_Decide_End_Date__c >= :dateToday |
| | | and Contact_Type__c like :agencyProType1//lt 20230517 安徽两票制 add 1 |
| | | and Agent_Ref__c =:accountid |
| | | and OSH_Dealer__c =: OSHFLG //lt 20230517 安徽两票制 add |
| | | AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 安徽两票制 add 1 |
| | | AND Agent_Ref__c = :accountid |
| | | AND OSH_Dealer__c = :OSHFLG //lt 20230517 安徽两票制 add |
| | | ]; |
| | | for (Account contract : contractList) { |
| | | contactDealer.add(contract.Id); |
| | |
| | | FROM Account |
| | | WHERE |
| | | ParentId = :accountid |
| | | AND Contact_Type__c like :agencyProType1 //lt 20230517 安徽两票制 add 1 |
| | | AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 安徽两票制 add 1 |
| | | AND Contract_Decide_Start_Date__c <= :Date.Today() |
| | | AND Contract_Decide_End_Date__c >= :Date.Today() |
| | | AND OSH_Dealer__c =: OSHFLG //lt 20230517 安徽两票制 add |
| | | AND OSH_Dealer__c = :OSHFLG //lt 20230517 安徽两票制 add |
| | | ]; |
| | | if (contract.size() == 1) { |
| | | contractName = contract[0].Name; |
| | |
| | | } |
| | | consumableorderdetailsRecords.sort(); |
| | | if (methodType != null && methodType != '' && (methodType.equals('hospitalorder') || methodType.equals('promotionorder'))) { |
| | | searchorderdetails(methodType,accountid,hospitalId,contractId,userWorkLocation,accountName,proLimitAndDate,editAble); |
| | | searchorderdetails( |
| | | methodType, |
| | | accountid, |
| | | hospitalId, |
| | | contractId, |
| | | userWorkLocation, |
| | | accountName, |
| | | proLimitAndDate, |
| | | editAble |
| | | ); |
| | | isfirst = true; |
| | | } |
| | | getPageInfo(); |
| | |
| | | AND Consumable_order__r.Dealer_Info__c = :accountid |
| | | ]; |
| | | for (Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected) { |
| | | if(cdc1.Consumable_Product__c != null){ |
| | | if (cdc1.Consumable_Product__c != null) { |
| | | orderzaikuId.add(cdc1.Consumable_Product__c); |
| | | } |
| | | } |
| | | soql = makeSoqlorderdet(); |
| | | System.debug('soql:'+soql); |
| | | System.debug('soql:' + soql); |
| | | size = orderzaikuId.size(); |
| | | initStandardController(); |
| | | product2Selected = Database.query(soql); |
| | |
| | | // attachmentRecoeds.add(new ConsumableorderdetailsInfo(attachmentinfo[i])); |
| | | // } |
| | | // } |
| | | List<ContentVersion> cvInfo = [SELECT Id, Title, OwnerId,Owner.Name, CreatedDate,ContentDocumentId FROM ContentVersion WHERE FirstPublishLocationId = :ESetId]; |
| | | if (cvInfo.size() > 0) { |
| | | for (Integer i = 0; i < cvInfo.size(); i++) { |
| | | attachmentRecoeds.add(new ConsumableorderdetailsInfo(cvInfo[i])); |
| | | List<ContentDocumentLink> links = [SELECT Id, ContentDocumentId FROM ContentDocumentLink WHERE LinkedEntityId = :ESetId]; |
| | | if (links != null && links.size() > 0) { |
| | | List<String> documentIds = new List<String>(); |
| | | for (ContentDocumentLink link : links) { |
| | | documentIds.add(link.ContentDocumentId); |
| | | } |
| | | List<ContentVersion> cvInfo = [ |
| | | SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId |
| | | FROM ContentVersion |
| | | WHERE ContentDocumentId IN :documentIds |
| | | ]; |
| | | if (cvInfo.size() > 0) { |
| | | for (Integer i = 0; i < cvInfo.size(); i++) { |
| | | attachmentRecoeds.add(new ConsumableorderdetailsInfo(cvInfo[i])); |
| | | } |
| | | } |
| | | } |
| | | // |
| | |
| | | List<String> upper = new List<String>(); |
| | | if (String.isNotBlank(ESetid)) { |
| | | for (ConsumableorderdetailsInfo bss : consumableorderdetailsRecords) { |
| | | if(bss.esd.Consumable_count__c != null && bss.allnumber != null && bss.upperlimit != null){ |
| | | if (bss.esd.Consumable_count__c != null && bss.allnumber != null && bss.upperlimit != null) { |
| | | if (bss.esd.Consumable_count__c + bss.allnumber > bss.upperlimit) { |
| | | upper.add(bss.esd.Consumable_Product__r.Name__c); |
| | | } |
| | |
| | | // categoryOptionList = new List<SelectOption>(); |
| | | category3Option = new List<CusOption>(); |
| | | // categoryOptionList.add(new SelectOption('', '-无-')); |
| | | category3Option.add(new CusOption('-无-','')); |
| | | category3Option.add(new CusOption('-无-', '')); |
| | | for (AggregateResult category3Search : categoryList) { |
| | | String deliverycnt = String.valueOf(category3Search.get('c3c')); |
| | | // categoryOptionList.add(new SelectOption(deliverycnt, deliverycnt)); |
| | | category3Option.add(new CusOption(deliverycnt,deliverycnt)); |
| | | category3Option.add(new CusOption(deliverycnt, deliverycnt)); |
| | | } |
| | | //categoty4 |
| | | // category4OptionList = new List<SelectOption>(); |
| | | category4Option = new List<CusOption>(); |
| | | // category4OptionList.add(new SelectOption('', '-无-')); |
| | | category4Option.add(new CusOption('-无-','')); |
| | | category4Option.add(new CusOption('-无-', '')); |
| | | //categoty5 |
| | | // category5OptionList = new List<SelectOption>(); |
| | | category5Option = new List<CusOption>(); |
| | | // category5OptionList.add(new SelectOption('', '-无-')); |
| | | category5Option.add(new CusOption('-无-','')); |
| | | category5Option.add(new CusOption('-无-', '')); |
| | | //return msg |
| | | consumableorderdetailsRecordsview = consumableorderdetailsRecords; |
| | | getConsumableShowTableFieldValue(); |
| | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static Results categoryAllload(String agencyProTypeStr, String category3Str){ |
| | | public static Results categoryAllload(String agencyProTypeStr, String category3Str) { |
| | | Results results = new Results(); |
| | | agencyProType = agencyProTypeStr; |
| | | category3 = category3Str; |
| | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static Results categoryload(String agencyProTypeStr, String category3Str, String category4Str){ |
| | | public static Results categoryload(String agencyProTypeStr, String category3Str, String category4Str) { |
| | | Results results = new Results(); |
| | | agencyProType = agencyProTypeStr; |
| | | category3 = category3Str; |
| | |
| | | // category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4)); |
| | | category4Option.add(new CusOption(deliverycnt4, deliverycnt4)); |
| | | } |
| | | |
| | | |
| | | AggregateResult[] category5List = [ |
| | | SELECT Count(id), Category5_text__c c5c |
| | | FROM Product2__c |
| | |
| | | String consumableorderdetailsRecordsviewStr, |
| | | Boolean editAbleStr, |
| | | List<String> proLimitAndDateList |
| | | ){ |
| | | ) { |
| | | Results results = new Results(); |
| | | errorMsgList = new List<String>(); |
| | | warningMsgList = new List<String>(); |
| | |
| | | methodType = methodTypeStr; |
| | | editAble = editAbleStr; |
| | | proLimitAndDate = proLimitAndDateList; |
| | | dealerProductId = (List<String>)JSON.deserialize(dealerProductIdStr, List<String>.class); |
| | | consumableorderdetailsRecordsview = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsviewStr, List<ConsumableorderdetailsInfo>.class); |
| | | dealerProductId = (List<String>) JSON.deserialize(dealerProductIdStr, List<String>.class); |
| | | consumableorderdetailsRecordsview = (List<ConsumableorderdetailsInfo>) JSON.deserialize( |
| | | consumableorderdetailsRecordsviewStr, |
| | | List<ConsumableorderdetailsInfo>.class |
| | | ); |
| | | size = Integer.valueOf(System.Label.orderdetLimitsize); |
| | | pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize); |
| | | try { |
| | |
| | | soql = makeSoql(category1, category_Goods, category3, category4, category5, specialCampaign, DealerProductId); |
| | | size = Integer.valueOf(System.Label.orderdetLimitsize); |
| | | initStandardController(); |
| | | System.debug('soql:'+soql); |
| | | System.debug('soql:' + soql); |
| | | product2Selected = Database.query(soql); |
| | | for (Integer i = 0; i < product2Selected.size(); i++) { |
| | | MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i])); |
| | |
| | | // makeMessage(); |
| | | results.errorMsgList = errorMsgList; |
| | | results.warningMsgList = warningMsgList; |
| | | if(consumableorderdetailsRecords.size() > 0){ |
| | | if (consumableorderdetailsRecords.size() > 0) { |
| | | getConsumableShowTableFieldValue(); |
| | | results.result = 'Success'; |
| | | results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; |
| | | results.errorMsg = '搜索到' + consumableorderdetailsRecords.size() + '件产品'; |
| | | }else { |
| | | } else { |
| | | getConsumableShowTableFieldValue(); |
| | | results.result = 'Fail'; |
| | | results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; |
| | |
| | | String accountNameStr, |
| | | List<String> proLimitAndDateList, |
| | | Boolean editAbleStr |
| | | ){ |
| | | ) { |
| | | Results results = new Results(); |
| | | methodType = methodTypeStr; |
| | | accountId = accountIdStr; |
| | |
| | | for (hospitalprice__c hc : hplist) { |
| | | hpids.add(hc.product__c); |
| | | } |
| | | |
| | | |
| | | if (hpids != null && hpids.size() > 0) { |
| | | soql += ' AND Id in : hpids '; |
| | | } |
| | |
| | | noOfRecords = consumableorderdetailsRecords.size(); |
| | | getConsumableShowTableFieldValue(); |
| | | results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview; |
| | | if(consumableorderdetailsRecordsview.size() > 0){ |
| | | if (consumableorderdetailsRecordsview.size() > 0) { |
| | | results.result = 'Success'; |
| | | results.errorMsg = '共搜索到'+consumableorderdetailsRecordsview.size()+'条数据'; |
| | | }else { |
| | | results.errorMsg = '共搜索到' + consumableorderdetailsRecordsview.size() + '条数据'; |
| | | } else { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = '没有搜索到相关数据'; |
| | | } |
| | |
| | | if (selectedIdMap.containsKey(consumableorderdetailsRecords[i].Prod.Id)) { |
| | | addNo++; |
| | | //continue; |
| | | } |
| | | } |
| | | // else if (consumableorderdetailsRecordsview.size() >= pageLimit + size) { |
| | | // break; |
| | | // } |
| | | // } |
| | | else { |
| | | if (consumableorderdetailsRecords[i].check == false) { |
| | | consumableorderdetailsRecords[i].esd = orderdetails1; |
| | |
| | | } |
| | | } |
| | | String soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Product2__r.Packing_list_manual__c,Category3__c,Category4__c,Category5__c FROM Product2__c WHERE Estimation_Entry_Possibility__c = \'○\' '; |
| | | System.debug('sqlTail:'+sqlTail); |
| | | System.debug('orderzaikuId:'+orderzaikuId); |
| | | System.debug('sqlTail:' + sqlTail); |
| | | System.debug('orderzaikuId:' + orderzaikuId); |
| | | if (orderzaikuId.size() > 0) { |
| | | soql += ' AND Id in' + sqlTail; |
| | | } |
| | |
| | | |
| | | // 编辑按钮 |
| | | @AuraEnabled |
| | | public static Results setEditAble(String eSetidStr){ |
| | | public static Results setEditAble(String eSetidStr) { |
| | | Results results = new Results(); |
| | | ESetId = eSetidStr; |
| | | try { |
| | |
| | | cv.VersionData = EncodingUtil.base64Decode(base64Data); |
| | | cv.IsMajorVersion = true; |
| | | insert cv; |
| | | Consumable_order__c c = [SELECT Id FROM Consumable_order__c WHERE Id =:pId]; |
| | | Consumable_order__c c = [SELECT Id FROM Consumable_order__c WHERE Id = :pId]; |
| | | c.Consumable_pdf_insert_day__c = Date.today(); |
| | | update c; |
| | | results.result = 'Success'; |
| | |
| | | |
| | | //删除按钮 |
| | | @AuraEnabled |
| | | public static Results delConsumable(String eSetidStr){ |
| | | public static Results delConsumable(String eSetidStr) { |
| | | Results results = new Results(); |
| | | ESetId = eSetidStr; |
| | | try { |
| | |
| | | |
| | | // 提交按钮 |
| | | @AuraEnabled |
| | | public static Results sorder(String eSetidStr,String accountidStr){ |
| | | public static Results sorder(String eSetidStr, String accountidStr) { |
| | | Results results = new Results(); |
| | | errorMsgList = new List<String>(); |
| | | warningMsgList = new List<String>(); |
| | |
| | | Boolean OSHFLGStr |
| | | ) { |
| | | ESetId = ''; |
| | | return save(contractNameStr,cocStr,agencyProTypeStr,accountidStr,consumableorderdetailsRecordsviewStr,contactDealerStr,methodTypeStr,ESetId,hospitalIdStr,contractIdStr,agencyProType1Str,OSHFLGStr); |
| | | return save( |
| | | contractNameStr, |
| | | cocStr, |
| | | agencyProTypeStr, |
| | | accountidStr, |
| | | consumableorderdetailsRecordsviewStr, |
| | | contactDealerStr, |
| | | methodTypeStr, |
| | | ESetId, |
| | | hospitalIdStr, |
| | | contractIdStr, |
| | | agencyProType1Str, |
| | | OSHFLGStr |
| | | ); |
| | | } |
| | | |
| | | //保存按钮 |
| | | //保存按钮 |
| | | @AuraEnabled |
| | | public static Results save( |
| | | String contractNameStr, |
| | |
| | | String contractIdStr, |
| | | String agencyProType1Str, |
| | | Boolean OSHFLGStr |
| | | ){ |
| | | ) { |
| | | Results results = new Results(); |
| | | errorMsgList = new List<String>(); |
| | | warningMsgList = new List<String>(); |
| | |
| | | contractId = contractIdStr; |
| | | agencyProType1 = agencyProType1Str; |
| | | OSHFLG = OSHFLGStr; |
| | | coc = (Consumable_order__c)JSON.deserialize(cocStr, Consumable_order__c.class); |
| | | contactDealer = (List<String>)JSON.deserialize(contactDealerStr, List<String>.class); |
| | | System.debug('consumableorderdetailsRecordsviewStr:'+consumableorderdetailsRecordsviewStr); |
| | | consumableorderdetailsRecordsview = (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsviewStr, List<ConsumableorderdetailsInfo>.class); |
| | | if(coc.Offers_Price__c != null){ |
| | | coc = (Consumable_order__c) JSON.deserialize(cocStr, Consumable_order__c.class); |
| | | contactDealer = (List<String>) JSON.deserialize(contactDealerStr, List<String>.class); |
| | | System.debug('consumableorderdetailsRecordsviewStr:' + consumableorderdetailsRecordsviewStr); |
| | | consumableorderdetailsRecordsview = (List<ConsumableorderdetailsInfo>) JSON.deserialize( |
| | | consumableorderdetailsRecordsviewStr, |
| | | List<ConsumableorderdetailsInfo>.class |
| | | ); |
| | | if (coc.Offers_Price__c != null) { |
| | | String offerStr = String.valueOf(coc.Offers_Price__c); |
| | | bargainPrice = Decimal.valueOf(offerStr.replace(',','')); |
| | | bargainPrice = Decimal.valueOf(offerStr.replace(',', '')); |
| | | } |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try { |
| | |
| | | FROM account |
| | | WHERE |
| | | Name = :contractName |
| | | AND Id =: contractId //lt 20230517 安徽两票制 add |
| | | AND Id = :contractId //lt 20230517 安徽两票制 add |
| | | AND Contract_Decide_Start_Date__c <= :Date.Today() |
| | | AND Contract_Decide_End_Date__c >= :Date.Today() |
| | | AND Contact_Type__c like :agencyProType1 //lt 20230517 安徽两票制 add 1 |
| | | AND Agent_Ref__c =:accountid |
| | | AND OSH_Dealer__c =: OSHFLG //lt 20230517 安徽两票制 add |
| | | AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 安徽两票制 add 1 |
| | | AND Agent_Ref__c = :accountid |
| | | AND OSH_Dealer__c = :OSHFLG //lt 20230517 安徽两票制 add |
| | | ]; |
| | | if (contract.size() <= 0) { |
| | | // coc.Order_effective_contact__c.addError('不存在的合同,请重新确认。'); |
| | |
| | | } |
| | | //=======================================医院特价,有金额的话取金额 |
| | | Map<String, Decimal> dealerHospitalmMap = new Map<String, Decimal>(); |
| | | List<hospitalprice__c> hplist = [select Id,hospital__c,mPrice__c,pPrice__c,product__c,account__c |
| | | from hospitalprice__c |
| | | where product__c in :tpids and mPrice__c <> null and account__c=:accountid |
| | | ]; |
| | | List<hospitalprice__c> hplist = [ |
| | | SELECT Id, hospital__c, mPrice__c, pPrice__c, product__c, account__c |
| | | FROM hospitalprice__c |
| | | WHERE product__c IN :tpids AND mPrice__c != NULL AND account__c = :accountid |
| | | ]; |
| | | for (hospitalprice__c dealerProduct : hplist) { |
| | | if (dealerProduct.mPrice__c != null) { |
| | | dealerHospitalmMap.put('' + dealerProduct.hospital__c + dealerProduct.product__c,dealerProduct.mPrice__c); |
| | | if (dealerProduct.mPrice__c != null) { |
| | | dealerHospitalmMap.put('' + dealerProduct.hospital__c + dealerProduct.product__c, dealerProduct.mPrice__c); |
| | | } |
| | | } |
| | | //促销订货 根据经销商产品中的数据计算金额 |
| | |
| | | FROM Account |
| | | WHERE |
| | | Name = :contractName |
| | | AND Id =: contractId //lt 20230517 安徽两票制 add |
| | | AND Contact_Type__c like :agencyProType1 //lt 20230517 安徽两票制 add 1 |
| | | AND Id = :contractId //lt 20230517 安徽两票制 add |
| | | AND Contact_Type__c LIKE :agencyProType1 //lt 20230517 安徽两票制 add 1 |
| | | AND Contact_Type__c LIKE :agencyProType |
| | | AND Contract_Decide_Start_Date__c <= :Date.Today() |
| | | AND Contract_Decide_End_Date__c >= :Date.Today() |
| | | AND Contract_Decide_End_Date__c >= :Date.Today() |
| | | AND OSH_Dealer__c =: OSHFLG //lt 20230517 安徽两票制 add |
| | | AND OSH_Dealer__c = :OSHFLG //lt 20230517 安徽两票制 add |
| | | ]; |
| | | if (at.size() > 0 && at[0].Dealer_discount__c != null) { |
| | | disCount = at[0].Dealer_discount__c; |
| | |
| | | ass.Prod.Intra_Trade_List_RMB__c * |
| | | dealerPDiscountMap.get('' + contract[0].Id + ass.Prod.Id) / |
| | | 100; |
| | | system.debug('cai 00' + InsAfterDel.Intra_Trade_List_RMB__c); |
| | | system.debug('cai 00' + InsAfterDel.Intra_Trade_List_RMB__c); |
| | | } |
| | | //=====================================================================================update by rentx 2020-11-25 |
| | | } else if (methodType.equals('hospitalorder')) { |
| | | //医院特价 |
| | | Consumable_order[0].Order_ForHospital__c = hospitalId; |
| | | Consumable_order[0].orderPattern__c = 'hospitalorder'; |
| | | if (dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null) { |
| | | if ( |
| | | dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && |
| | | dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null |
| | | ) { |
| | | //直接根据促销金额计算 |
| | | InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get(''+ hospitalId + ass.Prod.Id); |
| | | InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get('' + hospitalId + ass.Prod.Id); |
| | | } |
| | | } else if (DealerProductMap.containsKey(ass.Prod.Id)) { |
| | | InsAfterDel.Intra_Trade_List_RMB__c = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c; |
| | |
| | | Consumable_order[0].orderPattern__c = 'hospitalorder'; |
| | | //医院特价 |
| | | Consumable_order[0].Order_ForHospital__c = hospitalId; |
| | | if (dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null) { |
| | | if ( |
| | | dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && |
| | | dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null |
| | | ) { |
| | | //直接根据促销金额计算 |
| | | InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get(''+ hospitalId + ass.Prod.Id); |
| | | InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get('' + hospitalId + ass.Prod.Id); |
| | | } |
| | | } else if (DealerProductMap.containsKey(ass.Prod.Id)) { |
| | | InsAfterDel.Intra_Trade_List_RMB__c = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c; |
| | |
| | | |
| | | //删除附件 |
| | | @AuraEnabled |
| | | public static Results deleteAtt(String contentVersionId, String cocId){ |
| | | public static Results deleteAtt(String contentVersionId, String cocId) { |
| | | Results results = new Results(); |
| | | try { |
| | | List<ContentVersion> cvInfo = [SELECT Id FROM ContentVersion WHERE FirstPublishLocationId = :cocId]; |
| | | ContentVersion conVersion = [SELECT ContentDocumentId FROM ContentVersion WHERE Id = :contentVersionId]; |
| | | String contentDocumentId = conVersion.ContentDocumentId; |
| | | ContentDocument conDocument = [SELECT Id FROM ContentDocument where Id = :contentDocumentId]; |
| | | ContentDocument conDocument = [SELECT Id FROM ContentDocument WHERE Id = :contentDocumentId]; |
| | | delete conDocument; |
| | | if(cvInfo.size() <= 1){ |
| | | Consumable_order__c c = [SELECT Id FROM Consumable_order__c WHERE Id =:cocId]; |
| | | c.Consumable_pdf_insert_day__c =null; |
| | | if (cvInfo.size() <= 1) { |
| | | Consumable_order__c c = [SELECT Id FROM Consumable_order__c WHERE Id = :cocId]; |
| | | c.Consumable_pdf_insert_day__c = null; |
| | | update c; |
| | | } |
| | | results.result = 'Success'; |
| | |
| | | return results; |
| | | } |
| | | |
| | | public static void getConsumableShowTableFieldValue(){ |
| | | for(ConsumableorderdetailsInfo con :consumableorderdetailsRecordsview){ |
| | | if(con.Prod != null){ |
| | | public static void getConsumableShowTableFieldValue() { |
| | | for (ConsumableorderdetailsInfo con : consumableorderdetailsRecordsview) { |
| | | if (con.Prod != null) { |
| | | con.recordId = con.Prod.Id; |
| | | if(!con.oldCheck){ |
| | | if (!con.oldCheck) { |
| | | con.prodName = con.Prod.Name__c; |
| | | // System.debug('ProdName:'+con.Prod.Id+'---'+con.Prod.Name__c); |
| | | } |
| | |
| | | con.prodCategory5 = con.Prod.Category5__c; |
| | | con.prodIntraTradeList = con.Prod.Intra_Trade_List_RMB__c; |
| | | } |
| | | if(con.esd != null){ |
| | | if (con.esd != null) { |
| | | // if(con.oldCheck){ |
| | | // con.prodName = con.esd.Consumable_Product__r.Name__c; |
| | | // con.prodName = con.esd.Consumable_Product__r.Name__c; |
| | | // } |
| | | con.consumableCount = con.esd.Consumable_count__c; |
| | | } |
| | |
| | | public Decimal prodIntraTradeList { get; set; } |
| | | @AuraEnabled |
| | | public Decimal consumableCount { get; set; } |
| | | |
| | | |
| | | // 已存产品明细 |
| | | public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) { |
| | |
| | | public without sharing class LexConsumableGoodsInfo { |
| | | |
| | | //所有产品一览 |
| | | @AuraEnabled |
| | | public static Results initTotalNum(String ordId, String type){ |
| | | public static Results initTotalNum(String ordId, String type) { |
| | | Results results = new Results(); |
| | | List<ShowRecords> allOtherDetIifo = new List<ShowRecords>(); |
| | | Set<String> orderId = new Set<String>(); |
| | | if(ordId != '1'){ |
| | | orderId.add(ordId); |
| | | if (ordId != '1') { |
| | | orderId.add(ordId); |
| | | } |
| | | try { |
| | | if(!(orderId.size() > 0)){ |
| | | if (!(orderId.size() > 0)) { |
| | | String userId = UserInfo.getUserId(); |
| | | List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId ]; |
| | | List<User> userList = [ |
| | | SELECT accountid, Work_Location__c, UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId |
| | | ]; |
| | | String accountid = userList[0].accountid; |
| | | String userPro_Type = userList[0].UserPro_Type__c; |
| | | String userWorklocation = userList[0].Work_Location__c; |
| | | String rtTypeDelivery = System.Label.RT_ConOrder_Delivery; |
| | | List<Consumable_order__c> conorderlist = new List<Consumable_order__c>(); |
| | | //20200916 ljh update start |
| | | if(type !=null && type.equals('all')){ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | }else{ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | if (type != null && type.equals('all')) { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND (OrderNumber_notarrive__c > 0 |
| | | OR Delivery_detail_count__c > 0) |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } else { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND Delivery_detail_count__c > 0 |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } |
| | | for(Consumable_order__c conorder : conorderlist){ |
| | | String temp = (String)conorder.Id; |
| | | for (Consumable_order__c conorder : conorderlist) { |
| | | String temp = (String) conorder.Id; |
| | | orderId.add(temp); |
| | | } |
| | | System.debug('ANY o'+orderId); |
| | | System.debug('ANY o' + orderId); |
| | | } |
| | | List<Consumable_Orderdetails__c> conOrderList1 = new List<Consumable_Orderdetails__c>(); |
| | | |
| | | conOrderList1 = [SELECT Asset_Model_No__c ,Consumable_count__c FROM Consumable_Orderdetails__c WHERE Consumable_order__c =:orderId]; |
| | | |
| | | Map<String,Decimal> allConOrderMap = new Map<String,Decimal>(); |
| | | for(Consumable_Orderdetails__c con : conOrderList1){ |
| | | if(con.Consumable_count__c == null){ |
| | | conOrderList1 = [ |
| | | SELECT Asset_Model_No__c, Consumable_count__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :orderId |
| | | ]; |
| | | |
| | | Map<String, Decimal> allConOrderMap = new Map<String, Decimal>(); |
| | | for (Consumable_Orderdetails__c con : conOrderList1) { |
| | | if (con.Consumable_count__c == null) { |
| | | con.Consumable_count__c = 0; |
| | | } |
| | | if(allConOrderMap.containsKey(con.Asset_Model_No__c)){ |
| | | allConOrderMap.put(con.Asset_Model_No__c,allConOrderMap.get(con.Asset_Model_No__c)+con.Consumable_count__c); |
| | | }else{ |
| | | if (allConOrderMap.containsKey(con.Asset_Model_No__c)) { |
| | | allConOrderMap.put(con.Asset_Model_No__c, allConOrderMap.get(con.Asset_Model_No__c) + con.Consumable_count__c); |
| | | } else { |
| | | allConOrderMap.put(con.Asset_Model_No__c, con.Consumable_count__c); |
| | | } |
| | | } |
| | | for(String pmodel : allConOrderMap.keySet()){ |
| | | if(allConOrderMap.get(pmodel) > 0){ |
| | | for (String pmodel : allConOrderMap.keySet()) { |
| | | if (allConOrderMap.get(pmodel) > 0) { |
| | | ShowRecords showrecord2 = new ShowRecords(); |
| | | showrecord2.recordCount = allConOrderMap.get(pmodel); |
| | | showrecord2.prodModel = pmodel; |
| | | allOtherDetIifo.add(showrecord2); |
| | | } |
| | | } |
| | | } |
| | | results.result = 'Success'; |
| | | results.recordList = allOtherDetIifo; |
| | |
| | | |
| | | //已到货产品一览 |
| | | @AuraEnabled |
| | | public static Results initArrDet(String orderId){ |
| | | public static Results initArrDet(String orderId) { |
| | | Results results = new Results(); |
| | | List<ShowRecords> arrDetIifo = new List<ShowRecords>(); |
| | | try{ |
| | | List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId]; |
| | | Map<String,String> srtMap = new Map<String,String>(); |
| | | for(Consumable_order_details2__c con : conList){ |
| | | try { |
| | | List<Consumable_order_details2__c> conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = TRUE AND Consumable_order_minor__c = :orderId |
| | | ]; |
| | | Map<String, String> srtMap = new Map<String, String>(); |
| | | for (Consumable_order_details2__c con : conList) { |
| | | srtMap.put(con.Bar_Code__c, con.Id); |
| | | } |
| | | List<String> str = new List<String>(); |
| | | for(String s : srtMap.keySet()){ |
| | | for (String s : srtMap.keySet()) { |
| | | str.add(srtMap.get(s)); |
| | | } |
| | | List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | WHERE Id =: str |
| | | GROUP BY Asset_Model_No__c]; |
| | | for(Integer i = 0 ; i< arrDetList.size();i++){ |
| | | List<AggregateResult> arrDetList = [ |
| | | SELECT Asset_Model_No__c prodModel, count(Id) recordCount |
| | | FROM Consumable_order_details2__c |
| | | WHERE Id = :str |
| | | GROUP BY Asset_Model_No__c |
| | | ]; |
| | | for (Integer i = 0; i < arrDetList.size(); i++) { |
| | | arrDetIifo.add(new showRecords(arrDetList[i])); |
| | | } |
| | | results.recordList = arrDetIifo; |
| | | results.result = 'Success'; |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | |
| | | |
| | | //已到货产品一览All |
| | | @AuraEnabled |
| | | public static Results initArrDetAll(String type){ |
| | | public static Results initArrDetAll(String type) { |
| | | Results results = new Results(); |
| | | List<ShowRecords> allArrDetIifo = new List<ShowRecords>(); |
| | | try{ |
| | | try { |
| | | String userId = UserInfo.getUserId(); |
| | | List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId ]; |
| | | List<User> userList = [ |
| | | SELECT accountid, Work_Location__c, UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId |
| | | ]; |
| | | String accountid = userList[0].accountid; |
| | | String userPro_Type = userList[0].UserPro_Type__c; |
| | | String userWorklocation = userList[0].Work_Location__c; |
| | |
| | | List<Consumable_order__c> conorderlist = new List<Consumable_order__c>(); |
| | | //20200916 ljh update start |
| | | //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation]; |
| | | if(type !=null && type.equals('all')){ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | }else{ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | if (type != null && type.equals('all')) { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND (OrderNumber_notarrive__c > 0 |
| | | OR Delivery_detail_count__c > 0) |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } else { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND Delivery_detail_count__c > 0 |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } |
| | | //20200916 ljh update end |
| | | // List<Consumable_order__c> conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c > 0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation]; |
| | | System.debug('======'+conorderlist+'daxiao:'+conorderlist.size()); |
| | | for(Consumable_order__c conorder : conorderlist){ |
| | | System.debug('======'+conorder.Owner.Name+'======'); |
| | | System.debug('======' + conorderlist + 'daxiao:' + conorderlist.size()); |
| | | for (Consumable_order__c conorder : conorderlist) { |
| | | System.debug('======' + conorder.Owner.Name + '======'); |
| | | } |
| | | Set<String> orderId = new Set<String>(); |
| | | for(Consumable_order__c conorder : conorderlist){ |
| | | for (Consumable_order__c conorder : conorderlist) { |
| | | orderId.add(conorder.Id); |
| | | } |
| | | System.debug('ANY o'+orderId); |
| | | System.debug('ANY o' + orderId); |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | //20200916 ljh update start |
| | | //conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | if(type !=null && type.equals('all')){ |
| | | conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | }else{ |
| | | conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | if (type != null && type.equals('all')) { |
| | | conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Consumable_order_minor__c = :orderId |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | ]; |
| | | } else { |
| | | conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Consumable_order_minor__c = :orderId |
| | | AND Deliver_date__c < :orderdate |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | ]; |
| | | } |
| | | //20200916 ljh update end |
| | | //20200916 ljh update end |
| | | // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | Map<String,String> srtMap = new Map<String,String>(); |
| | | for(Consumable_order_details2__c con : conList){ |
| | | Map<String, String> srtMap = new Map<String, String>(); |
| | | for (Consumable_order_details2__c con : conList) { |
| | | srtMap.put(con.Bar_Code__c, con.Id); |
| | | } |
| | | List<String> str = new List<String>(); |
| | | for(String s : srtMap.keySet()){ |
| | | for (String s : srtMap.keySet()) { |
| | | str.add(srtMap.get(s)); |
| | | } |
| | | List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | WHERE Id =: str |
| | | GROUP BY Asset_Model_No__c]; |
| | | List<AggregateResult> arrDetList = [ |
| | | SELECT Asset_Model_No__c prodModel, count(Id) recordCount |
| | | FROM Consumable_order_details2__c |
| | | WHERE Id = :str |
| | | GROUP BY Asset_Model_No__c |
| | | ]; |
| | | // List<showRecords> allArrDetIifo = new List<showRecords>(); |
| | | for(Integer i = 0 ; i< arrDetList.size();i++){ |
| | | for (Integer i = 0; i < arrDetList.size(); i++) { |
| | | allArrDetIifo.add(new showRecords(arrDetList[i])); |
| | | } |
| | | results.recordList = allArrDetIifo; |
| | | results.result = 'Success'; |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | |
| | | |
| | | //未到货产品一览 |
| | | @AuraEnabled |
| | | public static Results initDeliveryDet(String orderId){ |
| | | public static Results initDeliveryDet(String orderId) { |
| | | Results results = new Results(); |
| | | List<ShowRecords> notArrDetIifo = new List<ShowRecords>(); |
| | | try{ |
| | | List<AggregateResult> notArrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = false |
| | | AND Consumable_order_minor__c = :orderId |
| | | GROUP BY Asset_Model_No__c]; |
| | | for(Integer i = 0 ; i< notArrDetList.size();i++){ |
| | | try { |
| | | List<AggregateResult> notArrDetList = [ |
| | | SELECT Asset_Model_No__c prodModel, count(Id) recordCount |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = FALSE AND Consumable_order_minor__c = :orderId |
| | | GROUP BY Asset_Model_No__c |
| | | ]; |
| | | for (Integer i = 0; i < notArrDetList.size(); i++) { |
| | | notArrDetIifo.add(new showRecords(notArrDetList[i])); |
| | | } |
| | | results.recordList = notArrDetIifo; |
| | | results.result = 'Success'; |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | |
| | | |
| | | //未到货产品一览All |
| | | @AuraEnabled |
| | | public static Results initDeliveryDetAll(String type){ |
| | | public static Results initDeliveryDetAll(String type) { |
| | | Results results = new Results(); |
| | | List<ShowRecords> allNotArrDetIifo = new List<ShowRecords>(); |
| | | try{ |
| | | try { |
| | | String userId = UserInfo.getUserId(); |
| | | List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId ]; |
| | | List<User> userList = [ |
| | | SELECT accountid, Work_Location__c, UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId |
| | | ]; |
| | | String accountid = userList[0].accountid; |
| | | String userPro_Type = userList[0].UserPro_Type__c; |
| | | String userWorklocation = userList[0].Work_Location__c; |
| | |
| | | List<Consumable_order__c> conorderlist = new List<Consumable_order__c>(); |
| | | //20200916 ljh update start |
| | | //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation]; |
| | | if(type !=null && type.equals('all')){ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | }else{ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | if (type != null && type.equals('all')) { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND (OrderNumber_notarrive__c > 0 |
| | | OR Delivery_detail_count__c > 0) |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } else { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND Delivery_detail_count__c > 0 |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } |
| | | //20200916 ljh update end |
| | | // List<Consumable_order__c> conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c > 0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation]; |
| | | System.debug('======'+conorderlist+'daxiao:'+conorderlist.size()); |
| | | for(Consumable_order__c conorder : conorderlist){ |
| | | System.debug('======'+conorder.Owner.Name+'======'); |
| | | System.debug('======' + conorderlist + 'daxiao:' + conorderlist.size()); |
| | | for (Consumable_order__c conorder : conorderlist) { |
| | | System.debug('======' + conorder.Owner.Name + '======'); |
| | | } |
| | | Set<String> orderId = new Set<String>(); |
| | | for(Consumable_order__c conorder : conorderlist){ |
| | | for (Consumable_order__c conorder : conorderlist) { |
| | | orderId.add(conorder.Id); |
| | | } |
| | | System.debug('ANY o'+orderId); |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | System.debug('ANY o' + orderId); |
| | | //20200916 ljh update start |
| | | //conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | if(type !=null && type.equals('all')){ |
| | | conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | }else{ |
| | | conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | if (type != null && type.equals('all')) { |
| | | conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = FALSE |
| | | AND Consumable_order_minor__c = :orderId |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | ]; |
| | | } else { |
| | | conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = FALSE |
| | | AND Consumable_order_minor__c = :orderId |
| | | AND Deliver_date__c < :orderdate |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | ]; |
| | | } |
| | | //20200916 ljh update end |
| | | //20200916 ljh update end |
| | | // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | Map<String,String> srtMap = new Map<String,String>(); |
| | | for(Consumable_order_details2__c con : conList){ |
| | | Map<String, String> srtMap = new Map<String, String>(); |
| | | for (Consumable_order_details2__c con : conList) { |
| | | srtMap.put(con.Bar_Code__c, con.Id); |
| | | } |
| | | List<String> str = new List<String>(); |
| | | for(String s : srtMap.keySet()){ |
| | | for (String s : srtMap.keySet()) { |
| | | str.add(srtMap.get(s)); |
| | | } |
| | | List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | WHERE Id =: str and Cancellation_Flag__c = false |
| | | GROUP BY Asset_Model_No__c]; |
| | | List<AggregateResult> arrDetList = [ |
| | | SELECT Asset_Model_No__c prodModel, count(Id) recordCount |
| | | FROM Consumable_order_details2__c |
| | | WHERE Id = :str AND Cancellation_Flag__c = FALSE |
| | | GROUP BY Asset_Model_No__c |
| | | ]; |
| | | // List<showRecords> allArrDetIifo = new List<showRecords>(); |
| | | for(Integer i = 0 ; i< arrDetList.size();i++){ |
| | | for (Integer i = 0; i < arrDetList.size(); i++) { |
| | | allNotArrDetIifo.add(new showRecords(arrDetList[i])); |
| | | } |
| | | results.recordList = allNotArrDetIifo; |
| | | results.result = 'Success'; |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | |
| | | |
| | | //还没发货数量 |
| | | @AuraEnabled |
| | | public static Results initNotArrDet(String orderId){ |
| | | public static Results initNotArrDet(String orderId) { |
| | | Results results = new Results(); |
| | | List<Consumable_Orderdetails__c> otherArrDetIifo = new List<Consumable_Orderdetails__c>(); |
| | | List<ShowRecords> otherArrList = new List<ShowRecords>(); |
| | | try{ |
| | | try { |
| | | List<showRecords> arrDetIifo = new List<showRecords>(); |
| | | List<showRecords> notArrDetIifo = new List<showRecords>(); |
| | | List<showRecords> allArrDetIifo = new List<showRecords>(); |
| | | // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = true AND Consumable_order_minor__c = :orderId]; |
| | | List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId]; |
| | | Map<String,String> srtMap = new Map<String,String>(); |
| | | for(Consumable_order_details2__c con : conList){ |
| | | List<Consumable_order_details2__c> conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Consumable_order_minor__c = :orderId |
| | | ]; |
| | | Map<String, String> srtMap = new Map<String, String>(); |
| | | for (Consumable_order_details2__c con : conList) { |
| | | srtMap.put(con.Bar_Code__c, con.Id); |
| | | } |
| | | List<String> str = new List<String>(); |
| | | for(String s : srtMap.keySet()){ |
| | | for (String s : srtMap.keySet()) { |
| | | str.add(srtMap.get(s)); |
| | | } |
| | | List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | WHERE Id =: str AND Dealer_Arrive__c = true |
| | | GROUP BY Asset_Model_No__c]; |
| | | for(Integer i = 0 ; i< arrDetList.size();i++){ |
| | | List<AggregateResult> arrDetList = [ |
| | | SELECT Asset_Model_No__c prodModel, count(Id) recordCount |
| | | FROM Consumable_order_details2__c |
| | | WHERE Id = :str AND Dealer_Arrive__c = TRUE |
| | | GROUP BY Asset_Model_No__c |
| | | ]; |
| | | for (Integer i = 0; i < arrDetList.size(); i++) { |
| | | arrDetIifo.add(new showRecords(arrDetList[i])); |
| | | } |
| | | |
| | | List<AggregateResult> notArrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = false |
| | | AND Consumable_order_minor__c = :orderId |
| | | GROUP BY Asset_Model_No__c]; |
| | | for(Integer i = 0 ; i< notArrDetList.size();i++){ |
| | | List<AggregateResult> notArrDetList = [ |
| | | SELECT Asset_Model_No__c prodModel, count(Id) recordCount |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = FALSE AND Consumable_order_minor__c = :orderId |
| | | GROUP BY Asset_Model_No__c |
| | | ]; |
| | | for (Integer i = 0; i < notArrDetList.size(); i++) { |
| | | notArrDetIifo.add(new showRecords(notArrDetList[i])); |
| | | } |
| | | |
| | | // List<AggregateResult> allArrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | // WHERE Id =: str |
| | | // GROUP BY Asset_Model_No__c]; |
| | | List<Consumable_Orderdetails__c> allArrDetList = [SELECT Asset_Model_No__c,Consumable_count__c FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c =: orderId]; |
| | | List<Consumable_Orderdetails__c> allArrDetList = [ |
| | | SELECT Asset_Model_No__c, Consumable_count__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :orderId |
| | | ]; |
| | | // for(Integer i = 0 ; i< allArrDetList.size();i++){ |
| | | // allArrDetIifo.add(new showRecords(notArrDetList[i])); |
| | | // } |
| | | Map<String,Decimal> arrDetMap = new Map<String,Decimal>(); |
| | | for(showRecords arr : arrDetIifo){ |
| | | Map<String, Decimal> arrDetMap = new Map<String, Decimal>(); |
| | | for (showRecords arr : arrDetIifo) { |
| | | arrDetMap.put(arr.prodModel, arr.recordCount); |
| | | } |
| | | for(showRecords notarr : notArrDetIifo){ |
| | | if(arrDetMap.containsKey(notarr.prodModel)){ |
| | | arrDetMap.put(notarr.prodModel, arrDetMap.get(notarr.prodModel)+notarr.recordCount); |
| | | }else{ |
| | | for (showRecords notarr : notArrDetIifo) { |
| | | if (arrDetMap.containsKey(notarr.prodModel)) { |
| | | arrDetMap.put(notarr.prodModel, arrDetMap.get(notarr.prodModel) + notarr.recordCount); |
| | | } else { |
| | | arrDetMap.put(notarr.prodModel, notarr.recordCount); |
| | | } |
| | | } |
| | | List<String> AssetModelNoEdList = new List<String>();//20200904 ljh add |
| | | for(Consumable_Orderdetails__c allarr : allArrDetList){ |
| | | for(String promodel : arrDetMap.keySet()){ |
| | | if(allarr.Asset_Model_No__c == promodel){ |
| | | if((allarr.Consumable_count__c - arrDetMap.get(promodel)) > 0){ |
| | | List<String> AssetModelNoEdList = new List<String>(); //20200904 ljh add |
| | | for (Consumable_Orderdetails__c allarr : allArrDetList) { |
| | | for (String promodel : arrDetMap.keySet()) { |
| | | if (allarr.Asset_Model_No__c == promodel) { |
| | | if ((allarr.Consumable_count__c - arrDetMap.get(promodel)) > 0) { |
| | | allarr.Consumable_count__c = (allarr.Consumable_count__c - arrDetMap.get(promodel)); |
| | | otherArrDetIifo.add(allarr); |
| | | } |
| | | AssetModelNoEdList.add(promodel);//20200904 ljh add |
| | | AssetModelNoEdList.add(promodel); //20200904 ljh add |
| | | } |
| | | } |
| | | } |
| | | //20200904 ljh add start |
| | | for(Consumable_Orderdetails__c allarr1 : allArrDetList){ |
| | | if(!AssetModelNoEdList.contains(allarr1.Asset_Model_No__c)){ |
| | | for (Consumable_Orderdetails__c allarr1 : allArrDetList) { |
| | | if (!AssetModelNoEdList.contains(allarr1.Asset_Model_No__c)) { |
| | | otherArrDetIifo.add(allarr1); |
| | | } |
| | | } |
| | | for(Consumable_Orderdetails__c conOrderDetail : otherArrDetIifo){ |
| | | for (Consumable_Orderdetails__c conOrderDetail : otherArrDetIifo) { |
| | | ShowRecords record = new ShowRecords(); |
| | | record.prodModel = conOrderDetail.Asset_Model_No__c; |
| | | record.recordCount = conOrderDetail.Consumable_count__c; |
| | |
| | | } |
| | | results.recordList = otherArrList; |
| | | results.result = 'Success'; |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | |
| | | |
| | | //还没发货数量All |
| | | @AuraEnabled |
| | | public static Results initNotArrDetAll(String type){ |
| | | public static Results initNotArrDetAll(String type) { |
| | | Results results = new Results(); |
| | | List<ShowRecords> allOtherDetIifo = new List<ShowRecords>(); |
| | | try{ |
| | | try { |
| | | String userId = UserInfo.getUserId(); |
| | | List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId ]; |
| | | List<User> userList = [ |
| | | SELECT accountid, Work_Location__c, UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId |
| | | ]; |
| | | String accountid = userList[0].accountid; |
| | | String userPro_Type = userList[0].UserPro_Type__c; |
| | | String userWorklocation = userList[0].Work_Location__c; |
| | |
| | | List<Consumable_order__c> conorderlist = new List<Consumable_order__c>(); |
| | | //20200916 ljh update start |
| | | //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation]; |
| | | if(type !=null && type.equals('all')){ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | }else{ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | if (type != null && type.equals('all')) { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND (OrderNumber_notarrive__c > 0 |
| | | OR Delivery_detail_count__c > 0) |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } else { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND Delivery_detail_count__c > 0 |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } |
| | | //20200916 ljh update end |
| | | // List<Consumable_order__c> conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c > 0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation]; |
| | | System.debug('======'+conorderlist+'daxiao:'+conorderlist.size()); |
| | | for(Consumable_order__c conorder : conorderlist){ |
| | | System.debug('======'+conorder.Owner.Name+'======'); |
| | | System.debug('======' + conorderlist + 'daxiao:' + conorderlist.size()); |
| | | for (Consumable_order__c conorder : conorderlist) { |
| | | System.debug('======' + conorder.Owner.Name + '======'); |
| | | } |
| | | Set<String> orderId = new Set<String>(); |
| | | for(Consumable_order__c conorder : conorderlist){ |
| | | for (Consumable_order__c conorder : conorderlist) { |
| | | orderId.add(conorder.Id); |
| | | } |
| | | System.debug('ANY o'+orderId); |
| | | System.debug('ANY o' + orderId); |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | //20200916 ljh update start |
| | | //conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | if(type !=null && type.equals('all')){ |
| | | conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | }else{ |
| | | conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | if (type != null && type.equals('all')) { |
| | | conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Consumable_order_minor__c = :orderId AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | ]; |
| | | } else { |
| | | conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Consumable_order_minor__c = :orderId |
| | | AND Deliver_date__c < :orderdate |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | ]; |
| | | } |
| | | //20200916 ljh update end |
| | | //20200916 ljh update end |
| | | // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | Map<String,String> srtMap = new Map<String,String>(); |
| | | for(Consumable_order_details2__c con : conList){ |
| | | Map<String, String> srtMap = new Map<String, String>(); |
| | | for (Consumable_order_details2__c con : conList) { |
| | | srtMap.put(con.Bar_Code__c, con.Id); |
| | | } |
| | | List<String> str = new List<String>(); |
| | | for(String s : srtMap.keySet()){ |
| | | for (String s : srtMap.keySet()) { |
| | | str.add(srtMap.get(s)); |
| | | } |
| | | List<AggregateResult> arrDetList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | WHERE Id =: str and Cancellation_Flag__c = false |
| | | GROUP BY Asset_Model_No__c]; |
| | | Map<String,Decimal> conOrderMap = new Map<String,Decimal>(); |
| | | for(AggregateResult agg : arrDetList){ |
| | | List<AggregateResult> arrDetList = [ |
| | | SELECT Asset_Model_No__c prodModel, count(Id) recordCount |
| | | FROM Consumable_order_details2__c |
| | | WHERE Id = :str AND Cancellation_Flag__c = FALSE |
| | | GROUP BY Asset_Model_No__c |
| | | ]; |
| | | Map<String, Decimal> conOrderMap = new Map<String, Decimal>(); |
| | | for (AggregateResult agg : arrDetList) { |
| | | conOrderMap.put(String.valueOf(agg.get('prodModel')), Integer.valueOf(agg.get('recordCount'))); |
| | | } |
| | | |
| | | List<Consumable_Orderdetails__c> conOrderList1 = [SELECT Asset_Model_No__c ,Consumable_count__c FROM Consumable_Orderdetails__c WHERE Consumable_order__c =: orderId ]; |
| | | Map<String,Decimal> allConOrderMap = new Map<String,Decimal>(); |
| | | for(Consumable_Orderdetails__c con : conOrderList1){ |
| | | if(con.Consumable_count__c == null){ |
| | | List<Consumable_Orderdetails__c> conOrderList1 = [ |
| | | SELECT Asset_Model_No__c, Consumable_count__c |
| | | FROM Consumable_Orderdetails__c |
| | | WHERE Consumable_order__c = :orderId |
| | | ]; |
| | | Map<String, Decimal> allConOrderMap = new Map<String, Decimal>(); |
| | | for (Consumable_Orderdetails__c con : conOrderList1) { |
| | | if (con.Consumable_count__c == null) { |
| | | con.Consumable_count__c = 0; |
| | | } |
| | | if(allConOrderMap.containsKey(con.Asset_Model_No__c)){ |
| | | allConOrderMap.put(con.Asset_Model_No__c,allConOrderMap.get(con.Asset_Model_No__c)+con.Consumable_count__c); |
| | | }else{ |
| | | if (allConOrderMap.containsKey(con.Asset_Model_No__c)) { |
| | | allConOrderMap.put(con.Asset_Model_No__c, allConOrderMap.get(con.Asset_Model_No__c) + con.Consumable_count__c); |
| | | } else { |
| | | allConOrderMap.put(con.Asset_Model_No__c, con.Consumable_count__c); |
| | | } |
| | | } |
| | | for(String pmodel : allConOrderMap.keySet()){ |
| | | if(conOrderMap.containsKey(pmodel)){ |
| | | if(allConOrderMap.get(pmodel) - conOrderMap.get(pmodel) > 0){ |
| | | for (String pmodel : allConOrderMap.keySet()) { |
| | | if (conOrderMap.containsKey(pmodel)) { |
| | | if (allConOrderMap.get(pmodel) - conOrderMap.get(pmodel) > 0) { |
| | | showRecords showrecord1 = new showRecords(); |
| | | showrecord1.recordCount = allConOrderMap.get(pmodel) - conOrderMap.get(pmodel); |
| | | showrecord1.prodModel = pmodel; |
| | | allOtherDetIifo.add(showrecord1); |
| | | } |
| | | }else{ |
| | | } else { |
| | | showRecords showrecord2 = new showRecords(); |
| | | showrecord2.recordCount = allConOrderMap.get(pmodel); |
| | | showrecord2.prodModel = pmodel; |
| | |
| | | } |
| | | results.recordList = allOtherDetIifo; |
| | | results.result = 'Success'; |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | |
| | | |
| | | //发货七天还未到货数 |
| | | @AuraEnabled |
| | | public static Results initMoreThan7(String orderId){ |
| | | public static Results initMoreThan7(String orderId) { |
| | | Results results = new Results(); |
| | | List<ShowRecords> morethansevendaysIifo = new List<ShowRecords>(); |
| | | try{ |
| | | List<AggregateResult> morethan7daysList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | WHERE Consumable_order_minor__c != null |
| | | AND Dealer_Shipment__c = false |
| | | AND Dealer_Arrive__c = false |
| | | AND Dealer_Saled__c = false |
| | | AND Consumable_order_minor__r.showFalseNotshowTrue__c = false |
| | | AND Deliver_date__c < LAST_N_DAYS:7 |
| | | AND Consumable_order_minor__c = :orderId |
| | | GROUP BY Asset_Model_No__c]; |
| | | |
| | | for(Integer i = 0 ; i< morethan7daysList.size() ; i++){ |
| | | try { |
| | | List<AggregateResult> morethan7daysList = [ |
| | | SELECT Asset_Model_No__c prodModel, count(Id) recordCount |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Consumable_order_minor__c != NULL |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Arrive__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Consumable_order_minor__r.showFalseNotshowTrue__c = FALSE |
| | | AND Deliver_date__c < LAST_N_DAYS:7 |
| | | AND Consumable_order_minor__c = :orderId |
| | | GROUP BY Asset_Model_No__c |
| | | ]; |
| | | |
| | | for (Integer i = 0; i < morethan7daysList.size(); i++) { |
| | | morethansevendaysIifo.add(new showRecords(morethan7daysList[i])); |
| | | } |
| | | results.recordList = morethansevendaysIifo; |
| | | results.result = 'Success'; |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | |
| | | |
| | | //发货七天还未到货数All |
| | | @AuraEnabled |
| | | public static Results initMoreThan7All(String type){ |
| | | public static Results initMoreThan7All(String type) { |
| | | Results results = new Results(); |
| | | List<ShowRecords> morethansevendaysIifo = new List<ShowRecords>(); |
| | | try{ |
| | | try { |
| | | String userId = UserInfo.getUserId(); |
| | | List<User> userList = [SELECT accountid, Work_Location__c,UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId ]; |
| | | List<User> userList = [ |
| | | SELECT accountid, Work_Location__c, UserPro_Type__c |
| | | FROM user |
| | | WHERE id = :userId |
| | | ]; |
| | | String accountid = userList[0].accountid; |
| | | String userPro_Type = userList[0].UserPro_Type__c; |
| | | String userWorklocation = userList[0].Work_Location__c; |
| | |
| | | List<Consumable_order__c> conorderlist = new List<Consumable_order__c>(); |
| | | //20200916 ljh update start |
| | | //conorderlist = [select id,name,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation]; |
| | | if(type !=null && type.equals('all')){ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and (OrderNumber_notarrive__c > 0 or Delivery_detail_count__c >0) and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | }else{ |
| | | conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c >0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation and showFalseNotshowTrue__c = false]; |
| | | if (type != null && type.equals('all')) { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND (OrderNumber_notarrive__c > 0 |
| | | OR Delivery_detail_count__c > 0) |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } else { |
| | | conorderlist = [ |
| | | SELECT id, Owner.Name |
| | | FROM Consumable_order__c |
| | | WHERE |
| | | Order_type__c = '订单' |
| | | AND recordtypeid = :rtTypeDelivery |
| | | AND Dealer_Info__c = :accountid |
| | | AND Delivery_detail_count__c > 0 |
| | | AND Order_ProType__c = :userPro_Type |
| | | AND Order_Owner_WorkLocal__c = :userWorklocation |
| | | AND showFalseNotshowTrue__c = FALSE |
| | | ]; |
| | | } |
| | | system.debug('==============>conorderlist'+conorderlist); |
| | | system.debug('==============>conorderlist'+conorderlist.size()); |
| | | system.debug('==============>conorderlist' + conorderlist); |
| | | system.debug('==============>conorderlist' + conorderlist.size()); |
| | | //20200916 ljh update end |
| | | // List<Consumable_order__c> conorderlist = [select id,Owner.Name from Consumable_order__c where Order_type__c = '订单' and recordtypeid = :rtTypeDelivery and Dealer_Info__c = :accountid and Delivery_detail_count__c > 0 and Order_ProType__c = :userPro_Type and Order_Owner_WorkLocal__c = :userWorklocation]; |
| | | System.debug('======'+conorderlist+'daxiao:'+conorderlist.size()); |
| | | for(Consumable_order__c conorder : conorderlist){ |
| | | System.debug('======'+conorder.Owner.Name+'======'); |
| | | System.debug('======' + conorderlist + 'daxiao:' + conorderlist.size()); |
| | | for (Consumable_order__c conorder : conorderlist) { |
| | | System.debug('======' + conorder.Owner.Name + '======'); |
| | | } |
| | | Set<String> orderId = new Set<String>(); |
| | | for(Consumable_order__c conorder : conorderlist){ |
| | | for (Consumable_order__c conorder : conorderlist) { |
| | | orderId.add(conorder.Id); |
| | | } |
| | | System.debug('ANY o'+orderId); |
| | | System.debug('ANY o' + orderId); |
| | | List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>(); |
| | | //20200916 ljh update start |
| | | //conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | if(type !=null && type.equals('all')){ |
| | | if (type != null && type.equals('all')) { |
| | | system.debug('all============'); |
| | | conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | system.debug('allconList==========='+conList.size()); |
| | | }else{ |
| | | conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = FALSE |
| | | AND Consumable_order_minor__c = :orderId |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | ]; |
| | | system.debug('allconList===========' + conList.size()); |
| | | } else { |
| | | system.debug('notall============='); |
| | | conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | system.debug('notallconList==========='+conList.size()); |
| | | conList = [ |
| | | SELECT id, Bar_Code__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = FALSE |
| | | AND Consumable_order_minor__c = :orderId |
| | | AND Deliver_date__c < :orderdate |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | ]; |
| | | system.debug('notallconList===========' + conList.size()); |
| | | } |
| | | //20200916 ljh update end |
| | | //20200916 ljh update end |
| | | // List<Consumable_order_details2__c> conList = [SELECT id,Bar_Code__c FROM Consumable_order_details2__c WHERE Dealer_Arrive__c = false AND Consumable_order_minor__c = :orderId AND Deliver_date__c < :orderdate AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery]; |
| | | Map<String,String> srtMap = new Map<String,String>(); |
| | | for(Consumable_order_details2__c con : conList){ |
| | | Map<String, String> srtMap = new Map<String, String>(); |
| | | for (Consumable_order_details2__c con : conList) { |
| | | srtMap.put(con.Bar_Code__c, con.Id); |
| | | } |
| | | List<String> str = new List<String>(); |
| | | for(String s : srtMap.keySet()){ |
| | | for (String s : srtMap.keySet()) { |
| | | str.add(srtMap.get(s)); |
| | | } |
| | | List<AggregateResult> morethan7daysList = [SELECT Asset_Model_No__c prodModel,count(Id) recordCount FROM Consumable_order_details2__c |
| | | WHERE Id =: str and Cancellation_Flag__c = false |
| | | AND Consumable_order_minor__c != null |
| | | AND Dealer_Shipment__c = false |
| | | AND Dealer_Arrive__c = false |
| | | AND Dealer_Saled__c = false |
| | | AND Consumable_order_minor__r.showFalseNotshowTrue__c = false |
| | | AND Deliver_date__c < LAST_N_DAYS:7 |
| | | GROUP BY Asset_Model_No__c]; |
| | | system.debug('Morethan7daysList================>'+morethan7daysList.size()); |
| | | for(Integer i = 0 ; i< morethan7daysList.size() ; i++){ |
| | | List<AggregateResult> morethan7daysList = [ |
| | | SELECT Asset_Model_No__c prodModel, count(Id) recordCount |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Id = :str |
| | | AND Cancellation_Flag__c = FALSE |
| | | AND Consumable_order_minor__c != NULL |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Arrive__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Consumable_order_minor__r.showFalseNotshowTrue__c = FALSE |
| | | AND Deliver_date__c < LAST_N_DAYS:7 |
| | | GROUP BY Asset_Model_No__c |
| | | ]; |
| | | system.debug('Morethan7daysList================>' + morethan7daysList.size()); |
| | | for (Integer i = 0; i < morethan7daysList.size(); i++) { |
| | | morethansevendaysIifo.add(new showRecords(morethan7daysList[i])); |
| | | system.debug('MorethansevendaysIifo+++++++'+morethansevendaysIifo); |
| | | system.debug('MorethansevendaysIifo+++++++' + morethansevendaysIifo); |
| | | } |
| | | results.recordList = morethansevendaysIifo; |
| | | results.result = 'Success'; |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | |
| | | public List<ShowRecords> recordList; |
| | | } |
| | | |
| | | |
| | | public class ShowRecords implements Comparable { |
| | | @AuraEnabled |
| | | public Decimal recordCount { get; set; } |
| | | @AuraEnabled |
| | | public String prodModel { get; set; } |
| | | |
| | | public ShowRecords() {} |
| | | public ShowRecords() { |
| | | } |
| | | |
| | | public ShowRecords(AggregateResult e) { |
| | | recordCount =Integer.valueOf(e.get('recordCount')); |
| | | recordCount = Integer.valueOf(e.get('recordCount')); |
| | | prodModel = String.valueOf(e.get('prodModel')); |
| | | } |
| | | // 排序 |
| | |
| | | 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; } // 产品单位的List |
| | | public static List<Consumable_order_details2__c> InsListUp = New List<Consumable_order_details2__c>(); |
| | | public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; } // 产品单位的List |
| | | 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; |
| | |
| | | // 登录者工作地 |
| | | private static String userWorkLocation; |
| | | //经销商用户产品分类(ET、ENG) |
| | | 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; |
| | |
| | | //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'; |
| | |
| | | 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 消耗品追溯系统无法正常使用——盘点页面操作即报错 fy start |
| | | //开始制作表头数据 |
| | | // List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c, |
| | |
| | | // 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 消耗品追溯系统无法正常使用——盘点页面操作即报错 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 消耗品追溯系统无法正常使用——盘点页面操作即报错 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做Box和piece2个map |
| | | 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移除已经添加的Piece |
| | | 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>(); |
| | |
| | | //选择产品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去掉重复的,转换成List |
| | | //========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 |
| | | |
| | |
| | | //========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 做成,ProductCount_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>(); |
| | |
| | | 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])); |
| | |
| | | } |
| | | |
| | | //已经出库的产品 |
| | | 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做Box和piece2个map |
| | | 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移除已经添加的Piece |
| | | 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(); |
| | |
| | | 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做Box和piece2个map |
| | | 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移除已经添加的Piece |
| | | 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,'请先点【BarCode录入】')); |
| | | // 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; |
| | |
| | | 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); |
| | |
| | | // 返回盘点一览 |
| | | 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 |
| | |
| | | } |
| | | |
| | | // Data Bean |
| | | @TestVisible |
| | | class ConsumableorderdetailsInfo implements Comparable { |
| | | @AuraEnabled |
| | | public Boolean check { get; set; } |
| | |
| | | @AuraEnabled |
| | | public Decimal countid { get; set; } |
| | | @AuraEnabled |
| | | public String ProdId{get;set;} |
| | | public String ProdId { get; set; } |
| | | @AuraEnabled |
| | | public Decimal Pandian { get; set; } |
| | | @AuraEnabled |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | } |
| | | // 排序 |
| | | 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; |
| | |
| | | public without sharing class LexInventoryListController { |
| | | /*****************検索用******************/ |
| | | public static Consumable_order__c coc { get; set; } |
| | | public static String baseUrl {get;private set;} |
| | | public static String baseUrl { get; private set; } |
| | | /*****************画面表示Bean******************/ |
| | | public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords { get; set; } |
| | | public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsError { get; set; } |
| | |
| | | // 画面初始化 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC init(String eSetId) { |
| | | system.debug('eSetId====>'+eSetId); |
| | | system.debug('eSetId====>' + eSetId); |
| | | ESetId = eSetId; |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | |
| | | |
| | | coc = new Consumable_order__c(); |
| | | consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); |
| | | List<Consumable_order__c> qs = New List<Consumable_order__c>(); |
| | | qs = [select Name,Inventory_date__c,Order_date__c From Consumable_order__c Where Id =:ESetId]; |
| | | System.debug('qs===>'+qs); |
| | | if (qs.size()>0){ |
| | | List<Consumable_order__c> qs = new List<Consumable_order__c>(); |
| | | qs = [SELECT Name, Inventory_date__c, Order_date__c FROM Consumable_order__c WHERE Id = :ESetId]; |
| | | System.debug('qs===>' + qs); |
| | | if (qs.size() > 0) { |
| | | coc = qs[0]; |
| | | } |
| | | // 選択済みの明细を取得 |
| | | consumableorderdetailsSelected = [ |
| | | select Id, Name, Consumable_Product__c, |
| | | Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Consumable_Product__r.Name__c, |
| | | Consumable_Product__r.Intra_Trade_List_RMB__c,Bar_Code__c, |
| | | Consumable_Product__r.Asset_Model_No__c,Lose_Flag__c, |
| | | recordtypeid,Lose_reason__c |
| | | from Consumable_order_details2__c |
| | | where Consumable_Inventory_order__c = :ESetId |
| | | order by Name ]; |
| | | System.debug('consumableorderdetailsSelected==>'+consumableorderdetailsSelected); |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__r.Intra_Trade_List_RMB__c, |
| | | Bar_Code__c, |
| | | Consumable_Product__r.Asset_Model_No__c, |
| | | Lose_Flag__c, |
| | | recordtypeid, |
| | | Lose_reason__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Consumable_Inventory_order__c = :ESetId |
| | | ORDER BY Name |
| | | ]; |
| | | System.debug('consumableorderdetailsSelected==>' + consumableorderdetailsSelected); |
| | | |
| | | for (Integer i = 0; i < consumableorderdetailsSelected.size(); i++) { |
| | | consumableorderdetailsRecordsError.add(new ConsumableorderdetailsInfo(consumableorderdetailsSelected[i])); |
| | | } |
| | | consumableorderdetails1 = [ |
| | | select Id, Name,Diff__c,inventory_sum__c, |
| | | Count_Sum__c,Consumable_order__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name,Consumable_Count__c, |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Diff__c, |
| | | inventory_sum__c, |
| | | Count_Sum__c, |
| | | Consumable_order__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Consumable_Count__c, |
| | | Consumable_Product__r.Intra_Trade_List_RMB__c, |
| | | Consumable_Product__r.Asset_Model_No__c,Consumable_Product__r.Name__c, |
| | | Sum_of_money__c,recordtypeid,Lose_reason__c,Product_Refind__c |
| | | from Consumable_orderdetails__c |
| | | where Consumable_order__c = :ESetId |
| | | order by Name ]; |
| | | Consumable_Product__r.Asset_Model_No__c, |
| | | Consumable_Product__r.Name__c, |
| | | Sum_of_money__c, |
| | | recordtypeid, |
| | | Lose_reason__c, |
| | | Product_Refind__c |
| | | FROM Consumable_orderdetails__c |
| | | WHERE Consumable_order__c = :ESetId |
| | | ORDER BY Name |
| | | ]; |
| | | for (Integer i = 0; i < consumableorderdetails1.size(); i++) { |
| | | consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(consumableorderdetails1[i])); |
| | | } |
| | | data.put('qs',qs); |
| | | System.debug('consumableorderdetailsRecords====>'+consumableorderdetailsRecords); |
| | | data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords)); |
| | | data.put('ConsumableorderdetailsRecordsError',JSON.serialize(ConsumableorderdetailsRecordsError)); |
| | | data.put('qs', qs); |
| | | System.debug('consumableorderdetailsRecords====>' + consumableorderdetailsRecords); |
| | | data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords)); |
| | | data.put('ConsumableorderdetailsRecordsError', JSON.serialize(ConsumableorderdetailsRecordsError)); |
| | | // if(ConsumableorderdetailsRecordsError.size()!=null){ |
| | | // data.put('ConsumableorderdetailsRecordsError',JSON.serialize(ConsumableorderdetailsRecordsError)); |
| | | // } |
| | | System.debug('ConsumableorderdetailsRecordsError====>'+ConsumableorderdetailsRecordsError); |
| | | System.debug('ConsumableorderdetailsRecordsError====>' + ConsumableorderdetailsRecordsError); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | |
| | | public static String category1 { get; set; } |
| | | public static Boolean editAble { get; set; } |
| | | // 经销商在库产品ID |
| | | public static List<String> orderDetZaikuList{set;get;} |
| | | public static List<String> orderDetZaikuList { get; set; } |
| | | // 产品 ID |
| | | public static String ESetId { get; set; } |
| | | public static String idCheck { get; set; } |
| | |
| | | categoryOptionMap = new Map<String, String>(); |
| | | category4OptionMap = new Map<String, String>(); |
| | | category5OptionMap = new Map<String, String>(); |
| | | |
| | | |
| | | // 取用户ID |
| | | String userId = UserInfo.getUserId(); |
| | |
| | | } |
| | | 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; |
| | |
| | | data.put('pageRecords', pageRecords); |
| | | data.put('consumableorderdetailsRecords', consumableorderdetailsRecords); |
| | | data.put('hasHos', hasHos); |
| | | data.put('productLimtAndDate',proLimitAndDate); |
| | | data.put('productkucun',productkucun); |
| | | data.put('productLimtAndDate', proLimitAndDate); |
| | | data.put('productkucun', productkucun); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | |
| | | 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 |
| | |
| | | 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'; |
| | |
| | | Map<String, Date> productkucunLWC |
| | | ) { |
| | | try { |
| | | System.debug('orderDetZaikuListLWC===>'+orderDetZaikuListLWC); |
| | | System.debug('productkucun===>'+productkucun); |
| | | System.debug('orderDetZaikuListLWC===>' + orderDetZaikuListLWC); |
| | | System.debug('productkucun===>' + productkucun); |
| | | pageSize = pageSizeLWC; |
| | | pageToken = pageTokenLWC; |
| | | sortField = sortFieldLWC; |
| | | sortOrder = sortOrderLWC; |
| | | productkucun = new Map<String, Date>(); |
| | | productkucun = new Map<String, Date>(); |
| | | orderDetZaikuList = new List<String>(); |
| | | productkucun = productkucunLWC; |
| | | |
| | |
| | | // if (String.isNotBlank(sortField) && String.isNotBlank(sortOrder)) { |
| | | // if(sortFieldLWC != 'limitCount'){ |
| | | // soql += ' ORDER BY ' + sortField + ' ' + sortOrder; |
| | | |
| | | |
| | | // } |
| | | // } |
| | | System.debug('soql = ' + soql); |
| | |
| | | } |
| | | 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; |
| | |
| | | } |
| | | 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; |
| | |
| | | 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); |
| | |
| | | // } |
| | | // pageRecords.sort(); |
| | | // } |
| | | |
| | | |
| | | //检索sql文做成 |
| | | private static String makeSoql(String CateName, String CateCode, String Category3, String Category4, String Category5) { |
| | |
| | | public without sharing class LexLicenceReminderController { |
| | | |
| | | @AuraEnabled |
| | | public static Results initReminder(){ |
| | | public static Results initReminder() { |
| | | Results results = new Results(); |
| | | try { |
| | | 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()]; |
| | | String accountId = useracc.AccountId; |
| | | List<Account> accList = [SELECT Name,Medical_Equipment_Expiration_Date__c FROM Account WHERE Id =:accountId]; |
| | | List<Account> accList = [SELECT Name, Medical_Equipment_Expiration_Date__c FROM Account WHERE Id = :accountId]; |
| | | Account accountInfo = new Account(); |
| | | if(accList.size() == 1){ |
| | | if (accList.size() == 1) { |
| | | accountInfo = accList[0]; |
| | | }else{ |
| | | } else { |
| | | results.result = 'Fail'; |
| | | results.isShowReminder = false; |
| | | results.errorMsg = '未获取到经销商信息'; |
| | | return results; |
| | | } |
| | | if(accountInfo.Medical_Equipment_Expiration_Date__c != null){ |
| | | if (accountInfo.Medical_Equipment_Expiration_Date__c != null) { |
| | | Integer days = LexUtility.getLicenceReminderDays(); |
| | | Date today = Date.today(); |
| | | // Date today = Date.newInstance(2024, 7, 21); |
| | | Integer numberDaysDue = today.daysBetween(accountInfo.Medical_Equipment_Expiration_Date__c); |
| | | if(numberDaysDue > days){ |
| | | if (numberDaysDue > days) { |
| | | results.isShowReminder = false; |
| | | }else{ |
| | | } else { |
| | | results.isShowReminder = true; |
| | | results.days = numberDaysDue; |
| | | } |
| | | results.result = 'Success'; |
| | | }else { |
| | | } else { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = '未获取到医疗器械经营企业许可证有效期限'; |
| | | } |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.isShowReminder = false; |
| | | results.errorMsg = e.getLineNumber()+'---'+e.getMessage(); |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | | return results; |
| | | } |
| | |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | res.msg = ''; |
| | | System.debug('res:' + res); |
| | | return res; |
| | | } |
| | | |
| | |
| | | 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]; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | // ApexPages.addMessages(e); |
| | | // return null; |
| | | errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';'; |
| | | System.debug('orderdetRecords = null ' + e.getLineNumber()); |
| | | System.debug('orderdetRecords = null ' + e.getLineNumber()); |
| | | return null; |
| | | } |
| | | } |
| | |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | @TestVisible |
| | | class ConsumableorderdetailsInfo implements Comparable { |
| | | @AuraEnabled |
| | | public Consumable_order__c order { get; set; } |
| | |
| | | public with sharing class LexOverdueStockController { |
| | | |
| | | /*****************検索用******************/ |
| | | public static String barcode { get; set; } |
| | | |
| | |
| | | // 经销商信息 |
| | | 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() { |
| | | |
| | | } |
| | | |
| | | // 画面初始化 |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | // return; |
| | | System.debug('overduePageRecords = ' + overduePageRecords); |
| | | 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 = '请输入BarCode号'; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | System.debug('overduePageRecords = ' + overduePageRecords); |
| | | 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 = '请输入BarCode号'; |
| | | 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,'请先点【BarCode录入】')); |
| | | return new ResponseBodyLWC('Error',500, '请先点击获取明细', ''); |
| | | 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); |
| | |
| | | } |
| | | |
| | | // 将页面或取得BarCode去掉重复的,转换成List |
| | | 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 |
| | | class orderBean implements Comparable { |
| | | @AuraEnabled |
| | | public Consumable_order_details2__c orderdetails2 { get; set; } |
| | |
| | | public Product2__c Prod { get; set; } |
| | | @AuraEnabled |
| | | public Boolean check { get; set; } |
| | | |
| | | |
| | | // 过期库存 |
| | | @AuraEnabled |
| | | public Integer overlimitCount { get; set; } |
| | |
| | | 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; |
| | |
| | | } |
| | | // 排序 |
| | | 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; |
| | |
| | | //--------AddStart-----XHL--------------20180929------------- |
| | | public static String userPro_Type { get; set; } |
| | | public static Boolean EngFlag = false; |
| | | public static Boolean ETFlag = false; |
| | | public static Boolean ETFlag = false; |
| | | //--------AddEnd-----XHL--------------20180929------------- |
| | | // 画面初始化 |
| | | public LexProductLimitEditController (){ |
| | | accountid= ApexPages.currentPage().getParameters().get('accountid'); |
| | | public LexProductLimitEditController() { |
| | | accountid = ApexPages.currentPage().getParameters().get('accountid'); |
| | | //--------AddStart-----XHL--------------20181008------------- |
| | | userPro_Type= ApexPages.currentPage().getParameters().get('userPro_Type'); |
| | | if(String.isBlank(userPro_Type)){ |
| | | userPro_Type = ApexPages.currentPage().getParameters().get('userPro_Type'); |
| | | if (String.isBlank(userPro_Type)) { |
| | | userPro_Type = 'ET'; |
| | | } |
| | | if(userPro_Type == 'ENG'){ |
| | | if (userPro_Type == 'ENG') { |
| | | EngFlag = true; |
| | | }else{ |
| | | } else { |
| | | ETFlag = true; |
| | | } |
| | | //--------AddEnd-----XHL--------------20181008------------- |
| | | } |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC init(String accountid,string userPro_Type) { |
| | | System.debug('userPro_Type==>'+userPro_Type); |
| | | System.debug('accountid==>'+accountid); |
| | | public static ResponseBodyLWC init(String accountid, string userPro_Type) { |
| | | System.debug('userPro_Type==>' + userPro_Type); |
| | | System.debug('accountid==>' + accountid); |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String,object> data = new Map<String,object>(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | if(String.isBlank(userPro_Type)){ |
| | | if (String.isBlank(userPro_Type)) { |
| | | userPro_Type = 'ET'; |
| | | } |
| | | if(userPro_Type == 'ENG'){ |
| | | if (userPro_Type == 'ENG') { |
| | | EngFlag = true; |
| | | }else{ |
| | | } else { |
| | | ETFlag = true; |
| | | } |
| | | |
| | | List<Account> accinfo = New List<Account>(); |
| | | List<Account> accinfo = new List<Account>(); |
| | | //--------UpdateStart-----XHL--------------20181008------------- |
| | | accinfo = [SELECT Product_Limit_Date__c,Product_Limit_DateENG__c |
| | | FROM Account |
| | | WHERE id =:accountid]; |
| | | if(accinfo.size() > 0){ |
| | | if(EngFlag){ |
| | | product_Limit = accinfo [0].Product_Limit_DateENG__c; |
| | | }else if(ETFlag){ |
| | | product_Limit = accinfo [0].Product_Limit_Date__c; |
| | | accinfo = [ |
| | | SELECT Product_Limit_Date__c, Product_Limit_DateENG__c |
| | | FROM Account |
| | | WHERE id = :accountid |
| | | ]; |
| | | if (accinfo.size() > 0) { |
| | | if (EngFlag) { |
| | | product_Limit = accinfo[0].Product_Limit_DateENG__c; |
| | | } else if (ETFlag) { |
| | | product_Limit = accinfo[0].Product_Limit_Date__c; |
| | | } |
| | | |
| | | } |
| | | System.debug('product_Limit==>'+product_Limit); |
| | | data.put('product_Limit',product_Limit); |
| | | System.debug('product_Limit==>' + product_Limit); |
| | | data.put('product_Limit', product_Limit); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | |
| | | public without sharing class LexRemoveBoxController { |
| | | //经销商产品分类 |
| | | public static String agencyProType {get;set;} |
| | | public static String agencyProType { get; set; } |
| | | public static String userPro_Typestr = null; |
| | | public static String barcode { get; set; } |
| | | /*****************画面表示Bean******************/ |
| | |
| | | public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordserror { get; set; } |
| | | //拆盒明细 |
| | | public static List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy { get; set; } |
| | | public static boolean saveFLGbln {get;set;} |
| | | public static boolean saveFLGbln { get; set; } |
| | | //错误信息 |
| | | public static String alertMessage {set;get;} |
| | | public static String alertMessage { get; set; } |
| | | //拆盒明细件数 |
| | | public static integer getinventorysize(){ |
| | | public static integer getinventorysize() { |
| | | return ConsumableorderdetailsRecordsdummy.size(); |
| | | } |
| | | public static Map<String, String> ExistIdMap = new Map<String, String>(); |
| | |
| | | public static Map<String, String> AllMap = new Map<String, String>(); |
| | | public static List<String> BarCodeListP = new List<String>(); |
| | | //不符合的barcode和型号 |
| | | public static list<String> notInlist = new list<String>(); |
| | | public static String baseUrl {get;private set;} |
| | | public static list<String> notInlist = new List<String>(); |
| | | public static String baseUrl { get; private set; } |
| | | private static String accountid = null; |
| | | private static String accountName = null; |
| | | //public String[] proidList =new String[]{}; |
| | | // 登录者工作地 |
| | | private static String userWorkLocation; |
| | | |
| | | public LexRemoveBoxController(){ |
| | | public LexRemoveBoxController() { |
| | | baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); |
| | | ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>(); |
| | | ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>(); |
| | | consumableInventory = new List<ConsumableorderdetailsInfo>(); |
| | | saveFLGbln = FALSE; |
| | | saveFLGbln = false; |
| | | } |
| | | |
| | | @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; |
| | | |
| | | |
| | | String userId = UserInfo.getUserId(); |
| | | List<user> Useracc = New List<user>(); |
| | | Useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:userId]; |
| | | List<user> Useracc = new List<user>(); |
| | | Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId]; |
| | | accountid = Useracc[0].accountid; |
| | | userWorkLocation = Useracc[0].Work_Location__c; |
| | | agencyProType = Useracc[0].UserPro_Type__c; |
| | | if(String.isBlank(Useracc[0].UserPro_Type__c)){ |
| | | if (String.isBlank(Useracc[0].UserPro_Type__c)) { |
| | | agencyProType = 'ET'; |
| | | } |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | List<account> accountInfo = [SELECT Name FROM account WHERE id =:accountid]; |
| | | List<account> accountInfo = [SELECT Name FROM account WHERE id = :accountid]; |
| | | //String view_product = accountInfo[0].view_product__c; |
| | | accountName = accountInfo[0].Name; |
| | | //proidList = view_product.split(','); |
| | | |
| | | data.put('ConsumableorderdetailsRecordsdummy',JSON.serialize(ConsumableorderdetailsRecordsdummy)); |
| | | data.put('accountName',accountName); |
| | | data.put('userWorkLocation',userWorkLocation); |
| | | data.put('agencyProType',agencyProType); |
| | | data.put('ConsumableorderdetailsRecordsdummy', JSON.serialize(ConsumableorderdetailsRecordsdummy)); |
| | | data.put('accountName', accountName); |
| | | data.put('userWorkLocation', userWorkLocation); |
| | | data.put('agencyProType', agencyProType); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | |
| | | } |
| | | |
| | | // 将页面或取得BarCode去掉重复的,转换成List |
| | | public static List<String> ParseBarCode(String Code){ |
| | | String[] Cache = new String[]{}; |
| | | public static List<String> ParseBarCode(String Code) { |
| | | String[] Cache = new List<String>{}; |
| | | Cache = Code.split('\n'); |
| | | Set <String> Buff = new Set<String>(); |
| | | for(String A : Cache){ |
| | | Set<String> Buff = new Set<String>(); |
| | | for (String A : Cache) { |
| | | Buff.add(A); |
| | | } |
| | | List<String> outPut = new List<String>(); |
| | | for(String B :Buff){ |
| | | for (String B : Buff) { |
| | | B = B.trim(); |
| | | outPut.add(B); |
| | | } |
| | |
| | | |
| | | //获取明细 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC searchConsumableorderdetails(String barcode,String accountName,String userWorkLocation,String agencyProType) { |
| | | |
| | | public static ResponseBodyLWC searchConsumableorderdetails( |
| | | String barcode, |
| | | String accountName, |
| | | String userWorkLocation, |
| | | String agencyProType |
| | | ) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String,object> data = new Map<String,object>(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | barcode = barcode; |
| | |
| | | ConsumableorderdetailsRecordserror = new List<ConsumableorderdetailsInfo>(); |
| | | ConsumableorderdetailsRecordsdummy = new List<ConsumableorderdetailsInfo>(); |
| | | |
| | | |
| | | |
| | | notInlist = new list<String>(); |
| | | notInlist = new List<String>(); |
| | | BarCodeListP = ParseBarCode(barcode); |
| | | Consumable_order_details2__c p = new Consumable_order_details2__c(); |
| | | List<Consumable_order_details2__c> Ins = New List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> Ins = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> reSet1 = new List<Consumable_order_details2__c>(); |
| | | |
| | | saveFLGbln = false; |
| | | alertMessage=''; |
| | | |
| | | alertMessage = ''; |
| | | |
| | | //判断barcode是否为空 |
| | | if(barcode == null || barcode ==''){ |
| | | return new ResponseBodyLWC('Error',500, '请输入BarCode号', ''); |
| | | if (barcode == null || barcode == '') { |
| | | return new ResponseBodyLWC('Error', 500, '请输入BarCode号', ''); |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'请输入BarCode号。')); |
| | | // return; |
| | | } |
| | |
| | | // ConsumableorderdetailsRecordsdummy.clear(); |
| | | |
| | | // 产品类型不同 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c,Product_Type__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = : userWorkLocation |
| | | AND (not Product_Type__c like : userPro_Typestr) |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Product_Type__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | Arrive_Owner_Work_Location__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND (NOT Product_Type__c LIKE :userPro_Typestr) |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | String str = '该商品类型'+ reSet1[i].Product_Type__c +'与用户类型'+ agencyProType +'不符,不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | } else { |
| | | String str = '该商品类型' + reSet1[i].Product_Type__c + '与用户类型' + agencyProType + '不符,不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | //未到货 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = FALSE |
| | | AND Dealer_Shipment__c= FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Box_Piece__c = '盒' |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; //已发货,未到货 |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = FALSE |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Box_Piece__c = '盒' |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; //已发货,未到货 |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品未到货,不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //已规格=1 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__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 Box_Piece__c = '盒' |
| | | AND ProductPacking_list_manual__c = 1 |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; //没出库,没销售,就是在库,没拆盒,规格=1 |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__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 Box_Piece__c = '盒' |
| | | AND ProductPacking_list_manual__c = 1 |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; //没出库,没销售,就是在库,没拆盒,规格=1 |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品规格为1,不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | //已出货 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Shipment__c = true |
| | | AND Dealer_Arrive__c = true |
| | | AND Dealer_Returned__c = false |
| | | AND Lose_Flag__c = false |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Shipment__c = TRUE |
| | | AND Dealer_Arrive__c = TRUE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Lose_Flag__c = FALSE |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品已出货'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //已销售 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Saled__c = true |
| | | AND Dealer_Returned__c = false |
| | | AND Dealer_Arrive__c = true |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Saled__c = TRUE |
| | | AND Dealer_Returned__c = FALSE |
| | | AND Dealer_Arrive__c = TRUE |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品已销售'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //已拆盒 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__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 Box_Piece__c = '个' |
| | | AND ProductPacking_list_manual__c > 1 |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name ]; //没出库,没销售,就是在库,已拆盒 |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__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 Box_Piece__c = '个' |
| | | AND ProductPacking_list_manual__c > 1 |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | ORDER BY Name |
| | | ]; //没出库,没销售,就是在库,已拆盒 |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品已拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 已经取消 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | AND Cancellation_Flag__c = true |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = : userWorkLocation |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | Arrive_Owner_Work_Location__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | AND Cancellation_Flag__c = TRUE |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品已经取消,不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 工作地不同 |
| | | reSet1 = [SELECT Id, Name,Consumable_Product__r.Name__c, |
| | | Consumable_Product__c,Consumable_Product__r.Name, Sterilization_limit__c, |
| | | Deliver_date__c,Bar_Code__c, |
| | | Arrive_date__c,Send_Date__c,Consumable_order_minor__r.Name,Consumable_order_minor__c, |
| | | recordtypeid,Consumable_order_minor__r.Arrive_Order__c, Arrive_Owner_Work_Location__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Dealer_Arrive__c = true |
| | | // gzw 无法拆盒,去掉销售明细 20210802 |
| | | AND Dealer_Shipment__c= false |
| | | AND Dealer_Saled__c = false |
| | | AND Dealer_Returned__c = false |
| | | // gzw 无法拆盒,去掉销售明细 20210802 |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c != : userWorkLocation |
| | | ORDER BY Name ]; |
| | | if(reSet1.size() > 0){ |
| | | reSet1 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Consumable_Product__r.Name__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | recordtypeid, |
| | | Consumable_order_minor__r.Arrive_Order__c, |
| | | Arrive_Owner_Work_Location__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Dealer_Arrive__c = TRUE |
| | | // gzw 无法拆盒,去掉销售明细 20210802 |
| | | AND Dealer_Shipment__c = FALSE |
| | | AND Dealer_Saled__c = FALSE |
| | | AND Dealer_Returned__c = FALSE |
| | | // gzw 无法拆盒,去掉销售明细 20210802 |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c != :userWorkLocation |
| | | ORDER BY Name |
| | | ]; |
| | | if (reSet1.size() > 0) { |
| | | for (Integer i = 0; i < reSet1.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)){ |
| | | if (ErrorIdMap.containsKey(reSet1[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | String str = '该商品属于' + reSet1[i].Arrive_Owner_Work_Location__c + ',不能拆盒'; |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i],str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c,reSet1[i].Bar_Code__c); |
| | | ConsumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(reSet1[i], str)); |
| | | ErrorIdMap.put(reSet1[i].Bar_Code__c, reSet1[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | reSet = [SELECT Id, |
| | | Name, |
| | | Intra_Trade_List_RMB__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Consumable_Product__r.Name__c, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | Dealer_Arrive__c, |
| | | Guarantee_period_for_products__c, |
| | | CFDA_Status__c, |
| | | ProductPacking_list_manual__c, |
| | | Report_Product_Approbation__c, |
| | | Report_Product_Expiration__c, |
| | | Agencyinfo_fromSAP__c, |
| | | Frist_Storage_Agency__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 Lose_Flag__c = false |
| | | AND Bar_Code__c in :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = : userWorkLocation |
| | | AND Product_Type__c like : userPro_Typestr |
| | | ]; |
| | | if(reSet.size()>0){ |
| | | reSet = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Intra_Trade_List_RMB__c, |
| | | Asset_Model_No__c, |
| | | Consumable_Product__c, |
| | | Consumable_Product__r.Name, |
| | | Consumable_Product__r.Name__c, |
| | | Sterilization_limit__c, |
| | | Deliver_date__c, |
| | | Bar_Code__c, |
| | | Arrive_date__c, |
| | | Send_Date__c, |
| | | Consumable_order_minor__r.Name, |
| | | Consumable_order_minor__c, |
| | | Dealer_Arrive__c, |
| | | Guarantee_period_for_products__c, |
| | | CFDA_Status__c, |
| | | ProductPacking_list_manual__c, |
| | | Report_Product_Approbation__c, |
| | | Report_Product_Expiration__c, |
| | | Agencyinfo_fromSAP__c, |
| | | Frist_Storage_Agency__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 Lose_Flag__c = FALSE |
| | | AND Bar_Code__c IN :BarCodeListP |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | ]; |
| | | if (reSet.size() > 0) { |
| | | for (Integer i = 0; i < reSet.size(); i++) { |
| | | if(ErrorIdMap.containsKey(reSet[i].Bar_Code__c) ){ |
| | | if (ErrorIdMap.containsKey(reSet[i].Bar_Code__c)) { |
| | | // 跳过错误的消耗品明细 |
| | | continue; |
| | | } |
| | | else if(ExistIdMap.containsKey(reSet[i].Bar_Code__c) ){ |
| | | } else if (ExistIdMap.containsKey(reSet[i].Bar_Code__c)) { |
| | | // 跳过已经处理的消耗品明细 |
| | | continue; |
| | | } |
| | | else{ |
| | | } else { |
| | | ConsumableorderdetailsRecordsdummy.add(new ConsumableorderdetailsInfo(reSet[i])); |
| | | ExistIdMap.put(reSet[i].Bar_Code__c,reSet[i].Bar_Code__c); |
| | | ExistIdMap.put(reSet[i].Bar_Code__c, reSet[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | AllMap.putAll(ExistIdMap); |
| | | //得到不存在的BarCode |
| | | for(Integer i = 0; i < BarCodeListP.size(); i++){ |
| | | if(ExistIdMap.containsKey(BarCodeListP[i])){ |
| | | for (Integer i = 0; i < BarCodeListP.size(); i++) { |
| | | if (ExistIdMap.containsKey(BarCodeListP[i])) { |
| | | continue; |
| | | }else if(ErrorIdMap.containsKey(BarCodeListP[i])){ |
| | | } else if (ErrorIdMap.containsKey(BarCodeListP[i])) { |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | notInlist.add(BarCodeListP[i]); |
| | | } |
| | | } |
| | | if(notInlist.size()>0){ |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。')); |
| | | return new ResponseBodyLWC('Error',500, 'BarCode'+ notInlist + '不存在', ''); |
| | | if (notInlist.size() > 0) { |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCode'+ notInlist + '不存在。')); |
| | | return new ResponseBodyLWC('Error', 500, 'BarCode' + notInlist + '不存在', ''); |
| | | } |
| | | |
| | | |
| | | data.put('ConsumableorderdetailsRecordsdummy',JSON.serialize(ConsumableorderdetailsRecordsdummy)); |
| | | data.put('ConsumableorderdetailsRecordserror',JSON.serialize(ConsumableorderdetailsRecordserror)); |
| | | data.put('dataSize',ConsumableorderdetailsRecordsdummy.size()); |
| | | data.put('ConsumableorderdetailsRecordsdummy', JSON.serialize(ConsumableorderdetailsRecordsdummy)); |
| | | data.put('ConsumableorderdetailsRecordserror', JSON.serialize(ConsumableorderdetailsRecordserror)); |
| | | data.put('dataSize', ConsumableorderdetailsRecordsdummy.size()); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | |
| | | } |
| | | |
| | | //拆盒确认 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC removeBoxConfirm(String saveConsumableorderdetailsRecordsdummy,String accountName,String userWorkLocation,String agencyProType) { |
| | | public static ResponseBodyLWC removeBoxConfirm( |
| | | String saveConsumableorderdetailsRecordsdummy, |
| | | String accountName, |
| | | String userWorkLocation, |
| | | String agencyProType |
| | | ) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String,object> data = new Map<String,object>(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | userPro_Typestr = '%' + agencyProType + '%'; |
| | | accountName = accountName; |
| | | userWorkLocation =userWorkLocation; |
| | | List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>)JSON.deserialize(saveConsumableorderdetailsRecordsdummy,List<ConsumableorderdetailsInfo>.class); |
| | | |
| | | userWorkLocation = userWorkLocation; |
| | | List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsdummy = (List<ConsumableorderdetailsInfo>) JSON.deserialize( |
| | | saveConsumableorderdetailsRecordsdummy, |
| | | List<ConsumableorderdetailsInfo>.class |
| | | ); |
| | | |
| | | |
| | | |
| | | List<Consumable_order_details2__c> ins = New List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> ins = new List<Consumable_order_details2__c>(); |
| | | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | if(ConsumableorderdetailsRecordsdummy.size()<1){ |
| | | return new ResponseBodyLWC('Error',500, '不存在拆盒明细', ''); |
| | | if (ConsumableorderdetailsRecordsdummy.size() < 1) { |
| | | return new ResponseBodyLWC('Error', 500, '不存在拆盒明细', ''); |
| | | // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'不存在拆盒明细')); |
| | | // return null; |
| | | } |
| | | |
| | | List<String> BarCodeList = new List<String>(); |
| | | for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) { |
| | | for (ConsumableorderdetailsInfo tmp : ConsumableorderdetailsRecordsdummy) { |
| | | BarCodeList.add(tmp.esd.Bar_Code__c); |
| | | } |
| | | |
| | | try{ |
| | | try { |
| | | //取得在库信息 |
| | | List<Consumable_order_details2__c> orderDetails2 = [SELECT |
| | | Id, |
| | | Name, |
| | | Bar_Code__c, |
| | | TracingCode__c, |
| | | Intra_Trade_List_RMB__c, |
| | | Purchase_Unitprice_From__c, |
| | | Guarantee_period_for_products__c, |
| | | Used_account__c, |
| | | Consumable_ZS_order__c, |
| | | Cancellation_Date__c, |
| | | Consumable_product__c, |
| | | Consumable_order_minor__c, |
| | | Direct_Arrive_Product__c, |
| | | Arrive_date__c, |
| | | Consumable_Arrived_order__c, |
| | | Unitprice_To_agency__c, |
| | | SerialLotNo__c, |
| | | Sterilization_limit__c, |
| | | Invoice_Date__c, |
| | | Lose_reason__c, |
| | | Asset_Model_No__c, |
| | | Deliver_date__c, |
| | | Inventory_date__c, |
| | | Consumable_Inventory_order__c, |
| | | Dealer_Arrive__c, |
| | | ProductPacking_list_manual__c, |
| | | Agencyinfo_fromSAP__c, |
| | | Frist_Storage_Agency__c, |
| | | Dealer_Info_text__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | // tcm start |
| | | ,Consumable_order_minor__r.ContractNo__c |
| | | // tcm end |
| | | 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 |
| | | List<Consumable_order_details2__c> orderDetails2 = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Bar_Code__c, |
| | | TracingCode__c, |
| | | Intra_Trade_List_RMB__c, |
| | | Purchase_Unitprice_From__c, |
| | | Guarantee_period_for_products__c, |
| | | Used_account__c, |
| | | Consumable_ZS_order__c, |
| | | Cancellation_Date__c, |
| | | Consumable_product__c, |
| | | Consumable_order_minor__c, |
| | | Direct_Arrive_Product__c, |
| | | Arrive_date__c, |
| | | Consumable_Arrived_order__c, |
| | | Unitprice_To_agency__c, |
| | | SerialLotNo__c, |
| | | Sterilization_limit__c, |
| | | Invoice_Date__c, |
| | | Lose_reason__c, |
| | | Asset_Model_No__c, |
| | | Deliver_date__c, |
| | | Inventory_date__c, |
| | | Consumable_Inventory_order__c, |
| | | Dealer_Arrive__c, |
| | | ProductPacking_list_manual__c, |
| | | Agencyinfo_fromSAP__c, |
| | | Frist_Storage_Agency__c, |
| | | Dealer_Info_text__c, |
| | | //add by rentx 2020-10-13 start |
| | | ContractNo_text__c, |
| | | /*,ContractNo__c*/ |
| | | //add by rentx 2020-10-13 end |
| | | // tcm start |
| | | Consumable_order_minor__r.ContractNo__c |
| | | // tcm end |
| | | 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 Box_Piece__c = '盒' |
| | | AND ProductPacking_list_manual__c > 1 |
| | | AND Bar_Code__c in :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c =: userWorkLocation |
| | | AND Product_Type__c like : userPro_Typestr |
| | | ]; |
| | | AND Bar_Code__c IN :BarCodeList |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | ]; |
| | | |
| | | List<Consumable_order_details2__c> orderDetails2del = new List<Consumable_order_details2__c>(); |
| | | List<Consumable_order_details2__c> orderDetails2ins = new List<Consumable_order_details2__c>(); |
| | | for (Consumable_order_details2__c detail2tmp : orderDetails2) { |
| | | Decimal num = detail2tmp.ProductPacking_list_manual__c; |
| | | Decimal num = detail2tmp.ProductPacking_list_manual__c; |
| | | Consumable_order_details2__c delDetails2 = new Consumable_order_details2__c(); |
| | | delDetails2.Id = detail2tmp.Id; |
| | | delDetails2.Id = detail2tmp.Id; |
| | | |
| | | //删除拆盒前在库 |
| | | //delete delDetails2; |
| | | orderDetails2del.add(delDetails2); |
| | | |
| | | for(integer i=0; i < num; i++){ |
| | | for (integer i = 0; i < num; i++) { |
| | | Consumable_order_details2__c insertDetails2 = new Consumable_order_details2__c(); |
| | | insertDetails2 = detail2tmp.clone(); |
| | | |
| | | insertDetails2.Id = null; |
| | | insertDetails2.Id = null; |
| | | //单位(盒/个) |
| | | insertDetails2.Box_Piece__c = '个'; |
| | | insertDetails2.Box_Piece__c = '个'; |
| | | //拆盒番号 |
| | | insertDetails2.RemoveBox_No__c = i+1; |
| | | insertDetails2.RemoveBox_No__c = i + 1; |
| | | //拆盒日期 |
| | | insertDetails2.RemoveBox_date__c = Date.today(); |
| | | insertDetails2.RemoveBox_date__c = Date.today(); |
| | | //add by rentx 2020-10-13 start 拆盒/取消拆盒时,记录SAP合同号 |
| | | // insertDetails2.ContractNo_text__c= detail2tmp.ContractNo__c; |
| | | // tcm start |
| | | if (String.isBlank(detail2tmp.Consumable_order_minor__r.ContractNo__c)) { |
| | | insertDetails2.ContractNo_text__c= detail2tmp.ContractNo_text__c; |
| | | }else { |
| | | insertDetails2.ContractNo_text__c= detail2tmp.Consumable_order_minor__r.ContractNo__c; |
| | | insertDetails2.ContractNo_text__c = detail2tmp.ContractNo_text__c; |
| | | } else { |
| | | insertDetails2.ContractNo_text__c = detail2tmp.Consumable_order_minor__r.ContractNo__c; |
| | | } |
| | | // tcm end |
| | | //登录拆盒后在库 |
| | |
| | | } |
| | | } |
| | | |
| | | if (orderDetails2del.size()>0){ |
| | | if (orderDetails2del.size() > 0) { |
| | | delete orderDetails2del; |
| | | } |
| | | |
| | | if(orderDetails2ins.size()>0){ |
| | | if (orderDetails2ins.size() > 0) { |
| | | insert orderDetails2ins; |
| | | |
| | | } |
| | | |
| | | saveFLGbln = true; |
| | | alertMessage = '拆盒完成'; |
| | | data.put('saveFLGbln',saveFLGbln); |
| | | data.put('saveFLGbln', saveFLGbln); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | res.msg = alertMessage; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | // return null; |
| | | }catch(Exception e){ |
| | | } catch (Exception e) { |
| | | Database.rollback(sp); |
| | | ApexPages.addMessages(e); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | class ConsumableorderdetailsInfo implements Comparable { |
| | | @AuraEnabled |
| | |
| | | public String oldConsumableCount { get; set; } |
| | | @AuraEnabled |
| | | public String ErrorReason { get; set; } |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e,string str) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e, string str) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | oldConsumableCount = e.name; |
| | | ErrorReason = str; |
| | | ErrorReason = str; |
| | | } |
| | | public ConsumableorderdetailsInfo(Consumable_order_details2__c e) { |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | esd = e; |
| | | Prod = e.Consumable_Product__r; |
| | | oldConsumableCount = e.name; |
| | | } |
| | | /* |
| | | /* |
| | | public ConsumableorderdetailsInfo(Product2__c e,String barCode,Date sterilizationlimit,String serialNoorLot,String tracingCode) { |
| | | esd = new Consumable_order_details2__c(); |
| | | ProductName = e.Name__c; |
| | |
| | | data.put('userWorkLocation', userWorkLocation); |
| | | System.debug( |
| | | 'userinfoId = ' + |
| | | userinfoId + |
| | | ' accountid = ' + |
| | | accountid + |
| | | ' agencyProType = ' + |
| | | agencyProType + |
| | | ' userWorkLocation = ' + |
| | | userWorkLocation |
| | | userinfoId + |
| | | ' accountid = ' + |
| | | accountid + |
| | | ' agencyProType = ' + |
| | | agencyProType + |
| | | ' userWorkLocation = ' + |
| | | userWorkLocation |
| | | ); |
| | | //默认检索显示未完成的指示单 |
| | | List<Consumable_order__c> raesList = new List<Consumable_order__c>(); |
| | |
| | | |
| | | //BarCodelist做成 |
| | | barCodeListP = ParseBarCode(barcode); |
| | | System.debug('barCodeListP:' + barCodeListP); |
| | | //针对所有商品到货确认 |
| | | reSet1 = [ |
| | | SELECT |
| | |
| | | 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>(); |
| | | |
| | |
| | | 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); |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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) { |
| | |
| | | return consumableorderdetails2Nobox.size(); |
| | | } |
| | | |
| | | @TestVisible |
| | | class ConsumableorderdetailsInfo implements Comparable { |
| | | @AuraEnabled |
| | | public Consumable_orderdetails__c orderdetails1 { get; set; } |
| | |
| | | public without sharing class LexSearchContractController { |
| | | private static Boolean OSHFLG;//lt 20230517 安徽两票制 add |
| | | private static Boolean OSHFLG; //lt 20230517 安徽两票制 add |
| | | |
| | | @AuraEnabled |
| | | public static Results init(String ctype){ |
| | | public static Results init(String ctype) { |
| | | Results results = new Results(); |
| | | try { |
| | | //lt 20230517 安徽两票制 add ,OSHFLG__c |
| | | User useracc = [SELECT accountid,OSHFLG__c FROM user WHERE id = :UserInfo.getUserId() ]; |
| | | User useracc = [SELECT accountid, OSHFLG__c FROM user WHERE id = :UserInfo.getUserId()]; |
| | | OSHFLG = Useracc.OSHFLG__c; //lt 20230517 安徽两票制 add; |
| | | String accountId = Useracc.accountid; |
| | | List<Account> attList = [SELECT id,Name,State_Master__c,State_Master__r.Name,Sales_Section__c, |
| | | Contract_Decide_Start_Date__c,Contract_Decide_End_Date__c |
| | | FROM Account |
| | | WHERE ParentId = :accountId |
| | | AND Contact_Type__c like :ctype |
| | | List<Account> attList = [ |
| | | SELECT |
| | | id, |
| | | Name, |
| | | State_Master__c, |
| | | State_Master__r.Name, |
| | | Sales_Section__c, |
| | | Contract_Decide_Start_Date__c, |
| | | Contract_Decide_End_Date__c |
| | | FROM Account |
| | | WHERE |
| | | ParentId = :accountId |
| | | AND Contact_Type__c LIKE :ctype |
| | | AND Contract_Decide_Start_Date__c <= :Date.Today() |
| | | AND Contract_Decide_End_Date__c >= :Date.Today() |
| | | AND Secondary_contract__c = false |
| | | AND OSH_Dealer__c =: OSHFLG //lt 20230517 安徽两票制 add |
| | | ]; |
| | | AND Secondary_contract__c = FALSE |
| | | AND OSH_Dealer__c = :OSHFLG //lt 20230517 安徽两票制 add |
| | | ]; |
| | | results.attList = attList; |
| | | results.result = 'Success'; |
| | | results.result = 'Success'; |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static Results searchContract(String searchName, String accountId, String ctype, Boolean OSHFLGStr){ |
| | | public static Results searchContract(String searchName, String accountId, String ctype, Boolean OSHFLGStr) { |
| | | Results results = new Results(); |
| | | OSHFLG = OSHFLGStr; |
| | | try { |
| | | results.attList = Database.query(makeSoql(searchName,Date.today(),accountId,ctype)); |
| | | results.result = 'Success'; |
| | | results.attList = Database.query(makeSoql(searchName, Date.today(), accountId, ctype)); |
| | | results.result = 'Success'; |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | |
| | | return results; |
| | | } |
| | | |
| | | private static String makeSoql(String CateName,Date timetest,String accountId, String ctype){ |
| | | |
| | | private static String makeSoql(String CateName, Date timetest, String accountId, String ctype) { |
| | | String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name,Sales_Section__c,'; |
| | | soql += ' Contract_Decide_Start_Date__c,Contract_Decide_End_Date__c,OSH_Dealer__c FROM Account'; |
| | | soql += ' where ParentId = \'' + accountId + '\'' ; |
| | | soql += ' AND OSH_Dealer__c = ' + OSHFLG + '' ; //lt 20230517 安徽两票制 add |
| | | soql += ' AND Secondary_contract__c = false' ; |
| | | soql += ' where ParentId = \'' + accountId + '\''; |
| | | soql += ' AND OSH_Dealer__c = ' + OSHFLG + ''; //lt 20230517 安徽两票制 add |
| | | soql += ' AND Secondary_contract__c = false'; |
| | | soql += ' AND Contact_Type__c like \'%' + String.escapeSingleQuotes(ctype.replaceAll('%', '\\%')) + '%\''; |
| | | soql += ' AND Contract_Decide_Start_Date__c <=' + String.valueOf(timetest).substring(0, 10); |
| | | soql += ' AND Contract_Decide_End_Date__c >= ' + String.valueOf(timetest).substring(0, 10); |
| | | if(!String.isBlank(CateName)){ |
| | | if (!String.isBlank(CateName)) { |
| | | soql += ' AND Name like \'%' + String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) + '%\''; |
| | | } |
| | | return soql; |
| | |
| | | public without sharing class LexSearchHospitalController { |
| | | |
| | | @AuraEnabled |
| | | public static Results init(){ |
| | | public static Results init() { |
| | | Results results = new Results(); |
| | | try { |
| | | User useracc = [SELECT accountid,UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId() ]; |
| | | User useracc = [SELECT accountid, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; |
| | | String accountId = Useracc.accountid; |
| | | String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name,Address__c FROM Account'; |
| | | soql += ' where id in (SELECT Hospital__c FROM hospitalprice__c WHERE account__c = :accountId) ' ; |
| | | soql += ' where id in (SELECT Hospital__c FROM hospitalprice__c WHERE account__c = :accountId) '; |
| | | soql += ' order by Name desc limit 100'; |
| | | results.attList = Database.query(soql); |
| | | results.result = 'Success'; |
| | | results.result = 'Success'; |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static Results searchHospital(String searchName, String accountId){ |
| | | public static Results searchHospital(String searchName, String accountId) { |
| | | Results results = new Results(); |
| | | try { |
| | | results.attList = Database.query(makeSoql(searchName, accountId)); |
| | |
| | | return results; |
| | | } |
| | | |
| | | private static String makeSoql(String searchName,String accountId){ |
| | | private static String makeSoql(String searchName, String accountId) { |
| | | String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name,Address__c FROM Account'; |
| | | soql += ' where id in (SELECT Hospital__c FROM hospitalprice__c WHERE account__c = :accountId) ' ; |
| | | if(String.isNotBlank(searchName)){ |
| | | soql += ' AND Name like \'%' + searchName+ '%\''; |
| | | soql += ' where id in (SELECT Hospital__c FROM hospitalprice__c WHERE account__c = :accountId) '; |
| | | if (String.isNotBlank(searchName)) { |
| | | soql += ' AND Name like \'%' + searchName + '%\''; |
| | | } |
| | | soql += ' order by Name desc limit 100'; |
| | | return soql; |
| | | } |
| | | |
| | | |
| | | public class Results { |
| | | @AuraEnabled |
| | | public String result; |
| | |
| | | |
| | | // 画面初始化 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC init(String ESetidJs, String statusEdit, Integer pageSizeLWC, Integer pageTokenLWC,String arriveorderLWC) { |
| | | public static ResponseBodyLWC init( |
| | | String ESetidJs, |
| | | String statusEdit, |
| | | Integer pageSizeLWC, |
| | | Integer pageTokenLWC, |
| | | String arriveorderLWC |
| | | ) { |
| | | try { |
| | | firstInit(ESetidJs); |
| | | statusEdit = statusEdit; |
| | |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } catch (Exception e) { |
| | | return new ResponseBodyLWC('Error',500, e.getMessage() + e.getLineNumber(), ''); |
| | | return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), ''); |
| | | } |
| | | } |
| | | |
| | |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | '经销商:' + |
| | | coc.Order_ForDealerText__c + |
| | | ' 没有消耗品:' + |
| | | proStr.substring(0, proStr.length() - 1) + |
| | | ' 的特价', |
| | | '经销商:' + coc.Order_ForDealerText__c + ' 没有消耗品:' + proStr.substring(0, proStr.length() - 1) + ' 的特价', |
| | | '' |
| | | ); |
| | | } |
| | |
| | | if (ass.orderdetails1.Delivery_List_RMB__c == null && coc.SummonsForDirction__c != '医院试用') { |
| | | return new ResponseBodyLWC('Error', 500, '请输入正确的出货单价 (元)', ''); |
| | | } |
| | | if ((ass.orderdetails1.Delivery_List_RMB__c == null || ass.orderdetails1.Delivery_List_RMB__c == 0) && coc.SummonsForDirction__c != '医院试用') { |
| | | if ( |
| | | (ass.orderdetails1.Delivery_List_RMB__c == null || ass.orderdetails1.Delivery_List_RMB__c == 0) && |
| | | coc.SummonsForDirction__c != '医院试用' |
| | | ) { |
| | | return new ResponseBodyLWC('Error', 500, '请输入出货单价 (元)', ''); |
| | | } |
| | | if ( |
| | |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | '消耗品' + |
| | | ass.orderdetails1.Consumable_Product__r.Name__c + |
| | | '库存不足', |
| | | '消耗品' + ass.orderdetails1.Consumable_Product__r.Name__c + '库存不足', |
| | | '' |
| | | ); |
| | | } |
| | |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | '消耗品' + |
| | | ass.orderdetails1.Consumable_Product__r.Name__c + |
| | | '库存不足', |
| | | '消耗品' + ass.orderdetails1.Consumable_Product__r.Name__c + '库存不足', |
| | | '' |
| | | ); |
| | | } |
| | |
| | | return new ResponseBodyLWC('Error', 500, '请输入正确的出货单价 (元)', ''); |
| | | } |
| | | Consumable_orderdetails__c InsAfterDel = new Consumable_orderdetails__c(); |
| | | if ((ass.orderdetails1.Delivery_List_RMB__c == null || ass.orderdetails1.Delivery_List_RMB__c == 0) && coc.SummonsForDirction__c != '医院试用') { |
| | | if ( |
| | | (ass.orderdetails1.Delivery_List_RMB__c == null || ass.orderdetails1.Delivery_List_RMB__c == 0) && |
| | | coc.SummonsForDirction__c != '医院试用' |
| | | ) { |
| | | return new ResponseBodyLWC('Error', 500, '请输入出货单价 (元)', ''); |
| | | } |
| | | if ( |
| | |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | '消耗品' + |
| | | ass.orderdetails1.Consumable_Product__r.Name__c + |
| | | '库存不足', |
| | | '消耗品' + ass.orderdetails1.Consumable_Product__r.Name__c + '库存不足', |
| | | '' |
| | | ); |
| | | } |
| | |
| | | return new ResponseBodyLWC( |
| | | 'Error', |
| | | 500, |
| | | '消耗品' + |
| | | ass.orderdetails1.Consumable_Product__r.Name__c + |
| | | '库存不足', |
| | | '消耗品' + ass.orderdetails1.Consumable_Product__r.Name__c + '库存不足', |
| | | '' |
| | | ); |
| | | } |
| | |
| | | // FROM Account |
| | | // WHERE |
| | | // // Name = '奥林巴斯(北京)销售服务有限公司' |
| | | // // AND |
| | | // // AND |
| | | // Name LIKE :nameCondition |
| | | // AND RecordType.DeveloperName = 'AgencyContract' |
| | | // AND Contract_Decide_Start_Date__c >= :thisDatetime |
| | |
| | | // FROM Account |
| | | // WHERE |
| | | // // Name = '奥林巴斯(北京)销售服务有限公司' |
| | | // // AND |
| | | // // AND |
| | | // Name LIKE :nameCondition |
| | | // AND RecordType.DeveloperName = 'AgencyContract' |
| | | // AND Contract_Decide_Start_Date__c >= :thisDatetime |
| | |
| | | // ]; |
| | | // } |
| | | |
| | | |
| | | Date today = Date.today(); |
| | | //Date today = Date.newInstance(2023, 3, 1); |
| | | Integer thisMonth = today.month(); |
| | |
| | | Integer lastYear = today.year() - 1; |
| | | Integer thisYear = today.year(); |
| | | Integer nextYear = today.year() + 1; |
| | | |
| | | |
| | | Date lastDatetime = Date.newInstance(lastYear, 4, 1); |
| | | Date thisDatetime = Date.newInstance(thisYear, 4, 1); |
| | | Date thisDatetime2 = Date.newInstance(thisYear, 7, 1); |
| | |
| | | System.debug('thisDatetime2 = ' + thisDatetime2); |
| | | System.debug('nextDatetime = ' + nextDatetime); |
| | | System.debug('UserInfo.getUserId() = ' + UserInfo.getUserId()); |
| | | User UserProTypecTemp = [select UserPro_Type__c from User where id =: UserInfo.getUserId()]; |
| | | User UserProTypecTemp = [SELECT UserPro_Type__c FROM User WHERE id = :UserInfo.getUserId()]; |
| | | |
| | | String sql = 'SELECT id, Parentid FROM Account WHERE Parent.Name LIKE :nameCondition '; |
| | | if(thisMonth < 4){ |
| | | if (thisMonth < 4) { |
| | | sql += 'AND Contract_Decide_Start_Date__c >= :lastDatetime AND Contract_Decide_End_Date__c < :thisDatetime2 '; |
| | | }else if(thisMonth >= 4 && thisMonth <= 6){ |
| | | } else if (thisMonth >= 4 && thisMonth <= 6) { |
| | | sql += 'AND Contract_Decide_Start_Date__c >= :lastDatetime AND Contract_Decide_End_Date__c < :nextDatetime '; |
| | | }else{ |
| | | } else { |
| | | sql += 'AND Contract_Decide_Start_Date__c >= :thisDatetime AND Contract_Decide_End_Date__c < :nextDatetime '; |
| | | } |
| | | if (UserProTypecTemp.UserPro_Type__c == 'ENG') { |
| | |
| | | |
| | | //删除附件 |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC deleteAtt(String contentVersionId){ |
| | | public static ResponseBodyLWC deleteAtt(String contentVersionId) { |
| | | try { |
| | | ContentVersion conVersion = [SELECT ContentDocumentId FROM ContentVersion WHERE Id = :contentVersionId]; |
| | | String contentDocumentId = conVersion.ContentDocumentId; |
| | | ContentDocument conDocument = [SELECT Id FROM ContentDocument where Id = :contentDocumentId]; |
| | | ContentDocument conDocument = [SELECT Id FROM ContentDocument WHERE Id = :contentDocumentId]; |
| | | delete conDocument; |
| | | return new ResponseBodyLWC('Success',200,'',''); |
| | | return new ResponseBodyLWC('Success', 200, '', ''); |
| | | } catch (Exception e) { |
| | | return new ResponseBodyLWC('Error',500, e.getMessage() + e.getLineNumber(), ''); |
| | | return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), ''); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | // Data Bean |
| | | @TestVisible |
| | | class ConsumableorderdetailsInfo implements Comparable { |
| | | @AuraEnabled |
| | | public Boolean check { get; set; } |
| | |
| | | } |
| | | } |
| | | |
| | | @TestVisible |
| | | class ConsumableorderdetailsInfoLwc { |
| | | @AuraEnabled |
| | | public Boolean check { get; set; } |
| | |
| | | //经销商信息 |
| | | public static account accountInfo; |
| | | /*****************画面表示Bean******************/ |
| | | public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords =new List<ConsumableorderdetailsInfo>(); |
| | | public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); |
| | | public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>(); |
| | | //page |
| | | public static Integer pagesize { get; set; } |
| | |
| | | // public static Boolean hasPrevious; |
| | | // public static Boolean hasNext; |
| | | public static List<ConsumableorderdetailsInfo> pageRecords; |
| | | public static String soql {get;set;} |
| | | public static String soql { get; set; } |
| | | // 汇总使用 |
| | | public static Integer Total_num; |
| | | public static Integer OrderNumber_arrived; |
| | |
| | | public static List<Consumable_order__c> raesList; |
| | | /*****************一周未到货订单一览对应end******************/ |
| | | //排序使用 |
| | | private static String[] orderby = new String[]{ 'Product2__c.Name__c'}; |
| | | private static String[] orderby = new List<String>{ 'Product2__c.Name__c' }; |
| | | //产品上下限 |
| | | public static String[] proLimitAndDate =new String[]{}; |
| | | public static String[] proLimitAndDate = new List<String>{}; |
| | | public static String product_Limit; |
| | | //库存产品最早有效期限 |
| | | private static Map<String,Date> productkucun = new Map<String,Date>(); |
| | | private static Map<String, Date> productkucun = new Map<String, Date>(); |
| | | //消费期限小于一年的产品 |
| | | public static List<ConsumableorderdetailsInfo> overlimitdateorderdetails = new List<ConsumableorderdetailsInfo>(); |
| | | public static String accountid; |
| | |
| | | public static Boolean hasHos; |
| | | |
| | | @AuraEnabled |
| | | public static Results initAgency(){ |
| | | public static Results initAgency() { |
| | | Results results = new Results(); |
| | | results.isNoteStay = LexUtility.getIsNoteStay(); |
| | | try { |
| | | 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()]; |
| | | accountid = useracc.accountid; |
| | | List<Account> accList = new List<Account>(); |
| | | accList = [SELECT Name,Ban_On_Use_Reason__c,Deposit_Price__c, |
| | | Medical_Equipment_Num__c,Medical_Equipment_Expiration_Date__c, |
| | | Ban_On_Use_Date__c,Tax_Practice_No__c,Tax_Practice_Expiration_Date__c, |
| | | Business_Authorization_No__c,Business_Paper_Expiration_Date__c, |
| | | Credit_Check_No__c,Dealer_discount__c, |
| | | Phone,Address_Together__c,Is_Active_Formula__c, |
| | | Management_Code__c,Sales_Shop_Class__c,Postal_Code__c, |
| | | Fax,Address__c,Deposit_Receipt_Finished__c, |
| | | accList = [ |
| | | SELECT |
| | | Name, |
| | | Ban_On_Use_Reason__c, |
| | | Deposit_Price__c, |
| | | Medical_Equipment_Num__c, |
| | | Medical_Equipment_Expiration_Date__c, |
| | | Ban_On_Use_Date__c, |
| | | Tax_Practice_No__c, |
| | | Tax_Practice_Expiration_Date__c, |
| | | Business_Authorization_No__c, |
| | | Business_Paper_Expiration_Date__c, |
| | | Credit_Check_No__c, |
| | | Dealer_discount__c, |
| | | Phone, |
| | | Address_Together__c, |
| | | Is_Active_Formula__c, |
| | | Management_Code__c, |
| | | Sales_Shop_Class__c, |
| | | Postal_Code__c, |
| | | Fax, |
| | | Address__c, |
| | | Deposit_Receipt_Finished__c, |
| | | Deposit_Receipt_Completion_Day__c, |
| | | Product_Limit_Date__c, |
| | | Product_Limit_DateENG__c |
| | | FROM account WHERE id =:accountid]; |
| | | if(accList.size() == 1){ |
| | | FROM account |
| | | WHERE id = :accountid |
| | | ]; |
| | | if (accList.size() == 1) { |
| | | accountInfo = accList[0]; |
| | | }else{ |
| | | } else { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = '未获取到经销商信息'; |
| | | return results; |
| | | } |
| | | results.result = 'Success'; |
| | | results.accountInfo = accountInfo; |
| | | }catch(Exception e){ |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber()+'---'+e.getMessage(); |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | | return results; |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static Results initPage(Integer pageSizeLWC,Integer pageTokenLWC){ |
| | | public static Results initPage(Integer pageSizeLWC, Integer pageTokenLWC) { |
| | | pageSize = pageSizeLWC; |
| | | pageToken = pageTokenLWC; |
| | | Results results = new Results(); |
| | |
| | | // pagesize = Integer.valueof(system.label.orderdetLimitsize); |
| | | // currentpage = 0; |
| | | |
| | | 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()]; |
| | | // String uid = '0051000000E7Pv9AAF'; |
| | | // User useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id =:uid]; |
| | | accountid = useracc.accountid; |
| | | userWorkLocation = useracc.Work_Location__c; |
| | | userPro_Type = useracc.UserPro_Type__c; |
| | | if(String.isBlank(userPro_Type)){ |
| | | if (String.isBlank(userPro_Type)) { |
| | | userPro_Type = 'ET'; |
| | | } |
| | | userPro_Typestr = '%' + userPro_Type + '%'; |
| | | if(userPro_Type == 'ENG'){ |
| | | if (userPro_Type == 'ENG') { |
| | | EngFlag = true; |
| | | }else{ |
| | | } else { |
| | | ETFlag = true; |
| | | } |
| | | //经销商·基本信息获取 |
| | | List<Account> accList = new List<Account>(); |
| | | accList = [SELECT Name,Ban_On_Use_Reason__c,Deposit_Price__c, |
| | | Medical_Equipment_Num__c,Medical_Equipment_Expiration_Date__c, |
| | | Ban_On_Use_Date__c,Tax_Practice_No__c,Tax_Practice_Expiration_Date__c, |
| | | Business_Authorization_No__c,Business_Paper_Expiration_Date__c, |
| | | Credit_Check_No__c,Dealer_discount__c, |
| | | Phone,Address_Together__c,Is_Active_Formula__c, |
| | | Management_Code__c,Sales_Shop_Class__c,Postal_Code__c, |
| | | Fax,Address__c,Deposit_Receipt_Finished__c, |
| | | accList = [ |
| | | SELECT |
| | | Name, |
| | | Ban_On_Use_Reason__c, |
| | | Deposit_Price__c, |
| | | Medical_Equipment_Num__c, |
| | | Medical_Equipment_Expiration_Date__c, |
| | | Ban_On_Use_Date__c, |
| | | Tax_Practice_No__c, |
| | | Tax_Practice_Expiration_Date__c, |
| | | Business_Authorization_No__c, |
| | | Business_Paper_Expiration_Date__c, |
| | | Credit_Check_No__c, |
| | | Dealer_discount__c, |
| | | Phone, |
| | | Address_Together__c, |
| | | Is_Active_Formula__c, |
| | | Management_Code__c, |
| | | Sales_Shop_Class__c, |
| | | Postal_Code__c, |
| | | Fax, |
| | | Address__c, |
| | | Deposit_Receipt_Finished__c, |
| | | Deposit_Receipt_Completion_Day__c, |
| | | Product_Limit_Date__c, |
| | | Product_Limit_DateENG__c |
| | | FROM account WHERE id =:accountid]; |
| | | if(accList.size() == 1){ |
| | | FROM account |
| | | WHERE id = :accountid |
| | | ]; |
| | | if (accList.size() == 1) { |
| | | accountInfo = accList[0]; |
| | | }else{ |
| | | } else { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = '未获取到经销商信息'; |
| | | return results; |
| | | } |
| | | accountName = accountInfo.Name; |
| | | if(EngFlag){ |
| | | product_Limit = accountInfo.Product_Limit_DateENG__c; |
| | | }else if(ETFlag){ |
| | | if (EngFlag) { |
| | | product_Limit = accountInfo.Product_Limit_DateENG__c; |
| | | } else if (ETFlag) { |
| | | product_Limit = accountInfo.Product_Limit_Date__c; |
| | | } |
| | | if(product_Limit != null && product_Limit !=''){ |
| | | if (product_Limit != null && product_Limit != '') { |
| | | proLimitAndDate = product_Limit.split(','); |
| | | } |
| | | List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>(); |
| | | //库存明细取得 |
| | | //库存明细取得 |
| | | orderDetZaikuList = new List<String>(); |
| | | List<AggregateResult> orderDetZaiku = [SELECT count(Id), |
| | | Consumable_Product__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 Dealer_Returned__c = false |
| | | AND Cancellation_Flag__c = false |
| | | AND Bar_Code__c !=null |
| | | AND Product_Type__c like : userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | group by Consumable_Product__c]; |
| | | for(AggregateResult zaikuId : orderDetZaiku){ |
| | | List<AggregateResult> orderDetZaiku = [ |
| | | SELECT count(Id), Consumable_Product__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 Dealer_Returned__c = FALSE |
| | | AND Cancellation_Flag__c = FALSE |
| | | AND Bar_Code__c != NULL |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | GROUP BY Consumable_Product__c |
| | | ]; |
| | | for (AggregateResult zaikuId : orderDetZaiku) { |
| | | orderDetZaikuList.add(String.valueOf(zaikuId.get('Consumable_Product__c'))); |
| | | } |
| | | Map<String,Product2__c> MidMap = new Map<String,Product2__c>(); |
| | | List<Product2__c> product2Selected = [SELECT Id, Name, |
| | | Name__c, |
| | | Asset_Model_No__c, |
| | | Category3__c, |
| | | Category4__c, |
| | | Category5__c, |
| | | SFDA_Status__c, |
| | | Product2__r.SFDA_Approbation_No__c, |
| | | Product2__r.SFDA_Expiration_Date__c, |
| | | Product2__r.Packing_list_manual__c |
| | | FROM Product2__c |
| | | WHERE Id in :orderDetZaikuList |
| | | ]; |
| | | Map<String, Product2__c> MidMap = new Map<String, Product2__c>(); |
| | | List<Product2__c> product2Selected = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Name__c, |
| | | Asset_Model_No__c, |
| | | Category3__c, |
| | | Category4__c, |
| | | Category5__c, |
| | | SFDA_Status__c, |
| | | Product2__r.SFDA_Approbation_No__c, |
| | | Product2__r.SFDA_Expiration_Date__c, |
| | | Product2__r.Packing_list_manual__c |
| | | FROM Product2__c |
| | | WHERE Id IN :orderDetZaikuList |
| | | ]; |
| | | |
| | | for (Integer i = 0; i < product2Selected.size(); i++) { |
| | | MidMap.put(product2Selected[i].Id, product2Selected[i]); |
| | | } |
| | | //返品库存统计 |
| | | List<Consumable_order_details2__c> CountDel = [SELECT Id, |
| | | List<Consumable_order_details2__c> CountDel = [ |
| | | SELECT |
| | | Id, |
| | | Bar_Code__c, |
| | | Name, |
| | | Inventory_date__c, |
| | |
| | | Guarantee_period_for_products__c, |
| | | Isoverdue__c, |
| | | Box_Piece__c, |
| | | hospitalSpecialOffer__c |
| | | hospitalSpecialOffer__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 : userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation]; |
| | | Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>(); |
| | | Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>(); |
| | | Map<String,ConsumableorderdetailsInfo> newHosMidBoxMap = new Map<String,ConsumableorderdetailsInfo>(); |
| | | Map<String,ConsumableorderdetailsInfo> newHosMidPieceMap = new Map<String,ConsumableorderdetailsInfo>(); |
| | | for(Integer i = 0 ; i< CountDel.size();i++){ |
| | | 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 :userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | ]; |
| | | Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>(); |
| | | Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>(); |
| | | Map<String, ConsumableorderdetailsInfo> newHosMidBoxMap = new Map<String, ConsumableorderdetailsInfo>(); |
| | | Map<String, ConsumableorderdetailsInfo> newHosMidPieceMap = new Map<String, ConsumableorderdetailsInfo>(); |
| | | for (Integer i = 0; i < CountDel.size(); i++) { |
| | | //然后循环CountDel做Box和piece2个map |
| | | if(MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '盒'){ |
| | | if (MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '盒') { |
| | | String tex = 'A'; |
| | | if (CountDel[i].hospitalSpecialOffer__c) { |
| | | tex = 'B'; |
| | | } |
| | | 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).clone(); |
| | | Jstage.allnumber = Jstage.allnumber+1 ; |
| | | if(CountDel[i].Isoverdue__c == 1){ |
| | | 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 |
| | | ) |
| | | .clone(); |
| | | Jstage.allnumber = Jstage.allnumber + 1; |
| | | if (CountDel[i].Isoverdue__c == 1) { |
| | | Jstage.limitCount = Jstage.limitCount + 1; |
| | | } |
| | | Jstage.BoxPiece = CountDel[i].Box_Piece__c; |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage); |
| | | }else{ |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } else { |
| | | ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(CountDel[i].Consumable_Product__c)); |
| | | Jstage.allnumber = Jstage.allnumber+1 ; |
| | | if(CountDel[i].Isoverdue__c == 1){ |
| | | Jstage.allnumber = Jstage.allnumber + 1; |
| | | if (CountDel[i].Isoverdue__c == 1) { |
| | | Jstage.limitCount = Jstage.limitCount + 1; |
| | | } |
| | | Jstage.BoxPiece = CountDel[i].Box_Piece__c; |
| | | if (CountDel[i].hospitalSpecialOffer__c) { |
| | | Jstage.hospitalSpecialOffer = true; |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage); |
| | | }else{ |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } else { |
| | | Jstage.hospitalSpecialOffer = false; |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage); |
| | | newMidBoxMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } |
| | | } |
| | | }else if(MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '个'){ |
| | | } else if (MidMap.containsKey(CountDel[i].Consumable_Product__c) && CountDel[i].Box_Piece__c == '个') { |
| | | String tex = 'A'; |
| | | if (CountDel[i].hospitalSpecialOffer__c) { |
| | | tex = 'B'; |
| | | } |
| | | 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).clone(); |
| | | Jstage.allnumber = Jstage.allnumber+1 ; |
| | | if(CountDel[i].Isoverdue__c == 1){ |
| | | 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 |
| | | ) |
| | | .clone(); |
| | | Jstage.allnumber = Jstage.allnumber + 1; |
| | | if (CountDel[i].Isoverdue__c == 1) { |
| | | Jstage.limitCount = Jstage.limitCount + 1; |
| | | } |
| | | Jstage.BoxPiece = CountDel[i].Box_Piece__c; |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c + tex, Jstage); |
| | | }else{ |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } else { |
| | | ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(CountDel[i].Consumable_Product__c)); |
| | | Jstage.allnumber = Jstage.allnumber+1 ; |
| | | if(CountDel[i].Isoverdue__c == 1){ |
| | | Jstage.allnumber = Jstage.allnumber + 1; |
| | | if (CountDel[i].Isoverdue__c == 1) { |
| | | Jstage.limitCount = Jstage.limitCount + 1; |
| | | } |
| | | Jstage.BoxPiece = CountDel[i].Box_Piece__c; |
| | | if (CountDel[i].hospitalSpecialOffer__c) { |
| | | Jstage.hospitalSpecialOffer = true; |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex, Jstage); |
| | | }else{ |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } else { |
| | | Jstage.hospitalSpecialOffer = false; |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c+CountDel[i].Box_Piece__c+ tex, Jstage); |
| | | newMidPieceMap.put(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex, Jstage); |
| | | } |
| | | } |
| | | } |
| | |
| | | consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>(); |
| | | List<ConsumableorderdetailsInfo> newHosMidBoxList = new List<ConsumableorderdetailsInfo>(); |
| | | //把Boxmap里的值从新赋给boxRecords |
| | | for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){ |
| | | if(bss.allnumber>0){ |
| | | for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) { |
| | | if (bss.allnumber > 0) { |
| | | bss.packing_list = Integer.valueof(bss.Prod.Product2__r.Packing_list_manual__c); |
| | | bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c; |
| | | bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c; |
| | |
| | | } |
| | | } |
| | | boxRecords.sort(); |
| | | for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ |
| | | if(bss.allnumber>0){ |
| | | for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { |
| | | if (bss.allnumber > 0) { |
| | | bss.packing_list = Integer.valueof(bss.Prod.Product2__r.Packing_list_manual__c); |
| | | bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c; |
| | | bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c; |
| | |
| | | //add by rentx 2020-11-27 先判断医院特价的盒 和 个 |
| | | //2020-11-27 日 于 rentx 注释 start |
| | | String temp = 'A'; |
| | | for(ConsumableorderdetailsInfo bss : boxRecords){ |
| | | for (ConsumableorderdetailsInfo bss : boxRecords) { |
| | | consumableorderdetailsRecords.add(bss); |
| | | //该产品是医院特价产品 |
| | | if (bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id+'个B')) { |
| | | if (newMidPieceMap.get(bss.Prod.Id+'个B').hospitalSpecialOffer) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id+'个B')); |
| | | newMidPieceMap.remove(bss.Prod.Id+'个B'); |
| | | if (bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id + '个B')) { |
| | | if (newMidPieceMap.get(bss.Prod.Id + '个B').hospitalSpecialOffer) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个B')); |
| | | newMidPieceMap.remove(bss.Prod.Id + '个B'); |
| | | } |
| | | } |
| | | |
| | | if (!bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id+'个A')) { |
| | | if (!bss.hospitalSpecialOffer && newMidPieceMap.containsKey(bss.Prod.Id + '个A')) { |
| | | // if (newMidPieceMap.get(bss.Prod.Id+'个A')) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id+'个A')); |
| | | newMidPieceMap.remove(bss.Prod.Id+'个A'); |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个A')); |
| | | newMidPieceMap.remove(bss.Prod.Id + '个A'); |
| | | // } |
| | | } |
| | | } |
| | | |
| | | for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ |
| | | if (newMidPieceMap.containsKey(bss.Prod.Id+'个B')) { |
| | | for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { |
| | | if (newMidPieceMap.containsKey(bss.Prod.Id + '个B')) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个B')); |
| | | } |
| | | } |
| | | for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){ |
| | | if (newMidPieceMap.containsKey(bss.Prod.Id+'个A')) { |
| | | for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) { |
| | | if (newMidPieceMap.containsKey(bss.Prod.Id + '个A')) { |
| | | consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个A')); |
| | | } |
| | | } |
| | |
| | | //2020-11-27 日 于 rentx 注释 end |
| | | // consumableorderdetailsRecords.addAll(newMidPieceMap.values()); |
| | | //2020-11-27 日 于 rentx 注释 end |
| | | |
| | | |
| | | notarriveorder(); |
| | | productLimtAndDate(); |
| | | datelimitSearch(); |
| | | //add by rentx |
| | | Integer ishos = 0; |
| | | for(ConsumableorderdetailsInfo bss : consumableorderdetailsRecords){ |
| | | if(productkucun.get(bss.Prod.Id) != null){ |
| | | for (ConsumableorderdetailsInfo bss : consumableorderdetailsRecords) { |
| | | if (productkucun.get(bss.Prod.Id) != null) { |
| | | bss.guaranteeperiod = productkucun.get(bss.Prod.Id); |
| | | } |
| | | //add by rentx 2021-3-10 start |
| | | if (bss.hospitalSpecialOffer) { |
| | | ishos = ishos+1; |
| | | ishos = ishos + 1; |
| | | } |
| | | |
| | | } |
| | | if (ishos > 0) { |
| | | hasHos = true; |
| | | }else{ |
| | | } else { |
| | | hasHos = false; |
| | | } |
| | | //add by rentx 2021-3-10 end |
| | |
| | | //总件数 |
| | | totalCount = consumableorderdetailsRecords.size(); |
| | | //页数 |
| | | // pagecount=(totalcount + pagesize - 1) / pagesize; |
| | | // pagecount=(totalcount + pagesize - 1) / pagesize; |
| | | //显示第一页 |
| | | // moveToFirst(); |
| | | makeCurrentPageRecords(); |
| | | //分页 |
| | | //分页 |
| | | PaginatedAccounts paginatedAccounts = new PaginatedAccounts(); |
| | | System.debug('pageToken==>'+ pageToken); |
| | | System.debug('pageSize===>'+ pageSize); |
| | | System.debug('pageToken==>' + pageToken); |
| | | System.debug('pageSize===>' + pageSize); |
| | | |
| | | paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null; |
| | | paginatedAccounts.recordStart = pageToken + 1; |
| | | paginatedAccounts.pageNumber = pageToken / pageSize + 1; |
| | | Integer recordEnd = pageSize * paginatedAccounts.pageNumber; |
| | | System.debug('paginatedAccounts.recordStart'+ paginatedAccounts.recordStart); |
| | | System.debug('paginatedAccounts.pageNumber'+ paginatedAccounts.pageNumber); |
| | | System.debug('paginatedAccounts.nextPageToken===>'+paginatedAccounts.nextPageToken); |
| | | System.debug('recordEnd'+ recordEnd); |
| | | System.debug('paginatedAccounts.recordStart' + paginatedAccounts.recordStart); |
| | | System.debug('paginatedAccounts.pageNumber' + paginatedAccounts.pageNumber); |
| | | System.debug('paginatedAccounts.nextPageToken===>' + paginatedAccounts.nextPageToken); |
| | | System.debug('recordEnd' + recordEnd); |
| | | |
| | | paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount; |
| | | paginatedAccounts.totalRecords = totalCount; |
| | | //end |
| | | System.debug('PaginatedAccounts===>'+PaginatedAccounts); |
| | | //end |
| | | System.debug('PaginatedAccounts===>' + PaginatedAccounts); |
| | | |
| | | //赋值回传 |
| | | results.result = 'Success'; |
| | |
| | | results.deliveryDetailCount = Delivery_detail_count; |
| | | results.orderNumberNotarrive = OrderNumber_notarrive; |
| | | results.moreThanSevenDays = More_than_seven_days; |
| | | //add by WangXueqin 2023/05/05 |
| | | //add by WangXueqin 2023/05/05 |
| | | results.userPro_Type = userPro_Type; |
| | | results.paginatedAccounts = paginatedAccounts; |
| | | } catch (Exception e) { |
| | | results.result = 'Fail'; |
| | | results.errorMsg = e.getLineNumber()+'---'+e.getMessage(); |
| | | results.errorMsg = e.getLineNumber() + '---' + e.getMessage(); |
| | | } |
| | | return results; |
| | | } |
| | | |
| | | //超过一周未到货订单 |
| | | public static void notarriveorder(){ |
| | | public static void notarriveorder() { |
| | | //over_view = false; |
| | | Date orderdate = Date.today().addDays(-7); |
| | | |
| | | List<Consumable_order_details2__c> orderdetails = [SELECT Id,Name,Consumable_order_minor__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE Deliver_date__c < :orderdate |
| | | and Consumable_order_minor__c !=null |
| | | and Dealer_Info_text__c = :accountName |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | AND Dealer_Arrive__c = false |
| | | ]; |
| | | |
| | | List<Consumable_order_details2__c> orderdetails = [ |
| | | SELECT Id, Name, Consumable_order_minor__c |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Deliver_date__c < :orderdate |
| | | AND Consumable_order_minor__c != NULL |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery |
| | | AND Dealer_Arrive__c = FALSE |
| | | ]; |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO , 'userPro_Type——————' + userPro_Type)); |
| | | Map<String, String> notarriveorderMap = new Map<String, String>(); |
| | | List<String> notarriveorderid = new List<String>(); |
| | | for(Integer i = 0; i < orderdetails.size(); i++){ |
| | | if(notarriveorderMap.containsKey(orderdetails[i].Consumable_order_minor__c)){ |
| | | for (Integer i = 0; i < orderdetails.size(); i++) { |
| | | if (notarriveorderMap.containsKey(orderdetails[i].Consumable_order_minor__c)) { |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | notarriveorderMap.put(orderdetails[i].Consumable_order_minor__c, orderdetails[i].Consumable_order_minor__c); |
| | | //notarriveorderid.add('\'' + orderdetails[i].Consumable_order_minor__c +'\''); |
| | | notarriveorderid.add(orderdetails[i].Consumable_order_minor__c); |
| | |
| | | column.add(fsm.getFieldPath()); |
| | | columns.add(fsm.getFieldPath().split('\\.')); |
| | | } |
| | | system.debug('columns=====================>'+columns); |
| | | system.debug('columns=====================>' + columns); |
| | | // 获得显示数据 |
| | | raesList = new List<Consumable_order__c>(); |
| | | String soql = 'select Id'; |
| | | for (String s : column) { |
| | | soql += ',' + s; |
| | | } |
| | | soql += ' from Consumable_order__c where Order_type__c = \''+'订单'+'\' and recordtypeid =\'' + System.Label.RT_ConOrder_Delivery + '\' and Dealer_Info__c =\'' + accountid +'\' and Delivery_detail_count__c > 0 and showFalseNotshowTrue__c = false '; |
| | | soql += ' and Order_ProType__c = \'' + userPro_Type + '\' ' ; |
| | | soql += |
| | | ' from Consumable_order__c where Order_type__c = \'' + |
| | | '订单' + |
| | | '\' and recordtypeid =\'' + |
| | | System.Label.RT_ConOrder_Delivery + |
| | | '\' and Dealer_Info__c =\'' + |
| | | accountid + |
| | | '\' and Delivery_detail_count__c > 0 and showFalseNotshowTrue__c = false '; |
| | | soql += ' and Order_ProType__c = \'' + userPro_Type + '\' '; |
| | | soql += ' and Order_Owner_WorkLocal__c = \'' + userWorkLocation + '\' '; |
| | | |
| | | if(notarriveorderid.size() < 1){ |
| | | soql +=' AND Id = null '; |
| | | }else{ |
| | | |
| | | if (notarriveorderid.size() < 1) { |
| | | soql += ' AND Id = null '; |
| | | } else { |
| | | String sqlTail = '(\''; |
| | | for(Integer i = 0 ; i< notarriveorderid.size();i++){ |
| | | if(i<notarriveorderid.size()-1){ |
| | | sqlTail += notarriveorderid[i]+'\',\''; |
| | | }else{ |
| | | sqlTail += notarriveorderid[i]+'\')'; |
| | | for (Integer i = 0; i < notarriveorderid.size(); i++) { |
| | | if (i < notarriveorderid.size() - 1) { |
| | | sqlTail += notarriveorderid[i] + '\',\''; |
| | | } else { |
| | | sqlTail += notarriveorderid[i] + '\')'; |
| | | } |
| | | } |
| | | //over_view = true; |
| | | soql +=' AND Id in ' + sqlTail; |
| | | soql += ' AND Id in ' + sqlTail; |
| | | } |
| | | system.debug('soql_____11111__' + soql); |
| | | raesList = Database.query(soql); |
| | | // update end by vivek2020-01-15 |
| | | // update end by vivek2020-01-15 |
| | | Total_num = 0; |
| | | OrderNumber_arrived = 0; |
| | | Delivery_detail_count = 0; |
| | | OrderNumber_notarrive = 0; |
| | | More_than_seven_days = 0; |
| | | for(Consumable_order__c conorder :raesList){ |
| | | Total_num += (Integer)conorder.Total_num__c; |
| | | OrderNumber_arrived += (Integer)conorder.OrderNumber_arrived__c; |
| | | Delivery_detail_count += (Integer)conorder.Delivery_detail_count__c; |
| | | OrderNumber_notarrive += (Integer)conorder.OrderNumber_notarrive__c; |
| | | More_than_seven_days += (Integer)conorder.More_than_seven_days__c; |
| | | for (Consumable_order__c conorder : raesList) { |
| | | Total_num += (Integer) conorder.Total_num__c; |
| | | OrderNumber_arrived += (Integer) conorder.OrderNumber_arrived__c; |
| | | Delivery_detail_count += (Integer) conorder.Delivery_detail_count__c; |
| | | OrderNumber_notarrive += (Integer) conorder.OrderNumber_notarrive__c; |
| | | More_than_seven_days += (Integer) conorder.More_than_seven_days__c; |
| | | } |
| | | // update end by vivek2020-01-15 |
| | | } |
| | | |
| | | public static void productLimtAndDate(){ |
| | | public static void productLimtAndDate() { |
| | | String nowName = null, nowRightAsstModelNo = null; |
| | | Map<String,String> productLimt = new Map<String,String>(); |
| | | for(Integer i = 0; i < proLimitAndDate.size(); i++){ |
| | | Map<String, String> productLimt = new Map<String, String>(); |
| | | for (Integer i = 0; i < proLimitAndDate.size(); i++) { |
| | | nowName = proLimitAndDate[i]; |
| | | if( nowName.indexOf( '|') >= 0) { |
| | | nowRightAsstModelNo = nowName.subString( 0, nowName.indexOf( '|')); |
| | | nowName = nowName.subString( nowName.indexOf( '|')+1); |
| | | if (nowName.indexOf('|') >= 0) { |
| | | nowRightAsstModelNo = nowName.subString(0, nowName.indexOf('|')); |
| | | nowName = nowName.subString(nowName.indexOf('|') + 1); |
| | | } |
| | | productLimt.put(nowRightAsstModelNo, nowName); |
| | | } |
| | | for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){ |
| | | if(productLimt.containsKey(ass.Prod.Asset_Model_No__c)){ |
| | | ass.lowerlimit = decimal.valueOf(productLimt.get(ass.Prod.Asset_Model_No__c).subString(0, productLimt.get(ass.Prod.Asset_Model_No__c).indexOf( '|'))); |
| | | ass.upperlimit = decimal.valueOf(productLimt.get(ass.Prod.Asset_Model_No__c).subString(productLimt.get(ass.Prod.Asset_Model_No__c).indexOf( '|')+1)); |
| | | } |
| | | for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) { |
| | | if (productLimt.containsKey(ass.Prod.Asset_Model_No__c)) { |
| | | ass.lowerlimit = decimal.valueOf( |
| | | productLimt.get(ass.Prod.Asset_Model_No__c).subString(0, productLimt.get(ass.Prod.Asset_Model_No__c).indexOf('|')) |
| | | ); |
| | | ass.upperlimit = decimal.valueOf( |
| | | productLimt.get(ass.Prod.Asset_Model_No__c).subString(productLimt.get(ass.Prod.Asset_Model_No__c).indexOf('|') + 1) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public static void datelimitSearch(){ |
| | | public static void datelimitSearch() { |
| | | Set<String> barcodekucun = new Set<String>(); |
| | | //--------UpdateStart-----XHL--------------20180929------------- |
| | | List<Consumable_order_details2__c> orderkucun = [SELECT Id,Bar_Code__c, Name,Consumable_Product__c, |
| | | Recordtypeid,Guarantee_period_for_products__c, |
| | | Sterilization_limit__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 Bar_Code__c !=null |
| | | AND Product_Type__c like :userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | ORDER BY Consumable_Product__c, Sterilization_limit__c asc ]; |
| | | List<Consumable_order_details2__c> orderkucun = [ |
| | | SELECT |
| | | Id, |
| | | Bar_Code__c, |
| | | Name, |
| | | Consumable_Product__c, |
| | | Recordtypeid, |
| | | Guarantee_period_for_products__c, |
| | | Sterilization_limit__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 Bar_Code__c != NULL |
| | | AND Product_Type__c LIKE :userPro_Typestr |
| | | AND Dealer_Info_text__c = :accountName |
| | | AND Arrive_Owner_Work_Location__c = :userWorkLocation |
| | | ORDER BY Consumable_Product__c, Sterilization_limit__c ASC |
| | | ]; |
| | | //--------UpdateEnd-----XHL--------------20180929------------- |
| | | for(Integer i = 0 ; i< orderkucun.size();i++){ |
| | | if(productkucun.containsKey(orderkucun[i].Consumable_Product__c)){ |
| | | for (Integer i = 0; i < orderkucun.size(); i++) { |
| | | if (productkucun.containsKey(orderkucun[i].Consumable_Product__c)) { |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | productkucun.put(orderkucun[i].Consumable_Product__c, orderkucun[i].Sterilization_limit__c); |
| | | } |
| | | } |
| | | barcodekucun.clear(); |
| | | for(Integer i = 0 ; i< orderkucun.size();i++){ |
| | | if(orderkucun[i].Sterilization_limit__c < Date.today().addYears(1)){ |
| | | if(barcodekucun.contains(orderkucun[i].Bar_Code__c)){ |
| | | for (Integer i = 0; i < orderkucun.size(); i++) { |
| | | if (orderkucun[i].Sterilization_limit__c < Date.today().addYears(1)) { |
| | | if (barcodekucun.contains(orderkucun[i].Bar_Code__c)) { |
| | | continue; |
| | | }else{ |
| | | } else { |
| | | barcodekucun.add(orderkucun[i].Bar_Code__c); |
| | | } |
| | | } |
| | | } |
| | | List<AggregateResult> overlimitdatedetails = [SELECT Asset_Model_No__c prodName , |
| | | Box_Piece__c BoxPiece,count(id) countid |
| | | FROM Consumable_order_details2__c |
| | | WHERE Bar_Code__c in :barcodekucun |
| | | 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 |
| | | GROUP BY Asset_Model_No__c,Box_Piece__c |
| | | ORDER BY Asset_Model_No__c,Box_Piece__c]; |
| | | for(Integer i = 0 ; i< overlimitdatedetails.size();i++){ |
| | | List<AggregateResult> overlimitdatedetails = [ |
| | | SELECT Asset_Model_No__c prodName, Box_Piece__c BoxPiece, count(id) countid |
| | | FROM Consumable_order_details2__c |
| | | WHERE |
| | | Bar_Code__c IN :barcodekucun |
| | | 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 |
| | | GROUP BY Asset_Model_No__c, Box_Piece__c |
| | | ORDER BY Asset_Model_No__c, Box_Piece__c |
| | | ]; |
| | | for (Integer i = 0; i < overlimitdatedetails.size(); i++) { |
| | | overlimitdateorderdetails.add(new ConsumableorderdetailsInfo(overlimitdatedetails[i])); |
| | | } |
| | | } |
| | |
| | | // } |
| | | |
| | | //编辑当前页内容 |
| | | public static void makeCurrentPageRecords(){ |
| | | public static void makeCurrentPageRecords() { |
| | | Integer startIdx; |
| | | Integer endIdx; |
| | | pageRecords = new List<ConsumableorderdetailsInfo>(); |
| | |
| | | @AuraEnabled |
| | | public String BoxPiece { get; set; } |
| | | @AuraEnabled |
| | | public Boolean hospitalSpecialOffer { get; set ;} |
| | | public Boolean hospitalSpecialOffer { get; set; } |
| | | |
| | | public ConsumableorderdetailsInfo(Product2__c e) { |
| | | //check = false; |
| | |
| | | allnumber = 0; |
| | | limitCount = 0; |
| | | overlimitCount = 0; |
| | | |
| | | } |
| | | |
| | | public ConsumableorderdetailsInfo(AggregateResult e) { |
| | | countid =Integer.valueOf(e.get('countid')); |
| | | countid = Integer.valueOf(e.get('countid')); |
| | | prodName = String.valueOf(e.get('prodname')); |
| | | BoxPiece = String.valueOf(e.get('BoxPiece')); |
| | | } |
| | | |
| | | // 排序 |
| | | public Integer compareTo(Object compareTo) { |
| | | ConsumableorderdetailsInfo compareToesd =(ConsumableorderdetailsInfo)compareTo; |
| | | ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo; |
| | | Integer returnValue = 0; |
| | | if (allnumber > compareToesd.allnumber) { |
| | | returnValue = -1; |
| | |
| | | public List<ConsumableorderdetailsInfo> pageCodeRecords; |
| | | @AuraEnabled |
| | | public PaginatedAccounts paginatedAccounts; |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | public without sharing class LexUpAccountProLimit { |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC upAccount(String accountId,String productLimit,String userPro_Type){ |
| | | public static ResponseBodyLWC upAccount(String accountId, String productLimit, String userPro_Type) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String,object> data = new Map<String,object>(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | |
| | | //--------AddStart-----XHL--------------20180929------------- |
| | | Boolean EngFlag = false; |
| | | Boolean ETFlag = false; |
| | | String userPro_Typestr = null; |
| | | if(String.isBlank(userPro_Type)){ |
| | | Boolean ETFlag = false; |
| | | String userPro_Typestr = null; |
| | | if (String.isBlank(userPro_Type)) { |
| | | userPro_Type = 'ET'; |
| | | } |
| | | if(userPro_Type == 'ENG'){ |
| | | if (userPro_Type == 'ENG') { |
| | | EngFlag = true; |
| | | }else{ |
| | | } else { |
| | | ETFlag = true; |
| | | } |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'userPro_Type:'+ userPro_Type)); |
| | | //ApexPages.message(ApexPages.severity.ERROR,'userPro_Type:'+ userPro_Type)); |
| | | userPro_Typestr = '%' + userPro_Type + '%'; |
| | | //--------AddEnd-----XHL--------------20180929------------- |
| | | //--------AddEnd-----XHL--------------20180929------------- |
| | | system.debug('userPro_Type' + userPro_Type); |
| | | String checkResoultstr = checkResoult(productLimit); |
| | | system.debug('checkResoultstr====>'+checkResoultstr); |
| | | system.debug('accountId'+accountId); |
| | | if(String.isNotBlank(checkResoultstr)){ |
| | | return new ResponseBodyLWC('Error',500,''+checkResoultstr+'', ''); |
| | | String checkResoultstr = checkResoult(productLimit); |
| | | system.debug('checkResoultstr====>' + checkResoultstr); |
| | | if (String.isNotBlank(checkResoultstr)) { |
| | | return new ResponseBodyLWC('Error', 500, '' + checkResoultstr + '', ''); |
| | | // return checkResoultstr; |
| | | } |
| | | //String[] proidList =new String[]{}; |
| | | String[] proList =new String[]{}; |
| | | String[] pro_List =new String[]{}; |
| | | String[] proList = new List<String>{}; |
| | | String[] pro_List = new List<String>{}; |
| | | List<Account> acc = [ |
| | | SELECT |
| | | Id, |
| | | Name, |
| | | Product_Limit_Date__c |
| | | FROM |
| | | Account |
| | | WHERE |
| | | Id = : accountId |
| | | SELECT Id, Name, Product_Limit_Date__c |
| | | FROM Account |
| | | WHERE Id = :accountId |
| | | FOR UPDATE |
| | | ]; |
| | | if(null == acc || acc.size() == 0) { |
| | | if (null == acc || acc.size() == 0) { |
| | | // return '没有经销商:' + accountId + '的数据。'; |
| | | return new ResponseBodyLWC('Error',500,'没有经销商:' + accountId + '的数据。', ''); |
| | | return new ResponseBodyLWC('Error', 500, '没有经销商:' + accountId + '的数据。', ''); |
| | | } |
| | | //proidList = acc[0].view_product__c.split(','); |
| | | //--------UpdateStart-----XHL--------------20180929------------- |
| | | String sql = ''; |
| | | |
| | | List<Product2__c> roduct2List = [SELECT Asset_Model_No__c,Estimation_Entry_Possibility__c |
| | | FROM Product2__c |
| | | WHERE Product_Type__c like :userPro_Typestr and Estimation_Entry_Possibility__c = '○'];//Add by WangXueqin 20230605 |
| | | |
| | | List<Product2__c> roduct2List = [ |
| | | SELECT Asset_Model_No__c, Estimation_Entry_Possibility__c |
| | | FROM Product2__c |
| | | WHERE Product_Type__c LIKE :userPro_Typestr AND Estimation_Entry_Possibility__c = '○' |
| | | ]; //Add by WangXueqin 20230605 |
| | | //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'roduct2List:'+ roduct2List)); |
| | | //sql = 'SELECT Asset_Model_No__c ' |
| | | // + ' FROM Product2__c ' |
| | |
| | | //if(EngFlag){ |
| | | // sql += ' AND Pro2_Dealer_ENG__c =' + EngFlag ; |
| | | //}else if(ETFlag){ |
| | | // sql += ' AND Pro2_Dealer_Object__c = ' + ETFlag; |
| | | // sql += ' AND Pro2_Dealer_Object__c = ' + ETFlag; |
| | | //} |
| | | //system.debug('sqlZZZZZZ' + sql); |
| | | //List<Product2__c> roduct2List = Database.query(sql); |
| | | //List<Product2__c> roduct2List = Database.query(sql); |
| | | //--------UpdateEnd-----XHL--------------20180929------------- |
| | | Map<String, String> productMap = new Map<String, String>(); |
| | | proList = productLimit.split(','); |
| | | system.debug('productLimitDDDDD' + productLimit); |
| | | system.debug('proListFFFFF' + proList); |
| | | if(proList.size() > 0 && String.isNotEmpty(proList[0])){ |
| | | for(Integer i = 0; i < proList.size(); i++){ |
| | | pro_List.add(proList[i].subString(0,proList[i].indexOf( '|'))); |
| | | if (proList.size() > 0 && String.isNotEmpty(proList[0])) { |
| | | for (Integer i = 0; i < proList.size(); i++) { |
| | | pro_List.add(proList[i].subString(0, proList[i].indexOf('|'))); |
| | | } |
| | | } |
| | | if(roduct2List.size() > 0){ |
| | | for(Product2__c pro2 :roduct2List){ |
| | | if (roduct2List.size() > 0) { |
| | | for (Product2__c pro2 : roduct2List) { |
| | | productMap.put(pro2.Asset_Model_No__c, pro2.Asset_Model_No__c); |
| | | } |
| | | } |
| | | for(Integer i = 0; i < pro_List.size(); i++){ |
| | | if(!productMap.containsKey(pro_List[i])){ |
| | | for (Integer i = 0; i < pro_List.size(); i++) { |
| | | if (!productMap.containsKey(pro_List[i])) { |
| | | // return '经销商没有 ' + pro_List[i] + ' 的产品上限设定权限,或产品不存在!'; |
| | | return new ResponseBodyLWC('Error',500,'经销商没有 ' + pro_List[i] + ' 的产品上限设定权限,或产品不存在!', ''); |
| | | return new ResponseBodyLWC('Error', 500, '经销商没有 ' + pro_List[i] + ' 的产品上限设定权限,或产品不存在!', ''); |
| | | } |
| | | } |
| | | String productLimitDa = ''; |
| | | for(String str : productLimit.split(',')){ |
| | | |
| | | if(str != null && str != ''){ |
| | | String productLimitDa = ''; |
| | | for (String str : productLimit.split(',')) { |
| | | if (str != null && str != '') { |
| | | productLimitDa += ',' + str; |
| | | } |
| | | } |
| | | } |
| | | Savepoint sp = Database.setSavepoint(); |
| | | try{ |
| | | try { |
| | | Account accinfo = new Account(); |
| | | accinfo.Id = accountId; |
| | | if(EngFlag){ |
| | | accinfo.Product_Limit_DateENG__c = String.isBlank(productLimitDa) ? productLimitDa : productLimitDa.subString(1); |
| | | }else if(ETFlag){ |
| | | accinfo.Product_Limit_Date__c = String.isBlank(productLimitDa) ? productLimitDa : productLimitDa.subString(1); |
| | | if (EngFlag) { |
| | | accinfo.Product_Limit_DateENG__c = String.isBlank(productLimitDa) ? productLimitDa : productLimitDa.subString(1); |
| | | } else if (ETFlag) { |
| | | accinfo.Product_Limit_Date__c = String.isBlank(productLimitDa) ? productLimitDa : productLimitDa.subString(1); |
| | | } |
| | | |
| | | UPDATE accinfo; |
| | | |
| | | update accinfo; |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | // return ''; |
| | | }catch(DmlException de){ |
| | | } catch (DmlException de) { |
| | | Database.rollback(sp); |
| | | throw de; |
| | | } |
| | | } |
| | | } |
| | | public static String checkResoult (String productLimit){ |
| | | public static String checkResoult(String productLimit) { |
| | | String[] proLimit = productLimit.split(','); |
| | | String nowName = null, nowRightAsstModelNo = null; |
| | | List<String> asstModelNo = new List<String>(); |
| | | Map<String,String> asstModelNoMap = new Map<String,String>(); |
| | | Map<String, String> asstModelNoMap = new Map<String, String>(); |
| | | List<String> asstModelNoCount = new List<String>(); |
| | | for(Integer i = 0; i < proLimit.size(); i++){ |
| | | for (Integer i = 0; i < proLimit.size(); i++) { |
| | | nowName = proLimit[i]; |
| | | if( nowName.indexOf( '|') >= 0) { |
| | | nowRightAsstModelNo = nowName.subString( 0, nowName.indexOf( '|')); |
| | | if (nowName.indexOf('|') >= 0) { |
| | | nowRightAsstModelNo = nowName.subString(0, nowName.indexOf('|')); |
| | | } |
| | | asstModelNo.add(nowRightAsstModelNo); |
| | | } |
| | | |
| | | for(Integer i = 0; i < asstModelNo.size(); i++){ |
| | | if(asstModelNoMap.containsKey(asstModelNo[i])){ |
| | | for (Integer i = 0; i < asstModelNo.size(); i++) { |
| | | if (asstModelNoMap.containsKey(asstModelNo[i])) { |
| | | asstModelNoCount.add(asstModelNo[i]); |
| | | }else{ |
| | | } else { |
| | | asstModelNoMap.put(asstModelNo[i], asstModelNo[i]); |
| | | } |
| | | } |
| | | if(asstModelNoCount.size() > 0){ |
| | | if (asstModelNoCount.size() > 0) { |
| | | return '产品:' + asstModelNoCount + '的数据重复。'; |
| | | // return new ResponseBodyLWC('Error',500,'产品:' + asstModelNoCount + '的数据重复。', ''); |
| | | }else{ |
| | | } else { |
| | | return ''; |
| | | } |
| | | } |
| | |
| | | public without sharing class LexUtility { |
| | | |
| | | //查询是否一直显示提示 |
| | | public static Boolean getIsNoteStay(){ |
| | | public static Boolean getIsNoteStay() { |
| | | NoteStay__c noteStay = NoteStay__c.getInstance('NoteStay'); |
| | | return noteStay.IsStay__c; |
| | | } |
| | | |
| | | //查询许可证提醒天数 |
| | | public static Integer getLicenceReminderDays(){ |
| | | public static Integer getLicenceReminderDays() { |
| | | LicenceReminderDate__c days = LicenceReminderDate__c.getInstance('180Days'); |
| | | return days.ReminderDays__c.intValue(); |
| | | } |
| | |
| | | public class ResponseBodyLWC { |
| | | @AuraEnabled |
| | | public String status{get;set;} |
| | | public String status { get; set; } |
| | | @AuraEnabled |
| | | public Integer code{get;set;} |
| | | public Integer code { get; set; } |
| | | @AuraEnabled |
| | | public String msg{get;set;} |
| | | public String msg { get; set; } |
| | | @AuraEnabled |
| | | public Object entity{get;set;} |
| | | public Object entity { get; set; } |
| | | @AuraEnabled |
| | | public List<Object> entityList{get;set;} |
| | | public ResponseBodyLWC(){} |
| | | |
| | | public ResponseBodyLWC(String status,Integer code, String msg, Object entity){ |
| | | public List<Object> entityList { get; set; } |
| | | public ResponseBodyLWC() { |
| | | } |
| | | |
| | | public ResponseBodyLWC(String status, Integer code, String msg, Object entity) { |
| | | this.status = status; |
| | | this.code = code; |
| | | this.msg = msg; |
| | | this.entity = entity; |
| | | } |
| | | |
| | | public ResponseBodyLWC(String status,Integer code, String msg, List<Object> entityList){ |
| | | public ResponseBodyLWC(String status, Integer code, String msg, List<Object> entityList) { |
| | | this.status = status; |
| | | this.code = code; |
| | | this.msg = msg; |
| | |
| | | public without sharing class lexSearchAgencyHospitalController { |
| | | //经销商用户产品分类(ET、ENG) |
| | | public static String agencyProType {get;set;} |
| | | public static String searchName {get;set;} |
| | | public static String agencyProType { get; set; } |
| | | public static String searchName { get; set; } |
| | | private static String accountid = null; |
| | | @AuraEnabled |
| | | public static List<Account> at {get;set;} |
| | | |
| | | public static List<Account> at { get; set; } |
| | | |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC init(String ctype){ |
| | | public static ResponseBodyLWC init(String ctype) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | User useracc = [SELECT accountid,UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId() ]; |
| | | User useracc = [SELECT accountid, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; |
| | | accountid = Useracc.accountid; |
| | | agencyProType = Useracc.UserPro_Type__c; |
| | | if(String.isBlank(Useracc.UserPro_Type__c)){ |
| | | if (String.isBlank(Useracc.UserPro_Type__c)) { |
| | | agencyProType = 'ET'; |
| | | } |
| | | String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name FROM Account'; |
| | | soql += ' where id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__c = \'' + accountid + '\' AND Hosptial_Type__c like \'%' + String.escapeSingleQuotes(ctype.replaceAll('%', '\\%')) + '%\')' ; |
| | | soql += |
| | | ' where id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__c = \'' + |
| | | accountid + |
| | | '\' AND Hosptial_Type__c like \'%' + |
| | | String.escapeSingleQuotes(ctype.replaceAll('%', '\\%')) + |
| | | '%\')'; |
| | | soql += ' order by Name desc limit 100'; |
| | | at = Database.query(soql); |
| | | data.put('at',at); |
| | | data.put('at', at); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static ResponseBodyLWC serContact(String searchName,String ctype){ |
| | | public static ResponseBodyLWC serContact(String searchName, String ctype) { |
| | | ResponseBodyLWC res = new ResponseBodyLWC(); |
| | | Map<String, object> data = new Map<String, object>(); |
| | | res.entity = data; |
| | | User useracc = [SELECT accountid,UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId() ]; |
| | | User useracc = [SELECT accountid, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()]; |
| | | accountid = Useracc.accountid; |
| | | at = Database.query(makeSoql(searchName,accountid,ctype)); |
| | | data.put('at',at); |
| | | at = Database.query(makeSoql(searchName, accountid, ctype)); |
| | | data.put('at', at); |
| | | res.status = 'Success'; |
| | | res.code = 200; |
| | | System.debug('res = ' + res); |
| | | return res; |
| | | } |
| | | |
| | | private static String makeSoql(String searchName,String accountid,String ctype){ |
| | | |
| | | private static String makeSoql(String searchName, String accountid, String ctype) { |
| | | String soql = 'SELECT id,Name,State_Master__c,State_Master__r.Name FROM Account'; |
| | | soql += ' where id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__c = \'' + accountid + '\' AND Hosptial_Type__c like \'%' + String.escapeSingleQuotes(ctype.replaceAll('%', '\\%')) + '%\')' ; |
| | | if(String.isNotBlank(searchName)){ |
| | | soql += |
| | | ' where id in (SELECT Hospital__c FROM Agency_Hospital_Link__c WHERE Agency__c = \'' + |
| | | accountid + |
| | | '\' AND Hosptial_Type__c like \'%' + |
| | | String.escapeSingleQuotes(ctype.replaceAll('%', '\\%')) + |
| | | '%\')'; |
| | | if (String.isNotBlank(searchName)) { |
| | | soql += ' AND Name like \'%' + String.escapeSingleQuotes(searchName.replaceAll('%', '\\%')) + '%\''; |
| | | } |
| | | soql += ' order by Name desc limit 100'; |
| | |
| | | <language>zh_CN</language> |
| | | <protected>false</protected> |
| | | <shortDescription>发票显示明细</shortDescription> |
| | | <value>00O6D000000UPzaUAG</value> |
| | | <value>00O0l000000zaGcEAI</value> |
| | | </labels> |
| | | <labels> |
| | | <fullName>View_Weekly_Report</fullName> |
| | | <language>zh_CN</language> |
| | | <protected>false</protected> |
| | | <shortDescription>查看周报活动</shortDescription> |
| | | <value>00O6D000000UPzZUAW</value> |
| | | <value>00O0l000000zo9aEAA</value> |
| | | </labels> |
| | | <labels> |
| | | <fullName>invoiceStart</fullName> |
| | |
| | | <template> |
| | | <lightning-combobox |
| | | name="progress" |
| | | label="Status" |
| | | value={value} |
| | | placeholder="请选择单位" |
| | | options={options} |
| | | onchange={handleChange} > |
| | | </lightning-combobox> |
| | | name="progress" |
| | | label="Status" |
| | | value={value} |
| | | placeholder="请选择单位" |
| | | options={options} |
| | | onchange={handleChange} |
| | | > |
| | | </lightning-combobox> |
| | | </template> |
| | |
| | | import { LightningElement,api } from 'lwc'; |
| | | import { LightningElement, api } from 'lwc'; |
| | | |
| | | export default class BoxorpieceType extends LightningElement { |
| | | value = '盒'; |
| | |
| | | ]; |
| | | } |
| | | |
| | | connectedCallback(){ |
| | | console.log('enter BoxorpieceType') |
| | | connectedCallback() { |
| | | console.log('enter BoxorpieceType'); |
| | | } |
| | | |
| | | handleChange(event) { |
| | |
| | | <div class={outerClass} role="status"> |
| | | <span class="slds-assistive-text">{type}</span> |
| | | <span class={innerClass} title={message}> |
| | | <lightning-icon icon-name={getIconName} alternative-text="icon" styleclass="slds-icon slds-icon_small" variant="inverse" size="small"></lightning-icon> |
| | | <lightning-icon |
| | | icon-name={getIconName} |
| | | alternative-text="icon" |
| | | styleclass="slds-icon slds-icon_small" |
| | | variant="inverse" |
| | | size="small" |
| | | ></lightning-icon> |
| | | </span> |
| | | <div class="slds-notify__content"> |
| | | <h2 class="slds-text-heading_small"> |
| | |
| | | </lightning-formatted-rich-text> |
| | | </h2> |
| | | </div> |
| | | |
| | | |
| | | <div class="slds-notify__close"> |
| | | <lightning-button-icon icon-name="utility:close" size="small" variant="border-filled" class="slds-button slds-button_icon slds-button_icon-inverse" alternative-text="next" onclick={closeModel} ></lightning-button-icon> |
| | | <lightning-button-icon |
| | | icon-name="utility:close" |
| | | size="small" |
| | | variant="border-filled" |
| | | class="slds-button slds-button_icon slds-button_icon-inverse" |
| | | alternative-text="next" |
| | | onclick={closeModel} |
| | | ></lightning-button-icon> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | import { LightningElement,track,api} from 'lwc'; |
| | | import { LightningElement, track, api } from 'lwc'; |
| | | |
| | | export default class CommonToast extends LightningElement { |
| | | @track type='success'; |
| | | @track type = 'success'; |
| | | @track message; |
| | | @track messageIsHtml=false; |
| | | @track messageIsHtml = false; |
| | | @track showToastBar = false; |
| | | @api autoCloseTime = 5000; |
| | | @track icon=''; |
| | | |
| | | @track icon = ''; |
| | | |
| | | @api |
| | | showToast(type, message,icon,time) { |
| | | showToast(type, message, icon, time) { |
| | | this.type = type; |
| | | this.message = message; |
| | | this.icon=icon; |
| | | this.autoCloseTime=time; |
| | | this.icon = icon; |
| | | this.autoCloseTime = time; |
| | | this.showToastBar = true; |
| | | setTimeout(() => { |
| | | this.closeModel(); |
| | | }, this.autoCloseTime); |
| | | } |
| | | |
| | | |
| | | closeModel() { |
| | | this.showToastBar = false; |
| | | this.type = ''; |
| | | this.message = ''; |
| | | } |
| | | |
| | | |
| | | get getIconName() { |
| | | if(this.icon) |
| | | { |
| | | if (this.icon) { |
| | | return this.icon; |
| | | } |
| | | return 'utility:' + this.type.toLowerCase(); |
| | | } |
| | | |
| | | |
| | | get innerClass() { |
| | | return 'slds-icon_container slds-icon-utility-' + this.type.toLowerCase() + ' slds-m-right_small slds-no-flex slds-align-top'; |
| | | return ( |
| | | 'slds-icon_container slds-icon-utility-' + |
| | | this.type.toLowerCase() + |
| | | ' slds-m-right_small slds-no-flex slds-align-top' |
| | | ); |
| | | } |
| | | |
| | | |
| | | get outerClass() { |
| | | return 'slds-notify slds-notify_toast slds-theme_' + this.type.toLowerCase(); |
| | | return ( |
| | | 'slds-notify slds-notify_toast slds-theme_' + |
| | | this.type.toLowerCase() |
| | | ); |
| | | } |
| | | } |
| | |
| | | template: boxorpieceType, |
| | | typeAttributes: ['customValueA'] |
| | | } |
| | | } |
| | | }; |
| | | } |
| | |
| | | <template> |
| | | <lightning-input step="0" type="number" name="count" label="出货数量" |
| | | variant="label-hidden" onchange={outboundCountBlur} data-field="shipmentNumber" value={count} |
| | | min="0" disabled={isDisable} style="min-width: 150px;"></lightning-input> |
| | | <lightning-input |
| | | step="0" |
| | | type="number" |
| | | name="count" |
| | | label="出货数量" |
| | | variant="label-hidden" |
| | | onchange={outboundCountBlur} |
| | | data-field="shipmentNumber" |
| | | value={count} |
| | | min="0" |
| | | disabled={isDisable} |
| | | style="min-width: 150px" |
| | | ></lightning-input> |
| | | </template> |
| | |
| | | import { LightningElement,api } from 'lwc'; |
| | | import { LightningElement, api } from 'lwc'; |
| | | |
| | | export default class CustomOutboundCountComp extends LightningElement { |
| | | @api isDisable; |
| | | @api recordId; |
| | | @api count; |
| | | |
| | | |
| | | connectedCallback(){ |
| | | connectedCallback() { |
| | | console.log('enter CustomOutboundCountComp'); |
| | | console.log('isDisable = ' + this.isDisable); |
| | | console.log('recordId = ' + this.recordId); |
| | | console.log('count = ' + this.count); |
| | | } |
| | | |
| | | outboundCountBlur(event){ |
| | | console.log('outboundCountBlur') |
| | | outboundCountBlur(event) { |
| | | console.log('outboundCountBlur'); |
| | | this.count = event.target.value; |
| | | |
| | | this.dispatchEvent(new CustomEvent('outboundcount', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { count: this.count, recordId: this.recordId } |
| | | } |
| | | })); |
| | | this.dispatchEvent( |
| | | new CustomEvent('outboundcount', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { count: this.count, recordId: this.recordId } |
| | | } |
| | | }) |
| | | ); |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <template if:true={showTitle}> |
| | | <template if:true={showLink}> |
| | | <p style="height: 10px;"></p> |
| | | <a style="margin-left: 10px;margin-top: 10px;margin-bottom: 10px;" onclick={clickLink}><lightning-formatted-text value={outputValue}></lightning-formatted-text></a> |
| | | <p style="height: 10px;"></p> |
| | | <p style="height: 10px"></p> |
| | | <a |
| | | style="margin-left: 10px; margin-top: 10px; margin-bottom: 10px" |
| | | onclick={clickLink} |
| | | ><lightning-formatted-text |
| | | value={outputValue} |
| | | ></lightning-formatted-text |
| | | ></a> |
| | | <p style="height: 10px"></p> |
| | | </template> |
| | | <template if:false={showLink}> |
| | | <div style="margin-left: 10px;margin-top: 10px;margin-bottom: 10px;font-size:16px;color:#696969;"> |
| | | <lightning-formatted-text value={outputValue}></lightning-formatted-text> |
| | | <div |
| | | style=" |
| | | margin-left: 10px; |
| | | margin-top: 10px; |
| | | margin-bottom: 10px; |
| | | font-size: 16px; |
| | | color: #696969; |
| | | " |
| | | > |
| | | <lightning-formatted-text |
| | | value={outputValue} |
| | | ></lightning-formatted-text> |
| | | </div> |
| | | </template> |
| | | </template> |
| | | <template if:false={showTitle}> |
| | | <div style="text-align: right;"> |
| | | <div style="text-align: right"> |
| | | <template if:true={showLink}> |
| | | <a style="margin-left: 10px;margin-right: 10px;" onclick={clickLink}><lightning-formatted-number value={outputValue}></lightning-formatted-number></a> |
| | | <a |
| | | style="margin-left: 10px; margin-right: 10px" |
| | | onclick={clickLink} |
| | | ><lightning-formatted-number |
| | | value={outputValue} |
| | | ></lightning-formatted-number |
| | | ></a> |
| | | </template> |
| | | <template if:false={showLink}> |
| | | <lightning-formatted-number style="margin-left: 10px;margin-right: 10px;" value={outputValue}></lightning-formatted-number> |
| | | <lightning-formatted-number |
| | | style="margin-left: 10px; margin-right: 10px" |
| | | value={outputValue} |
| | | ></lightning-formatted-number> |
| | | </template> |
| | | </div> |
| | | </template> |
| | |
| | | import { LightningElement,api,track } from 'lwc'; |
| | | import { LightningElement, api, track } from 'lwc'; |
| | | |
| | | export default class CustomOutputGood extends LightningElement { |
| | | @api outputValue; |
| | | @api outputType; |
| | | @api recordId; |
| | | |
| | | get showTitle(){ |
| | | if(this.outputType == 'Title'){ |
| | | |
| | | get showTitle() { |
| | | if (this.outputType == 'Title') { |
| | | return true; |
| | | }else{ |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | get showLink(){ |
| | | if(this.outputType == 'Title'){ |
| | | if(this.outputValue == '订单明细汇总' || this.outputValue == '待操作入库订单汇总'){ |
| | | get showLink() { |
| | | if (this.outputType == 'Title') { |
| | | if ( |
| | | this.outputValue == '订单明细汇总' || |
| | | this.outputValue == '待操作入库订单汇总' |
| | | ) { |
| | | return false; |
| | | }else{ |
| | | return true |
| | | } else { |
| | | return true; |
| | | } |
| | | }else{ |
| | | if(this.outputValue == 0 || this.outputValue == '0' || this.outputValue == ''){ |
| | | } else { |
| | | if ( |
| | | this.outputValue == 0 || |
| | | this.outputValue == '0' || |
| | | this.outputValue == '' |
| | | ) { |
| | | return false; |
| | | }else{ |
| | | } else { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | |
| | | clickLink(event){ |
| | | this.dispatchEvent(new CustomEvent('clicklink', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { value: this.outputValue, type: this.outputType, recordId:this.recordId} |
| | | } |
| | | })); |
| | | clickLink(event) { |
| | | this.dispatchEvent( |
| | | new CustomEvent('clicklink', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { |
| | | value: this.outputValue, |
| | | type: this.outputType, |
| | | recordId: this.recordId |
| | | } |
| | | } |
| | | }) |
| | | ); |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <lightning-input |
| | | name="shipmentAmount" |
| | | label="shipmentAmount" |
| | | variant="label-hidden" |
| | | value={shipmentAmount} |
| | | read-only style="margin-left: 10px;"> |
| | | |
| | | name="shipmentAmount" |
| | | label="shipmentAmount" |
| | | variant="label-hidden" |
| | | value={shipmentAmount} |
| | | read-only |
| | | style="margin-left: 10px" |
| | | > |
| | | </lightning-input> |
| | | </template> |
| | |
| | | import { LightningElement,api } from 'lwc'; |
| | | import { LightningElement, api } from 'lwc'; |
| | | |
| | | export default class CustomShipmentAmountComp extends LightningElement { |
| | | @api shipmentAmount; |
| | | |
| | | connectedCallback(){ |
| | | console.log('进入 CustomShipmentAmountComp shipmentAmount = ' + this.shipmentAmount); |
| | | connectedCallback() { |
| | | console.log( |
| | | '进入 CustomShipmentAmountComp shipmentAmount = ' + |
| | | this.shipmentAmount |
| | | ); |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <c-common-toast></c-common-toast> |
| | | <lightning-input style="border:1px solid red;border-radius:5px;" step="any" type="number" name="shipmentNumber" label="出货数量" |
| | | variant="label-hidden" onchange={dataChange} data-field="shipmentNumber" value={shipmentNumber} |
| | | onblur={shipmentNumberBlur} min="0" class="inputFont"></lightning-input> |
| | | <lightning-input |
| | | style="border: 1px solid red; border-radius: 5px" |
| | | step="any" |
| | | type="number" |
| | | name="shipmentNumber" |
| | | label="出货数量" |
| | | variant="label-hidden" |
| | | onchange={dataChange} |
| | | data-field="shipmentNumber" |
| | | value={shipmentNumber} |
| | | onblur={shipmentNumberBlur} |
| | | min="0" |
| | | class="inputFont" |
| | | ></lightning-input> |
| | | </template> |
| | |
| | | } |
| | | |
| | | shipmentNumberBlur(event) { |
| | | debugger |
| | | console.log('shipmentNumberBlur') |
| | | debugger; |
| | | console.log('shipmentNumberBlur'); |
| | | this.shipmentNumber = event.target.value; |
| | | if (this.isConinvoice) { |
| | | if (this.hasDecimals(this.shipmentNumber)) { |
| | | this.showMyToast('错误', '请输入整数', 'Error'); |
| | | this.shipmentNumber = 0; |
| | | }else{ |
| | | if(this.esdInvoiceProNotCount < this.shipmentNumber){ |
| | | this.showMyToast('错误', '发票数量不能超过还没发票数量!', 'Error'); |
| | | } else { |
| | | if (this.esdInvoiceProNotCount < this.shipmentNumber) { |
| | | this.showMyToast( |
| | | '错误', |
| | | '发票数量不能超过还没发票数量!', |
| | | 'Error' |
| | | ); |
| | | this.shipmentNumber = 0; |
| | | } |
| | | } |
| | |
| | | //向下取整 |
| | | if (this.hasDecimals(this.shipmentNumber)) { |
| | | this.showMyToast('错误', '请输入整数', 'Error'); |
| | | this.shipmentNumber = Math.floor(this.shipmentNumber) |
| | | this.shipmentNumber = Math.floor(this.shipmentNumber); |
| | | } |
| | | } |
| | | event.target.value = this.shipmentNumber; |
| | | this.dispatchEvent(new CustomEvent('shipmentnumber', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { shipmentnumber: this.shipmentNumber, recordId: this.recordId } |
| | | } |
| | | })); |
| | | this.dispatchEvent( |
| | | new CustomEvent('shipmentnumber', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { |
| | | shipmentnumber: this.shipmentNumber, |
| | | recordId: this.recordId |
| | | } |
| | | } |
| | | }) |
| | | ); |
| | | } |
| | | |
| | | hasDecimals(num) { |
| | |
| | | iconName = 'utility:error'; |
| | | } |
| | | if (message != '') { |
| | | content = '<h2><strong>' + title + '<strong/></h2><h5>' + message + '</h5>'; |
| | | content = |
| | | '<h2><strong>' + |
| | | title + |
| | | '<strong/></h2><h5>' + |
| | | message + |
| | | '</h5>'; |
| | | } else { |
| | | content = '<h2><strong>' + title + '<strong/></h2>'; |
| | | } |
| | | this.template.querySelector('c-common-toast').showToast(variant, content, iconName, 10000); |
| | | this.template |
| | | .querySelector('c-common-toast') |
| | | .showToast(variant, content, iconName, 10000); |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <lightning-input style="border:1px solid red;border-radius:5px" step="any" type="number" name="shipmentUnitPrice" |
| | | label="deliveryOrderNo" variant="label-hidden" data-field="shipmentUnitPrice" value={shippingUnitPrice} |
| | | onblur={shipmentUnitPriceBlur} min="0" class="inputFont" onchange={limitDecimals}></lightning-input> |
| | | <lightning-input |
| | | style="border: 1px solid red; border-radius: 5px" |
| | | step="any" |
| | | type="number" |
| | | name="shipmentUnitPrice" |
| | | label="deliveryOrderNo" |
| | | variant="label-hidden" |
| | | data-field="shipmentUnitPrice" |
| | | value={shippingUnitPrice} |
| | | onblur={shipmentUnitPriceBlur} |
| | | min="0" |
| | | class="inputFont" |
| | | onchange={limitDecimals} |
| | | ></lightning-input> |
| | | </template> |
| | |
| | | import { LightningElement,api,track } from 'lwc'; |
| | | import { LightningElement, api, track } from 'lwc'; |
| | | |
| | | export default class CustomShippingUnitPriceComp extends LightningElement { |
| | | @api recordId; |
| | | @api shippingUnitPrice; |
| | | |
| | | connectedCallback(){ |
| | | connectedCallback() { |
| | | console.log('shippingUnitPrice = ' + this.shippingUnitPrice); |
| | | } |
| | | |
| | | limitDecimals(event) { |
| | | const value = parseFloat(event.target.value); // 将输入值转换为数字类型 |
| | | const roundedValue = Math.round(value * 100) / 100; // 将数字四舍五入到两位小数 |
| | | if (isNaN(value) || isNaN(roundedValue)) { // 如果数字无效,则清空输入框 |
| | | if (isNaN(value) || isNaN(roundedValue)) { |
| | | // 如果数字无效,则清空输入框 |
| | | event.target.value = ''; |
| | | } else if (roundedValue !== value) { // 如果输入框的值超出了两位小数,则修改为两位小数 |
| | | } else if (roundedValue !== value) { |
| | | // 如果输入框的值超出了两位小数,则修改为两位小数 |
| | | event.target.value = roundedValue.toFixed(2); |
| | | } |
| | | } |
| | | |
| | | shipmentUnitPriceBlur(event){ |
| | | console.log('shipmentUnitPriceBlur') |
| | | shipmentUnitPriceBlur(event) { |
| | | console.log('shipmentUnitPriceBlur'); |
| | | this.shippingUnitPrice = event.target.value; |
| | | |
| | | this.dispatchEvent(new CustomEvent('shipmentunitprice', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { shipmentunitprice: this.shippingUnitPrice, recordId: this.recordId } |
| | | } |
| | | })); |
| | | this.dispatchEvent( |
| | | new CustomEvent('shipmentunitprice', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { |
| | | shipmentunitprice: this.shippingUnitPrice, |
| | | recordId: this.recordId |
| | | } |
| | | } |
| | | }) |
| | | ); |
| | | } |
| | | } |
| | |
| | | import { LightningElement,api } from 'lwc'; |
| | | import { LightningElement, api } from 'lwc'; |
| | | |
| | | export default class CustomUnitComp extends LightningElement { |
| | | @api unitValue; |
| | |
| | | @api recordId; |
| | | @api isDisabled; |
| | | |
| | | connectedCallback(){ |
| | | if(this.isDisabled == null){ |
| | | connectedCallback() { |
| | | if (this.isDisabled == null) { |
| | | this.isDisabled = false; |
| | | } |
| | | } |
| | | |
| | | handleDataChange(event){ |
| | | handleDataChange(event) { |
| | | console.log('unitValue = ' + event.target.value); |
| | | this.unitValue = event.target.value; |
| | | this.dispatchEvent(new CustomEvent('unitchange', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { unitValue: this.unitValue, recordId: this.recordId } |
| | | } |
| | | })); |
| | | this.dispatchEvent( |
| | | new CustomEvent('unitchange', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { unitValue: this.unitValue, recordId: this.recordId } |
| | | } |
| | | }) |
| | | ); |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <template if:true={isShowButton}> |
| | | <lightning-button label="查看周报活动" title="周报" onclick={toWeeklyReport} class="slds-m-left_x-small"></lightning-button> |
| | | <lightning-button |
| | | label="查看周报活动" |
| | | title="周报" |
| | | onclick={toWeeklyReport} |
| | | class="slds-m-left_x-small" |
| | | ></lightning-button> |
| | | </template> |
| | | <template if:false={isShowButton}> |
| | | <p style="text-align: center;">...</p> |
| | | <p style="text-align: center">...</p> |
| | | </template> |
| | | </template> |
| | |
| | | import { LightningElement, api, track } from 'lwc'; |
| | | import { NavigationMixin } from "lightning/navigation"; |
| | | import { NavigationMixin } from 'lightning/navigation'; |
| | | import View_Weekly_Report from '@salesforce/label/c.View_Weekly_Report'; |
| | | |
| | | const customLabel = { |
| | | View_Weekly_Report |
| | | } |
| | | export default class CustomWeeklyReportComp extends NavigationMixin(LightningElement) { |
| | | }; |
| | | export default class CustomWeeklyReportComp extends NavigationMixin( |
| | | LightningElement |
| | | ) { |
| | | @track label = customLabel; |
| | | |
| | | @api recordId; |
| | |
| | | |
| | | connectedCallback() { |
| | | console.log('CustomWeeklyReportComp recordId = ' + this.recordId); |
| | | console.log('CustomWeeklyReportComp hospitalName = ' + this.hospitalName); |
| | | console.log( |
| | | 'CustomWeeklyReportComp hospitalName = ' + this.hospitalName |
| | | ); |
| | | } |
| | | |
| | | toWeeklyReport() { |
| | | console.log('去报表'); |
| | | let reportFilters = '[{"operator":"equals","value":"' + this.hospitalName + '","column":"Agency_Report__c.Hospital__c"}]'; |
| | | let reportFilters = |
| | | '[{"operator":"equals","value":"' + |
| | | this.hospitalName + |
| | | '","column":"Agency_Report__c.Hospital__c"}]'; |
| | | let reportUrl = this.label.View_Weekly_Report; |
| | | console.log('reportUrl = ' + reportUrl); |
| | | let url = "/report/" + reportUrl + "?reportFilters=" + encodeURIComponent(reportFilters); |
| | | let url = |
| | | '/report/' + |
| | | reportUrl + |
| | | '?reportFilters=' + |
| | | encodeURIComponent(reportFilters); |
| | | this[NavigationMixin.Navigate]({ |
| | | type: "standard__webPage", |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: url, |
| | | }, |
| | | url: url |
| | | } |
| | | }); |
| | | } |
| | | } |
| | |
| | | <template if:true={showSpinner}> |
| | | <!-- <lightning-spinner size="medium" variant="brand"></lightning-spinner> --> |
| | | <div class="slds-spinner_container"> |
| | | <div role="status" class="slds-spinner slds-spinner_medium slds-spinner_brand"> |
| | | <div |
| | | role="status" |
| | | class="slds-spinner slds-spinner_medium slds-spinner_brand" |
| | | > |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | |
| | | </template> |
| | | <c-common-toast></c-common-toast> |
| | | <template if:true={showPage}> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | " |
| | | > |
| | | <div style="border-bottom: 1px solid #d4d4d4; padding: 3px"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <lightning-accordion allow-multiple-sections-open active-section-name={activeSections}> |
| | | <lightning-record-view-form record-id={accountId} object-api-name="Account"> |
| | | <lightning-accordion-section label="经销商详细信息" name="A"> |
| | | <div style="padding: 10px"> |
| | | <lightning-accordion |
| | | allow-multiple-sections-open |
| | | active-section-name={activeSections} |
| | | > |
| | | <lightning-record-view-form |
| | | record-id={accountId} |
| | | object-api-name="Account" |
| | | > |
| | | <lightning-accordion-section |
| | | label="经销商详细信息" |
| | | name="A" |
| | | > |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Management_Code__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Management_Code__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Name"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Name" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Ban_On_Use_Date__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Ban_On_Use_Date__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Ban_On_Use_Reason__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Ban_On_Use_Reason__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Dealer_discount__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Dealer_discount__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Sales_Shop_Class__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Sales_Shop_Class__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Deposit_Receipt_Finished__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Deposit_Receipt_Finished__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Deposit_Receipt_Completion_Day__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Deposit_Receipt_Completion_Day__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | </lightning-layout> |
| | | </lightning-accordion-section> |
| | | <lightning-accordion-section label="营业许可证书状况" name="B"> |
| | | <lightning-accordion-section |
| | | label="营业许可证书状况" |
| | | name="B" |
| | | > |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Business_Authorization_No__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Business_Authorization_No__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Business_Paper_Expiration_Date__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Business_Paper_Expiration_Date__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Tax_Practice_No__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Tax_Practice_No__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Tax_Practice_Expiration_Date__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Tax_Practice_Expiration_Date__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Medical_Equipment_Num__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Medical_Equipment_Num__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Medical_Equipment_Expiration_Date__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Medical_Equipment_Expiration_Date__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | </lightning-layout> |
| | | </lightning-accordion-section> |
| | | <lightning-accordion-section label="地址信息" name="C"> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Postal_Code__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Postal_Code__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Phone"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Phone" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Address_Together__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Address_Together__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Fax"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Fax" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | </lightning-layout> |
| | | </lightning-accordion-section> |
| | | </lightning-record-view-form> |
| | |
| | | import { LightningElement,track } from 'lwc'; |
| | | import { LightningElement, track } from 'lwc'; |
| | | import initAgency from '@salesforce/apex/LexTopPageController.initAgency'; |
| | | |
| | | export default class LexAgencyInfo extends LightningElement { |
| | |
| | | init() { |
| | | this.showSpinner = true; |
| | | initAgency() |
| | | .then(result => { |
| | | .then((result) => { |
| | | this.showPage = true; |
| | | this.isNoteStay = result.isNoteStay; |
| | | if (result.result == 'Success') { |
| | |
| | | this.showSpinner = false; |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log("Error:" + result.errorMsg); |
| | | this.showMyToast('初始化页面失败', result.errorMsg, 'error'); |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast( |
| | | '初始化页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | .catch(error => { |
| | | .catch((error) => { |
| | | this.showSpinner = false; |
| | | console.log("Error:" + error); |
| | | this.showMyToast('初始化页面失败', JSON.stringify(error), 'error'); |
| | | }) |
| | | console.log('Error:' + error); |
| | | this.showMyToast( |
| | | '初始化页面失败', |
| | | JSON.stringify(error), |
| | | 'error' |
| | | ); |
| | | }); |
| | | } |
| | | |
| | | showMyToast(title, message, variant) { |
| | | console.log('show custom message'); |
| | | var iconName = ''; |
| | | var content = ''; |
| | | if(variant == 'success'){ |
| | | iconName = 'utility:check'; |
| | | }else{ |
| | | iconName = 'utility:error'; |
| | | if (variant == 'success') { |
| | | iconName = 'utility:check'; |
| | | } else { |
| | | iconName = 'utility:error'; |
| | | } |
| | | if(message != ''){ |
| | | content = '<h2><strong>'+title+'<strong/></h2><h5>'+message+'</h5>'; |
| | | }else{ |
| | | content = '<h2><strong>'+title+'<strong/></h2>'; |
| | | if (message != '') { |
| | | content = |
| | | '<h2><strong>' + |
| | | title + |
| | | '<strong/></h2><h5>' + |
| | | message + |
| | | '</h5>'; |
| | | } else { |
| | | content = '<h2><strong>' + title + '<strong/></h2>'; |
| | | } |
| | | this.template.querySelector('c-common-toast'). |
| | | showToast(variant,content,iconName,10000); |
| | | this.template |
| | | .querySelector('c-common-toast') |
| | | .showToast(variant, content, iconName, 10000); |
| | | // var mode; |
| | | // if(this.isNoteStay){ |
| | | // mode ='sticky'; |
| | |
| | | // mode: mode |
| | | // }); |
| | | // this.dispatchEvent(evt); |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <template if:true={isShowInputField}> |
| | | <lightning-record-edit-form object-api-name="Agency_Opportunity__c"> |
| | | <lightning-input-field field-name={fieldName} variant="label-hidden" value={inputValue} onchange={inputChange}></lightning-input-field> |
| | | <lightning-input-field |
| | | field-name={fieldName} |
| | | variant="label-hidden" |
| | | value={inputValue} |
| | | onchange={inputChange} |
| | | ></lightning-input-field> |
| | | </lightning-record-edit-form> |
| | | </template> |
| | | <template if:false={isShowInputField}> |
| | | <lightning-record-view-form record-id={recordId} object-api-name="Agency_Opportunity__c"> |
| | | <lightning-output-field variant="label-hidden" field-name={fieldName}></lightning-output-field> |
| | | <lightning-record-view-form |
| | | record-id={recordId} |
| | | object-api-name="Agency_Opportunity__c" |
| | | > |
| | | <lightning-output-field |
| | | variant="label-hidden" |
| | | field-name={fieldName} |
| | | ></lightning-output-field> |
| | | </lightning-record-view-form> |
| | | </template> |
| | | </template> |
| | |
| | | import { LightningElement,api } from 'lwc'; |
| | | import { LightningElement, api } from 'lwc'; |
| | | |
| | | export default class LexAgencyOppCusCell extends LightningElement { |
| | | @api recordId; |
| | |
| | | @api inputValue; |
| | | @api showType; |
| | | |
| | | get isShowInputField(){ |
| | | if(this.showType == 'inputField'){ |
| | | get isShowInputField() { |
| | | if (this.showType == 'inputField') { |
| | | return true; |
| | | }else { |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | inputChange(event){ |
| | | inputChange(event) { |
| | | this.inputValue = event.detail.value; |
| | | |
| | | this.dispatchEvent(new CustomEvent('inputchange', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: {recordId:this.recordId,fieldName:this.fieldName,inputValue:this.inputValue,showType:this.showType} |
| | | } |
| | | })); |
| | | this.dispatchEvent( |
| | | new CustomEvent('inputchange', { |
| | | composed: true, |
| | | bubbles: true, |
| | | cancelable: true, |
| | | detail: { |
| | | data: { |
| | | recordId: this.recordId, |
| | | fieldName: this.fieldName, |
| | | inputValue: this.inputValue, |
| | | showType: this.showType |
| | | } |
| | | } |
| | | }) |
| | | ); |
| | | } |
| | | } |
| | |
| | | <template if:true={showSpinner}> |
| | | <!-- <lightning-spinner size="medium" variant="brand"></lightning-spinner> --> |
| | | <div class="slds-spinner_container"> |
| | | <div role="status" class="slds-spinner slds-spinner_medium slds-spinner_brand"> |
| | | <div |
| | | role="status" |
| | | class="slds-spinner slds-spinner_medium slds-spinner_brand" |
| | | > |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | |
| | | </template> |
| | | <c-common-toast></c-common-toast> |
| | | <template if:true={showPage}> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;"> |
| | | <div style="padding:10px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | " |
| | | > |
| | | <div style="padding: 10px"> |
| | | <!-- 按钮 --> |
| | | <!-- <lightning-button style="margin: 5px;" label="入库" onclick={orderArrive}></lightning-button> |
| | | <lightning-button style="margin: 5px;" label="返品" onclick={orderReturn}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;margin-right: 150px;" label="入库" onclick={orderArrive}>入库</button> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;" label="返品" onclick={orderReturn}>返品</button> |
| | | <p style="height: 10px;"></p> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px; margin-right: 150px" |
| | | label="入库" |
| | | onclick={orderArrive} |
| | | > |
| | | 入库 |
| | | </button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px" |
| | | label="返品" |
| | | onclick={orderReturn} |
| | | > |
| | | 返品 |
| | | </button> |
| | | <p style="height: 10px"></p> |
| | | <!-- 检索条件 --> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div style="border-bottom: 1px solid #d4d4d4; padding: 3px"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | |
| | | </lightning-layout> |
| | | <!-- <p style="font-size: 16px;"><strong>检索条件</strong></p> --> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <div style="padding: 10px"> |
| | | <table> |
| | | <tbody> |
| | | <tr> |
| | | <td style="width: 10px;"></td> |
| | | <td style="width: 120px;"> |
| | | <div style="color:#696969;font-size:16px;text-align: left;">消耗品订单名称</div> |
| | | <td style="width: 10px"></td> |
| | | <td style="width: 120px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | text-align: left; |
| | | " |
| | | > |
| | | 消耗品订单名称 |
| | | </div> |
| | | </td> |
| | | <td> |
| | | <lightning-input class="inputFont" type="text" variant="label-hidden" label="消耗品订单名称" value={category1} onchange={category1Change}></lightning-input> |
| | | <lightning-input |
| | | class="inputFont" |
| | | type="text" |
| | | variant="label-hidden" |
| | | label="消耗品订单名称" |
| | | value={category1} |
| | | onchange={category1Change} |
| | | ></lightning-input> |
| | | </td> |
| | | <td style="width: 30px;"></td> |
| | | <td style="width: 108px;"> |
| | | <div style="color:#696969;font-size:16px;text-align: left;">最新发货日期</div> |
| | | <td style="width: 30px"></td> |
| | | <td style="width: 108px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | text-align: left; |
| | | " |
| | | > |
| | | 最新发货日期 |
| | | </div> |
| | | </td> |
| | | <td> |
| | | <lightning-input class="inputFont" type="date" variant="label-hidden" label="最新发货日期" value={cate2} onchange={cate2Change}></lightning-input> |
| | | <lightning-input |
| | | class="inputFont" |
| | | type="date" |
| | | variant="label-hidden" |
| | | label="最新发货日期" |
| | | value={cate2} |
| | | onchange={cate2Change} |
| | | ></lightning-input> |
| | | </td> |
| | | <td style="width: 30px;"></td> |
| | | <td style="width: 30px"></td> |
| | | <td> |
| | | <!-- <lightning-button style="margin-left: 10px;margin-right: 5px;" label="搜索" onclick={search}></lightning-button> |
| | | <lightning-button style="margin-left: 5px;margin-right: 5px;" label="清空" onclick={clear}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" style="height:32px;margin-right: 30px;" label="搜索" onclick={search}>搜索</button> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" style="height:32px;" label="清空" onclick={clear}>清空</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | style=" |
| | | height: 32px; |
| | | margin-right: 30px; |
| | | " |
| | | label="搜索" |
| | | onclick={search} |
| | | > |
| | | 搜索 |
| | | </button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" |
| | | style="height: 32px" |
| | | label="清空" |
| | | onclick={clear} |
| | | > |
| | | 清空 |
| | | </button> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | |
| | | </div> |
| | | </div> |
| | | <!-- 订单明细 --> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div style="border-bottom: 1px solid #d4d4d4; padding: 3px"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | |
| | | </lightning-layout> |
| | | <!-- <p style="font-size: 16px;"><strong>订单明细</strong></p> --> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <div style="padding: 10px"> |
| | | <!-- <lightning-datatable hide-checkbox-column key-field="id" columns={colms} data={raesList}></lightning-datatable> --> |
| | | <c-lex-custom-lightning-datatable class="wrapped-header-datatable" hide-checkbox-column key-field="Id" data={raesList} columns={colms} onclicklink={clickLick}></c-lex-custom-lightning-datatable> |
| | | <c-lex-custom-lightning-datatable |
| | | class="wrapped-header-datatable" |
| | | hide-checkbox-column |
| | | key-field="Id" |
| | | data={raesList} |
| | | columns={colms} |
| | | onclicklink={clickLick} |
| | | ></c-lex-custom-lightning-datatable> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | <!-- 订单各种数量信息弹窗 --> |
| | | <template if:true={showPop}> |
| | | <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open slds-modal_small" style="border: 1px solid #D4D4D4;"> |
| | | <section |
| | | role="dialog" |
| | | tabindex="-1" |
| | | aria-labelledby="modal-heading-01" |
| | | aria-modal="true" |
| | | aria-describedby="modal-content-id-1" |
| | | class="slds-modal slds-fade-in-open slds-modal_small" |
| | | style="border: 1px solid #d4d4d4" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <header class="slds-modal__header" style="background-color: #F3F3F3;"> |
| | | <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={closePop}> |
| | | <lightning-icon icon-name="utility:close" |
| | | <header |
| | | class="slds-modal__header" |
| | | style="background-color: #f3f3f3" |
| | | > |
| | | <button |
| | | style="" |
| | | class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" |
| | | title="Close" |
| | | onclick={closePop} |
| | | > |
| | | <lightning-icon |
| | | icon-name="utility:close" |
| | | alternative-text="close" |
| | | variant="inverse" |
| | | size="small" ></lightning-icon> |
| | | size="small" |
| | | ></lightning-icon> |
| | | <span class="slds-assistive-text">Close</span> |
| | | </button> |
| | | <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">{popTitle}</h2> |
| | | <h2 |
| | | id="modal-heading-01" |
| | | class="slds-text-heading_medium slds-hyphenate" |
| | | > |
| | | {popTitle} |
| | | </h2> |
| | | </header> |
| | | <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style="border: 1px solid #F3F3F3;"> |
| | | <lightning-datatable class="wrapped-header-datatable" hide-checkbox-column key-field="prodModel" columns={colms2} data={recordList}></lightning-datatable> |
| | | <div |
| | | class="slds-modal__content slds-p-around_medium" |
| | | id="modal-content-id-1" |
| | | style="border: 1px solid #f3f3f3" |
| | | > |
| | | <lightning-datatable |
| | | class="wrapped-header-datatable" |
| | | hide-checkbox-column |
| | | key-field="prodModel" |
| | | columns={colms2} |
| | | data={recordList} |
| | | ></lightning-datatable> |
| | | </div> |
| | | <footer class="slds-modal__footer"> |
| | | <!-- <lightning-button style="margin-left: 10px;" variant="neutral" label="关闭" onclick={closePop}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" style="margin-left: 10px;" variant="neutral" label="关闭" onclick={closePop}>关闭</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" |
| | | style="margin-left: 10px" |
| | | variant="neutral" |
| | | label="关闭" |
| | | onclick={closePop} |
| | | > |
| | | 关闭 |
| | | </button> |
| | | </footer> |
| | | </div> |
| | | </section> |
| | |
| | | import { LightningElement,wire,api,track } from 'lwc'; |
| | | import { LightningElement, wire, api, track } from 'lwc'; |
| | | import { CurrentPageReference } from 'lightning/navigation'; |
| | | import { ShowToastEvent } from 'lightning/platformShowToastEvent'; |
| | | import { NavigationMixin } from 'lightning/navigation'; |
| | |
| | | import initNotArrDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initNotArrDetAll'; |
| | | import initMoreThan7 from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7'; |
| | | import initMoreThan7All from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7All'; |
| | | //table css |
| | | import { loadStyle } from "lightning/platformResourceLoader"; |
| | | import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable"; |
| | | //table css |
| | | import { loadStyle } from 'lightning/platformResourceLoader'; |
| | | import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable'; |
| | | |
| | | export default class LexArriveGoodsMain extends NavigationMixin(LightningElement) { |
| | | export default class LexArriveGoodsMain extends NavigationMixin( |
| | | LightningElement |
| | | ) { |
| | | //页面基础变量 |
| | | @track agencyProType; |
| | | @track category1; |
| | |
| | | // {label:'待系统操作入库数量',fieldName:'Delivery_detail_count__c'}, |
| | | // {label:'还没发货数量',fieldName:'OrderNumber_notarrive__c'}, |
| | | // {label:'发货七天还未到货数',fieldName:'More_than_seven_days__c'}, |
| | | {label:'消耗品订单名称', |
| | | type: "customOutputGood", |
| | | { |
| | | label: '消耗品订单名称', |
| | | type: 'customOutputGood', |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "Name" }, |
| | | outputValue: { fieldName: 'Name' }, |
| | | type: 'Title', |
| | | recordId: { fieldName: "Id" } |
| | | recordId: { fieldName: 'Id' } |
| | | }, |
| | | hideDefaultActions: true,initialWidth:200,wrapText:true}, |
| | | {label:'SAP合同号',fieldName:'ContractNo__c',hideDefaultActions: true,wrapText:true,initialWidth:180}, |
| | | {label:'订单总数', |
| | | type: "customOutputGood", |
| | | hideDefaultActions: true, |
| | | initialWidth: 200, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: 'SAP合同号', |
| | | fieldName: 'ContractNo__c', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 180 |
| | | }, |
| | | { |
| | | label: '订单总数', |
| | | type: 'customOutputGood', |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "Total_num__c" }, |
| | | outputValue: { fieldName: 'Total_num__c' }, |
| | | type: 'TotalNum', |
| | | recordId: { fieldName: "Id" } |
| | | recordId: { fieldName: 'Id' } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 100,cellAttributes: { alignment: "right" }}, |
| | | {label:'已到货数量', |
| | | type: "customOutputGood", |
| | | hideDefaultActions: true, |
| | | initialWidth: 100, |
| | | cellAttributes: { alignment: 'right' } |
| | | }, |
| | | { |
| | | label: '已到货数量', |
| | | type: 'customOutputGood', |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "OrderNumber_arrived__c" }, |
| | | outputValue: { fieldName: 'OrderNumber_arrived__c' }, |
| | | type: 'ArrDet', |
| | | recordId: { fieldName: "Id" } |
| | | recordId: { fieldName: 'Id' } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 110,cellAttributes: { alignment: "right" }}, |
| | | {label:'待系统操作入库数量', |
| | | type: "customOutputGood", |
| | | hideDefaultActions: true, |
| | | initialWidth: 110, |
| | | cellAttributes: { alignment: 'right' } |
| | | }, |
| | | { |
| | | label: '待系统操作入库数量', |
| | | type: 'customOutputGood', |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "Delivery_detail_count__c" }, |
| | | outputValue: { fieldName: 'Delivery_detail_count__c' }, |
| | | type: 'DeliveryDet', |
| | | recordId: { fieldName: "Id" } |
| | | recordId: { fieldName: 'Id' } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 180,cellAttributes: { alignment: "right" }}, |
| | | {label:'还没发货数量', |
| | | type: "customOutputGood", |
| | | hideDefaultActions: true, |
| | | initialWidth: 180, |
| | | cellAttributes: { alignment: 'right' } |
| | | }, |
| | | { |
| | | label: '还没发货数量', |
| | | type: 'customOutputGood', |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "OrderNumber_notarrive__c" }, |
| | | outputValue: { fieldName: 'OrderNumber_notarrive__c' }, |
| | | type: 'NotArrDet', |
| | | recordId: { fieldName: "Id" } |
| | | recordId: { fieldName: 'Id' } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 120,cellAttributes: { alignment: "right" }}, |
| | | {label:'发货七天还未到货数', |
| | | type: "customOutputGood", |
| | | hideDefaultActions: true, |
| | | initialWidth: 120, |
| | | cellAttributes: { alignment: 'right' } |
| | | }, |
| | | { |
| | | label: '发货七天还未到货数', |
| | | type: 'customOutputGood', |
| | | typeAttributes: { |
| | | outputValue: { fieldName: "More_than_seven_days__c" }, |
| | | outputValue: { fieldName: 'More_than_seven_days__c' }, |
| | | type: 'MoreThan7', |
| | | recordId: { fieldName: "Id" } |
| | | recordId: { fieldName: 'Id' } |
| | | }, |
| | | hideDefaultActions: true, initialWidth: 180,cellAttributes: { alignment: "right" }}, |
| | | {label:'最新发货日期',fieldName:'Shipment_date__c',hideDefaultActions: true, initialWidth: 140}, |
| | | {label:'首次发货日期',fieldName:'First_Delivery__c',hideDefaultActions: true, initialWidth: 140} |
| | | hideDefaultActions: true, |
| | | initialWidth: 180, |
| | | cellAttributes: { alignment: 'right' } |
| | | }, |
| | | { |
| | | label: '最新发货日期', |
| | | fieldName: 'Shipment_date__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 140 |
| | | }, |
| | | { |
| | | label: '首次发货日期', |
| | | fieldName: 'First_Delivery__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 140 |
| | | } |
| | | ]; |
| | | |
| | | @track colms2 = [ |
| | | {label:'产品型号',fieldName:'prodModel',hideDefaultActions: true}, |
| | | {label:'数量',fieldName:'recordCount',hideDefaultActions: true,initialWidth: 100} |
| | | { label: '产品型号', fieldName: 'prodModel', hideDefaultActions: true }, |
| | | { |
| | | label: '数量', |
| | | fieldName: 'recordCount', |
| | | hideDefaultActions: true, |
| | | initialWidth: 100 |
| | | } |
| | | ]; |
| | | |
| | | //获取参数 |
| | |
| | | // } |
| | | // } |
| | | |
| | | renderedCallback(){ |
| | | renderedCallback() { |
| | | if (!this.stylesLoaded) { |
| | | Promise.all([loadStyle(this, WrappedHeaderTable)]) |
| | | .then(() => { |
| | | console.log("Custom styles loaded"); |
| | | console.log('Custom styles loaded'); |
| | | this.stylesLoaded = true; |
| | | }) |
| | | .catch((error) => { |
| | | console.error("Error loading custom styles"); |
| | | console.error('Error loading custom styles'); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | //初始化 |
| | | connectedCallback(){ |
| | | init() |
| | | .then(result=>{ |
| | | this.isNoteStay = result.isNoteStay; |
| | | if(result.result == 'Success'){ |
| | | this.agencyProType = result.agencyProType; |
| | | this.accountId = result.accountId; |
| | | this.title = result.title; |
| | | this.userWorkLocation = result.userWorkLocation; |
| | | this.totalNum = result.totalNum; |
| | | this.orderNumberArrived = result.orderNumberArrived; |
| | | this.deliveryDetailCount = result.deliveryDetailCount; |
| | | this.orderNumberNotarrive = result.orderNumberNotarrive; |
| | | this.moreThanSevenDays = result.moreThanSevenDays; |
| | | this.raesList = result.raesList; |
| | | this.raesList.push({Id:'1',Name:'订单明细汇总',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays}); |
| | | this.showSpinner = false; |
| | | this.showPage = true; |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('初始化页面失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | connectedCallback() { |
| | | init().then((result) => { |
| | | this.isNoteStay = result.isNoteStay; |
| | | if (result.result == 'Success') { |
| | | this.agencyProType = result.agencyProType; |
| | | this.accountId = result.accountId; |
| | | this.title = result.title; |
| | | this.userWorkLocation = result.userWorkLocation; |
| | | this.totalNum = result.totalNum; |
| | | this.orderNumberArrived = result.orderNumberArrived; |
| | | this.deliveryDetailCount = result.deliveryDetailCount; |
| | | this.orderNumberNotarrive = result.orderNumberNotarrive; |
| | | this.moreThanSevenDays = result.moreThanSevenDays; |
| | | this.raesList = result.raesList; |
| | | this.raesList.push({ |
| | | Id: '1', |
| | | Name: '订单明细汇总', |
| | | Total_num__c: this.totalNum, |
| | | OrderNumber_arrived__c: this.orderNumberArrived, |
| | | Delivery_detail_count__c: this.deliveryDetailCount, |
| | | OrderNumber_notarrive__c: this.orderNumberNotarrive, |
| | | More_than_seven_days__c: this.moreThanSevenDays |
| | | }); |
| | | this.showSpinner = false; |
| | | this.showPage = true; |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('初始化页面失败', result.errorMsg, 'error'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //点击链接 |
| | | clickLick(event){ |
| | | clickLick(event) { |
| | | var outputValue = event.detail.data.value; |
| | | var outputType = event.detail.data.type; |
| | | var recordId = event.detail.data.recordId; |
| | | console.log("click:"+outputValue+"---"+outputType+"---"+recordId); |
| | | if(outputType == 'Title'){ |
| | | console.log( |
| | | 'click:' + outputValue + '---' + outputType + '---' + recordId |
| | | ); |
| | | if (outputType == 'Title') { |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: '/lexarrivegoods?ESetId='+recordId |
| | | url: '/lexarrivegoods?ESetId=' + recordId |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | }else if(outputType == 'TotalNum'){ |
| | | } else if (outputType == 'TotalNum') { |
| | | this.popTitle = '所有产品一览'; |
| | | initTotalNum({ordId:recordId, type:'all'}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | initTotalNum({ ordId: recordId, type: 'all' }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | // this.recordList = result.recordList; |
| | | var dataStr = JSON.stringify(result.recordList); |
| | | this.recordList = JSON.parse(dataStr); |
| | | console.log('data:'+JSON.stringify(this.recordList)); |
| | | console.log('data:' + JSON.stringify(this.recordList)); |
| | | this.showPop = true; |
| | | }else{ |
| | | this.showMyToast('加载所有产品一览页面失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '加载所有产品一览页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | }else if(outputType == 'ArrDet'){ |
| | | if(recordId == '1'){ |
| | | }); |
| | | } else if (outputType == 'ArrDet') { |
| | | if (recordId == '1') { |
| | | this.popTitle = '所有已到货产品一览'; |
| | | initArrDetAll({type:'all'}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | initArrDetAll({ type: 'all' }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | // this.recordList = result.recordList; |
| | | var dataStr = JSON.stringify(result.recordList); |
| | | this.recordList = JSON.parse(dataStr); |
| | | console.log('data:'+JSON.stringify(this.recordList)); |
| | | console.log('data:' + JSON.stringify(this.recordList)); |
| | | this.showPop = true; |
| | | }else{ |
| | | this.showMyToast('加载所有已到货产品一览页面失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '加载所有已到货产品一览页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | }else{ |
| | | }); |
| | | } else { |
| | | this.popTitle = '已到货产品一览'; |
| | | initArrDet({orderId:recordId}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | initArrDet({ orderId: recordId }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.recordList = result.recordList; |
| | | console.log('data:'+JSON.stringify(this.recordList)); |
| | | console.log('data:' + JSON.stringify(this.recordList)); |
| | | this.showPop = true; |
| | | }else{ |
| | | this.showMyToast('加载已到货产品一览页面失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '加载已到货产品一览页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }else if(outputType == 'DeliveryDet'){ |
| | | if(recordId == '1'){ |
| | | } else if (outputType == 'DeliveryDet') { |
| | | if (recordId == '1') { |
| | | this.popTitle = '所有已发货还没到货产品一览'; |
| | | initDeliveryDetAll({type:'all'}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | initDeliveryDetAll({ type: 'all' }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.recordList = result.recordList; |
| | | console.log('data:'+JSON.stringify(this.recordList)); |
| | | console.log('data:' + JSON.stringify(this.recordList)); |
| | | this.showPop = true; |
| | | }else{ |
| | | this.showMyToast('加载所有已发货还没到货产品一览页面失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '加载所有已发货还没到货产品一览页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | }else{ |
| | | }); |
| | | } else { |
| | | this.popTitle = '未到货产品一览'; |
| | | initDeliveryDet({orderId:recordId}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | initDeliveryDet({ orderId: recordId }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.recordList = result.recordList; |
| | | console.log('data:'+JSON.stringify(this.recordList)); |
| | | console.log('data:' + JSON.stringify(this.recordList)); |
| | | this.showPop = true; |
| | | }else{ |
| | | this.showMyToast('加载未到货产品一览页面失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '加载未到货产品一览页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }else if(outputType == 'NotArrDet'){ |
| | | if(recordId == '1'){ |
| | | } else if (outputType == 'NotArrDet') { |
| | | if (recordId == '1') { |
| | | this.popTitle = '所有还没发货产品一览'; |
| | | initNotArrDetAll({type:'all'}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | initNotArrDetAll({ type: 'all' }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.recordList = result.recordList; |
| | | console.log('data:'+JSON.stringify(this.recordList)); |
| | | console.log('data:' + JSON.stringify(this.recordList)); |
| | | this.showPop = true; |
| | | }else{ |
| | | this.showMyToast('加载所有还没发货产品一览页面失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '加载所有还没发货产品一览页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | }else{ |
| | | }); |
| | | } else { |
| | | this.popTitle = '还没发货数量'; |
| | | initNotArrDet({orderId:recordId}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | initNotArrDet({ orderId: recordId }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.recordList = result.recordList; |
| | | console.log('data:'+JSON.stringify(this.recordList)); |
| | | console.log('data:' + JSON.stringify(this.recordList)); |
| | | this.showPop = true; |
| | | }else{ |
| | | this.showMyToast('加载还没发货数量页面失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '加载还没发货数量页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | |
| | | }else if(outputType == 'MoreThan7'){ |
| | | if(recordId == '1'){ |
| | | } else if (outputType == 'MoreThan7') { |
| | | if (recordId == '1') { |
| | | this.popTitle = '所有发货七天还未到货数'; |
| | | initMoreThan7All({type:'all'}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | initMoreThan7All({ type: 'all' }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.recordList = result.recordList; |
| | | console.log('data:'+JSON.stringify(this.recordList)); |
| | | console.log('data:' + JSON.stringify(this.recordList)); |
| | | this.showPop = true; |
| | | }else{ |
| | | this.showMyToast('加载所有发货七天还未到货数页面失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '加载所有发货七天还未到货数页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | }else{ |
| | | }); |
| | | } else { |
| | | this.popTitle = '发货七天还未到货数'; |
| | | initMoreThan7({orderId:recordId}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | initMoreThan7({ orderId: recordId }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.recordList = result.recordList; |
| | | console.log('data:'+JSON.stringify(this.recordList)); |
| | | console.log('data:' + JSON.stringify(this.recordList)); |
| | | this.showPop = true; |
| | | }else{ |
| | | this.showMyToast('加载发货七天还未到货数页面失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '加载发货七天还未到货数页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //关闭弹窗 |
| | | closePop(){ |
| | | closePop() { |
| | | this.showPop = false; |
| | | } |
| | | |
| | | //消耗品订单名称变更 |
| | | category1Change(event){ |
| | | category1Change(event) { |
| | | this.category1 = event.detail.value; |
| | | } |
| | | |
| | | |
| | | //最新发货日期变更 |
| | | cate2Change(event){ |
| | | cate2Change(event) { |
| | | this.cate2 = event.detail.value; |
| | | } |
| | | |
| | | |
| | | //检索 |
| | | search(){ |
| | | search() { |
| | | this.showSpinner = true; |
| | | searchConsumableorderdetails({ |
| | | category1Str:this.category1, |
| | | cate2Str:this.cate2, |
| | | accountidStr:this.accountId, |
| | | userWorkLocationStr:this.userWorkLocation, |
| | | agencyProTypeStr:this.agencyProType}) |
| | | .then(result=>{ |
| | | category1Str: this.category1, |
| | | cate2Str: this.cate2, |
| | | accountidStr: this.accountId, |
| | | userWorkLocationStr: this.userWorkLocation, |
| | | agencyProTypeStr: this.agencyProType |
| | | }).then((result) => { |
| | | this.showSpinner = false; |
| | | if(result.result == 'Success'){ |
| | | if (result.result == 'Success') { |
| | | this.raesList = result.raesList; |
| | | this.raesList.push({Id:'1',Name:'订单明细汇总',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays}); |
| | | if(this.raesList.length > 1){ |
| | | this.raesList.push({ |
| | | Id: '1', |
| | | Name: '订单明细汇总', |
| | | Total_num__c: this.totalNum, |
| | | OrderNumber_arrived__c: this.orderNumberArrived, |
| | | Delivery_detail_count__c: this.deliveryDetailCount, |
| | | OrderNumber_notarrive__c: this.orderNumberNotarrive, |
| | | More_than_seven_days__c: this.moreThanSevenDays |
| | | }); |
| | | if (this.raesList.length > 1) { |
| | | var count = this.raesList.length - 1; |
| | | this.showMyToast('搜索成功','共搜索到'+count+'条数据','success'); |
| | | }else{ |
| | | this.showMyToast('未搜索到数据','','error'); |
| | | this.showMyToast( |
| | | '搜索成功', |
| | | '共搜索到' + count + '条数据', |
| | | 'success' |
| | | ); |
| | | } else { |
| | | this.showMyToast('未搜索到数据', '', 'error'); |
| | | } |
| | | }else{ |
| | | this.showMyToast('搜索失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast('搜索失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | |
| | | |
| | | //清空搜索框 |
| | | clear(){ |
| | | clear() { |
| | | this.showSpinner = true; |
| | | this.category1 = ''; |
| | | this.cate2 = null; |
| | | searchConsumableorderdetails({ |
| | | category1Str:this.category1, |
| | | cate2Str:this.cate2, |
| | | accountidStr:this.accountId, |
| | | userWorkLocationStr:this.userWorkLocation, |
| | | agencyProTypeStr:this.agencyProType}) |
| | | .then(result=>{ |
| | | category1Str: this.category1, |
| | | cate2Str: this.cate2, |
| | | accountidStr: this.accountId, |
| | | userWorkLocationStr: this.userWorkLocation, |
| | | agencyProTypeStr: this.agencyProType |
| | | }).then((result) => { |
| | | this.showSpinner = false; |
| | | if(result.result == 'Success'){ |
| | | if (result.result == 'Success') { |
| | | this.raesList = result.raesList; |
| | | this.raesList.push({Id:'1',Name:'订单明细汇总',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays}); |
| | | if(this.raesList.length > 1){ |
| | | this.raesList.push({ |
| | | Id: '1', |
| | | Name: '订单明细汇总', |
| | | Total_num__c: this.totalNum, |
| | | OrderNumber_arrived__c: this.orderNumberArrived, |
| | | Delivery_detail_count__c: this.deliveryDetailCount, |
| | | OrderNumber_notarrive__c: this.orderNumberNotarrive, |
| | | More_than_seven_days__c: this.moreThanSevenDays |
| | | }); |
| | | if (this.raesList.length > 1) { |
| | | var count = this.raesList.length - 1; |
| | | this.showMyToast('搜索成功','共搜索到'+count+'条数据','success'); |
| | | }else{ |
| | | this.showMyToast('未搜索到数据','','error'); |
| | | this.showMyToast( |
| | | '搜索成功', |
| | | '共搜索到' + count + '条数据', |
| | | 'success' |
| | | ); |
| | | } else { |
| | | this.showMyToast('未搜索到数据', '', 'error'); |
| | | } |
| | | }else{ |
| | | this.showMyToast('搜索失败',result.errorMsg,'error'); |
| | | } else { |
| | | this.showMyToast('搜索失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | |
| | | //入库 |
| | | orderArrive(){ |
| | | orderArrive() { |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: '/lexarrivegoods?ArrType=Arr' |
| | | url: '/lexarrivegoods?ArrType=Arr' |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } |
| | | |
| | | |
| | | //返品 |
| | | orderReturn(){ |
| | | orderReturn() { |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: '/lexarrivegoods?ArrType=ReG' |
| | | url: '/lexarrivegoods?ArrType=ReG' |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | |
| | | console.log('show custom message'); |
| | | var iconName = ''; |
| | | var content = ''; |
| | | if(variant == 'success'){ |
| | | iconName = 'utility:check'; |
| | | }else{ |
| | | iconName = 'utility:error'; |
| | | if (variant == 'success') { |
| | | iconName = 'utility:check'; |
| | | } else { |
| | | iconName = 'utility:error'; |
| | | } |
| | | if(message != ''){ |
| | | content = '<h2><strong>'+title+'<strong/></h2><h5>'+message+'</h5>'; |
| | | }else{ |
| | | content = '<h2><strong>'+title+'<strong/></h2>'; |
| | | if (message != '') { |
| | | content = |
| | | '<h2><strong>' + |
| | | title + |
| | | '<strong/></h2><h5>' + |
| | | message + |
| | | '</h5>'; |
| | | } else { |
| | | content = '<h2><strong>' + title + '<strong/></h2>'; |
| | | } |
| | | this.template.querySelector('c-common-toast'). |
| | | showToast(variant,content,iconName,10000); |
| | | this.template |
| | | .querySelector('c-common-toast') |
| | | .showToast(variant, content, iconName, 10000); |
| | | // var mode; |
| | | // if(this.isNoteStay){ |
| | | // mode ='sticky'; |
| | |
| | | // mode: mode |
| | | // }); |
| | | // this.dispatchEvent(evt); |
| | | } |
| | | } |
| | | } |
| | |
| | | <template if:true={showSpinner}> |
| | | <!-- <lightning-spinner size="medium" variant="brand"></lightning-spinner> --> |
| | | <div class="slds-spinner_container"> |
| | | <div role="status" class="slds-spinner slds-spinner_medium slds-spinner_brand"> |
| | | <div |
| | | role="status" |
| | | class="slds-spinner slds-spinner_medium slds-spinner_brand" |
| | | > |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | |
| | | </template> |
| | | <c-common-toast></c-common-toast> |
| | | <template if:true={showPage}> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | " |
| | | > |
| | | <div style="border-bottom: 1px solid #d4d4d4; padding: 3px"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | |
| | | </lightning-layout> |
| | | <!-- <p style="font-size: 16px;"><strong>到货</strong></p> --> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <div style="padding: 10px"> |
| | | <!-- 按钮 --> |
| | | <!-- <lightning-button style="margin: 5px;" label="出库" onclick={proSale} disabled={arrivetoorder}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;" label="出库" onclick={proSale} disabled={arrivetoorder}>出库</button> |
| | | <p style="height: 10px;"></p> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px" |
| | | label="出库" |
| | | onclick={proSale} |
| | | disabled={arrivetoorder} |
| | | > |
| | | 出库 |
| | | </button> |
| | | <p style="height: 10px"></p> |
| | | <!-- 到货订单信息 --> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div style="border-bottom: 1px solid #d4d4d4; padding: 3px"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | |
| | | </lightning-layout> |
| | | <!-- <p style="font-size: 16px;"><strong>到货订单信息</strong></p> --> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <div style="padding: 10px"> |
| | | <table> |
| | | <tbody> |
| | | <tr> |
| | | <td style="width:10px;"></td> |
| | | <td style="width:140px;"> |
| | | <div style="color:#696969;font-size:16px;">到货订单名称</div> |
| | | <td style="width: 10px"></td> |
| | | <td style="width: 140px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | " |
| | | > |
| | | 到货订单名称 |
| | | </div> |
| | | </td> |
| | | <td style="width:200px;"> |
| | | <lightning-formatted-text style="font-size: 16px;" value={coc.Name}></lightning-formatted-text> |
| | | <td style="width: 200px"> |
| | | <lightning-formatted-text |
| | | style="font-size: 16px" |
| | | value={coc.Name} |
| | | ></lightning-formatted-text> |
| | | </td> |
| | | <td style="width:30px;"></td> |
| | | <td style="width:140px;"> |
| | | <div style="color:#696969;font-size:16px;">本次入库产品金额</div> |
| | | <td style="width: 30px"></td> |
| | | <td style="width: 140px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | " |
| | | > |
| | | 本次入库产品金额 |
| | | </div> |
| | | </td> |
| | | <td style="width:100px;"> |
| | | <lightning-formatted-number style="font-size: 16px;" value={coc.Arrive_total_amount__c} minimum-fraction-digits="2"></lightning-formatted-number> |
| | | <td style="width: 100px"> |
| | | <lightning-formatted-number |
| | | style="font-size: 16px" |
| | | value={coc.Arrive_total_amount__c} |
| | | minimum-fraction-digits="2" |
| | | ></lightning-formatted-number> |
| | | </td> |
| | | <td></td> |
| | | </tr> |
| | | <tr style="height: 20px;"></tr> |
| | | <tr style="height: 20px"></tr> |
| | | <tr> |
| | | <td style="width:10px;"></td> |
| | | <td style="width:120px;"> |
| | | <div style="color:#696969;font-size:16px;">消耗品订单名称<lightning-helptext style="--lwc-spacingXxSmall:0px;" content={label.helpText}></lightning-helptext></div> |
| | | <td style="width: 10px"></td> |
| | | <td style="width: 120px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | " |
| | | > |
| | | 消耗品订单名称<lightning-helptext |
| | | style=" |
| | | --lwc-spacingXxSmall: 0px; |
| | | " |
| | | content={label.helpText} |
| | | ></lightning-helptext> |
| | | </div> |
| | | </td> |
| | | <td style="width:200px;"> |
| | | <a style="text-decoration: underline;color:black;" onclick={clickOrder}><lightning-formatted-text style="font-size: 16px;" value={coc.arriveOrder}></lightning-formatted-text></a> |
| | | <td style="width: 200px"> |
| | | <a |
| | | style=" |
| | | text-decoration: underline; |
| | | color: black; |
| | | " |
| | | onclick={clickOrder} |
| | | ><lightning-formatted-text |
| | | style="font-size: 16px" |
| | | value={coc.arriveOrder} |
| | | ></lightning-formatted-text |
| | | ></a> |
| | | <!-- <lightning-formatted-text value={coc.Arrive_Order__r.Name}></lightning-formatted-text> --> |
| | | </td> |
| | | <td></td> |
| | |
| | | </div> |
| | | </div> |
| | | <!-- 在库商品库存一览 --> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div style="border-bottom: 1px solid #d4d4d4; padding: 3px"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | |
| | | </lightning-layout> |
| | | <!-- <p style="font-size: 16px;"><strong>在库商品库存一览</strong></p> --> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <lightning-datatable class="wrapped-header-datatable" style="word-wrap:break-word; word-break:break-all;" hide-checkbox-column key-field="recordId" columns={colms} data={consumableorderdetailsRecords}></lightning-datatable> |
| | | <div style="padding: 10px"> |
| | | <lightning-datatable |
| | | class="wrapped-header-datatable" |
| | | style="word-wrap: break-word; word-break: break-all" |
| | | hide-checkbox-column |
| | | key-field="recordId" |
| | | columns={colms} |
| | | data={consumableorderdetailsRecords} |
| | | ></lightning-datatable> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | import { LightningElement,wire,track } from 'lwc'; |
| | | import { LightningElement, wire, track } from 'lwc'; |
| | | import { CurrentPageReference } from 'lightning/navigation'; |
| | | import { ShowToastEvent } from 'lightning/platformShowToastEvent'; |
| | | import { NavigationMixin } from 'lightning/navigation'; |
| | | import init from '@salesforce/apex/LexArriveGsDetailsController.init'; |
| | | import proSale from '@salesforce/apex/LexArriveGsDetailsController.proSale'; |
| | | import helpText from '@salesforce/label/c.LexArrivegsDetailsPageHelpText'; |
| | | //table css |
| | | import { loadStyle } from "lightning/platformResourceLoader"; |
| | | import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable"; |
| | | //table css |
| | | import { loadStyle } from 'lightning/platformResourceLoader'; |
| | | import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable'; |
| | | |
| | | export default class LexArriveGsDetails extends NavigationMixin(LightningElement) { |
| | | |
| | | export default class LexArriveGsDetails extends NavigationMixin( |
| | | LightningElement |
| | | ) { |
| | | @track eSetId; |
| | | @track showSpinner = true; |
| | | @track showPage = false; |
| | |
| | | //是否一直显示提示 |
| | | @track isNoteStay = true; |
| | | @track colms = [ |
| | | {label:'消耗品名称' , fieldName:'prodName', hideDefaultActions: true,wrapText:true}, |
| | | {label:'规格' , fieldName:'packing_list', hideDefaultActions: true,wrapText:true,initialWidth:50,cellAttributes: { alignment: "right" }}, |
| | | {label:'CFDA状态' , fieldName:'statusCFDA', hideDefaultActions: true,wrapText:true,initialWidth:100}, |
| | | {label:'注册证编码号' , fieldName:'approbation_No', hideDefaultActions: true,wrapText:true,initialWidth:125}, |
| | | {label:'注册证效期' , fieldName:'expiration_DateStr', hideDefaultActions: true,wrapText:true,initialWidth:115}, |
| | | {label:'使用期限' , fieldName:'Sterilization_limitStr', hideDefaultActions: true,wrapText:true,initialWidth:115}, |
| | | {label:'BarCode' , fieldName:'barCode', hideDefaultActions: true,initialWidth:250,wrapText:true}, |
| | | {label:'采购单价' ,type:'number',fieldName:'intraTradeList', hideDefaultActions: true,wrapText:true,initialWidth:120,typeAttributes:{minimumFractionDigits: 2},cellAttributes: { alignment: "right" }} |
| | | { |
| | | label: '消耗品名称', |
| | | fieldName: 'prodName', |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '规格', |
| | | fieldName: 'packing_list', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 50, |
| | | cellAttributes: { alignment: 'right' } |
| | | }, |
| | | { |
| | | label: 'CFDA状态', |
| | | fieldName: 'statusCFDA', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 100 |
| | | }, |
| | | { |
| | | label: '注册证编码号', |
| | | fieldName: 'approbation_No', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 125 |
| | | }, |
| | | { |
| | | label: '注册证效期', |
| | | fieldName: 'expiration_DateStr', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 115 |
| | | }, |
| | | { |
| | | label: '使用期限', |
| | | fieldName: 'Sterilization_limitStr', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 115 |
| | | }, |
| | | { |
| | | label: 'BarCode', |
| | | fieldName: 'barCode', |
| | | hideDefaultActions: true, |
| | | initialWidth: 250, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '采购单价', |
| | | type: 'number', |
| | | fieldName: 'intraTradeList', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 120, |
| | | typeAttributes: { minimumFractionDigits: 2 }, |
| | | cellAttributes: { alignment: 'right' } |
| | | } |
| | | ]; |
| | | label = {helpText}; |
| | | label = { helpText }; |
| | | |
| | | // 获取参数 |
| | | @wire(CurrentPageReference) |
| | |
| | | if (currentPageReference) { |
| | | this.eSetId = currentPageReference.state?.EsetId; |
| | | } |
| | | console.log('CurrentPageReference:'+this.eSetId); |
| | | console.log('CurrentPageReference:' + this.eSetId); |
| | | } |
| | | |
| | | renderedCallback(){ |
| | | renderedCallback() { |
| | | if (!this.stylesLoaded) { |
| | | Promise.all([loadStyle(this, WrappedHeaderTable)]) |
| | | .then(() => { |
| | | console.log("Custom styles loaded"); |
| | | console.log('Custom styles loaded'); |
| | | this.stylesLoaded = true; |
| | | }) |
| | | .catch((error) => { |
| | | console.error("Error loading custom styles"); |
| | | console.error('Error loading custom styles'); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //初始化 |
| | | connectedCallback(){ |
| | | init({eSetIdStr : this.eSetId}) |
| | | .then(result=>{ |
| | | this.showPage = true; |
| | | this.isNoteStay = result.isNoteStay; |
| | | if(result.result == 'Success'){ |
| | | this.coc = result.coc; |
| | | if(this.coc.Arrive_Order__c != null && this.coc.Arrive_Order__c != ''){ |
| | | this.coc['arriveOrder'] = this.coc.Arrive_Order__r.Name; |
| | | } |
| | | console.log('this.coc:'+JSON.stringify(this.coc)); |
| | | this.accountid = result.accountid; |
| | | this.orderallcount = result.orderallcount; |
| | | this.arrivetoorder = result.arrivetoorder; |
| | | this.consumableorderdetailsCount = result.consumableorderdetailsCount; |
| | | this.consumableorderdetailsRecords = result.consumableorderdetailsRecords; |
| | | for(var i in this.consumableorderdetailsRecords){ |
| | | if(this.consumableorderdetailsRecords[i].esd != null){ |
| | | this.consumableorderdetailsRecords[i]['recordId'] = this.consumableorderdetailsRecords[i].esd.Id; |
| | | if(this.consumableorderdetailsRecords[i].esd.Consumable_Product__c != null && this.consumableorderdetailsRecords[i].esd.Consumable_Product__c != ''){ |
| | | this.consumableorderdetailsRecords[i]['prodName'] = this.consumableorderdetailsRecords[i].esd.Consumable_Product__r.Name__c; |
| | | connectedCallback() { |
| | | init({ eSetIdStr: this.eSetId }) |
| | | .then((result) => { |
| | | this.showPage = true; |
| | | this.isNoteStay = result.isNoteStay; |
| | | if (result.result == 'Success') { |
| | | this.coc = result.coc; |
| | | if ( |
| | | this.coc.Arrive_Order__c != null && |
| | | this.coc.Arrive_Order__c != '' |
| | | ) { |
| | | this.coc['arriveOrder'] = this.coc.Arrive_Order__r.Name; |
| | | } |
| | | console.log('this.coc:' + JSON.stringify(this.coc)); |
| | | this.accountid = result.accountid; |
| | | this.orderallcount = result.orderallcount; |
| | | this.arrivetoorder = result.arrivetoorder; |
| | | this.consumableorderdetailsCount = |
| | | result.consumableorderdetailsCount; |
| | | this.consumableorderdetailsRecords = |
| | | result.consumableorderdetailsRecords; |
| | | for (var i in this.consumableorderdetailsRecords) { |
| | | if (this.consumableorderdetailsRecords[i].esd != null) { |
| | | this.consumableorderdetailsRecords[i]['recordId'] = |
| | | this.consumableorderdetailsRecords[i].esd.Id; |
| | | if ( |
| | | this.consumableorderdetailsRecords[i].esd |
| | | .Consumable_Product__c != null && |
| | | this.consumableorderdetailsRecords[i].esd |
| | | .Consumable_Product__c != '' |
| | | ) { |
| | | this.consumableorderdetailsRecords[i][ |
| | | 'prodName' |
| | | ] = |
| | | this.consumableorderdetailsRecords[ |
| | | i |
| | | ].esd.Consumable_Product__r.Name__c; |
| | | } |
| | | // this.consumableorderdetailsRecords[i]['prodName'] = this.consumableorderdetailsRecords[i].prodName; |
| | | this.consumableorderdetailsRecords[i]['barCode'] = |
| | | this.consumableorderdetailsRecords[ |
| | | i |
| | | ].esd.Bar_Code__c; |
| | | this.consumableorderdetailsRecords[i][ |
| | | 'intraTradeList' |
| | | ] = |
| | | this.consumableorderdetailsRecords[ |
| | | i |
| | | ].esd.Intra_Trade_List_RMB__c; |
| | | console.log( |
| | | 'Intra_Trade_List_RMB__c:' + |
| | | this.consumableorderdetailsRecords[i].esd |
| | | .Intra_Trade_List_RMB__c |
| | | ); |
| | | } |
| | | // this.consumableorderdetailsRecords[i]['prodName'] = this.consumableorderdetailsRecords[i].prodName; |
| | | this.consumableorderdetailsRecords[i]['barCode'] = this.consumableorderdetailsRecords[i].esd.Bar_Code__c; |
| | | this.consumableorderdetailsRecords[i]['intraTradeList'] = this.consumableorderdetailsRecords[i].esd.Intra_Trade_List_RMB__c; |
| | | console.log("Intra_Trade_List_RMB__c:"+this.consumableorderdetailsRecords[i].esd.Intra_Trade_List_RMB__c); |
| | | if ( |
| | | this.consumableorderdetailsRecords[i].Prod != null |
| | | ) { |
| | | this.consumableorderdetailsRecords[i][ |
| | | 'statusCFDA' |
| | | ] = |
| | | this.consumableorderdetailsRecords[ |
| | | i |
| | | ].Prod.SFDA_Status__c; |
| | | } |
| | | } |
| | | if(this.consumableorderdetailsRecords[i].Prod != null){ |
| | | this.consumableorderdetailsRecords[i]['statusCFDA'] = this.consumableorderdetailsRecords[i].Prod.SFDA_Status__c; |
| | | } |
| | | this.showSpinner = false; |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('error:' + result.errorMsg); |
| | | this.showMyToast('初始化失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.showSpinner = false; |
| | | }else { |
| | | this.showSpinner = false; |
| | | console.log("error:"+result.errorMsg); |
| | | this.showMyToast('初始化失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | this.showSpinner = false; |
| | | this.showPage = true; |
| | | console.log("error:"+error); |
| | | this.showMyToast('初始化失败',error,'error'); |
| | | }) |
| | | this.showPage = true; |
| | | console.log('error:' + error); |
| | | this.showMyToast('初始化失败', error, 'error'); |
| | | }); |
| | | } |
| | | |
| | | proSale(){ |
| | | proSale() { |
| | | this.showSpinner = true; |
| | | proSale({ |
| | | cocStr : JSON.stringify(this.coc), |
| | | orderallcountParm : this.orderallcount, |
| | | consumableorderdetailsCountParm : this.consumableorderdetailsCount, |
| | | eSetIdStr : this.eSetId |
| | | cocStr: JSON.stringify(this.coc), |
| | | orderallcountParm: this.orderallcount, |
| | | consumableorderdetailsCountParm: this.consumableorderdetailsCount, |
| | | eSetIdStr: this.eSetId |
| | | }) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | var url = result.url; |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: url |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | }else { |
| | | .then((result) => { |
| | | if (result.result == 'Success') { |
| | | var url = result.url; |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: url |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('error:' + result.errorMsg); |
| | | this.showMyToast('出库失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.showPage = true; |
| | | this.showSpinner = false; |
| | | console.log("error:"+result.errorMsg); |
| | | this.showMyToast('出库失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | this.showPage = true; |
| | | this.showSpinner = false; |
| | | console.log("error:"+error); |
| | | this.showMyToast('出库失败',error,'error'); |
| | | }) |
| | | console.log('error:' + error); |
| | | this.showMyToast('出库失败', error, 'error'); |
| | | }); |
| | | } |
| | | |
| | | clickOrder(){ |
| | | if(this.coc.Arrive_Order__c != null && this.coc.Arrive_Order__c != ''){ |
| | | clickOrder() { |
| | | if ( |
| | | this.coc.Arrive_Order__c != null && |
| | | this.coc.Arrive_Order__c != '' |
| | | ) { |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: '/detail/'+this.coc.Arrive_Order__c |
| | | url: '/detail/' + this.coc.Arrive_Order__c |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | |
| | | console.log('show custom message'); |
| | | var iconName = ''; |
| | | var content = ''; |
| | | if(variant == 'success'){ |
| | | iconName = 'utility:check'; |
| | | }else{ |
| | | iconName = 'utility:error'; |
| | | if (variant == 'success') { |
| | | iconName = 'utility:check'; |
| | | } else { |
| | | iconName = 'utility:error'; |
| | | } |
| | | if(message != ''){ |
| | | content = '<h2><strong>'+title+'<strong/></h2><h5>'+message+'</h5>'; |
| | | }else{ |
| | | content = '<h2><strong>'+title+'<strong/></h2>'; |
| | | if (message != '') { |
| | | content = |
| | | '<h2><strong>' + |
| | | title + |
| | | '<strong/></h2><h5>' + |
| | | message + |
| | | '</h5>'; |
| | | } else { |
| | | content = '<h2><strong>' + title + '<strong/></h2>'; |
| | | } |
| | | this.template.querySelector('c-common-toast'). |
| | | showToast(variant,content,iconName,10000); |
| | | this.template |
| | | .querySelector('c-common-toast') |
| | | .showToast(variant, content, iconName, 10000); |
| | | // var mode; |
| | | // if(this.isNoteStay){ |
| | | // mode ='sticky'; |
| | |
| | | // mode: mode |
| | | // }); |
| | | // this.dispatchEvent(evt); |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <template if:true={showSpinner}> |
| | | <!-- <lightning-spinner size="medium" variant="brand"></lightning-spinner> --> |
| | | <div class="slds-spinner_container"> |
| | | <div role="status" class="slds-spinner slds-spinner_medium slds-spinner_brand"> |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <c-common-toast></c-common-toast> |
| | | <div style="border: 1px solid #D4D4D4;border-radius:5px;"> |
| | | <template if:true={showSpinner}> |
| | | <!-- <lightning-spinner size="medium" variant="brand"></lightning-spinner> --> |
| | | <div class="slds-spinner_container"> |
| | | <div |
| | | role="status" |
| | | class="slds-spinner slds-spinner_medium slds-spinner_brand" |
| | | > |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <c-common-toast></c-common-toast> |
| | | <div style="border: 1px solid #d4d4d4; border-radius: 5px"> |
| | | <div |
| | | style=" |
| | | border-top: 3px solid #51606e; |
| | | border-bottom: 1px solid #d4d4d4; |
| | | padding: 3px; |
| | | " |
| | | > |
| | | <div> |
| | | <!-- <p style="font-size: 18px;"><strong>取消拆盒</strong></p> --> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | | <strong>取消拆盒</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </div> |
| | | </div> |
| | | <div style="padding: 10px"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-top: 3px solid #51606e; |
| | | border-bottom: 1px solid #d4d4d4; |
| | | padding: 3px; |
| | | " |
| | | > |
| | | <!-- <lightning-button variant="brand" class='lexstyle' style="margin-left:10px;" label="取消拆盒确认" title="取消拆盒确认" onclick={saveConfirm}></lightning-button></td> --> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style=" |
| | | margin-left: 10px; |
| | | margin-top: 12px; |
| | | margin-bottom: 12px; |
| | | " |
| | | label="取消拆盒确认" |
| | | onclick={saveConfirm} |
| | | > |
| | | 取消拆盒确认 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | margin-top: 5px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-top: 3px solid #51606e; |
| | | border-bottom: 1px solid #d4d4d4; |
| | | padding: 3px; |
| | | " |
| | | > |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 16px"> |
| | | <strong>BarCode录入</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </div> |
| | | |
| | | <div style="border-top: 3px solid #51606E;;border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div> |
| | | <!-- <p style="font-size: 18px;"><strong>取消拆盒</strong></p> --> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | | <strong>取消拆盒</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </div> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <!-- <lightning-button variant="brand" class='lexstyle' style="margin-left:10px;" label="取消拆盒确认" title="取消拆盒确认" onclick={saveConfirm}></lightning-button></td> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin-left:10px;margin-top:12px;margin-bottom:12px;" label="取消拆盒确认" onclick={saveConfirm}>取消拆盒确认</button> |
| | | </div> |
| | | </div> |
| | | <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;margin-top:5px;"> |
| | | <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 16px"> |
| | | <strong>BarCode录入</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </div> |
| | | |
| | | <!-- <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;"> --> |
| | | <table> |
| | | <colgroup> |
| | | <col width="160px" /> |
| | | <col width="100px" /> |
| | | <col width="10px" /> |
| | | <col width="70px" /> |
| | | <col width="100px" /> |
| | | <col width="10px" /> |
| | | <col width="90px" /> |
| | | <col width="100px" /> |
| | | <col width="10px" /> |
| | | <col width="85px" /> |
| | | <col width="100px" /> |
| | | <col width="10px" /> |
| | | <col width="70px" /> |
| | | <col width="100px" /> |
| | | </colgroup> |
| | | <tbody> |
| | | <tr> |
| | | <td></td> |
| | | <td align="right" class="searchName">BarCode</td> |
| | | <td style="width:600px"><lightning-textarea class="inputFont" name="BarCode" label="" |
| | | onchange={handleChange}></lightning-textarea></td> |
| | | <td align="right"></td> |
| | | <td></td> |
| | | <td style="width: 200px;"> |
| | | <button style="margin-top:14px;" class="slds-button slds-button_neutral slds-button_stretch lexBorder" label="获取明细" onclick={getDetails}>获取明细</button> |
| | | <!-- <lightning-button variant="brand" class='lexstyle' label="获取明细" title="获取明细" onclick={getDetails} |
| | | ></lightning-button> --> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | <!-- </div> --> |
| | | </div> |
| | | <!-- <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;"> --> |
| | | <table> |
| | | <colgroup> |
| | | <col width="160px" /> |
| | | <col width="100px" /> |
| | | <col width="10px" /> |
| | | <col width="70px" /> |
| | | <col width="100px" /> |
| | | <col width="10px" /> |
| | | <col width="90px" /> |
| | | <col width="100px" /> |
| | | <col width="10px" /> |
| | | <col width="85px" /> |
| | | <col width="100px" /> |
| | | <col width="10px" /> |
| | | <col width="70px" /> |
| | | <col width="100px" /> |
| | | </colgroup> |
| | | <tbody> |
| | | <tr> |
| | | <td></td> |
| | | <td align="right" class="searchName">BarCode</td> |
| | | <td style="width: 600px"> |
| | | <lightning-textarea |
| | | class="inputFont" |
| | | name="BarCode" |
| | | label="" |
| | | onchange={handleChange} |
| | | ></lightning-textarea> |
| | | </td> |
| | | <td align="right"></td> |
| | | <td></td> |
| | | <td style="width: 200px"> |
| | | <button |
| | | style="margin-top: 14px" |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | label="获取明细" |
| | | onclick={getDetails} |
| | | > |
| | | 获取明细 |
| | | </button> |
| | | <!-- <lightning-button variant="brand" class='lexstyle' label="获取明细" title="获取明细" onclick={getDetails} |
| | | ></lightning-button> --> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | <!-- </div> --> |
| | | </div> |
| | | |
| | | <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | | <strong>取消拆盒明细</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-top: 3px solid #51606e; |
| | | border-bottom: 1px solid #d4d4d4; |
| | | padding: 3px; |
| | | " |
| | | > |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | | <strong>取消拆盒明细</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </div> |
| | | <div style="padding: 10px"> |
| | | <!-- <div style="height: 300px;"> --> |
| | | <!-- <template if:true={showTable}> --> |
| | | <c-lex-custom-lightning-datatable |
| | | key-field="prodid" |
| | | data={data} |
| | | columns={columns} |
| | | onrowselection={getSelectedRows} |
| | | hide-checkbox-column="true" |
| | | selected-rows={selectedRows} |
| | | class="wrapped-header-datatable" |
| | | style="word-wrap: break-word; word-break: break-all" |
| | | > |
| | | </c-lex-custom-lightning-datatable> |
| | | <!-- </template> --> |
| | | <!-- </div> --> |
| | | </div> |
| | | </div> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-top: 3px solid #51606e; |
| | | border-bottom: 1px solid #d4d4d4; |
| | | padding: 3px; |
| | | " |
| | | > |
| | | <table> |
| | | <tr> |
| | | <td> |
| | | <lightning-layout> |
| | | <lightning-layout-item |
| | | padding="around-small" |
| | | > |
| | | <p style="font-size: 18px"> |
| | | <strong>错误明细</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | |
| | | <!-- <div style="height: 300px;"> --> |
| | | <!-- <template if:true={showTable}> --> |
| | | <c-lex-custom-lightning-datatable key-field="prodid" data={data} columns={columns} |
| | | onrowselection={getSelectedRows} hide-checkbox-column="true" |
| | | selected-rows={selectedRows} class="wrapped-header-datatable" style="word-wrap:break-word; word-break:break-all; "> |
| | | </c-lex-custom-lightning-datatable> |
| | | <!-- </template> --> |
| | | <!-- </div> --> |
| | | |
| | | </div> |
| | | </div> |
| | | <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;margin-top:10px"> |
| | | <div style="border-top: 3px solid #51606E;border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <table> |
| | | <tr> |
| | | <td> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | | <strong>错误明细</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | |
| | | <div style="padding:10px;"> |
| | | <lightning-datatable |
| | | key-field="id" data={errorDetail} columns={column} |
| | | onrowselection={getSelectedRows} hide-checkbox-column="true" |
| | | selected-rows={selectedRows} class="wrapped-header-datatable" style="word-wrap:break-word; word-break:break-all; "> |
| | | </lightning-datatable> |
| | | |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | |
| | | </div> |
| | | |
| | | <div style="padding: 10px"> |
| | | <lightning-datatable |
| | | key-field="id" |
| | | data={errorDetail} |
| | | columns={column} |
| | | onrowselection={getSelectedRows} |
| | | hide-checkbox-column="true" |
| | | selected-rows={selectedRows} |
| | | class="wrapped-header-datatable" |
| | | style="word-wrap: break-word; word-break: break-all" |
| | | > |
| | | </lightning-datatable> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | import { LightningElement, wire, api, track } from 'lwc'; |
| | | import { ShowToastEvent } from 'lightning/platformShowToastEvent'; |
| | | import oninit from "@salesforce/apex/LexCancelRemoveBoxController.init"; |
| | | import searchDeatail from "@salesforce/apex/LexCancelRemoveBoxController.searchConsumableorderdetails" |
| | | import oninit from '@salesforce/apex/LexCancelRemoveBoxController.init'; |
| | | import searchDeatail from '@salesforce/apex/LexCancelRemoveBoxController.searchConsumableorderdetails'; |
| | | import saveConfirm from '@salesforce/apex/LexCancelRemoveBoxController.cancelRemoveBoxConfirm'; |
| | | |
| | | //table css |
| | | import { loadStyle } from "lightning/platformResourceLoader"; |
| | | import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable"; |
| | | //table css |
| | | import { loadStyle } from 'lightning/platformResourceLoader'; |
| | | import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable'; |
| | | const columns = [ |
| | | { |
| | | label: '消耗品名称', |
| | | fieldName: 'Name__c', |
| | | hideDefaultActions: true, |
| | | wrapText:true |
| | | // initialWidth: 350, |
| | | |
| | | label: '消耗品名称', |
| | | fieldName: 'Name__c', |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | // initialWidth: 350, |
| | | }, |
| | | { |
| | | label: '规格', |
| | | fieldName: 'ProductPacking_list_manual__c', |
| | | hideDefaultActions: true, |
| | | cellAttributes: { alignment: "right" }, |
| | | initialWidth: 50, |
| | | |
| | | label: '规格', |
| | | fieldName: 'ProductPacking_list_manual__c', |
| | | hideDefaultActions: true, |
| | | cellAttributes: { alignment: 'right' }, |
| | | initialWidth: 50 |
| | | }, |
| | | { |
| | | label: 'CFDA状态', |
| | | fieldName: 'CFDA_Status__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 100, |
| | | wrapText:true |
| | | |
| | | label: 'CFDA状态', |
| | | fieldName: 'CFDA_Status__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 100, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '注册证编码号', |
| | | fieldName: 'Report_Product_Approbation__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 200, |
| | | wrapText:true |
| | | label: '注册证编码号', |
| | | fieldName: 'Report_Product_Approbation__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 200, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '注册证效期', |
| | | fieldName: 'Report_Product_Expiration__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 110, |
| | | wrapText:true |
| | | label: '注册证效期', |
| | | fieldName: 'Report_Product_Expiration__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 110, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: 'BarCode', |
| | | fieldName: 'Bar_Code__c', |
| | | hideDefaultActions: true, |
| | | wrapText:true |
| | | label: 'BarCode', |
| | | fieldName: 'Bar_Code__c', |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | } |
| | | ]; |
| | | |
| | | const column = [ |
| | | { |
| | | label: '消耗品名称', |
| | | fieldName: 'Name__c', |
| | | hideDefaultActions: true, |
| | | wrapText:true |
| | | |
| | | }, |
| | | { |
| | | label: 'BarCode', |
| | | fieldName: 'Bar_Code__c', |
| | | wrapText:true, |
| | | hideDefaultActions: true, |
| | | // initialWidth:600 |
| | | ]; |
| | | |
| | | |
| | | } |
| | | , |
| | | const column = [ |
| | | { |
| | | label: '错误原因', |
| | | fieldName: 'ErrorReason', |
| | | hideDefaultActions: true, |
| | | label: '消耗品名称', |
| | | fieldName: 'Name__c', |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: 'BarCode', |
| | | fieldName: 'Bar_Code__c', |
| | | wrapText: true, |
| | | hideDefaultActions: true |
| | | // initialWidth:600 |
| | | }, |
| | | { |
| | | label: '错误原因', |
| | | fieldName: 'ErrorReason', |
| | | hideDefaultActions: true |
| | | } |
| | | ]; |
| | | |
| | | ]; |
| | | |
| | | export default class LexCancelRemoveBox extends LightningElement { |
| | | columns = columns; |
| | |
| | | @track selectedRows = []; |
| | | @track data = []; |
| | | @track errorDetail = []; |
| | | |
| | | |
| | | // 显示 |
| | | @track showTable = false |
| | | @track showTable = false; |
| | | @track showSpinner = false; |
| | | |
| | | //数据构成 |
| | | @track accountName |
| | | @track userWorkLocation |
| | | @track agencyProType |
| | | @track barcode = '' |
| | | @track saveFLGbln = false |
| | | @track accountName; |
| | | @track userWorkLocation; |
| | | @track agencyProType; |
| | | @track barcode = ''; |
| | | @track saveFLGbln = false; |
| | | @track dataSize = 0; |
| | | |
| | | renderedCallback() { |
| | | if (!this.stylesLoaded) { |
| | | Promise.all([loadStyle(this, WrappedHeaderTable)]) |
| | | .then(() => { |
| | | console.log("Custom styles loaded"); |
| | | this.stylesLoaded = true; |
| | | }) |
| | | .catch((error) => { |
| | | console.error("Error loading custom styles"); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | if (!this.stylesLoaded) { |
| | | Promise.all([loadStyle(this, WrappedHeaderTable)]) |
| | | .then(() => { |
| | | console.log('Custom styles loaded'); |
| | | this.stylesLoaded = true; |
| | | }) |
| | | .catch((error) => { |
| | | console.error('Error loading custom styles'); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | connectedCallback() { |
| | | console.log('初始化'); |
| | | // this.showTable = false; |
| | | oninit().then((result) => { |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log('result =' + JSON.stringify(result)); |
| | | if (result.status = 'Success') { |
| | | console.log('result'); |
| | | this.agencyProType = result.entity.agencyProType; |
| | | this.userWorkLocation = result.entity.userWorkLocation; |
| | | this.accountName = result.entity.accountName; |
| | | // this.data = JSON.parse(result.entity.codPageRecords); |
| | | // this.showTable = true; |
| | | } else { |
| | | this.showMyToast('初始化失败',result.msg,'error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | console.log('初始化'); |
| | | // this.showTable = false; |
| | | oninit() |
| | | .then((result) => { |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log('result =' + JSON.stringify(result)); |
| | | if ((result.status = 'Success')) { |
| | | console.log('result'); |
| | | this.agencyProType = result.entity.agencyProType; |
| | | this.userWorkLocation = result.entity.userWorkLocation; |
| | | this.accountName = result.entity.accountName; |
| | | // this.data = JSON.parse(result.entity.codPageRecords); |
| | | // this.showTable = true; |
| | | } else { |
| | | this.showMyToast('初始化失败', result.msg, 'error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | } |
| | | |
| | | //录入 |
| | | getDetails() { |
| | | this.showSpinner = true; |
| | | searchDeatail({ |
| | | accountName: this.accountName, |
| | | userWorkLocation: this.userWorkLocation, |
| | | agencyProType: this.agencyProType, |
| | | barcode: this.barcode |
| | | }).then((result) => { |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log('result =' + JSON.stringify(result)); |
| | | if (result.status == 'Success') { |
| | | console.log('成功'); |
| | | this.data = JSON.parse(result.entity.ConsumableorderdetailsRecordsdummy); |
| | | this.errorDetail = JSON.parse(result.entity.ConsumableorderdetailsRecordserror); |
| | | this.dataSize = result.entity.dataSize; |
| | | for (let i in this.data) { |
| | | this.data[i]['Name__c'] = this.data[i].Prod.Name__c; |
| | | this.data[i]['ProductPacking_list_manual__c'] = this.data[i].esd.ProductPacking_list_manual__c; |
| | | this.data[i]['CFDA_Status__c'] = this.data[i].esd.CFDA_Status__c; |
| | | this.data[i]['Report_Product_Approbation__c'] = this.data[i].esd.Report_Product_Approbation__c; |
| | | this.data[i]['Report_Product_Expiration__c'] = this.data[i].esd.Report_Product_Expiration__c; |
| | | this.data[i]['Bar_Code__c'] = this.data[i].esd.Bar_Code__c; |
| | | } |
| | | // this.showTable = true; |
| | | for (let i in this.errorDetail) { |
| | | this.errorDetail[i]['Name__c'] = this.errorDetail[i].Prod.Name__c; |
| | | this.errorDetail[i]['Bar_Code__c'] = this.errorDetail[i].esd.Bar_Code__c; |
| | | this.errorDetail[i]['ErrorReason'] = this.errorDetail[i].ErrorReason; |
| | | } |
| | | // this.showTables = true; |
| | | this.showSpinner = false; |
| | | } else{ |
| | | this.showMyToast('获取失败',result.msg,'error'); |
| | | this.showSpinner = false; |
| | | } |
| | | }).catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | getDetails() { |
| | | this.showSpinner = true; |
| | | searchDeatail({ |
| | | accountName: this.accountName, |
| | | userWorkLocation: this.userWorkLocation, |
| | | agencyProType: this.agencyProType, |
| | | barcode: this.barcode |
| | | }) |
| | | .then((result) => { |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log('result =' + JSON.stringify(result)); |
| | | if (result.status == 'Success') { |
| | | console.log('成功'); |
| | | this.data = JSON.parse( |
| | | result.entity.ConsumableorderdetailsRecordsdummy |
| | | ); |
| | | this.errorDetail = JSON.parse( |
| | | result.entity.ConsumableorderdetailsRecordserror |
| | | ); |
| | | this.dataSize = result.entity.dataSize; |
| | | for (let i in this.data) { |
| | | this.data[i]['Name__c'] = this.data[i].Prod.Name__c; |
| | | this.data[i]['ProductPacking_list_manual__c'] = |
| | | this.data[i].esd.ProductPacking_list_manual__c; |
| | | this.data[i]['CFDA_Status__c'] = |
| | | this.data[i].esd.CFDA_Status__c; |
| | | this.data[i]['Report_Product_Approbation__c'] = |
| | | this.data[i].esd.Report_Product_Approbation__c; |
| | | this.data[i]['Report_Product_Expiration__c'] = |
| | | this.data[i].esd.Report_Product_Expiration__c; |
| | | this.data[i]['Bar_Code__c'] = |
| | | this.data[i].esd.Bar_Code__c; |
| | | } |
| | | // this.showTable = true; |
| | | for (let i in this.errorDetail) { |
| | | this.errorDetail[i]['Name__c'] = |
| | | this.errorDetail[i].Prod.Name__c; |
| | | this.errorDetail[i]['Bar_Code__c'] = |
| | | this.errorDetail[i].esd.Bar_Code__c; |
| | | this.errorDetail[i]['ErrorReason'] = |
| | | this.errorDetail[i].ErrorReason; |
| | | } |
| | | // this.showTables = true; |
| | | this.showSpinner = false; |
| | | } else { |
| | | this.showMyToast('获取失败', result.msg, 'error'); |
| | | this.showSpinner = false; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | } |
| | | //获取当前输入值 |
| | | handleChange(event) { |
| | | let value = event.detail.value; |
| | | console.log('value' + value); |
| | | this.barcode = value; |
| | | console.log('this.barcode' + this.barcode); |
| | | } |
| | | |
| | | } |
| | | //获取当前输入值 |
| | | handleChange(event) { |
| | | let value = event.detail.value; |
| | | console.log('value' + value); |
| | | this.barcode = value; |
| | | console.log('this.barcode' + this.barcode); |
| | | } |
| | | |
| | | |
| | | saveConfirm() { |
| | | let msg = "确认取消拆盒吗"; |
| | | if (this.dataSize>0) { |
| | | if (confirm(msg) == true) { |
| | | saveConfirm() { |
| | | let msg = '确认取消拆盒吗'; |
| | | if (this.dataSize > 0) { |
| | | if (confirm(msg) == true) { |
| | | this.CancelRemoveBox(); |
| | | } |
| | | } else { |
| | | this.CancelRemoveBox(); |
| | | } |
| | | } else { |
| | | this.CancelRemoveBox(); |
| | | } |
| | | } |
| | | CancelRemoveBox(){ |
| | | this.showSpinner = true; |
| | | saveConfirm({ |
| | | saveConsumableorderdetailsRecordsdummy: JSON.stringify(this.data), |
| | | accountName: this.accountName, |
| | | userWorkLocation: this.userWorkLocation, |
| | | agencyProType: this.agencyProType |
| | | }).then((result) => { |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log('result保存 = ' + JSON.stringify(result)); |
| | | if (result.status == 'Success') { |
| | | this.saveFLGbln = result.entity.saveFLGbln; |
| | | // this.showSpinner = false; |
| | | if(this.saveFLGbln){ |
| | | this.showMyToast(result.msg,'','success'); |
| | | this.showSpinner = false; |
| | | |
| | | |
| | | } |
| | | } else { |
| | | this.showMyToast('取消拆盒失败',result.msg,'error'); |
| | | this.showSpinner = false; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | |
| | | } |
| | | showMyToast(title, message, variant) { |
| | | console.log('show custom message'); |
| | | var iconName = ''; |
| | | var content = ''; |
| | | if(variant == 'success'){ |
| | | iconName = 'utility:check'; |
| | | }else{ |
| | | iconName = 'utility:error'; |
| | | CancelRemoveBox() { |
| | | this.showSpinner = true; |
| | | saveConfirm({ |
| | | saveConsumableorderdetailsRecordsdummy: JSON.stringify(this.data), |
| | | accountName: this.accountName, |
| | | userWorkLocation: this.userWorkLocation, |
| | | agencyProType: this.agencyProType |
| | | }) |
| | | .then((result) => { |
| | | result = JSON.parse(JSON.stringify(result)); |
| | | console.log('result保存 = ' + JSON.stringify(result)); |
| | | if (result.status == 'Success') { |
| | | this.saveFLGbln = result.entity.saveFLGbln; |
| | | // this.showSpinner = false; |
| | | if (this.saveFLGbln) { |
| | | this.showMyToast(result.msg, '', 'success'); |
| | | this.showSpinner = false; |
| | | } |
| | | } else { |
| | | this.showMyToast('取消拆盒失败', result.msg, 'error'); |
| | | this.showSpinner = false; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | } |
| | | if(message != ''){ |
| | | content = '<h2><strong>'+title+'<strong/></h2><h5>'+message+'</h5>'; |
| | | }else{ |
| | | content = '<h2><strong>'+title+'<strong/></h2>'; |
| | | showMyToast(title, message, variant) { |
| | | console.log('show custom message'); |
| | | var iconName = ''; |
| | | var content = ''; |
| | | if (variant == 'success') { |
| | | iconName = 'utility:check'; |
| | | } else { |
| | | iconName = 'utility:error'; |
| | | } |
| | | if (message != '') { |
| | | content = |
| | | '<h2><strong>' + |
| | | title + |
| | | '<strong/></h2><h5>' + |
| | | message + |
| | | '</h5>'; |
| | | } else { |
| | | content = '<h2><strong>' + title + '<strong/></h2>'; |
| | | } |
| | | this.template |
| | | .querySelector('c-common-toast') |
| | | .showToast(variant, content, iconName, 10000); |
| | | } |
| | | this.template.querySelector('c-common-toast').showToast(variant,content,iconName,10000); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | <template> |
| | | <c-common-toast></c-common-toast> |
| | | <template if:true={isShowSpinner}> |
| | | <div role="status" class="slds-spinner slds-spinner_medium slds-spinner_brand"> |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | | </div> |
| | | <div |
| | | role="status" |
| | | class="slds-spinner slds-spinner_medium slds-spinner_brand" |
| | | > |
| | | <span class="slds-assistive-text">Loading</span> |
| | | |
| | | <div class="slds-spinner__dot-a"></div> |
| | | |
| | | <div class="slds-spinner__dot-b"></div> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | <template if:false={isDetailsShow}> |
| | | <template if:false={isConInvoiceList}> |
| | | <!-- 搜索客户名 --> |
| | | <template if:true={isModalOpen}> |
| | | <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-01" aria-modal="true" |
| | | aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open slds-modal_medium" |
| | | style="border: 1px solid #D4D4D4;"> |
| | | <section |
| | | role="dialog" |
| | | tabindex="-1" |
| | | aria-labelledby="modal-heading-01" |
| | | aria-modal="true" |
| | | aria-describedby="modal-content-id-1" |
| | | class="slds-modal slds-fade-in-open slds-modal_medium" |
| | | style="border: 1px solid #d4d4d4" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <header class="slds-modal__header" style="background-color: #F3F3F3;"> |
| | | <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" |
| | | title="Close" onclick={closeModal}> |
| | | <lightning-icon icon-name="utility:close" alternative-text="close" variant="inverse" |
| | | size="small"></lightning-icon> |
| | | <header |
| | | class="slds-modal__header" |
| | | style="background-color: #f3f3f3" |
| | | > |
| | | <button |
| | | style="" |
| | | class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" |
| | | title="Close" |
| | | onclick={closeModal} |
| | | > |
| | | <lightning-icon |
| | | icon-name="utility:close" |
| | | alternative-text="close" |
| | | variant="inverse" |
| | | size="small" |
| | | ></lightning-icon> |
| | | <span class="slds-assistive-text">Close</span> |
| | | </button> |
| | | <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">经销商医院检索</h2> |
| | | <h2 |
| | | id="modal-heading-01" |
| | | class="slds-text-heading_medium slds-hyphenate" |
| | | > |
| | | 经销商医院检索 |
| | | </h2> |
| | | </header> |
| | | <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" |
| | | style="border: 1px solid #F3F3F3;"> |
| | | <table style="width: 100%;"> |
| | | <div |
| | | class="slds-modal__content slds-p-around_medium" |
| | | id="modal-content-id-1" |
| | | style="border: 1px solid #f3f3f3" |
| | | > |
| | | <table style="width: 100%"> |
| | | <tbody> |
| | | <tr> |
| | | <td style="width: 74px;"> |
| | | <div style="color:#696969;font-size:16px;text-align: left;">医院名称</div> |
| | | <td style="width: 74px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | text-align: left; |
| | | " |
| | | > |
| | | 医院名称 |
| | | </div> |
| | | </td> |
| | | <td style="width: 60%;"><lightning-input class="inputFont" label="医院名称" |
| | | variant="label-hidden" placeholder="请输入医院名称" value={searchHospitalName} |
| | | data-field="searchHospitalName" onchange={dataChange}></lightning-input></td> |
| | | <td style="width: 10px;"></td> |
| | | <td><button class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | style="height: 32px;" label="搜索" onclick={searchHospital}>搜索</button></td> |
| | | <td style="width: 60%"> |
| | | <lightning-input |
| | | class="inputFont" |
| | | label="医院名称" |
| | | variant="label-hidden" |
| | | placeholder="请输入医院名称" |
| | | value={searchHospitalName} |
| | | data-field="searchHospitalName" |
| | | onchange={dataChange} |
| | | ></lightning-input> |
| | | </td> |
| | | <td style="width: 10px"></td> |
| | | <td> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | style="height: 32px" |
| | | label="搜索" |
| | | onclick={searchHospital} |
| | | > |
| | | 搜索 |
| | | </button> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | <p style="height: 20px;"></p> |
| | | <p style="height: 20px"></p> |
| | | <!-- <p>已选择医院:{chooseHospital}</p> --> |
| | | <div |
| | | style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-bottom: 1px solid #d4d4d4; |
| | | padding: 3px; |
| | | " |
| | | > |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <lightning-layout-item |
| | | padding="around-small" |
| | | > |
| | | <p style="font-size: 18px"> |
| | | <strong>搜索结果</strong> |
| | | </p> |
| | |
| | | </lightning-layout> |
| | | <!-- <p style="font-size: 16px;"><strong>搜索结果</strong></p> --> |
| | | </div> |
| | | <div class="myTable" style="padding:10px;"> |
| | | <div class="myTable" style="padding: 10px"> |
| | | <!-- <lightning-datatable class="wrapped-header-datatable" key-field="id" |
| | | hide-checkbox-column="true" data={hospitalList} columns={hosCols} |
| | | onrowaction={chooseHos}></lightning-datatable> --> |
| | | <lightning-datatable class="datatabel slds-border_top wrapped-header-datatable" |
| | | key-field="id" data={hospitalList} columns={hospitalColumns} hide-checkbox-column="true" |
| | | onrowaction={searchHandleRowAction}> |
| | | <lightning-datatable |
| | | class="datatabel slds-border_top wrapped-header-datatable" |
| | | key-field="id" |
| | | data={hospitalList} |
| | | columns={hospitalColumns} |
| | | hide-checkbox-column="true" |
| | | onrowaction={searchHandleRowAction} |
| | | > |
| | | </lightning-datatable> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <footer class="slds-modal__footer"> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" label="取消" |
| | | onclick={closeModal}>取消</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" |
| | | label="取消" |
| | | onclick={closeModal} |
| | | > |
| | | 取消 |
| | | </button> |
| | | </footer> |
| | | </div> |
| | | </section> |
| | | <div class="slds-backdrop slds-backdrop_open"></div> |
| | | </template> |
| | | <div class="outerBorderCss"> |
| | | <div style="padding:5px;"> |
| | | |
| | | <div style="padding: 5px"> |
| | | <div class="borderCss"> |
| | | <div style="padding:10px;"> |
| | | <div style="padding: 10px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | <template if:false={EditAble}> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="2"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="2" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="10"> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | onclick={SetEditAbleJs} disabled={isDisabledEdit} |
| | | style="width: 150px;">编辑</button> |
| | | onclick={SetEditAbleJs} |
| | | disabled={isDisabledEdit} |
| | | style="width: 150px" |
| | | > |
| | | 编辑 |
| | | </button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder buttonminMarginLeft" |
| | | onclick={approvalJs} disabled={isDisabledEdit} |
| | | style="width: 150px;">提交</button> |
| | | onclick={approvalJs} |
| | | disabled={isDisabledEdit} |
| | | style="width: 150px" |
| | | > |
| | | 提交 |
| | | </button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder buttonminMarginLeft" |
| | | onclick={openReportJs} disabled={isOpenReportDisabled} |
| | | style="width: 150px;">显示明细</button> |
| | | onclick={openReportJs} |
| | | disabled={isOpenReportDisabled} |
| | | style="width: 150px" |
| | | > |
| | | 显示明细 |
| | | </button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder buttonminMarginLeft" |
| | | onclick={reopenJs} disabled={isDisabledReopen} |
| | | style="width: 150px;">作废重开</button> |
| | | onclick={reopenJs} |
| | | disabled={isDisabledReopen} |
| | | style="width: 150px" |
| | | > |
| | | 作废重开 |
| | | </button> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <lightning-layout multiple-rows="true" style="margin-top: 20px;"> |
| | | <lightning-layout-item size="2"></lightning-layout-item> |
| | | <lightning-layout |
| | | multiple-rows="true" |
| | | style="margin-top: 20px" |
| | | > |
| | | <lightning-layout-item |
| | | size="2" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="10"> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | onclick={deleteButtonJs} disabled={isDisabledDelete} |
| | | style="width: 150px;">删除</button> |
| | | onclick={deleteButtonJs} |
| | | disabled={isDisabledDelete} |
| | | style="width: 150px" |
| | | > |
| | | 删除 |
| | | </button> |
| | | |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder buttonminMarginLeft" |
| | | disabled={isDisabledReopen} onclick={uploadOrder} |
| | | style="width: 150px;">上传附件</button> |
| | | disabled={isDisabledReopen} |
| | | onclick={uploadOrder} |
| | | style="width: 150px" |
| | | > |
| | | 上传附件 |
| | | </button> |
| | | |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder buttonminMarginLeft" |
| | | onclick={saveAttachmentJs} disabled={isDisabledReopen} |
| | | style="width: 150px;">保存附件</button> |
| | | onclick={saveAttachmentJs} |
| | | disabled={isDisabledReopen} |
| | | style="width: 150px" |
| | | > |
| | | 保存附件 |
| | | </button> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </template> |
| | | |
| | | <!-- 上传附件弹窗 --> |
| | | <template if:true={showAttPop}> |
| | | <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-02" |
| | | aria-modal="true" aria-describedby="modal-content-id-2" |
| | | <section |
| | | role="dialog" |
| | | tabindex="-1" |
| | | aria-labelledby="modal-heading-02" |
| | | aria-modal="true" |
| | | aria-describedby="modal-content-id-2" |
| | | class="slds-modal slds-fade-in-open slds-modal_small" |
| | | style="border: 1px solid #D4D4D4;"> |
| | | style="border: 1px solid #d4d4d4" |
| | | > |
| | | <template if:true={showPopSpinner}> |
| | | <lightning-spinner size="medium" variant="brand"></lightning-spinner> |
| | | <lightning-spinner |
| | | size="medium" |
| | | variant="brand" |
| | | ></lightning-spinner> |
| | | </template> |
| | | <div class="slds-modal__container"> |
| | | <header class="slds-modal__header" style="background-color: #F3F3F3;"> |
| | | <button style="" |
| | | <header |
| | | class="slds-modal__header" |
| | | style=" |
| | | background-color: #f3f3f3; |
| | | " |
| | | > |
| | | <button |
| | | style="" |
| | | class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" |
| | | title="Close" onclick={closePop}> |
| | | <lightning-icon icon-name="utility:close" alternative-text="close" |
| | | variant="inverse" size="small"></lightning-icon> |
| | | <span class="slds-assistive-text">Close</span> |
| | | title="Close" |
| | | onclick={closePop} |
| | | > |
| | | <lightning-icon |
| | | icon-name="utility:close" |
| | | alternative-text="close" |
| | | variant="inverse" |
| | | size="small" |
| | | ></lightning-icon> |
| | | <span |
| | | class="slds-assistive-text" |
| | | >Close</span |
| | | > |
| | | </button> |
| | | <h2 id="modal-heading-02" |
| | | class="slds-text-heading_medium slds-hyphenate">上传附件</h2> |
| | | <h2 |
| | | id="modal-heading-02" |
| | | class="slds-text-heading_medium slds-hyphenate" |
| | | > |
| | | 上传附件 |
| | | </h2> |
| | | </header> |
| | | <div class="slds-modal__content slds-p-around_medium searchName" |
| | | id="modal-content-id-2" style="border: 1px solid #F3F3F3;"> |
| | | <div class="slds-m-top_medium slds-m-bottom_x-large"> |
| | | <div class="slds-p-around_medium lgc-bg"> |
| | | <lightning-input class="fileUpload" type="file" label="附件上传" |
| | | <div |
| | | class="slds-modal__content slds-p-around_medium searchName" |
| | | id="modal-content-id-2" |
| | | style=" |
| | | border: 1px solid #f3f3f3; |
| | | " |
| | | > |
| | | <div |
| | | class="slds-m-top_medium slds-m-bottom_x-large" |
| | | > |
| | | <div |
| | | class="slds-p-around_medium lgc-bg" |
| | | > |
| | | <lightning-input |
| | | class="fileUpload" |
| | | type="file" |
| | | label="附件上传" |
| | | accept=".xlsx, .xls, .csv, .png, .doc, .docx, .pdf" |
| | | onchange={attChange}></lightning-input> |
| | | onchange={attChange} |
| | | ></lightning-input> |
| | | </div> |
| | | <p class="fontWeight">已选择文件:{fileName} |
| | | <p class="fontWeight"> |
| | | 已选择文件:{fileName} |
| | | |
| | | <template if:true={attDelBtn}> |
| | | <a onclick={removeAtt}>移除</a> |
| | | <template |
| | | if:true={attDelBtn} |
| | | > |
| | | <a |
| | | onclick={removeAtt} |
| | | >移除</a |
| | | > |
| | | </template> |
| | | </p> |
| | | </div> |
| | |
| | | label="取消" onclick={closePop}></lightning-button> |
| | | <lightning-button style="margin-left: 10px;" variant="neutral" |
| | | label="上传" onclick={handleFilesChange}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" style="margin-left: 10px;" |
| | | label="取消" onclick={closePop}>取消</button> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" style="margin-left: 10px;" |
| | | label="上传" onclick={handleFilesChange}>上传</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" |
| | | style="margin-left: 10px" |
| | | label="取消" |
| | | onclick={closePop} |
| | | > |
| | | 取消 |
| | | </button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | style="margin-left: 10px" |
| | | label="上传" |
| | | onclick={handleFilesChange} |
| | | > |
| | | 上传 |
| | | </button> |
| | | </footer> |
| | | </div> |
| | | </section> |
| | | <div class="slds-backdrop slds-backdrop_open"></div> |
| | | <div |
| | | class="slds-backdrop slds-backdrop_open" |
| | | ></div> |
| | | </template> |
| | | |
| | | <template if:true={EditAble}> |
| | | <lightning-layout> |
| | | <lightning-layout-item size="1" padding="around-small"></lightning-layout-item> |
| | | <lightning-layout-item size="2" padding="around-small"></lightning-layout-item> |
| | | <lightning-layout-item padding="around-small"> |
| | | <lightning-layout-item |
| | | size="1" |
| | | padding="around-small" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="2" |
| | | padding="around-small" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item |
| | | padding="around-small" |
| | | > |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | onclick={SaveJs}>确定</button> |
| | | onclick={SaveJs} |
| | | > |
| | | 确定 |
| | | </button> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </template> |
| | |
| | | </template> |
| | | |
| | | </lightning-layout> --> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </div> |
| | | <div style="padding:7px;"> |
| | | <div style="padding: 7px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | <!--发票信息 显示用 --> |
| | | <template if:false={isEditInvoice}> |
| | | <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId} |
| | | onload={handleLoad2}> |
| | | <lightning-record-edit-form |
| | | object-api-name="Consumable_order__c" |
| | | record-id={cocId} |
| | | onload={handleLoad2} |
| | | > |
| | | <!-- 发票号 状态 --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-output-field field-name="Name"></lightning-output-field> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5" style="padding-left: 100px;"> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Invoice_status__c"></lightning-output-field> |
| | | field-name="Name" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | style="padding-left: 100px" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Invoice_status__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 发票日期 --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Invoice_Date__c"></lightning-output-field> |
| | | field-name="Invoice_Date__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 二级经销商 --> |
| | | <template if:true={isShowSecondaryDistributor}> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <template |
| | | if:true={isShowSecondaryDistributor} |
| | | > |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-layout |
| | | multiple-rows="true" |
| | | > |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Order_Dealer_Info__c"></lightning-output-field> |
| | | field-name="Order_Dealer_Info__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </template> |
| | | |
| | | <!-- 客户名 --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-output-field field-name="ShipmentAccount__c" |
| | | class="hideHelpText"></lightning-output-field> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-output-field |
| | | field-name="ShipmentAccount__c" |
| | | class="hideHelpText" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 科室 发票票面金额 --> |
| | | <lightning-layout multiple-rows="true" style="height:35.5px"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout |
| | | multiple-rows="true" |
| | | style="height: 35.5px" |
| | | > |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Order_ForCustomerText__c"></lightning-output-field> |
| | | field-name="Order_ForCustomerText__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item size="5" class="readOnly" style="padding-left: 100px;"> |
| | | <lightning-input label="发票票面金额(元)" value={sumPrice} read-only |
| | | variant="label-inline"></lightning-input> |
| | | <lightning-layout-item |
| | | size="5" |
| | | class="readOnly" |
| | | style="padding-left: 100px" |
| | | > |
| | | <lightning-input |
| | | label="发票票面金额(元)" |
| | | value={sumPrice} |
| | | read-only |
| | | variant="label-inline" |
| | | ></lightning-input> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 备注 --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Invoice_Note__c"></lightning-output-field> |
| | | field-name="Invoice_Note__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 发票附件 明细附件 --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Invoice_attachment__c"></lightning-output-field> |
| | | field-name="Invoice_attachment__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5" style="padding-left: 100px;"> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | style="padding-left: 100px" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Invoicedet_attachment__c"></lightning-output-field> |
| | | field-name="Invoicedet_attachment__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 附件预览 --> |
| | |
| | | <lightning-layout-item size="1"> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="10"> |
| | | <lightning-card class="attListTitle" variant="Narrow" title="附件列表" |
| | | icon-name="utility:attach"> |
| | | |
| | | <lightning-layout slot="footer" multiple-rows="true"> |
| | | <template for:each={fileData} for:item="item" for:index="index"> |
| | | <lightning-layout-item padding="around-none" size="2" |
| | | <lightning-card |
| | | class="attListTitle" |
| | | variant="Narrow" |
| | | title="附件列表" |
| | | icon-name="utility:attach" |
| | | > |
| | | <lightning-layout |
| | | slot="footer" |
| | | multiple-rows="true" |
| | | > |
| | | <template |
| | | for:each={fileData} |
| | | for:item="item" |
| | | for:index="index" |
| | | > |
| | | <lightning-layout-item |
| | | padding="around-none" |
| | | size="2" |
| | | key={item.recordId} |
| | | style="text-align: left;padding:5px"> |
| | | <lightning-icon title={item.Title} |
| | | style="margin-left: 20px;" icon-name="doctype:gform" |
| | | style=" |
| | | text-align: left; |
| | | padding: 5px; |
| | | " |
| | | > |
| | | <lightning-icon |
| | | title={item.Title} |
| | | style=" |
| | | margin-left: 20px; |
| | | " |
| | | icon-name="doctype:gform" |
| | | alternative-text={item.Title} |
| | | size="large"></lightning-icon><br /> |
| | | <div title={item.Title} style="width: 100px;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;"> |
| | | size="large" |
| | | ></lightning-icon |
| | | ><br /> |
| | | <div |
| | | title={item.Title} |
| | | style=" |
| | | width: 100px; |
| | | text-overflow: ellipsis; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | " |
| | | > |
| | | {item.Title} |
| | | </div> |
| | | <p> |
| | | <!-- <a data-fileid ={item.documentId} onclick={previweAtt}> --> |
| | | <a href={item.attUrl} target="_blank"> |
| | | 预览 |
| | | </a> · |
| | | <a href={item.downloadUrl}> |
| | | 下载 |
| | | </a> · |
| | | <a data-fileid={item.Id} onclick={deleteAtt}> |
| | | <a |
| | | href={item.attUrl} |
| | | target="_blank" |
| | | > |
| | | 预览 </a |
| | | > · |
| | | <a |
| | | href={item.downloadUrl} |
| | | > |
| | | 下载 </a |
| | | > · |
| | | <a |
| | | data-fileid={item.Id} |
| | | onclick={deleteAtt} |
| | | > |
| | | 删除 |
| | | </a> |
| | | </p> |
| | |
| | | </template> |
| | | <!--发票信息 编辑用 --> |
| | | <template if:true={isEditInvoice}> |
| | | <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={cocId} |
| | | onload={handleLoad2}> |
| | | <lightning-record-edit-form |
| | | object-api-name="Consumable_order__c" |
| | | record-id={cocId} |
| | | onload={handleLoad2} |
| | | > |
| | | <!-- 发票号 状态 --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-input label="发票号" value={OrderCode} data-field="OrderCode" |
| | | onchange={dataChange} variant="label-inline" required |
| | | class="inputFont"></lightning-input> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-input |
| | | label="发票号" |
| | | value={OrderCode} |
| | | data-field="OrderCode" |
| | | onchange={dataChange} |
| | | variant="label-inline" |
| | | required |
| | | class="inputFont" |
| | | ></lightning-input> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5" style="padding-left: 100px;"> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | style="padding-left: 100px" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Invoice_status__c"></lightning-output-field> |
| | | field-name="Invoice_status__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 发票日期 --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-input type="date" label="发票日期" variant="label-inline" |
| | | value={InvoiceDate} onchange={invoiceDateChange} required |
| | | class="inputFont"></lightning-input> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-input |
| | | type="date" |
| | | label="发票日期" |
| | | variant="label-inline" |
| | | value={InvoiceDate} |
| | | onchange={invoiceDateChange} |
| | | required |
| | | class="inputFont" |
| | | ></lightning-input> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 客户名 二级经销商 --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <div |
| | | class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right"> |
| | | <lightning-icon size="x-small" |
| | | class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right" |
| | | > |
| | | <lightning-icon |
| | | size="x-small" |
| | | class="iconMargin slds-icon slds-input__icon slds-input__icon_right slds-icon-text-default hideHelpText" |
| | | icon-name="utility:search"></lightning-icon> |
| | | <lightning-input type="text" name="HospitalName" label="客户名" |
| | | value={HospitalName} variant="label-inline" |
| | | onclick={searchHospitalNameModal} data-field="HospitalName" |
| | | onchange={clearAgencyI} class="inputFont"></lightning-input> |
| | | icon-name="utility:search" |
| | | ></lightning-icon> |
| | | <lightning-input |
| | | type="text" |
| | | name="HospitalName" |
| | | label="客户名" |
| | | value={HospitalName} |
| | | variant="label-inline" |
| | | onclick={searchHospitalNameModal} |
| | | data-field="HospitalName" |
| | | onchange={clearAgencyI} |
| | | class="inputFont" |
| | | ></lightning-input> |
| | | </div> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5" style="padding-left: 100px;"> |
| | | <lightning-combobox data-field="secondaryDistributor" |
| | | name="secondaryDistributor" label="二级经销商" |
| | | value={secondaryDistributor} placeholder="请选择..." |
| | | options={provinceOptsMap} variant="label-inline" |
| | | onchange={dataChange} class="inputFont"></lightning-combobox> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | style="padding-left: 100px" |
| | | > |
| | | <lightning-combobox |
| | | data-field="secondaryDistributor" |
| | | name="secondaryDistributor" |
| | | label="二级经销商" |
| | | value={secondaryDistributor} |
| | | placeholder="请选择..." |
| | | options={provinceOptsMap} |
| | | variant="label-inline" |
| | | onchange={dataChange} |
| | | class="inputFont" |
| | | ></lightning-combobox> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 科室 经销商(录入) --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-input-field onchange={dataChange} |
| | | data-field="ForCustomerText" value={ForCustomerText} |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-input-field |
| | | onchange={dataChange} |
| | | data-field="ForCustomerText" |
| | | value={ForCustomerText} |
| | | field-name="Order_ForCustomerText__c" |
| | | class="inputFont"></lightning-input-field> |
| | | class="inputFont" |
| | | ></lightning-input-field> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5" style="padding-left: 100px;"> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | style="padding-left: 100px" |
| | | > |
| | | <lightning-output-field |
| | | field-name="Order_ForDealerText__c"></lightning-output-field> |
| | | field-name="Order_ForDealerText__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | <!-- 备注 --> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | |
| | | <lightning-layout-item class="hehe-layoutItem" size="5"> |
| | | <lightning-input-field onchange={dataChange} data-field="InvoiceNote" |
| | | value={InvoiceNote} field-name="Invoice_Note__c" |
| | | class="inputFont"></lightning-input-field> |
| | | <lightning-layout-item |
| | | class="hehe-layoutItem" |
| | | size="5" |
| | | > |
| | | <lightning-input-field |
| | | onchange={dataChange} |
| | | data-field="InvoiceNote" |
| | | value={InvoiceNote} |
| | | field-name="Invoice_Note__c" |
| | | class="inputFont" |
| | | ></lightning-input-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | </lightning-record-edit-form> |
| | | </template> |
| | | </div> |
| | |
| | | <!-- 出库单一览 --> |
| | | <div class="borderCss"> |
| | | <div class="headerDorderCss"> |
| | | |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | | <strong>出库单一览</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item size="2" padding="around-small"> |
| | | <lightning-layout-item |
| | | size="2" |
| | | padding="around-small" |
| | | > |
| | | </lightning-layout-item> |
| | | <template if:false={hideCheckbox}> |
| | | <lightning-layout-item padding="around-small"> |
| | | <lightning-layout-item |
| | | padding="around-small" |
| | | > |
| | | <!-- <lightning-button label=" 检索 " |
| | | onclick={InvoiceorderSearchJs}></lightning-button> --> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | onclick={InvoiceorderSearchJs}>检索</button> |
| | | onclick={InvoiceorderSearchJs} |
| | | > |
| | | 检索 |
| | | </button> |
| | | </lightning-layout-item> |
| | | </template> |
| | | |
| | | </lightning-layout> |
| | | </div> |
| | | |
| | |
| | | <div style="padding: 7px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | <lightning-datatable key-field="Id" data={outboundData} columns={outboundColumns} |
| | | hide-checkbox-column={hideCheckbox} onrowselection={getSelectedRows} |
| | | selected-rows={selectedRows} class="wrapped-header-datatable" data-field="outbound"> |
| | | <lightning-datatable |
| | | key-field="Id" |
| | | data={outboundData} |
| | | columns={outboundColumns} |
| | | hide-checkbox-column={hideCheckbox} |
| | | onrowselection={getSelectedRows} |
| | | selected-rows={selectedRows} |
| | | class="wrapped-header-datatable" |
| | | data-field="outbound" |
| | | > |
| | | </lightning-datatable> |
| | | <lightning-datatable key-field="id" data={outboundDataSumPrice} |
| | | columns={outboundColumns} hide-checkbox-column hide-table-header |
| | | class="wrapped-header-datatable"> |
| | | <lightning-datatable |
| | | key-field="id" |
| | | data={outboundDataSumPrice} |
| | | columns={outboundColumns} |
| | | hide-checkbox-column |
| | | hide-table-header |
| | | class="wrapped-header-datatable" |
| | | > |
| | | </lightning-datatable> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="borderCss"> |
| | | <div class="headerDorderCss"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <lightning-layout-item |
| | | padding="around-small" |
| | | > |
| | | <p style="font-size: 18px"> |
| | | <strong>发票明细</strong> |
| | | </p> |
| | |
| | | <div style="padding: 7px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | <lightning-datatable key-field="id" data={invoiceOrderdetail1Recoeds} |
| | | columns={invoiceDetailsColumns} hide-checkbox-column |
| | | class="wrapped-header-datatable"> |
| | | <lightning-datatable |
| | | key-field="id" |
| | | data={invoiceOrderdetail1Recoeds} |
| | | columns={invoiceDetailsColumns} |
| | | hide-checkbox-column |
| | | class="wrapped-header-datatable" |
| | | > |
| | | </lightning-datatable> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <template if:true={isConInvoiceList}> |
| | | <div class="outerBorderCss"> |
| | | <div style="padding:5px;"> |
| | | <div style="padding: 5px"> |
| | | <!-- 新建发票 --> |
| | | <div class="borderCss"> |
| | | <div style="padding:15px;"> |
| | | <div style="padding: 15px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | <!-- <lightning-button label="新建发票" onclick={newInvoiceJs}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | onclick={newInvoiceJs}>新建发票</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | onclick={newInvoiceJs} |
| | | > |
| | | 新建发票 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 检索条件 --> |
| | | <div class="borderCss" style="margin-top: 5px;"> |
| | | <div class="borderCss" style="margin-top: 5px"> |
| | | <div class="headerDorderCss"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | |
| | | <div style="padding: 15px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | |
| | | <lightning-layout multiple-rows> |
| | | <lightning-layout-item flexibility="auto"> |
| | | <div class="slds-text-align_center"> |
| | | <div class="slds-grid slds-grid_vertical-align-center"> |
| | | <div class="slds-form-element__label ">出库日 从</div> |
| | | <lightning-input type="date" variant="label-hidden" label="出库日 从" |
| | | onchange={dataChange} data-field="deliveryFromDate" |
| | | value={deliveryFromDate} class="inputFont" |
| | | style="max-width: 150px;"></lightning-input> |
| | | <div |
| | | class="slds-grid slds-grid_vertical-align-center" |
| | | > |
| | | <div |
| | | class="slds-form-element__label" |
| | | > |
| | | 出库日 从 |
| | | </div> |
| | | <lightning-input |
| | | type="date" |
| | | variant="label-hidden" |
| | | label="出库日 从" |
| | | onchange={dataChange} |
| | | data-field="deliveryFromDate" |
| | | value={deliveryFromDate} |
| | | class="inputFont" |
| | | style="max-width: 150px" |
| | | ></lightning-input> |
| | | </div> |
| | | |
| | | </br> |
| | | <div class="slds-grid slds-grid_vertical-align-center"> |
| | | <div class="slds-form-element__label ">    到 |
| | | <!-- </br> --> |
| | | <div |
| | | class="slds-grid slds-grid_vertical-align-center" |
| | | > |
| | | <div |
| | | class="slds-form-element__label" |
| | | > |
| | |     到 |
| | | </div> |
| | | <lightning-input type="date" variant="label-hidden" label="到" |
| | | onchange={dataChange} data-field="deliveryToDate" |
| | | value={deliveryToDate} class="inputFont" |
| | | style="max-width: 150px;"></lightning-input> |
| | | <lightning-input |
| | | type="date" |
| | | variant="label-hidden" |
| | | label="到" |
| | | onchange={dataChange} |
| | | data-field="deliveryToDate" |
| | | value={deliveryToDate} |
| | | class="inputFont" |
| | | style="max-width: 150px" |
| | | ></lightning-input> |
| | | </div> |
| | | </div> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item flexibility="auto"> |
| | | <div class="slds-grid slds-grid_vertical-align-center"> |
| | | <div class="slds-form-element__label ">发票号</div> |
| | | <lightning-input variant="label-hidden" label="发票号" onchange={dataChange} |
| | | data-field="category1" value={category1} class="inputFont" |
| | | style="max-width: 150px;"></lightning-input> |
| | | <div |
| | | class="slds-grid slds-grid_vertical-align-center" |
| | | > |
| | | <div |
| | | class="slds-form-element__label" |
| | | > |
| | | 发票号 |
| | | </div> |
| | | <lightning-input |
| | | variant="label-hidden" |
| | | label="发票号" |
| | | onchange={dataChange} |
| | | data-field="category1" |
| | | value={category1} |
| | | class="inputFont" |
| | | style="max-width: 150px" |
| | | ></lightning-input> |
| | | </div> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item flexibility="auto"> |
| | | <div class="slds-grid slds-grid_vertical-align-center"> |
| | | <div class="slds-form-element__label ">客户名</div> |
| | | <lightning-input variant="label-hidden" label="客户名" onchange={dataChange} |
| | | data-field="category2" value={category2} class="inputFont" |
| | | style="max-width: 150px;"></lightning-input> |
| | | <div |
| | | class="slds-grid slds-grid_vertical-align-center" |
| | | > |
| | | <div |
| | | class="slds-form-element__label" |
| | | > |
| | | 客户名 |
| | | </div> |
| | | <lightning-input |
| | | variant="label-hidden" |
| | | label="客户名" |
| | | onchange={dataChange} |
| | | data-field="category2" |
| | | value={category2} |
| | | class="inputFont" |
| | | style="max-width: 150px" |
| | | ></lightning-input> |
| | | </div> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item flexibility="auto"> |
| | | <div class="slds-grid slds-grid_vertical-align-center"> |
| | | <div class="slds-form-element__label ">状态</div> |
| | | <lightning-combobox data-field="invoiceStatus" name="invoiceStatus" |
| | | label="状态" value={invoiceStatusValue} placeholder="请选择..." |
| | | options={Options} variant="label-hidden" onchange={dataChange} |
| | | style="min-width: 100px;max-width: 200px;" |
| | | class="inputFont"></lightning-combobox> |
| | | <div |
| | | class="slds-grid slds-grid_vertical-align-center" |
| | | > |
| | | <div |
| | | class="slds-form-element__label" |
| | | > |
| | | 状态 |
| | | </div> |
| | | <lightning-combobox |
| | | data-field="invoiceStatus" |
| | | name="invoiceStatus" |
| | | label="状态" |
| | | value={invoiceStatusValue} |
| | | placeholder="请选择..." |
| | | options={Options} |
| | | variant="label-hidden" |
| | | onchange={dataChange} |
| | | style=" |
| | | min-width: 100px; |
| | | max-width: 200px; |
| | | " |
| | | class="inputFont" |
| | | ></lightning-combobox> |
| | | </div> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item flexibility="auto"> |
| | | <div class="slds-grid slds-grid_vertical-align-center"> |
| | | <div |
| | | class="slds-grid slds-grid_vertical-align-center" |
| | | > |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | onclick={invoiceCodeSearchJs} style="max-width: 110px;">检索</button> |
| | | onclick={invoiceCodeSearchJs} |
| | | style="max-width: 110px" |
| | | > |
| | | 检索 |
| | | </button> |
| | | </div> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item flexibility="auto"> |
| | | <div class="slds-grid slds-grid_vertical-align-center"> |
| | | <div |
| | | class="slds-grid slds-grid_vertical-align-center" |
| | | > |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" |
| | | onclick={ClearJs} style="max-width: 110px;">清空</button> |
| | | onclick={ClearJs} |
| | | style="max-width: 110px" |
| | | > |
| | | 清空 |
| | | </button> |
| | | </div> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 发票一览 --> |
| | | <div class="borderCss" style="margin-top: 5px;"> |
| | | <div class="borderCss" style="margin-top: 5px"> |
| | | <div class="headerDorderCss"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | |
| | | <div style="padding: 7px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | <lightning-datatable key-field="id" data={invoiceData} columns={invoiceColumns} |
| | | hide-checkbox-column="true" class="wrapped-header-datatable"> |
| | | <lightning-datatable |
| | | key-field="id" |
| | | data={invoiceData} |
| | | columns={invoiceColumns} |
| | | hide-checkbox-column="true" |
| | | class="wrapped-header-datatable" |
| | | > |
| | | </lightning-datatable> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <template if:true={isDetailsShow}> |
| | | <div class="outerBorderCss"> |
| | | <div style="padding:5px;"> |
| | | <div style="padding: 5px"> |
| | | <!-- 确定 --> |
| | | <div class="borderCss"> |
| | | <div style="padding:10px;"> |
| | | <div style="padding: 10px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | <!-- <lightning-button label="确定" onclick={detailsSaveJs}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | onclick={detailsSaveJs}>确定</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | onclick={detailsSaveJs} |
| | | > |
| | | 确定 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 发票信息 --> |
| | | <div class="borderCss" style="margin-top: 5px;"> |
| | | <div class="borderCss" style="margin-top: 5px"> |
| | | <div class="headerDorderCss"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | |
| | | <div style="padding: 7px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | <lightning-record-edit-form object-api-name="Consumable_order__c" |
| | | record-id={detailsInvoiceId} onload={handleLoad2}> |
| | | <lightning-record-edit-form |
| | | object-api-name="Consumable_order__c" |
| | | record-id={detailsInvoiceId} |
| | | onload={handleLoad2} |
| | | > |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Name"></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item size="5" class="hehe-layoutItem"> |
| | | <lightning-output-field field-name="ShipmentAccount__c" |
| | | class="hideHelpText"></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field |
| | | field-name="Order_ForCustomerText__c"></lightning-output-field> |
| | | field-name="Name" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="5" |
| | | class="hehe-layoutItem" |
| | | > |
| | | <lightning-output-field |
| | | field-name="ShipmentAccount__c" |
| | | class="hideHelpText" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field |
| | | field-name="Order_ForCustomerText__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </lightning-record-edit-form> |
| | |
| | | </div> |
| | | |
| | | <!-- 出库单 --> |
| | | <div class="borderCss" style="margin-top: 5px;"> |
| | | <div class="borderCss" style="margin-top: 5px"> |
| | | <div class="headerDorderCss"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | |
| | | <div style="padding: 7px"> |
| | | <div lwc:dom="manual" class="resultDiv"></div> |
| | | <div draggable="false"> |
| | | <lightning-record-edit-form object-api-name="Consumable_order__c" record-id={detailsCocId}> |
| | | <lightning-record-edit-form |
| | | object-api-name="Consumable_order__c" |
| | | record-id={detailsCocId} |
| | | > |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Name"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Name" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | <lightning-layout multiple-rows="true"> |
| | | <lightning-layout-item size="1"></lightning-layout-item> |
| | | <lightning-layout-item |
| | | size="1" |
| | | ></lightning-layout-item> |
| | | <lightning-layout-item size="5"> |
| | | <lightning-output-field field-name="Outbound_Date__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Outbound_Date__c" |
| | | ></lightning-output-field> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </lightning-record-edit-form> |
| | |
| | | </div> |
| | | |
| | | <!-- 出库单明细 --> |
| | | <div class="borderCss" style="margin-top: 5px;"> |
| | | <div class="borderCss" style="margin-top: 5px"> |
| | | <div class="headerDorderCss"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | |
| | | <!-- <lightning-datatable class="datatabel slds-border_top" key-field="id" |
| | | data={detaisData} columns={detailsColumns}> |
| | | </lightning-datatable> --> |
| | | <c-lex-custom-lightning-datatable key-field="Id" data={detailsData} columns={detailsColumns} |
| | | onunitchange={handleUnitChange} onshipmentnumber={handleShipmentNumber} |
| | | onrowselection={detailsGetSelectedRows} selected-rows={detailsSelectedRows} |
| | | style="word-wrap:break-word; word-break:break-all; " class="wrapped-header-datatable" |
| | | min-column-width="115"> |
| | | <c-lex-custom-lightning-datatable |
| | | key-field="Id" |
| | | data={detailsData} |
| | | columns={detailsColumns} |
| | | onunitchange={handleUnitChange} |
| | | onshipmentnumber={handleShipmentNumber} |
| | | onrowselection={detailsGetSelectedRows} |
| | | selected-rows={detailsSelectedRows} |
| | | style=" |
| | | word-wrap: break-word; |
| | | word-break: break-all; |
| | | " |
| | | class="wrapped-header-datatable" |
| | | min-column-width="115" |
| | | > |
| | | </c-lex-custom-lightning-datatable> |
| | | <lightning-datatable class="datatabel slds-border_top wrapped-header-datatable" |
| | | key-field="id" data={invoiceAllpriceData} columns={detailsColumns} hide-checkbox-column |
| | | hide-table-header> |
| | | <lightning-datatable |
| | | class="datatabel slds-border_top wrapped-header-datatable" |
| | | key-field="id" |
| | | data={invoiceAllpriceData} |
| | | columns={detailsColumns} |
| | | hide-checkbox-column |
| | | hide-table-header |
| | | > |
| | | </lightning-datatable> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | </template> |
| | |
| | | import { LightningElement, api, track, wire } from 'lwc'; |
| | | import { ShowToastEvent } from "lightning/platformShowToastEvent"; |
| | | import init from "@salesforce/apex/LexConInvoiceViewController.init"; |
| | | import save from "@salesforce/apex/LexConInvoiceViewController.save"; |
| | | import saveFile from "@salesforce/apex/LexConInvoiceViewController.saveFile"; |
| | | import saveAttachment from "@salesforce/apex/LexConInvoiceViewController.saveAttachment"; |
| | | import InvoiceorderSearch from "@salesforce/apex/LexConInvoiceViewController.InvoiceorderSearch"; |
| | | import deleteButton from "@salesforce/apex/LexConInvoiceViewController.deleteButton"; |
| | | import approval from "@salesforce/apex/LexConInvoiceViewController.approval"; |
| | | import conInvoiceListInit from "@salesforce/apex/LexConInvoiceList.init"; |
| | | import invoiceCodeSearch from "@salesforce/apex/LexConInvoiceList.invoiceCodeSearch"; |
| | | import hospitalInit from "@salesforce/apex/lexSearchAgencyHospitalController.init"; |
| | | import serContact from "@salesforce/apex/lexSearchAgencyHospitalController.serContact"; |
| | | import detailsInit from "@salesforce/apex/LexConInvoicedetailsController.init"; |
| | | import detailsSave from "@salesforce/apex/LexConInvoicedetailsController.save"; |
| | | import { ShowToastEvent } from 'lightning/platformShowToastEvent'; |
| | | import init from '@salesforce/apex/LexConInvoiceViewController.init'; |
| | | import save from '@salesforce/apex/LexConInvoiceViewController.save'; |
| | | import saveFile from '@salesforce/apex/LexConInvoiceViewController.saveFile'; |
| | | import saveAttachment from '@salesforce/apex/LexConInvoiceViewController.saveAttachment'; |
| | | import InvoiceorderSearch from '@salesforce/apex/LexConInvoiceViewController.InvoiceorderSearch'; |
| | | import deleteButton from '@salesforce/apex/LexConInvoiceViewController.deleteButton'; |
| | | import approval from '@salesforce/apex/LexConInvoiceViewController.approval'; |
| | | import conInvoiceListInit from '@salesforce/apex/LexConInvoiceList.init'; |
| | | import invoiceCodeSearch from '@salesforce/apex/LexConInvoiceList.invoiceCodeSearch'; |
| | | import hospitalInit from '@salesforce/apex/lexSearchAgencyHospitalController.init'; |
| | | import serContact from '@salesforce/apex/lexSearchAgencyHospitalController.serContact'; |
| | | import detailsInit from '@salesforce/apex/LexConInvoicedetailsController.init'; |
| | | import detailsSave from '@salesforce/apex/LexConInvoicedetailsController.save'; |
| | | import deleteAtt from '@salesforce/apex/LexSummonsCreatController.deleteAtt'; |
| | | import { NavigationMixin } from "lightning/navigation"; |
| | | //table css |
| | | import { loadStyle } from "lightning/platformResourceLoader"; |
| | | import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable"; |
| | | import { NavigationMixin } from 'lightning/navigation'; |
| | | //table css |
| | | import { loadStyle } from 'lightning/platformResourceLoader'; |
| | | import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable'; |
| | | import LexConInvoiceViewReport from '@salesforce/label/c.LexConInvoiceViewReport'; |
| | | |
| | | const hospitalColumns = [ |
| | | { |
| | | label: "", |
| | | fieldName: "Id1", |
| | | type: "button", |
| | | label: '', |
| | | fieldName: 'Id1', |
| | | type: 'button', |
| | | initialWidth: 90, |
| | | hideDefaultActions: true, |
| | | typeAttributes: { |
| | | label: "选择", |
| | | name: "Id2", |
| | | size: 1, |
| | | }, |
| | | label: '选择', |
| | | name: 'Id2', |
| | | size: 1 |
| | | } |
| | | }, |
| | | { |
| | | label: "医院名称", |
| | | fieldName: "Name", |
| | | label: '医院名称', |
| | | fieldName: 'Name', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: "省份", |
| | | fieldName: "stateMasterName", |
| | | hideDefaultActions: true, |
| | | label: '省份', |
| | | fieldName: 'stateMasterName', |
| | | hideDefaultActions: true |
| | | } |
| | | ]; |
| | | const invoiceDetailsColumns = [ |
| | | { |
| | | label: "出库日期", |
| | | fieldName: "esdetProductOutDate", |
| | | label: '出库日期', |
| | | fieldName: 'esdetProductOutDate', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: "出库单编码", |
| | | fieldName: "esdetInvoicedet1ODlinkName", |
| | | label: '出库单编码', |
| | | fieldName: 'esdetInvoicedet1ODlinkName', |
| | | wrapText: true, |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: "产品型号", |
| | | fieldName: "esdetAssetModelNo", |
| | | label: '产品型号', |
| | | fieldName: 'esdetAssetModelNo', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 400, |
| | | initialWidth: 400 |
| | | }, |
| | | { |
| | | label: "单位", |
| | | fieldName: "esdetInvoiceUnit", |
| | | label: '单位', |
| | | fieldName: 'esdetInvoiceUnit', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | initialWidth: 50, |
| | | initialWidth: 50 |
| | | }, |
| | | { |
| | | label: "发票单价", |
| | | fieldName: "esdetInvoiceUnitprice", |
| | | label: '发票单价', |
| | | fieldName: 'esdetInvoiceUnitprice', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | type: "number", |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | minimumFractionDigits: 2 |
| | | } |
| | | }, |
| | | { |
| | | label: "发票数量", |
| | | fieldName: "esdetInvoicedCount", |
| | | label: '发票数量', |
| | | fieldName: 'esdetInvoicedCount', |
| | | cellAttributes: { alignment: 'right' }, |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: "发票票面金额(元)", |
| | | fieldName: "esdetInvoicedProCostRMB", |
| | | label: '发票票面金额(元)', |
| | | fieldName: 'esdetInvoicedProCostRMB', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | cellAttributes: { alignment: 'right' }, |
| | | initialWidth:145, |
| | | type: "number", |
| | | initialWidth: 145, |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | }, |
| | | minimumFractionDigits: 2 |
| | | } |
| | | } |
| | | ]; |
| | | const invoiceColumns = [ |
| | | { |
| | | label: "发票日期", |
| | | fieldName: "Invoice_Date__c", |
| | | label: '发票日期', |
| | | fieldName: 'Invoice_Date__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 150 |
| | | }, |
| | | { |
| | | label: "发票号", |
| | | label: '发票号', |
| | | type: 'url', |
| | | fieldName: "NameUrl", |
| | | fieldName: 'NameUrl', |
| | | typeAttributes: { |
| | | label: { fieldName: "Name" }, |
| | | label: { fieldName: 'Name' } |
| | | }, |
| | | hideDefaultActions: true, |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: "客户名", |
| | | fieldName: "ShipmentAccount__c", |
| | | label: '客户名', |
| | | fieldName: 'ShipmentAccount__c', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: "发票状态", |
| | | fieldName: "Invoice_status__c", |
| | | label: '发票状态', |
| | | fieldName: 'Invoice_status__c', |
| | | hideDefaultActions: true, |
| | | initialWidth: 100 |
| | | }, |
| | | { |
| | | label: "发票账面金额(元)", |
| | | fieldName: "Invoice_total_amount__c", |
| | | label: '发票账面金额(元)', |
| | | fieldName: 'Invoice_total_amount__c', |
| | | hideDefaultActions: true, |
| | | type: "number", |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | minimumFractionDigits: 2 |
| | | }, |
| | | initialWidth: 180 |
| | | }, |
| | | { |
| | | label: "发票附件", |
| | | fieldName: "Invoice_attachment__c", |
| | | label: '发票附件', |
| | | fieldName: 'Invoice_attachment__c', |
| | | type: 'boolean', |
| | | hideDefaultActions: true, |
| | | initialWidth: 120 |
| | | }, |
| | | { |
| | | label: "发票明细附件", |
| | | fieldName: "Invoicedet_attachment__c", |
| | | label: '发票明细附件', |
| | | fieldName: 'Invoicedet_attachment__c', |
| | | type: 'boolean', |
| | | hideDefaultActions: true, |
| | | initialWidth: 120 |
| | | }, |
| | | } |
| | | ]; |
| | | const detailsColumns = [ |
| | | { |
| | | label: "产品型号", |
| | | fieldName: "esdAssetModelNo", |
| | | label: '产品型号', |
| | | fieldName: 'esdAssetModelNo', |
| | | hideDefaultActions: true, |
| | | initialWidth: 200, |
| | | wrapText: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: "规格", |
| | | fieldName: "packingListManual", |
| | | label: '规格', |
| | | fieldName: 'packingListManual', |
| | | hideDefaultActions: true, |
| | | initialWidth: 30 |
| | | }, |
| | | { |
| | | label: "出货单价(元)", |
| | | fieldName: "esdDeliveryListRMB", |
| | | label: '出货单价(元)', |
| | | fieldName: 'esdDeliveryListRMB', |
| | | hideDefaultActions: true, |
| | | type: "number", |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | minimumFractionDigits: 2 |
| | | } |
| | | }, |
| | | { |
| | | label: "出货数量", |
| | | fieldName: "esdShipmentCount", |
| | | hideDefaultActions: true, |
| | | label: '出货数量', |
| | | fieldName: 'esdShipmentCount', |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: "返品数量", |
| | | fieldName: "esdRrturnProCount", |
| | | hideDefaultActions: true, |
| | | label: '返品数量', |
| | | fieldName: 'esdRrturnProCount', |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: "出库单位", |
| | | fieldName: "esdBoxPiece", |
| | | hideDefaultActions: true, |
| | | label: '出库单位', |
| | | fieldName: 'esdBoxPiece', |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: "已发票数量", |
| | | fieldName: "esdInvoicedProcount", |
| | | label: '已发票数量', |
| | | fieldName: 'esdInvoicedProcount', |
| | | hideDefaultActions: true, |
| | | type: "number", |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | minimumFractionDigits: 2 |
| | | } |
| | | }, |
| | | { |
| | | label: "还没发票数量", |
| | | fieldName: "esdInvoiceProNotCount", |
| | | label: '还没发票数量', |
| | | fieldName: 'esdInvoiceProNotCount', |
| | | hideDefaultActions: true, |
| | | type: "number", |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | minimumFractionDigits: 2 |
| | | } |
| | | }, |
| | | { |
| | | label: "开票单位", |
| | | label: '开票单位', |
| | | hideDefaultActions: true, |
| | | type: "customUnit", |
| | | type: 'customUnit', |
| | | typeAttributes: { |
| | | unitValue: { fieldName: "unitValue" }, |
| | | unitOptions: { fieldName: "unitOptions" }, |
| | | recordId: { fieldName: "recordId" }, |
| | | isDisabled: { fieldName: "isDisabled" }, |
| | | }, |
| | | unitValue: { fieldName: 'unitValue' }, |
| | | unitOptions: { fieldName: 'unitOptions' }, |
| | | recordId: { fieldName: 'recordId' }, |
| | | isDisabled: { fieldName: 'isDisabled' } |
| | | } |
| | | }, |
| | | { |
| | | label: "发票单价", |
| | | fieldName: "esdInvoiceUnitprice", |
| | | label: '发票单价', |
| | | fieldName: 'esdInvoiceUnitprice', |
| | | hideDefaultActions: true, |
| | | type: "number", |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | minimumFractionDigits: 2 |
| | | }, |
| | | initialWidth: 130 |
| | | }, |
| | | { |
| | | label: "发票数量", |
| | | label: '发票数量', |
| | | //fieldName: "invoiceCount", |
| | | hideDefaultActions: true, |
| | | type: "customShipment", |
| | | type: 'customShipment', |
| | | cellAttributes: { alignment: 'right' }, |
| | | typeAttributes: { |
| | | recordId: { fieldName: "recordId" }, |
| | | shipmentNumber: { fieldName: "shipmentNumber" }, |
| | | isConinvoice: { fieldName: "isConinvoice" }, |
| | | esdInvoiceProNotCount: { fieldName: "esdInvoiceProNotCount" }, |
| | | }, |
| | | recordId: { fieldName: 'recordId' }, |
| | | shipmentNumber: { fieldName: 'shipmentNumber' }, |
| | | isConinvoice: { fieldName: 'isConinvoice' }, |
| | | esdInvoiceProNotCount: { fieldName: 'esdInvoiceProNotCount' } |
| | | } |
| | | }, |
| | | { |
| | | label: "发票票面金额(元)", |
| | | label: '发票票面金额(元)', |
| | | cellAttributes: { alignment: 'right' }, |
| | | fieldName: "invoiceAllprice", |
| | | fieldName: 'invoiceAllprice', |
| | | hideDefaultActions: true, |
| | | type: "number", |
| | | type: 'number', |
| | | initialWidth: 150, |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | }, |
| | | ] |
| | | minimumFractionDigits: 2 |
| | | } |
| | | } |
| | | ]; |
| | | const customLabel = { |
| | | LexConInvoiceViewReport |
| | | } |
| | | export default class LexConInvoiceView extends NavigationMixin(LightningElement) { |
| | | |
| | | }; |
| | | export default class LexConInvoiceView extends NavigationMixin( |
| | | LightningElement |
| | | ) { |
| | | @track label = customLabel; |
| | | invoiceColumns = invoiceColumns; |
| | | detailsColumns = detailsColumns; |
| | | @track outboundColumns = [ |
| | | { |
| | | label: "出库日期", |
| | | fieldName: "esdOutboundDate", |
| | | label: '出库日期', |
| | | fieldName: 'esdOutboundDate', |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: "出库单编码", |
| | | fieldName: "esdNameUrl", |
| | | label: '出库单编码', |
| | | fieldName: 'esdNameUrl', |
| | | type: 'url', |
| | | typeAttributes: { |
| | | label: { fieldName: "esdName" }, |
| | | target: "_blank", |
| | | label: { fieldName: 'esdName' }, |
| | | target: '_blank' |
| | | }, |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | wrapText: true |
| | | } |
| | | ] |
| | | ]; |
| | | @track outboundData = []; |
| | | @track outboundDataSumPrice = []; |
| | | @track invoiceData = []; |
| | |
| | | @track coc = {}; |
| | | @track EditAble = false; |
| | | @track isChange = false; |
| | | @track sumPrice = 0.00; |
| | | @track sumPrice = 0.0; |
| | | @track OrderCode = ''; |
| | | @track ExistOutbound = false; |
| | | @track reopen = ''; |
| | |
| | | @track detailsInvoiceId = ''; |
| | | @track detailsCocId = ''; |
| | | @track detailsData = []; |
| | | @track invoiceAllprice = 0.00; |
| | | @track invoiceAllprice = 0.0; |
| | | //状态 |
| | | @track invoiceStatusValue = ''; |
| | | @track invoiceStatusOptions = []; |
| | |
| | | @track secondaryDistributor = ''; |
| | | //客户名 |
| | | @track isModalOpen = false; |
| | | @track HospitalName = ""; |
| | | @track HospitalInfo = ""; |
| | | @track searchHospitalName = ""; |
| | | @track HospitalName = ''; |
| | | @track HospitalInfo = ''; |
| | | @track searchHospitalName = ''; |
| | | @track isDisabledHospitalName = false; |
| | | @track agencyProType = ''; |
| | | @track accountid = ''; |
| | |
| | | //文件上传 |
| | | @track showLoadingSpinner = false; |
| | | @track showPopSpinner = false; |
| | | @track UploadFile = "Upload File"; |
| | | @track fileName = ""; |
| | | @track UploadFile = 'Upload File'; |
| | | @track fileName = ''; |
| | | @track fileData = []; |
| | | @track fileColumns = [ |
| | | { |
| | | label: "标题", |
| | | fieldName: "url", |
| | | type: "url", |
| | | typeAttributes: { label: { fieldName: "Title" }, target: "_blank" }, |
| | | hideDefaultActions: true, |
| | | label: '标题', |
| | | fieldName: 'url', |
| | | type: 'url', |
| | | typeAttributes: { label: { fieldName: 'Title' }, target: '_blank' }, |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: "创建人", |
| | | type: "url", |
| | | fieldName: "CreatedByNameUrl", |
| | | typeAttributes: { label: { fieldName: "CreatedByName" }, target: "_blank" }, |
| | | hideDefaultActions: true, |
| | | label: '创建人', |
| | | type: 'url', |
| | | fieldName: 'CreatedByNameUrl', |
| | | typeAttributes: { |
| | | label: { fieldName: 'CreatedByName' }, |
| | | target: '_blank' |
| | | }, |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: "上传日期", |
| | | label: '上传日期', |
| | | type: 'date', |
| | | typeAttributes: { |
| | | year: "numeric", |
| | | month: "long", |
| | | day: "2-digit", |
| | | hour: "2-digit", |
| | | minute: "2-digit" |
| | | year: 'numeric', |
| | | month: 'long', |
| | | day: '2-digit', |
| | | hour: '2-digit', |
| | | minute: '2-digit' |
| | | }, |
| | | fieldName: "CreatedDate", |
| | | hideDefaultActions: true, |
| | | fieldName: 'CreatedDate', |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: "附件类型", |
| | | type: "customAttachmentType", |
| | | label: '附件类型', |
| | | type: 'customAttachmentType', |
| | | typeAttributes: { |
| | | typeValue: { fieldName: "typeValue" }, |
| | | typeOptions: { fieldName: "typeOptions" }, |
| | | recordId: { fieldName: "recordId" }, |
| | | isDisabledAttachment: { fieldName: "isDisabledAttachment" }, |
| | | typeValue: { fieldName: 'typeValue' }, |
| | | typeOptions: { fieldName: 'typeOptions' }, |
| | | recordId: { fieldName: 'recordId' }, |
| | | isDisabledAttachment: { fieldName: 'isDisabledAttachment' } |
| | | }, |
| | | hideDefaultActions: true, |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: '', |
| | |
| | | }, |
| | | initialWidth: 50, |
| | | hideDefaultActions: true |
| | | }, |
| | | } |
| | | ]; |
| | | filesUploaded = []; |
| | | fileContents; |
| | |
| | | if (!this.stylesLoaded) { |
| | | Promise.all([loadStyle(this, WrappedHeaderTable)]) |
| | | .then(() => { |
| | | console.log("Custom styles loaded"); |
| | | console.log('Custom styles loaded'); |
| | | this.stylesLoaded = true; |
| | | }) |
| | | .catch((error) => { |
| | | console.error("Error loading custom styles"); |
| | | console.error('Error loading custom styles'); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //获取链接参数 |
| | | getQueryString(name) { |
| | | console.log("getQueryString name " + name); |
| | | let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); |
| | | console.log('getQueryString name ' + name); |
| | | let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); |
| | | let r = window.location.search.substr(1).match(reg); |
| | | if (r != null) { |
| | | return decodeURIComponent(r[2]); |
| | |
| | | |
| | | init() { |
| | | this.isShowSpinner = true; |
| | | this.deliveryId = this.getQueryString("deliveryId"); |
| | | this.deliveryId = this.deliveryId == null ? "" : this.deliveryId; |
| | | this.invoiceId = this.getQueryString("invoiceId"); |
| | | this.invoiceId = this.invoiceId == null ? "" : this.invoiceId; |
| | | this.orderId = this.getQueryString("orderId"); |
| | | this.orderId = this.orderId == null ? "" : this.orderId; |
| | | this.statusEdit = this.getQueryString("KeyWords"); |
| | | this.statusEdit = this.statusEdit == null ? "" : this.statusEdit; |
| | | this.reopen = this.getQueryString("reopen"); |
| | | this.reopen = this.reopen == null ? "" : this.reopen; |
| | | this.isNew = this.getQueryString("isNew"); |
| | | this.isNew = this.isNew == null ? "" : this.isNew; |
| | | console.log('this.deliveryId = ' + this.deliveryId + ' this.invoiceId = ' + this.invoiceId + ' this.statusEdit = ' + this.statusEdit); |
| | | this.deliveryId = this.getQueryString('deliveryId'); |
| | | this.deliveryId = this.deliveryId == null ? '' : this.deliveryId; |
| | | this.invoiceId = this.getQueryString('invoiceId'); |
| | | this.invoiceId = this.invoiceId == null ? '' : this.invoiceId; |
| | | this.orderId = this.getQueryString('orderId'); |
| | | this.orderId = this.orderId == null ? '' : this.orderId; |
| | | this.statusEdit = this.getQueryString('KeyWords'); |
| | | this.statusEdit = this.statusEdit == null ? '' : this.statusEdit; |
| | | this.reopen = this.getQueryString('reopen'); |
| | | this.reopen = this.reopen == null ? '' : this.reopen; |
| | | this.isNew = this.getQueryString('isNew'); |
| | | this.isNew = this.isNew == null ? '' : this.isNew; |
| | | console.log( |
| | | 'this.deliveryId = ' + |
| | | this.deliveryId + |
| | | ' this.invoiceId = ' + |
| | | this.invoiceId + |
| | | ' this.statusEdit = ' + |
| | | this.statusEdit |
| | | ); |
| | | if (this.invoiceId != '' && this.orderId != '') { |
| | | //进入coninvoiceDetails |
| | | detailsInit({ |
| | | orderIdLwc: this.orderId, |
| | | invoiceIdLwc: this.invoiceId |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.detailsInvoiceId = r.entity.invoicecode.Id; |
| | | this.detailsCocId = r.entity.coc.Id; |
| | | this.detailsData = r.entity.consumableorderdetails1Records; |
| | | for (var i in this.detailsData) { |
| | | this.detailsData[i]['Id'] = this.detailsData[i].esd.Id; |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.detailsInvoiceId = r.entity.invoicecode.Id; |
| | | this.detailsCocId = r.entity.coc.Id; |
| | | this.detailsData = |
| | | r.entity.consumableorderdetails1Records; |
| | | for (var i in this.detailsData) { |
| | | this.detailsData[i]['Id'] = |
| | | this.detailsData[i].esd.Id; |
| | | |
| | | this.detailsData[i]['esdAssetModelNo'] = this.detailsData[i].esd.Asset_Model_No__c; |
| | | this.detailsData[i]['packingListManual'] = this.detailsData[i].Packing_list_manual; |
| | | this.detailsData[i]['esdDeliveryListRMB'] = this.detailsData[i].esd.Delivery_List_RMB__c; |
| | | this.detailsData[i]['esdShipmentCount'] = this.detailsData[i].esd.Shipment_Count__c; |
| | | this.detailsData[i]['esdRrturnProCount'] = this.detailsData[i].esd.RrturnPro_count__c; |
| | | this.detailsData[i]['esdBoxPiece'] = this.detailsData[i].esd.Box_Piece__c; |
| | | this.detailsData[i]['esdAssetModelNo'] = |
| | | this.detailsData[i].esd.Asset_Model_No__c; |
| | | this.detailsData[i]['packingListManual'] = |
| | | this.detailsData[i].Packing_list_manual; |
| | | this.detailsData[i]['esdDeliveryListRMB'] = |
| | | this.detailsData[i].esd.Delivery_List_RMB__c; |
| | | this.detailsData[i]['esdShipmentCount'] = |
| | | this.detailsData[i].esd.Shipment_Count__c; |
| | | this.detailsData[i]['esdRrturnProCount'] = |
| | | this.detailsData[i].esd.RrturnPro_count__c; |
| | | this.detailsData[i]['esdBoxPiece'] = |
| | | this.detailsData[i].esd.Box_Piece__c; |
| | | |
| | | this.detailsData[i]['esdInvoicedProcount'] = this.detailsData[i].esd.Invoiced_Procount__c; |
| | | this.detailsData[i]['esdInvoiceProNotCount'] = this.detailsData[i].esd.InvoiceProNot_count__c; |
| | | //开票单位 |
| | | //this.detailsData[i].esd.Box_Piece__c |
| | | //this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Invoice_Unit__c; |
| | | this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Box_Piece__c; |
| | | console.log('unitValue = ' + this.detailsData[i]['unitValue']); |
| | | this.detailsData[i]['recordId'] = this.detailsData[i].esd.Id; |
| | | //disabled="{!IF(records.esd.Box_Piece__c =='个' || (records.esd.Box_Piece__c =='盒' && records.Packing_list_manual ==1),true,false)}" |
| | | //this.detailsData[i]['isDisabled'] = (this.detailsData[i].esd.Box_Piece__c == '个' || (this.detailsData[i].esd.Box_Piece__c =='盒' && this.detailsData[i].Packing_list_manual ==1)) ? true:false; |
| | | this.detailsData[i]['isDisabled'] = true; |
| | | let unitOptions = []; |
| | | for (var key in this.detailsData[i].Invoice_UnitOptsMap) { |
| | | let unitOption = {}; |
| | | unitOption["label"] = this.detailsData[i].Invoice_UnitOptsMap[key]; |
| | | unitOption["value"] = key; |
| | | unitOptions.push(unitOption); |
| | | this.detailsData[i]['esdInvoicedProcount'] = |
| | | this.detailsData[i].esd.Invoiced_Procount__c; |
| | | this.detailsData[i]['esdInvoiceProNotCount'] = |
| | | this.detailsData[i].esd.InvoiceProNot_count__c; |
| | | //开票单位 |
| | | //this.detailsData[i].esd.Box_Piece__c |
| | | //this.detailsData[i]['unitValue'] = this.detailsData[i].esd.Invoice_Unit__c; |
| | | this.detailsData[i]['unitValue'] = |
| | | this.detailsData[i].esd.Box_Piece__c; |
| | | console.log( |
| | | 'unitValue = ' + |
| | | this.detailsData[i]['unitValue'] |
| | | ); |
| | | this.detailsData[i]['recordId'] = |
| | | this.detailsData[i].esd.Id; |
| | | //disabled="{!IF(records.esd.Box_Piece__c =='个' || (records.esd.Box_Piece__c =='盒' && records.Packing_list_manual ==1),true,false)}" |
| | | //this.detailsData[i]['isDisabled'] = (this.detailsData[i].esd.Box_Piece__c == '个' || (this.detailsData[i].esd.Box_Piece__c =='盒' && this.detailsData[i].Packing_list_manual ==1)) ? true:false; |
| | | this.detailsData[i]['isDisabled'] = true; |
| | | let unitOptions = []; |
| | | for (var key in this.detailsData[i] |
| | | .Invoice_UnitOptsMap) { |
| | | let unitOption = {}; |
| | | unitOption['label'] = |
| | | this.detailsData[i].Invoice_UnitOptsMap[ |
| | | key |
| | | ]; |
| | | unitOption['value'] = key; |
| | | unitOptions.push(unitOption); |
| | | } |
| | | this.detailsData[i]['unitOptions'] = unitOptions; |
| | | this.detailsData[i]['esdInvoiceUnitprice'] = |
| | | this.detailsData[i].esd.Invoice_Unitprice__c; |
| | | //发票数量 |
| | | this.detailsData[i]['shipmentNumber'] = |
| | | this.detailsData[i].invoiceCount; |
| | | this.detailsData[i]['isConinvoice'] = true; |
| | | this.detailsData[i]['invoiceAllprice'] = |
| | | this.detailsData[i].invoiceAllprice; |
| | | |
| | | if (this.detailsData[i].check) { |
| | | this.detailsSelectedRows.push( |
| | | this.detailsData[i]['Id'] |
| | | ); |
| | | this.invoiceAllprice += |
| | | this.detailsData[i]['invoiceAllprice']; |
| | | } |
| | | } |
| | | this.detailsData[i]["unitOptions"] = unitOptions; |
| | | this.detailsData[i]['esdInvoiceUnitprice'] = this.detailsData[i].esd.Invoice_Unitprice__c; |
| | | //发票数量 |
| | | this.detailsData[i]['shipmentNumber'] = this.detailsData[i].invoiceCount; |
| | | this.detailsData[i]['isConinvoice'] = true; |
| | | this.detailsData[i]['invoiceAllprice'] = this.detailsData[i].invoiceAllprice; |
| | | |
| | | if (this.detailsData[i].check) { |
| | | this.detailsSelectedRows.push(this.detailsData[i]['Id']); |
| | | this.invoiceAllprice += this.detailsData[i]['invoiceAllprice']; |
| | | } |
| | | console.log( |
| | | 'this.detailsData = ' + |
| | | JSON.stringify(this.detailsData) |
| | | ); |
| | | |
| | | let lastInvoiceAllprice = { |
| | | invoiceAllprice: this.invoiceAllprice |
| | | }; |
| | | this.invoiceAllpriceData.push(lastInvoiceAllprice); |
| | | console.log( |
| | | 'this.invoiceAllpriceData = ' + |
| | | JSON.stringify(this.invoiceAllpriceData) |
| | | ); |
| | | |
| | | this.isShowSpinner = false; |
| | | this.isDetailsShow = true; |
| | | } else { |
| | | this.showMyToast('初始化失败', r.msg, 'Error'); |
| | | } |
| | | |
| | | console.log('this.detailsData = ' + JSON.stringify(this.detailsData)); |
| | | |
| | | let lastInvoiceAllprice = { |
| | | invoiceAllprice: this.invoiceAllprice |
| | | } |
| | | this.invoiceAllpriceData.push(lastInvoiceAllprice); |
| | | console.log('this.invoiceAllpriceData = ' + JSON.stringify(this.invoiceAllpriceData)) |
| | | |
| | | }) |
| | | .catch((error) => { |
| | | this.isShowSpinner = false; |
| | | this.isDetailsShow = true; |
| | | } else { |
| | | this.showMyToast('初始化失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | this.isShowSpinner = false; |
| | | console.log("error = " + JSON.stringify(error)); |
| | | }); |
| | | } else if (this.deliveryId == '' && this.invoiceId == '' && this.isNew == '') { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | } else if ( |
| | | this.deliveryId == '' && |
| | | this.invoiceId == '' && |
| | | this.isNew == '' |
| | | ) { |
| | | console.log('conInvoiceListInit'); |
| | | conInvoiceListInit().then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("conInvoiceListInit r = " + JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.ConInvoiceListAccountId = r.entity.accountid; |
| | | this.ConInvoiceListUserWorkLocation = r.entity.userWorkLocation; |
| | | conInvoiceListInit() |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('conInvoiceListInit r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.ConInvoiceListAccountId = r.entity.accountid; |
| | | this.ConInvoiceListUserWorkLocation = |
| | | r.entity.userWorkLocation; |
| | | |
| | | this.ConInvoiceListAgencyProType = r.entity.agencyProType; |
| | | //if (this.ConInvoiceListAgencyProType != 'ET') |
| | | this.ConInvoiceListAgencyProType = |
| | | r.entity.agencyProType; |
| | | //if (this.ConInvoiceListAgencyProType != 'ET') |
| | | this.isOpenReportDisabled = false; |
| | | this.invoiceData = r.entity.raesList; |
| | | for (var i in this.invoiceData) { |
| | | this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id; |
| | | this.invoiceData = r.entity.raesList; |
| | | for (var i in this.invoiceData) { |
| | | this.invoiceData[i]['NameUrl'] = |
| | | '/lexconinvoiceview?invoiceId=' + |
| | | this.invoiceData[i].Id; |
| | | } |
| | | console.log( |
| | | 'this.invoiceData = ' + |
| | | JSON.stringify(this.invoiceData) |
| | | ); |
| | | for (var key in r.entity.statusMap) { |
| | | let object = {}; |
| | | object['label'] = key; |
| | | object['value'] = r.entity.statusMap[key]; |
| | | this.invoiceStatusOptions.push(object); |
| | | } |
| | | this.invoiceStatusOptions = [ |
| | | ...this.invoiceStatusOptions |
| | | ]; |
| | | console.log( |
| | | 'this.invoiceStatusOptions = ' + |
| | | JSON.stringify(this.invoiceStatusOptions) |
| | | ); |
| | | this.isShowSpinner = false; |
| | | } else { |
| | | this.showMyToast('初始化失败', r.msg, 'Error'); |
| | | } |
| | | console.log("this.invoiceData = " + JSON.stringify(this.invoiceData)); |
| | | for (var key in r.entity.statusMap) { |
| | | let object = {}; |
| | | object["label"] = key; |
| | | object["value"] = r.entity.statusMap[key]; |
| | | this.invoiceStatusOptions.push(object); |
| | | } |
| | | this.invoiceStatusOptions = [...this.invoiceStatusOptions]; |
| | | console.log("this.invoiceStatusOptions = " + JSON.stringify(this.invoiceStatusOptions)); |
| | | this.isShowSpinner = false; |
| | | } else { |
| | | this.showMyToast('初始化失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + JSON.stringify(error)); |
| | | }); |
| | | |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | } else { |
| | | console.log('init'); |
| | | this.isConInvoiceList = false; |
| | |
| | | invoiceId: this.invoiceId, |
| | | statusEdit: this.statusEdit, |
| | | deliveryId: this.deliveryId |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("r = " + JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.coc = r.entity.coc; |
| | | this.cocId = this.coc.Id; |
| | | this.EditAble = r.entity.EditAble; |
| | | this.isChange = r.entity.isChange; |
| | | this.ExistOutbound = r.entity.ExistOutbound; |
| | | this.outboundData = r.entity.invoiceOrderRecoeds; |
| | | console.log('this.outboundData = ' + JSON.stringify(this.outboundData)) |
| | | this.done = r.entity.done; |
| | | this.accountid = r.entity.accountid; |
| | | this.userWorkLocation = r.entity.userWorkLocation; |
| | | this.outOrderStringListLwc = r.entity.outOrderStringList; |
| | | this.outordercountMapLwc = r.entity.outordercountMap; |
| | | this.invoiceOrderRecoedschange = r.entity.invoiceOrderRecoedschange; |
| | | this.isDisabledEdit = (this.coc.Invoice_status__c == '提交' || this.coc.Invoice_status__c == '已完成') ? true : false; |
| | | this.isDisabledReopen = this.coc.Invoice_status__c == '提交' ? false : true; |
| | | this.isDisabledDelete = this.coc.Invoice_status__c == '草案中' ? false : true; |
| | | this.isDisabledAttachment = this.coc.Invoice_status__c == '已完成' ? true : false; |
| | | this.OrderCode = this.coc.Name; |
| | | this.InvoiceDate = this.coc.Invoice_Date__c; |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.coc = r.entity.coc; |
| | | this.cocId = this.coc.Id; |
| | | this.EditAble = r.entity.EditAble; |
| | | this.isChange = r.entity.isChange; |
| | | this.ExistOutbound = r.entity.ExistOutbound; |
| | | this.outboundData = r.entity.invoiceOrderRecoeds; |
| | | console.log( |
| | | 'this.outboundData = ' + |
| | | JSON.stringify(this.outboundData) |
| | | ); |
| | | this.done = r.entity.done; |
| | | this.accountid = r.entity.accountid; |
| | | this.userWorkLocation = r.entity.userWorkLocation; |
| | | this.outOrderStringListLwc = |
| | | r.entity.outOrderStringList; |
| | | this.outordercountMapLwc = r.entity.outordercountMap; |
| | | this.invoiceOrderRecoedschange = |
| | | r.entity.invoiceOrderRecoedschange; |
| | | this.isDisabledEdit = |
| | | this.coc.Invoice_status__c == '提交' || |
| | | this.coc.Invoice_status__c == '已完成' |
| | | ? true |
| | | : false; |
| | | this.isDisabledReopen = |
| | | this.coc.Invoice_status__c == '提交' ? false : true; |
| | | this.isDisabledDelete = |
| | | this.coc.Invoice_status__c == '草案中' |
| | | ? false |
| | | : true; |
| | | this.isDisabledAttachment = |
| | | this.coc.Invoice_status__c == '已完成' |
| | | ? true |
| | | : false; |
| | | this.OrderCode = this.coc.Name; |
| | | this.InvoiceDate = this.coc.Invoice_Date__c; |
| | | |
| | | for (var i in this.outboundData) { |
| | | this.outboundData[i].Id = this.outboundData[i].esd.Id; |
| | | if (this.outboundData[i].check) |
| | | this.selectedRows.push(this.outboundData[i].esd.Id); |
| | | } |
| | | this.selectedRows = [...this.selectedRows]; |
| | | console.log('r.entity.attachmentRecoeds = ' + JSON.stringify(r.entity.attachmentRecoeds)) |
| | | if (!this.EditAble) { |
| | | //附件显示 |
| | | this.showLoadingSpinner = true; |
| | | this.fileData = r.entity.attachmentRecoeds; |
| | | for (var i in this.fileData) { |
| | | this.fileData[i]["Id"] = this.fileData[i].cvInfo.Id; |
| | | this.fileData[i]["recordId"] = this.fileData[i].cvInfo.Id; |
| | | this.fileData[i]["url"] = "/" + this.fileData[i].cvInfo.Id; |
| | | this.fileData[i]["Title"] = this.fileData[i].cvInfo.Title; |
| | | this.fileData[i]["CreatedByName"] = this.fileData[i].cvInfo.Owner.Name; |
| | | this.fileData[i]["CreatedByNameUrl"] = "/" + this.fileData[i].cvInfo.OwnerId;; |
| | | this.fileData[i]["CreatedDate"] = this.fileData[i].cvInfo.CreatedDate; |
| | | this.fileData[i]["attUrl"] = '/' + this.fileData[i].cvInfo.Id; |
| | | this.fileData[i]['downloadUrl'] = '/sfc/servlet.shepherd/document/download/' + this.fileData[i].cvInfo.ContentDocumentId + '?operationContext=S1'; |
| | | if (this.isDisabledAttachment) { |
| | | console.log('进入this.isDisabledAttachment') |
| | | this.fileData[i]["isDisabledAttachment"] = true; |
| | | } |
| | | let typeOptions = []; |
| | | for (var key in this.fileData[i].mailSelectOptsMap) { |
| | | let typeOption = {}; |
| | | typeOption["label"] = this.fileData[i].mailSelectOptsMap[key]; |
| | | typeOption["value"] = key; |
| | | typeOptions.push(typeOption); |
| | | } |
| | | this.fileData[i]["typeValue"] = this.fileData[i].mailSelectOptsin == null ? typeOptions[0].value : this.fileData[i].mailSelectOptsin; |
| | | this.fileData[i]["typeOptions"] = typeOptions; |
| | | this.fileData[i]["mailSelectOptsin"] = this.fileData[i].mailSelectOptsin == null ? typeOptions[0].value : this.fileData[i].mailSelectOptsin; |
| | | for (var i in this.outboundData) { |
| | | this.outboundData[i].Id = |
| | | this.outboundData[i].esd.Id; |
| | | if (this.outboundData[i].check) |
| | | this.selectedRows.push( |
| | | this.outboundData[i].esd.Id |
| | | ); |
| | | } |
| | | console.log('this.fileData = ' + JSON.stringify(this.fileData)) |
| | | } |
| | | this.selectedRows = [...this.selectedRows]; |
| | | console.log( |
| | | 'r.entity.attachmentRecoeds = ' + |
| | | JSON.stringify(r.entity.attachmentRecoeds) |
| | | ); |
| | | if (!this.EditAble) { |
| | | //附件显示 |
| | | this.showLoadingSpinner = true; |
| | | this.fileData = r.entity.attachmentRecoeds; |
| | | for (var i in this.fileData) { |
| | | this.fileData[i]['Id'] = |
| | | this.fileData[i].cvInfo.Id; |
| | | this.fileData[i]['recordId'] = |
| | | this.fileData[i].cvInfo.Id; |
| | | this.fileData[i]['url'] = |
| | | '/' + this.fileData[i].cvInfo.Id; |
| | | this.fileData[i]['Title'] = |
| | | this.fileData[i].cvInfo.Title; |
| | | this.fileData[i]['CreatedByName'] = |
| | | this.fileData[i].cvInfo.Owner.Name; |
| | | this.fileData[i]['CreatedByNameUrl'] = |
| | | '/' + this.fileData[i].cvInfo.OwnerId; |
| | | this.fileData[i]['CreatedDate'] = |
| | | this.fileData[i].cvInfo.CreatedDate; |
| | | this.fileData[i]['attUrl'] = |
| | | '/' + this.fileData[i].cvInfo.Id; |
| | | this.fileData[i]['downloadUrl'] = |
| | | '/sfc/servlet.shepherd/document/download/' + |
| | | this.fileData[i].cvInfo.ContentDocumentId + |
| | | '?operationContext=S1'; |
| | | if (this.isDisabledAttachment) { |
| | | console.log( |
| | | '进入this.isDisabledAttachment' |
| | | ); |
| | | this.fileData[i][ |
| | | 'isDisabledAttachment' |
| | | ] = true; |
| | | } |
| | | let typeOptions = []; |
| | | for (var key in this.fileData[i] |
| | | .mailSelectOptsMap) { |
| | | let typeOption = {}; |
| | | typeOption['label'] = |
| | | this.fileData[i].mailSelectOptsMap[key]; |
| | | typeOption['value'] = key; |
| | | typeOptions.push(typeOption); |
| | | } |
| | | this.fileData[i]['typeValue'] = |
| | | this.fileData[i].mailSelectOptsin == null |
| | | ? typeOptions[0].value |
| | | : this.fileData[i].mailSelectOptsin; |
| | | this.fileData[i]['typeOptions'] = typeOptions; |
| | | this.fileData[i]['mailSelectOptsin'] = |
| | | this.fileData[i].mailSelectOptsin == null |
| | | ? typeOptions[0].value |
| | | : this.fileData[i].mailSelectOptsin; |
| | | } |
| | | console.log( |
| | | 'this.fileData = ' + |
| | | JSON.stringify(this.fileData) |
| | | ); |
| | | } |
| | | |
| | | //发票明细 |
| | | this.invoiceOrderdetail1Recoeds = r.entity.invoiceOrderdetail1Recoeds; |
| | | for (var i in this.invoiceOrderdetail1Recoeds) { |
| | | this.invoiceOrderdetail1Recoeds[i]['esdetProductOutDate'] = this.invoiceOrderdetail1Recoeds[i].esdet.Product_OutDate__c; |
| | | this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedet1ODlinkName'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoicedet1_OD_link__r.Name; |
| | | this.invoiceOrderdetail1Recoeds[i]['esdetAssetModelNo'] = this.invoiceOrderdetail1Recoeds[i].esdet.Asset_Model_No__c; |
| | | this.invoiceOrderdetail1Recoeds[i]['esdetInvoiceUnit'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoice_Unit__c; |
| | | this.invoiceOrderdetail1Recoeds[i]['esdetInvoiceUnitprice'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoice_Unitprice__c; |
| | | this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedCount'] = this.invoiceOrderdetail1Recoeds[i].esdet.Invoiced_Count__c; |
| | | this.invoiceOrderdetail1Recoeds[i]['esdetInvoicedProCostRMB'] = this.invoiceOrderdetail1Recoeds[i].esdet.InvoicedProCost_RMB__c; |
| | | } |
| | | //客户名 |
| | | this.HospitalName = r.entity.HospitalName; |
| | | this.HospitalInfo = r.entity.HospitalInfo; |
| | | this.agencyProType = r.entity.agencyProType; |
| | | //if (this.agencyProType != 'ET') |
| | | //发票明细 |
| | | this.invoiceOrderdetail1Recoeds = |
| | | r.entity.invoiceOrderdetail1Recoeds; |
| | | for (var i in this.invoiceOrderdetail1Recoeds) { |
| | | this.invoiceOrderdetail1Recoeds[i][ |
| | | 'esdetProductOutDate' |
| | | ] = |
| | | this.invoiceOrderdetail1Recoeds[ |
| | | i |
| | | ].esdet.Product_OutDate__c; |
| | | this.invoiceOrderdetail1Recoeds[i][ |
| | | 'esdetInvoicedet1ODlinkName' |
| | | ] = |
| | | this.invoiceOrderdetail1Recoeds[ |
| | | i |
| | | ].esdet.Invoicedet1_OD_link__r.Name; |
| | | this.invoiceOrderdetail1Recoeds[i][ |
| | | 'esdetAssetModelNo' |
| | | ] = |
| | | this.invoiceOrderdetail1Recoeds[ |
| | | i |
| | | ].esdet.Asset_Model_No__c; |
| | | this.invoiceOrderdetail1Recoeds[i][ |
| | | 'esdetInvoiceUnit' |
| | | ] = |
| | | this.invoiceOrderdetail1Recoeds[ |
| | | i |
| | | ].esdet.Invoice_Unit__c; |
| | | this.invoiceOrderdetail1Recoeds[i][ |
| | | 'esdetInvoiceUnitprice' |
| | | ] = |
| | | this.invoiceOrderdetail1Recoeds[ |
| | | i |
| | | ].esdet.Invoice_Unitprice__c; |
| | | this.invoiceOrderdetail1Recoeds[i][ |
| | | 'esdetInvoicedCount' |
| | | ] = |
| | | this.invoiceOrderdetail1Recoeds[ |
| | | i |
| | | ].esdet.Invoiced_Count__c; |
| | | this.invoiceOrderdetail1Recoeds[i][ |
| | | 'esdetInvoicedProCostRMB' |
| | | ] = |
| | | this.invoiceOrderdetail1Recoeds[ |
| | | i |
| | | ].esdet.InvoicedProCost_RMB__c; |
| | | } |
| | | //客户名 |
| | | this.HospitalName = r.entity.HospitalName; |
| | | this.HospitalInfo = r.entity.HospitalInfo; |
| | | this.agencyProType = r.entity.agencyProType; |
| | | //if (this.agencyProType != 'ET') |
| | | this.isOpenReportDisabled = false; |
| | | //科室 |
| | | this.ForCustomerText = this.coc.Order_ForCustomerText__c; |
| | | //备注 |
| | | this.InvoiceNote = this.coc.Invoice_Note__c; |
| | | //二级经销商 |
| | | for (var key in r.entity.provinceOptsMap) { |
| | | let object = {}; |
| | | object["label"] = r.entity.provinceOptsMap[key]; |
| | | object["value"] = key; |
| | | this.provinceOptsMap.push(object); |
| | | } |
| | | //出货一览columns |
| | | //科室 |
| | | this.ForCustomerText = |
| | | this.coc.Order_ForCustomerText__c; |
| | | //备注 |
| | | this.InvoiceNote = this.coc.Invoice_Note__c; |
| | | //二级经销商 |
| | | for (var key in r.entity.provinceOptsMap) { |
| | | let object = {}; |
| | | object['label'] = r.entity.provinceOptsMap[key]; |
| | | object['value'] = key; |
| | | this.provinceOptsMap.push(object); |
| | | } |
| | | //出货一览columns |
| | | |
| | | |
| | | if (this.EditAble) { |
| | | let object1 = { |
| | | label: '客户名', |
| | | fieldName: "hospitalName", |
| | | hideDefaultActions: true, |
| | | wrapText: true, |
| | | }; |
| | | let object2 = { |
| | | label: '出货金额(元)', |
| | | fieldName: "shipmentAmount", |
| | | type: "number", |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | hideDefaultActions: true, |
| | | }; |
| | | let object3 = { |
| | | label: '返品金额(元)', |
| | | fieldName: "returnAmount", |
| | | type: "number", |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | hideDefaultActions: true, |
| | | }; |
| | | this.outboundColumns.push(object1) |
| | | this.outboundColumns.push(object2) |
| | | this.outboundColumns.push(object3) |
| | | } |
| | | let object4 = { |
| | | label: '未发票金额(元)', |
| | | fieldName: "uninvoicedAmount", |
| | | type: "number", |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | hideDefaultActions: true, |
| | | }; |
| | | this.outboundColumns.push(object4) |
| | | |
| | | //出货一览Data |
| | | let index = 0; |
| | | for (var i in this.outboundData) { |
| | | this.outboundData[i]['esdOutboundDate'] = this.outboundData[i].esd.Outbound_Date__c; |
| | | this.outboundData[i]['esdNameUrl'] = '/s/lexsummonscreat?ESetid=' + this.outboundData[i].esd.Id; |
| | | this.outboundData[i]['esdName'] = this.outboundData[i].esd.Name; |
| | | if (this.EditAble) { |
| | | this.outboundData[i]['hospitalName'] = this.outboundData[i].esd.ShipmentAccount__c; |
| | | this.outboundData[i]['shipmentAmount'] = this.outboundData[i].esd.Shipment_total_amount__c; |
| | | this.outboundData[i]['returnAmount'] = this.outboundData[i].esd.RrturnPro_total_amount__c; |
| | | let object1 = { |
| | | label: '客户名', |
| | | fieldName: 'hospitalName', |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | }; |
| | | let object2 = { |
| | | label: '出货金额(元)', |
| | | fieldName: 'shipmentAmount', |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2 |
| | | }, |
| | | hideDefaultActions: true |
| | | }; |
| | | let object3 = { |
| | | label: '返品金额(元)', |
| | | fieldName: 'returnAmount', |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2 |
| | | }, |
| | | hideDefaultActions: true |
| | | }; |
| | | this.outboundColumns.push(object1); |
| | | this.outboundColumns.push(object2); |
| | | this.outboundColumns.push(object3); |
| | | } |
| | | this.outboundData[i]['uninvoicedAmount'] = this.outboundData[i].esd.InvoiceNotPro_money__c; |
| | | this.outboundData[i]['invoiceFaceAmount'] = this.keepTwoDecimalStr(this.outboundData[i].needInvoiceCount); |
| | | if (!(this.outboundData[i].esd.Billed_Status__c == '全部开票' || this.EditAble || this.coc.Invoice_status__c != '草案中')) { |
| | | console.log('进入 if') |
| | | let url = "/lexconinvoiceview?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId; |
| | | this.outboundData[i]['invoiceFaceAmountUrl'] = url; |
| | | if (index == 0) { |
| | | let object5 = { |
| | | label: '发票票面金额(元)', |
| | | cellAttributes: { alignment: 'right' }, |
| | | type: 'url', |
| | | fieldName: "invoiceFaceAmountUrl", |
| | | typeAttributes: { |
| | | label: { fieldName: "invoiceFaceAmount" }, |
| | | //target: "_blank", |
| | | }, |
| | | hideDefaultActions: true, |
| | | }; |
| | | this.outboundColumns.push(object5) |
| | | index++; |
| | | let object4 = { |
| | | label: '未发票金额(元)', |
| | | fieldName: 'uninvoicedAmount', |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2 |
| | | }, |
| | | hideDefaultActions: true |
| | | }; |
| | | this.outboundColumns.push(object4); |
| | | |
| | | //出货一览Data |
| | | let index = 0; |
| | | for (var i in this.outboundData) { |
| | | this.outboundData[i]['esdOutboundDate'] = |
| | | this.outboundData[i].esd.Outbound_Date__c; |
| | | this.outboundData[i]['esdNameUrl'] = |
| | | '/s/lexsummonscreat?ESetid=' + |
| | | this.outboundData[i].esd.Id; |
| | | this.outboundData[i]['esdName'] = |
| | | this.outboundData[i].esd.Name; |
| | | if (this.EditAble) { |
| | | this.outboundData[i]['hospitalName'] = |
| | | this.outboundData[i].esd.ShipmentAccount__c; |
| | | this.outboundData[i]['shipmentAmount'] = |
| | | this.outboundData[ |
| | | i |
| | | ].esd.Shipment_total_amount__c; |
| | | this.outboundData[i]['returnAmount'] = |
| | | this.outboundData[ |
| | | i |
| | | ].esd.RrturnPro_total_amount__c; |
| | | } |
| | | } else { |
| | | console.log('进入 else') |
| | | if (index == 0) { |
| | | let object5 = { |
| | | label: '发票票面金额(元)', |
| | | cellAttributes: { alignment: 'right' }, |
| | | fieldName: "invoiceFaceAmount", |
| | | hideDefaultActions: true, |
| | | type: "number", |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2, |
| | | }, |
| | | }; |
| | | this.outboundColumns.push(object5) |
| | | index++; |
| | | this.outboundData[i]['uninvoicedAmount'] = |
| | | this.outboundData[i].esd.InvoiceNotPro_money__c; |
| | | this.outboundData[i]['invoiceFaceAmount'] = |
| | | this.keepTwoDecimalStr( |
| | | this.outboundData[i].needInvoiceCount |
| | | ); |
| | | if ( |
| | | !( |
| | | this.outboundData[i].esd.Billed_Status__c == |
| | | '全部开票' || |
| | | this.EditAble || |
| | | this.coc.Invoice_status__c != '草案中' |
| | | ) |
| | | ) { |
| | | console.log('进入 if'); |
| | | let url = |
| | | '/lexconinvoiceview?orderId=' + |
| | | this.outboundData[i].esd.Id + |
| | | '&invoiceId=' + |
| | | this.invoiceId; |
| | | this.outboundData[i]['invoiceFaceAmountUrl'] = |
| | | url; |
| | | if (index == 0) { |
| | | let object5 = { |
| | | label: '发票票面金额(元)', |
| | | cellAttributes: { alignment: 'right' }, |
| | | type: 'url', |
| | | fieldName: 'invoiceFaceAmountUrl', |
| | | typeAttributes: { |
| | | label: { |
| | | fieldName: 'invoiceFaceAmount' |
| | | } |
| | | //target: "_blank", |
| | | }, |
| | | hideDefaultActions: true |
| | | }; |
| | | this.outboundColumns.push(object5); |
| | | index++; |
| | | } |
| | | } else { |
| | | console.log('进入 else'); |
| | | if (index == 0) { |
| | | let object5 = { |
| | | label: '发票票面金额(元)', |
| | | cellAttributes: { alignment: 'right' }, |
| | | fieldName: 'invoiceFaceAmount', |
| | | hideDefaultActions: true, |
| | | type: 'number', |
| | | typeAttributes: { |
| | | minimumFractionDigits: 2 |
| | | } |
| | | }; |
| | | this.outboundColumns.push(object5); |
| | | index++; |
| | | } |
| | | } |
| | | //计算发票票面金额 |
| | | this.sumPrice += |
| | | this.outboundData[i].needInvoiceCount; |
| | | } |
| | | //计算发票票面金额 |
| | | this.sumPrice += this.outboundData[i].needInvoiceCount; |
| | | } |
| | | |
| | | //四舍五入 |
| | | //this.sumPrice = this.sumPrice.toFixed(2); |
| | | //如果不四舍五入 |
| | | console.log('start keepTwoDecimalStr') |
| | | this.sumPrice = this.keepTwoDecimalStr(this.sumPrice); |
| | | console.log('end keepTwoDecimalStr = ' + this.sumPrice) |
| | | //加最后一行显示金额 |
| | | if (this.EditAble) { |
| | | let lastOutboundData = { |
| | | invoiceFaceAmount: this.sumPrice |
| | | //四舍五入 |
| | | //this.sumPrice = this.sumPrice.toFixed(2); |
| | | //如果不四舍五入 |
| | | console.log('start keepTwoDecimalStr'); |
| | | this.sumPrice = this.keepTwoDecimalStr(this.sumPrice); |
| | | console.log('end keepTwoDecimalStr = ' + this.sumPrice); |
| | | //加最后一行显示金额 |
| | | if (this.EditAble) { |
| | | let lastOutboundData = { |
| | | invoiceFaceAmount: this.sumPrice |
| | | }; |
| | | this.outboundDataSumPrice.push(lastOutboundData); |
| | | } |
| | | this.outboundDataSumPrice.push(lastOutboundData); |
| | | this.outboundColumns = [...this.outboundColumns]; |
| | | |
| | | this.isEditInvoice = !(!this.EditAble || this.isChange); |
| | | if ( |
| | | this.coc.SummonsForDirction__c == '销售给二级经销商' |
| | | ) |
| | | this.isShowSecondaryDistributor = true; |
| | | if ( |
| | | this.deliveryId == '' && |
| | | !this.ExistOutbound && |
| | | this.EditAble |
| | | ) |
| | | this.hideCheckbox = false; |
| | | this.isShowSpinner = false; |
| | | this.showLoadingSpinner = false; |
| | | } else { |
| | | this.showMyToast('失败', r.msg, 'Error'); |
| | | } |
| | | this.outboundColumns = [...this.outboundColumns]; |
| | | |
| | | |
| | | this.isEditInvoice = !(!this.EditAble || this.isChange); |
| | | if (this.coc.SummonsForDirction__c == '销售给二级经销商') |
| | | this.isShowSecondaryDistributor = true; |
| | | if (this.deliveryId == '' && !this.ExistOutbound && this.EditAble) |
| | | this.hideCheckbox = false; |
| | | this.isShowSpinner = false; |
| | | this.showLoadingSpinner = false; |
| | | } else { |
| | | this.showMyToast('失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + JSON.stringify(error)); |
| | | }); |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | //上传配置单 |
| | | uploadOrder(event) { |
| | |
| | | |
| | | //是否显示附件移除 |
| | | get attDelBtn() { |
| | | if (this.fileName != '' && this.fileName != null && this.fileName != '选择一个文件上传') { |
| | | if ( |
| | | this.fileName != '' && |
| | | this.fileName != null && |
| | | this.fileName != '选择一个文件上传' |
| | | ) { |
| | | return true; |
| | | } else { |
| | | return false; |
| | |
| | | s += '0'; |
| | | } |
| | | return s; |
| | | }; |
| | | } |
| | | |
| | | dataChange(event) { |
| | | let fieldName = event.target.getAttribute("data-field"); |
| | | let fieldName = event.target.getAttribute('data-field'); |
| | | let value = event.detail.value; |
| | | console.log("fieldName = " + fieldName + " value = " + value); |
| | | console.log('fieldName = ' + fieldName + ' value = ' + value); |
| | | switch (fieldName) { |
| | | case "OrderCode": |
| | | case 'OrderCode': |
| | | this.OrderCode = value; |
| | | this.coc['Name'] = value; |
| | | break; |
| | | case "ForCustomerText": |
| | | case 'ForCustomerText': |
| | | this.ForCustomerText = value; |
| | | this.coc['Order_ForCustomerText__c'] = value; |
| | | break; |
| | | case "InvoiceDate": |
| | | case 'InvoiceDate': |
| | | this.InvoiceDate = value; |
| | | this.coc['Invoice_Date__c'] = value; |
| | | break; |
| | | case "secondaryDistributor": |
| | | case 'secondaryDistributor': |
| | | this.secondaryDistributor = value; |
| | | break; |
| | | case "deliveryFromDate": |
| | | case 'deliveryFromDate': |
| | | this.deliveryFromDate = value; |
| | | break; |
| | | case "deliveryToDate": |
| | | case 'deliveryToDate': |
| | | this.deliveryToDate = value; |
| | | break; |
| | | case "category1": |
| | | case 'category1': |
| | | this.category1 = value; |
| | | break; |
| | | case "category2": |
| | | case 'category2': |
| | | this.category2 = value; |
| | | break; |
| | | case "invoiceStatus": |
| | | case 'invoiceStatus': |
| | | this.invoiceStatusValue = value; |
| | | break; |
| | | case "searchHospitalName": |
| | | case 'searchHospitalName': |
| | | this.searchHospitalName = value; |
| | | break; |
| | | case "InvoiceNote": |
| | | case 'InvoiceNote': |
| | | this.InvoiceNote = value; |
| | | this.coc['Invoice_Note__c'] = value; |
| | | break; |
| | |
| | | |
| | | //搜索客户名 |
| | | searchHospitalNameModal() { |
| | | console.log("searchHospitalNameModal"); |
| | | console.log('searchHospitalNameModal'); |
| | | hospitalInit({ |
| | | ctype: this.agencyProType, |
| | | ctype: this.agencyProType |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | if (r.status == 'Success') { |
| | | this.hospitalList = r.entity.at; |
| | | for (var i in this.hospitalList) { |
| | | this.hospitalList[i]["stateMasterName"] = this.hospitalList[i].State_Master__r.Name; |
| | | this.hospitalList[i]['stateMasterName'] = |
| | | this.hospitalList[i].State_Master__r.Name; |
| | | } |
| | | console.log("hospitalInit r = " + JSON.stringify(this.hospitalList)); |
| | | console.log( |
| | | 'hospitalInit r = ' + JSON.stringify(this.hospitalList) |
| | | ); |
| | | this.isModalOpen = true; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | searchHospital() { |
| | | console.log("this.searchHospitalName = " + this.searchHospitalName); |
| | | console.log('this.searchHospitalName = ' + this.searchHospitalName); |
| | | serContact({ |
| | | searchName: this.searchHospitalName, |
| | | ctype: this.agencyProType, |
| | | ctype: this.agencyProType |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | if (r.status == 'Success') { |
| | | this.hospitalList = r.entity.at; |
| | | for (var i in this.hospitalList) { |
| | | this.hospitalList[i]["stateMasterName"] = |
| | | this.hospitalList[i]['stateMasterName'] = |
| | | this.hospitalList[i].State_Master__r.Name; |
| | | } |
| | | console.log("hospitalInit r = " + JSON.stringify(this.hospitalList)); |
| | | console.log( |
| | | 'hospitalInit r = ' + JSON.stringify(this.hospitalList) |
| | | ); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //选择客户名 |
| | | searchHandleRowAction(event) { |
| | | console.log("searchHandleRowAction"); |
| | | console.log('searchHandleRowAction'); |
| | | let row = event.detail.row; |
| | | this.HospitalInfo = row.Id; |
| | | this.HospitalName = row.Name; |
| | | console.log("this.HospitalInfo = " + this.HospitalInfo + " this.HospitalName = " + this.HospitalName); |
| | | console.log( |
| | | 'this.HospitalInfo = ' + |
| | | this.HospitalInfo + |
| | | ' this.HospitalName = ' + |
| | | this.HospitalName |
| | | ); |
| | | this.isModalOpen = false; |
| | | } |
| | | |
| | | //当客户名是空时。客户id也变为空 |
| | | clearAgencyI(event) { |
| | | this.HospitalName = event.target.value; |
| | | if (this.HospitalName == "" || this.HospitalName == null) { |
| | | this.HospitalInfo = ""; |
| | | if (this.HospitalName == '' || this.HospitalName == null) { |
| | | this.HospitalInfo = ''; |
| | | } |
| | | console.log("this.HospitalName = " + this.HospitalName); |
| | | console.log("this.HospitalInfo = " + this.HospitalInfo); |
| | | console.log('this.HospitalName = ' + this.HospitalName); |
| | | console.log('this.HospitalInfo = ' + this.HospitalInfo); |
| | | } |
| | | |
| | | closeModal() { |
| | |
| | | |
| | | SaveJs() { |
| | | this.isShowSpinner = true; |
| | | let cloneData = this.outboundData |
| | | let cloneData = this.outboundData; |
| | | |
| | | debugger |
| | | const selectedRows = this.template.querySelector("[data-field='outbound']").getSelectedRows(); |
| | | debugger; |
| | | const selectedRows = this.template |
| | | .querySelector("[data-field='outbound']") |
| | | .getSelectedRows(); |
| | | console.log('selectedRows = ' + JSON.stringify(selectedRows)); |
| | | |
| | | for (var i in cloneData) { |
| | |
| | | console.log('this.accountid = ' + this.accountid); |
| | | console.log('this.agencyProType = ' + this.agencyProType); |
| | | console.log('this.reopen = ' + this.reopen); |
| | | console.log('this.invoiceOrderRecoedschangeLwc = ' + JSON.stringify(this.invoiceOrderRecoedschange)); |
| | | console.log( |
| | | 'this.invoiceOrderRecoedschangeLwc = ' + |
| | | JSON.stringify(this.invoiceOrderRecoedschange) |
| | | ); |
| | | save({ |
| | | cocLwc: this.coc, |
| | | HospitalNameLwc: this.HospitalName, |
| | |
| | | accountidLwc: this.accountid, |
| | | agencyProTypeLwc: this.agencyProType, |
| | | reopenLwc: this.reopen, |
| | | invoiceOrderRecoedschangeLwc: JSON.stringify(this.invoiceOrderRecoedschange) |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("r = " + JSON.stringify(r)); |
| | | if (r.status == "Success" && r.msg == '') { |
| | | this.isShowSpinner = false; |
| | | console.log('save success'); |
| | | let url = "/lexconinvoiceview?invoiceId=" + r.entity.invoiceId; |
| | | console.log('url = ' + url); |
| | | this[NavigationMixin.Navigate]({ |
| | | type: "standard__webPage", |
| | | attributes: { |
| | | url: url, |
| | | }, |
| | | }); |
| | | } else { |
| | | this.showMyToast('保存失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + JSON.stringify(error)); |
| | | }); |
| | | invoiceOrderRecoedschangeLwc: JSON.stringify( |
| | | this.invoiceOrderRecoedschange |
| | | ) |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success' && r.msg == '') { |
| | | this.isShowSpinner = false; |
| | | console.log('save success'); |
| | | let url = |
| | | '/lexconinvoiceview?invoiceId=' + r.entity.invoiceId; |
| | | console.log('url = ' + url); |
| | | this[NavigationMixin.Navigate]({ |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: url |
| | | } |
| | | }); |
| | | } else { |
| | | this.showMyToast('保存失败', r.msg, 'Error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | } |
| | | |
| | | //上传附件,直接就保存好,然后展示 |
| | | handleFilesChange(event) { |
| | | console.log("handleFilesChange"); |
| | | console.log('handleFilesChange'); |
| | | this.handleSave(); |
| | | // if (event.target.files.length > 0) { |
| | | // this.filesUploaded = event.target.files; |
| | | // this.fileName = event.target.files[0].name; |
| | | // this.handleSave(); |
| | | // } |
| | | } |
| | | |
| | | handleSave() { |
| | | console.log("saveFile"); |
| | | // this.filesUploaded = event.target.files; |
| | | // this.fileName = event.target.files[0].name; |
| | | // this.handleSave(); |
| | | // } |
| | | } |
| | | |
| | | handleSave() { |
| | | console.log('saveFile'); |
| | | if (this.filesUploaded.length > 0) { |
| | | this.showPopSpinner = true; |
| | | this.file = this.filesUploaded[0]; |
| | |
| | | |
| | | this.fileReader.onloadend = () => { |
| | | this.fileContents = this.fileReader.result; |
| | | let base64 = "base64,"; |
| | | this.content = this.fileContents.indexOf(base64) + base64.length; |
| | | let base64 = 'base64,'; |
| | | this.content = |
| | | this.fileContents.indexOf(base64) + base64.length; |
| | | this.fileContents = this.fileContents.substring(this.content); |
| | | this.saveToFile(); |
| | | }; |
| | | this.fileReader.readAsDataURL(this.file); |
| | | } else { |
| | | this.fileName = "选择一个文件上传"; |
| | | this.fileName = '选择一个文件上传'; |
| | | } |
| | | } |
| | | |
| | | saveToFile() { |
| | | console.log("saveToFile"); |
| | | console.log("invoiceId = " + this.invoiceId); |
| | | console.log("fileName = " + this.fileName); |
| | | console.log("base64Data = " + encodeURIComponent(this.fileContents)); |
| | | console.log('saveToFile'); |
| | | console.log('invoiceId = ' + this.invoiceId); |
| | | console.log('fileName = ' + this.fileName); |
| | | console.log('base64Data = ' + encodeURIComponent(this.fileContents)); |
| | | saveFile({ |
| | | recordId: this.invoiceId, |
| | | fileName: this.fileName, |
| | | base64Data: encodeURIComponent(this.fileContents), |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("r = " + JSON.stringify(r)); |
| | | if (r != '') { |
| | | this.showPopSpinner = false; |
| | | this.showMyToast('上传成功', '', 'Success'); |
| | | this.closePop(); |
| | | this.init(); |
| | | } else { |
| | | this.showMyToast('上传失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + error.message); |
| | | this.showMyToast('错误', '上传失败', 'Error'); |
| | | }); |
| | | base64Data: encodeURIComponent(this.fileContents) |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('r = ' + JSON.stringify(r)); |
| | | if (r != '') { |
| | | this.showPopSpinner = false; |
| | | this.showMyToast('上传成功', '', 'Success'); |
| | | this.closePop(); |
| | | this.init(); |
| | | } else { |
| | | this.showMyToast('上传失败', r.msg, 'Error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + error.message); |
| | | this.showMyToast('错误', '上传失败', 'Error'); |
| | | }); |
| | | } |
| | | |
| | | |
| | | handleTypeChange(event) { |
| | | console.log("handleTypeChange"); |
| | | console.log('handleTypeChange'); |
| | | const typeDetail = event.detail; |
| | | console.log("typeDetail = " + JSON.stringify(typeDetail)); |
| | | console.log('typeDetail = ' + JSON.stringify(typeDetail)); |
| | | for (var i in this.fileData) { |
| | | if (this.fileData[i].recordId == typeDetail.data.recordId) { |
| | | this.fileData[i].typeValue = typeDetail.data.typeValue; |
| | | this.fileData[i].mailSelectOptsin = typeDetail.data.typeValue; |
| | | } |
| | | } |
| | | console.log("this.fileData = " + JSON.stringify(this.fileData)); |
| | | console.log('this.fileData = ' + JSON.stringify(this.fileData)); |
| | | } |
| | | |
| | | newInvoiceJs() { |
| | | let url = "/lexconinvoiceview?isNew=yes"; |
| | | let url = '/lexconinvoiceview?isNew=yes'; |
| | | console.log('url = ' + url); |
| | | this[NavigationMixin.Navigate]({ |
| | | type: "standard__webPage", |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: url, |
| | | }, |
| | | url: url |
| | | } |
| | | }); |
| | | } |
| | | |
| | | saveAttachmentJs() { |
| | | debugger |
| | | debugger; |
| | | this.showLoadingSpinner = true; |
| | | let cloneData = this.deepClone(this.fileData) |
| | | let cloneData = this.deepClone(this.fileData); |
| | | for (var i in cloneData) { |
| | | delete cloneData[i].Id; |
| | | delete cloneData[i].recordId; |
| | |
| | | saveAttachment({ |
| | | attachmentRecoedsLwc: JSON.stringify(cloneData), |
| | | invoiceId: this.invoiceId |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("r = " + JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.showLoadingSpinner = false; |
| | | this.isShowSpinner = true; |
| | | // const event = new ShowToastEvent({ |
| | | // title: 'Success', |
| | | // variant: 'Success', |
| | | // message: '保存成功', |
| | | // }); |
| | | // this.dispatchEvent(event); |
| | | this.showMyToast('附件保存成功', '', 'Success'); |
| | | //this.init(); |
| | | setTimeout(function () { |
| | | //1秒后执行刷新 |
| | | window.location.reload(); |
| | | }, 2000); //单位是毫秒 |
| | | // let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId; |
| | | // console.log('url = ' + url); |
| | | // this[NavigationMixin.Navigate]({ |
| | | // type: "standard__webPage", |
| | | // attributes: { |
| | | // url: url, |
| | | // }, |
| | | // }); |
| | | } else { |
| | | this.showMyToast('上传失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + error.message); |
| | | this.showMyToast('错误', '上传失败', 'Error'); |
| | | }); |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.showLoadingSpinner = false; |
| | | this.isShowSpinner = true; |
| | | // const event = new ShowToastEvent({ |
| | | // title: 'Success', |
| | | // variant: 'Success', |
| | | // message: '保存成功', |
| | | // }); |
| | | // this.dispatchEvent(event); |
| | | this.showMyToast('附件保存成功', '', 'Success'); |
| | | //this.init(); |
| | | setTimeout(function () { |
| | | //1秒后执行刷新 |
| | | window.location.reload(); |
| | | }, 2000); //单位是毫秒 |
| | | // let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId; |
| | | // console.log('url = ' + url); |
| | | // this[NavigationMixin.Navigate]({ |
| | | // type: "standard__webPage", |
| | | // attributes: { |
| | | // url: url, |
| | | // }, |
| | | // }); |
| | | } else { |
| | | this.showMyToast('上传失败', r.msg, 'Error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + error.message); |
| | | this.showMyToast('错误', '上传失败', 'Error'); |
| | | }); |
| | | } |
| | | |
| | | invoiceCodeSearchJs() { |
| | | this.isShowSpinner = true; |
| | | invoiceCodeSearch({ |
| | | orderDateLwc: this.deliveryFromDate == null ? null : new Date(this.deliveryFromDate), |
| | | deliverDateLwc: this.deliveryToDate == null ? null : new Date(this.deliveryToDate), |
| | | orderDateLwc: |
| | | this.deliveryFromDate == null |
| | | ? null |
| | | : new Date(this.deliveryFromDate), |
| | | deliverDateLwc: |
| | | this.deliveryToDate == null |
| | | ? null |
| | | : new Date(this.deliveryToDate), |
| | | invoiceStatusLwc: this.invoiceStatusValue, |
| | | category1Lwc: this.category1, |
| | | category2Lwc: this.category2, |
| | | accountidLwc: this.ConInvoiceListAccountId, |
| | | userWorkLocationLwc: this.ConInvoiceListUserWorkLocation, |
| | | agencyProTypeLwc: this.ConInvoiceListAgencyProType, |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("r = " + JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.invoiceData = r.entity.raesList; |
| | | for (var i in this.invoiceData) { |
| | | this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id; |
| | | } |
| | | console.log("this.invoiceData = " + JSON.stringify(this.invoiceData)); |
| | | this.isShowSpinner = false; |
| | | if (r.entity.raesListSize > 0) { |
| | | this.showMyToast('搜索成功', '共检索到' + r.entity.raesListSize + '个发票', 'Success'); |
| | | agencyProTypeLwc: this.ConInvoiceListAgencyProType |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.invoiceData = r.entity.raesList; |
| | | for (var i in this.invoiceData) { |
| | | this.invoiceData[i]['NameUrl'] = |
| | | '/lexconinvoiceview?invoiceId=' + |
| | | this.invoiceData[i].Id; |
| | | } |
| | | console.log( |
| | | 'this.invoiceData = ' + JSON.stringify(this.invoiceData) |
| | | ); |
| | | this.isShowSpinner = false; |
| | | if (r.entity.raesListSize > 0) { |
| | | this.showMyToast( |
| | | '搜索成功', |
| | | '共检索到' + r.entity.raesListSize + '个发票', |
| | | 'Success' |
| | | ); |
| | | } else { |
| | | this.showMyToast( |
| | | '搜索失败', |
| | | '没有搜索到相关发票', |
| | | 'Error' |
| | | ); |
| | | } |
| | | } else { |
| | | this.showMyToast('搜索失败', '没有搜索到相关发票', 'Error'); |
| | | this.showMyToast('搜索失败', r.msg, 'Error'); |
| | | } |
| | | } else { |
| | | this.showMyToast('搜索失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + error.message); |
| | | this.showMyToast('错误', '搜索失败', 'Error'); |
| | | }); |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + error.message); |
| | | this.showMyToast('错误', '搜索失败', 'Error'); |
| | | }); |
| | | } |
| | | |
| | | ClearJs() { |
| | |
| | | this.category2 = ''; |
| | | this.invoiceStatusValue = ''; |
| | | this.isShowSpinner = true; |
| | | conInvoiceListInit().then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("conInvoiceListInit r = " + JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.invoiceData = r.entity.raesList; |
| | | for (var i in this.invoiceData) { |
| | | this.invoiceData[i]['NameUrl'] = '/lexconinvoiceview?invoiceId=' + this.invoiceData[i].Id; |
| | | conInvoiceListInit() |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('conInvoiceListInit r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.invoiceData = r.entity.raesList; |
| | | for (var i in this.invoiceData) { |
| | | this.invoiceData[i]['NameUrl'] = |
| | | '/lexconinvoiceview?invoiceId=' + |
| | | this.invoiceData[i].Id; |
| | | } |
| | | console.log( |
| | | 'this.invoiceData = ' + JSON.stringify(this.invoiceData) |
| | | ); |
| | | this.isShowSpinner = false; |
| | | } else { |
| | | this.showMyToast('搜索失败', r.msg, 'Error'); |
| | | } |
| | | console.log("this.invoiceData = " + JSON.stringify(this.invoiceData)); |
| | | this.isShowSpinner = false; |
| | | } else { |
| | | this.showMyToast('搜索失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + JSON.stringify(error)); |
| | | }); |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + JSON.stringify(error)); |
| | | }); |
| | | } |
| | | |
| | | InvoiceorderSearchJs() { |
| | | this.isShowSpinner = true; |
| | | |
| | | debugger |
| | | let cloneData = this.outboundData |
| | | const selectedRows = this.template.querySelector("[data-field='outbound']").getSelectedRows(); |
| | | debugger; |
| | | let cloneData = this.outboundData; |
| | | const selectedRows = this.template |
| | | .querySelector("[data-field='outbound']") |
| | | .getSelectedRows(); |
| | | console.log('selectedRows ' + JSON.stringify(selectedRows)); |
| | | for (var i in cloneData) { |
| | | let b = false; |
| | |
| | | agencyProTypeLwc: this.agencyProType, |
| | | HospitalInfoLwc: this.HospitalInfo, |
| | | SecondDealerLwc: this.secondaryDistributor, |
| | | invoiceOrderRecoedsLwc: JSON.stringify(cloneData), |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("r = " + JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.outboundData = r.entity.invoiceOrderRecoeds; |
| | | console.log('this.outboundData = ' + JSON.stringify(this.outboundData)); |
| | | let index = 0; |
| | | this.selectedRows = []; |
| | | for (var i in this.outboundData) { |
| | | |
| | | if (this.outboundData[i].check) |
| | | this.selectedRows.push(this.outboundData[i].esd.Id) |
| | | this.outboundData[i].Id = this.outboundData[i].esd.Id; |
| | | this.outboundData[i]['esdOutboundDate'] = this.outboundData[i].esd.Outbound_Date__c; |
| | | this.outboundData[i]['esdNameUrl'] = '/s/lexsummonscreat?ESetid=' + this.outboundData[i].esd.Id; |
| | | this.outboundData[i]['esdName'] = this.outboundData[i].esd.Name; |
| | | if (this.EditAble) { |
| | | this.outboundData[i]['hospitalName'] = this.outboundData[i].esd.ShipmentAccount__c; |
| | | this.outboundData[i]['shipmentAmount'] = this.outboundData[i].esd.Shipment_total_amount__c; |
| | | this.outboundData[i]['returnAmount'] = this.outboundData[i].esd.RrturnPro_total_amount__c; |
| | | } |
| | | this.outboundData[i]['uninvoicedAmount'] = this.outboundData[i].esd.InvoiceNotPro_money__c; |
| | | this.outboundData[i]['invoiceFaceAmount'] = this.outboundData[i].needInvoiceCount; |
| | | if (!(this.outboundData[i].esd.Billed_Status__c == '全部开票' || this.EditAble || this.coc.Invoice_status__c != '草案中')) { |
| | | //let url = "/ConInvoicedetails?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId; |
| | | let url = "/s/lexconinvoiceview?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId; |
| | | this.outboundData[i]['invoiceFaceAmountUrl'] = url; |
| | | |
| | | if (index == 0) { |
| | | let object5 = { |
| | | label: '发票票面金额(元)', |
| | | cellAttributes: { alignment: 'right' }, |
| | | type: 'url', |
| | | fieldName: "invoiceFaceAmountUrl", |
| | | typeAttributes: { |
| | | label: { fieldName: "invoiceFaceAmount" }, |
| | | target: "_blank", |
| | | }, |
| | | hideDefaultActions: true, |
| | | }; |
| | | this.outboundColumns.push(object5) |
| | | index++; |
| | | invoiceOrderRecoedsLwc: JSON.stringify(cloneData) |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.outboundData = r.entity.invoiceOrderRecoeds; |
| | | console.log( |
| | | 'this.outboundData = ' + |
| | | JSON.stringify(this.outboundData) |
| | | ); |
| | | let index = 0; |
| | | this.selectedRows = []; |
| | | for (var i in this.outboundData) { |
| | | if (this.outboundData[i].check) |
| | | this.selectedRows.push(this.outboundData[i].esd.Id); |
| | | this.outboundData[i].Id = this.outboundData[i].esd.Id; |
| | | this.outboundData[i]['esdOutboundDate'] = |
| | | this.outboundData[i].esd.Outbound_Date__c; |
| | | this.outboundData[i]['esdNameUrl'] = |
| | | '/s/lexsummonscreat?ESetid=' + |
| | | this.outboundData[i].esd.Id; |
| | | this.outboundData[i]['esdName'] = |
| | | this.outboundData[i].esd.Name; |
| | | if (this.EditAble) { |
| | | this.outboundData[i]['hospitalName'] = |
| | | this.outboundData[i].esd.ShipmentAccount__c; |
| | | this.outboundData[i]['shipmentAmount'] = |
| | | this.outboundData[ |
| | | i |
| | | ].esd.Shipment_total_amount__c; |
| | | this.outboundData[i]['returnAmount'] = |
| | | this.outboundData[ |
| | | i |
| | | ].esd.RrturnPro_total_amount__c; |
| | | } |
| | | } else { |
| | | if (index == 0) { |
| | | let object5 = { |
| | | label: '发票票面金额(元)', |
| | | cellAttributes: { alignment: 'right' }, |
| | | fieldName: "invoiceFaceAmount", |
| | | hideDefaultActions: true, |
| | | }; |
| | | this.outboundColumns.push(object5) |
| | | index++; |
| | | this.outboundData[i]['uninvoicedAmount'] = |
| | | this.outboundData[i].esd.InvoiceNotPro_money__c; |
| | | this.outboundData[i]['invoiceFaceAmount'] = |
| | | this.outboundData[i].needInvoiceCount; |
| | | if ( |
| | | !( |
| | | this.outboundData[i].esd.Billed_Status__c == |
| | | '全部开票' || |
| | | this.EditAble || |
| | | this.coc.Invoice_status__c != '草案中' |
| | | ) |
| | | ) { |
| | | //let url = "/ConInvoicedetails?orderId=" + this.outboundData[i].esd.Id + "&invoiceId=" + this.invoiceId; |
| | | let url = |
| | | '/s/lexconinvoiceview?orderId=' + |
| | | this.outboundData[i].esd.Id + |
| | | '&invoiceId=' + |
| | | this.invoiceId; |
| | | this.outboundData[i]['invoiceFaceAmountUrl'] = url; |
| | | |
| | | if (index == 0) { |
| | | let object5 = { |
| | | label: '发票票面金额(元)', |
| | | cellAttributes: { alignment: 'right' }, |
| | | type: 'url', |
| | | fieldName: 'invoiceFaceAmountUrl', |
| | | typeAttributes: { |
| | | label: { |
| | | fieldName: 'invoiceFaceAmount' |
| | | }, |
| | | target: '_blank' |
| | | }, |
| | | hideDefaultActions: true |
| | | }; |
| | | this.outboundColumns.push(object5); |
| | | index++; |
| | | } |
| | | } else { |
| | | if (index == 0) { |
| | | let object5 = { |
| | | label: '发票票面金额(元)', |
| | | cellAttributes: { alignment: 'right' }, |
| | | fieldName: 'invoiceFaceAmount', |
| | | hideDefaultActions: true |
| | | }; |
| | | this.outboundColumns.push(object5); |
| | | index++; |
| | | } |
| | | } |
| | | //计算发票票面金额 |
| | | this.sumPrice += this.outboundData[i].needInvoiceCount; |
| | | } |
| | | //计算发票票面金额 |
| | | this.sumPrice += this.outboundData[i].needInvoiceCount; |
| | | console.log( |
| | | 'this.selectedRows = ' + |
| | | JSON.stringify(this.selectedRows) |
| | | ); |
| | | this.isShowSpinner = false; |
| | | } else { |
| | | this.showMyToast('搜索失败', r.msg, 'Error'); |
| | | } |
| | | console.log('this.selectedRows = ' + JSON.stringify(this.selectedRows)) |
| | | this.isShowSpinner = false; |
| | | } else { |
| | | this.showMyToast('搜索失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + error.message); |
| | | this.showMyToast('错误', '搜索失败', 'Error'); |
| | | }); |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + error.message); |
| | | this.showMyToast('错误', '搜索失败', 'Error'); |
| | | }); |
| | | } |
| | | |
| | | getSelectedRows(event) { |
| | |
| | | this.isShowSpinner = true; |
| | | deleteButton({ |
| | | cocLwc: this.coc, |
| | | invoiceIdLwc: this.invoiceId, |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("r = " + JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.isShowSpinner = false |
| | | let url = "/lexconinvoiceview"; |
| | | console.log('url = ' + url); |
| | | this[NavigationMixin.Navigate]({ |
| | | type: "standard__webPage", |
| | | attributes: { |
| | | url: url, |
| | | }, |
| | | }); |
| | | } else { |
| | | this.showMyToast('删除失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + error.message); |
| | | }); |
| | | invoiceIdLwc: this.invoiceId |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.isShowSpinner = false; |
| | | let url = '/lexconinvoiceview'; |
| | | console.log('url = ' + url); |
| | | this[NavigationMixin.Navigate]({ |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: url |
| | | } |
| | | }); |
| | | } else { |
| | | this.showMyToast('删除失败', r.msg, 'Error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + error.message); |
| | | }); |
| | | } |
| | | |
| | | SetEditAbleJs() { |
| | | let statusEditAbleJs = 'Redirect'; |
| | | let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId + '&KeyWords=' + statusEditAbleJs; |
| | | let url = |
| | | '/lexconinvoiceview?invoiceId=' + |
| | | this.invoiceId + |
| | | '&KeyWords=' + |
| | | statusEditAbleJs; |
| | | console.log('url = ' + url); |
| | | this[NavigationMixin.Navigate]({ |
| | | type: "standard__webPage", |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: url, |
| | | }, |
| | | url: url |
| | | } |
| | | }); |
| | | } |
| | | |
| | |
| | | outOrderStringListLwc: this.outOrderStringListLwc, |
| | | outordercountMapLwc: this.outordercountMapLwc, |
| | | invoiceIdLwc: this.invoiceId |
| | | |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("r = " + JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.isShowSpinner = false |
| | | let url = "/s/lexconinvoiceview?invoiceId=" + this.invoiceId; |
| | | console.log('url = ' + url); |
| | | window.open(url, '_self'); |
| | | // this[NavigationMixin.Navigate]({ |
| | | // type: "standard__webPage", |
| | | // attributes: { |
| | | // url: url, |
| | | // }, |
| | | // }); |
| | | } else { |
| | | this.showMyToast('错误', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + error.message); |
| | | }); |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.isShowSpinner = false; |
| | | let url = |
| | | '/s/lexconinvoiceview?invoiceId=' + this.invoiceId; |
| | | console.log('url = ' + url); |
| | | window.open(url, '_self'); |
| | | // this[NavigationMixin.Navigate]({ |
| | | // type: "standard__webPage", |
| | | // attributes: { |
| | | // url: url, |
| | | // }, |
| | | // }); |
| | | } else { |
| | | this.showMyToast('错误', r.msg, 'Error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + error.message); |
| | | }); |
| | | } |
| | | |
| | | openReportJs() { |
| | | console.log("openReportJs"); |
| | | console.log('openReportJs'); |
| | | let reportUrl = this.label.LexConInvoiceViewReport; |
| | | let reportFilters = '[{"operator":"equals","value":"' + this.OrderCode + '","column":"FK_NAME"}]'; |
| | | let reportFilters = |
| | | '[{"operator":"equals","value":"' + |
| | | this.OrderCode + |
| | | '","column":"FK_NAME"}]'; |
| | | console.log('reportUrl = ' + reportUrl); |
| | | let url = "/s/report/" + reportUrl + "?reportFilters=" + encodeURIComponent(reportFilters); |
| | | let url = |
| | | '/s/report/' + |
| | | reportUrl + |
| | | '?reportFilters=' + |
| | | encodeURIComponent(reportFilters); |
| | | window.open(url); |
| | | // this[NavigationMixin.Navigate]({ |
| | | // type: "standard__webPage", |
| | |
| | | // statusEdit = 'Redirect'; |
| | | // PageReference ref = new Pagereference('/ConInvoiceView?invoiceId=' + invoiceId + '&reopen=isreopen' + '&KeyWords=' + statusEdit); |
| | | let statusEditAbleJs = 'Redirect'; |
| | | let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId + '&reopen=isreopen' + '&KeyWords=' + statusEditAbleJs; |
| | | let url = |
| | | '/lexconinvoiceview?invoiceId=' + |
| | | this.invoiceId + |
| | | '&reopen=isreopen' + |
| | | '&KeyWords=' + |
| | | statusEditAbleJs; |
| | | console.log('url = ' + url); |
| | | this[NavigationMixin.Navigate]({ |
| | | type: "standard__webPage", |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: url, |
| | | }, |
| | | url: url |
| | | } |
| | | }); |
| | | } |
| | | |
| | |
| | | iconName = 'utility:error'; |
| | | } |
| | | if (message != '') { |
| | | content = '<h2><strong>' + title + '<strong/></h2><h5>' + message + '</h5>'; |
| | | content = |
| | | '<h2><strong>' + |
| | | title + |
| | | '<strong/></h2><h5>' + |
| | | message + |
| | | '</h5>'; |
| | | } else { |
| | | content = '<h2><strong>' + title + '<strong/></h2>'; |
| | | } |
| | | this.template.querySelector('c-common-toast').showToast(variant, content, iconName, 10000); |
| | | this.template |
| | | .querySelector('c-common-toast') |
| | | .showToast(variant, content, iconName, 10000); |
| | | } |
| | | |
| | | handleLoad() { |
| | | console.log('handleLoad') |
| | | console.log('handleLoad'); |
| | | try { |
| | | const style = document.createElement('style'); |
| | | style.innerText = '.hehe-layoutItem .slds-button__icon {display: none;}'; |
| | | style.innerText = |
| | | '.hehe-layoutItem .slds-button__icon {display: none;}'; |
| | | this.template.querySelector('.hideHelpText').appendChild(style); |
| | | |
| | | const style2 = document.createElement('style'); |
| | | style2.innerText = '.hehe-layoutItem .slds-form-element__label {padding : 0px}'; |
| | | style2.innerText = |
| | | '.hehe-layoutItem .slds-form-element__label {padding : 0px}'; |
| | | this.template.querySelector('.hideHelpText').appendChild(style2); |
| | | |
| | | const style3 = document.createElement('style'); |
| | | style3.innerText = '.readOnly .slds-form-element__label {padding-top: 7px;}'; |
| | | style3.innerText = |
| | | '.readOnly .slds-form-element__label {padding-top: 7px;}'; |
| | | this.template.querySelector('.hideHelpText').appendChild(style3); |
| | | } catch (error) { |
| | | console.log(error); |
| | |
| | | s += '0'; |
| | | } |
| | | return s; |
| | | }; |
| | | } |
| | | |
| | | handleLoad2() { |
| | | console.log('handleLoad2') |
| | | console.log('handleLoad2'); |
| | | try { |
| | | const style = document.createElement('style'); |
| | | style.innerText = '.hehe-layoutItem .slds-button__icon {display: none;}'; |
| | | style.innerText = |
| | | '.hehe-layoutItem .slds-button__icon {display: none;}'; |
| | | this.template.querySelector('.hideHelpText').appendChild(style); |
| | | |
| | | const style2 = document.createElement('style'); |
| | | style2.innerText = '.hehe-layoutItem .slds-form-element__label {padding : 0px}'; |
| | | style2.innerText = |
| | | '.hehe-layoutItem .slds-form-element__label {padding : 0px}'; |
| | | this.template.querySelector('.hideHelpText').appendChild(style2); |
| | | } catch (error) { |
| | | console.log(error); |
| | |
| | | } |
| | | |
| | | handleUnitChange(event) { |
| | | console.log("handleUnitChange"); |
| | | this.invoiceAllpriceData[0].invoiceAllprice = 0.00; |
| | | console.log('handleUnitChange'); |
| | | this.invoiceAllpriceData[0].invoiceAllprice = 0.0; |
| | | const unitDetail = event.detail; |
| | | console.log("unitDetail = " + JSON.stringify(unitDetail)); |
| | | console.log('unitDetail = ' + JSON.stringify(unitDetail)); |
| | | for (var i in this.detailsData) { |
| | | if (this.detailsData[i].recordId == unitDetail.data.recordId) { |
| | | this.detailsData[i].unitValue = unitDetail.data.unitValue; |
| | | this.detailsData[i].esd.Invoice_Unit__c = unitDetail.data.unitValue; |
| | | if (this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) == -1) |
| | | this.detailsData[i].esd.Invoice_Unit__c = |
| | | unitDetail.data.unitValue; |
| | | if ( |
| | | this.detailsSelectedRows.indexOf( |
| | | this.detailsData[i].recordId |
| | | ) == -1 |
| | | ) |
| | | this.detailsSelectedRows.push(this.detailsData[i].recordId); |
| | | } |
| | | } |
| | | this.detailsSelectedRows = [...this.detailsSelectedRows]; |
| | | |
| | | |
| | | console.log('this.detailsSelectedRows = ' + JSON.stringify(this.detailsSelectedRows)) |
| | | console.log( |
| | | 'this.detailsSelectedRows = ' + |
| | | JSON.stringify(this.detailsSelectedRows) |
| | | ); |
| | | for (var i in this.detailsData) { |
| | | this.detailsData[i].invoiceAllprice = 0.00; |
| | | this.detailsData[i].invoiceAllprice = 0.0; |
| | | for (var j in this.detailsSelectedRows) { |
| | | console.log('this.detailsData[i].Id = ' + this.detailsData[i].Id); |
| | | console.log('this.detailsSelectedRows[j] = ' + this.detailsSelectedRows[j]); |
| | | console.log( |
| | | 'this.detailsData[i].Id = ' + this.detailsData[i].Id |
| | | ); |
| | | console.log( |
| | | 'this.detailsSelectedRows[j] = ' + |
| | | this.detailsSelectedRows[j] |
| | | ); |
| | | if (this.detailsData[i].Id == this.detailsSelectedRows[j]) { |
| | | this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber, this.detailsData[i].esdInvoiceUnitprice, '*'); |
| | | console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice); |
| | | this.detailsData[i].invoiceAllprice = this.amend( |
| | | this.detailsData[i].shipmentNumber, |
| | | this.detailsData[i].esdInvoiceUnitprice, |
| | | '*' |
| | | ); |
| | | console.log( |
| | | 'this.detailsData[i].invoiceAllprice = ' + |
| | | this.detailsData[i].invoiceAllprice |
| | | ); |
| | | } |
| | | } |
| | | this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice, this.detailsData[i].invoiceAllprice, '+'); |
| | | this.invoiceAllpriceData[0].invoiceAllprice = this.amend( |
| | | this.invoiceAllpriceData[0].invoiceAllprice, |
| | | this.detailsData[i].invoiceAllprice, |
| | | '+' |
| | | ); |
| | | } |
| | | this.detailsData = [...this.detailsData]; |
| | | this.invoiceAllpriceData = [...this.invoiceAllpriceData]; |
| | | } |
| | | |
| | | handleShipmentNumber(event) { |
| | | console.log("handleShipmentNumber"); |
| | | this.invoiceAllpriceData[0].invoiceAllprice = 0.00; |
| | | console.log('handleShipmentNumber'); |
| | | this.invoiceAllpriceData[0].invoiceAllprice = 0.0; |
| | | const numberDetail = event.detail; |
| | | console.log('numberDetail = ' + JSON.stringify(numberDetail)) |
| | | console.log('numberDetail = ' + JSON.stringify(numberDetail)); |
| | | if (numberDetail.data.shipmentnumber == 0) { |
| | | if (this.detailsSelectedRows.indexOf(numberDetail.data.recordId) != -1) { |
| | | this.detailsSelectedRows.splice(this.detailsSelectedRows.indexOf(numberDetail.data.recordId), 1); |
| | | if ( |
| | | this.detailsSelectedRows.indexOf(numberDetail.data.recordId) != |
| | | -1 |
| | | ) { |
| | | this.detailsSelectedRows.splice( |
| | | this.detailsSelectedRows.indexOf( |
| | | numberDetail.data.recordId |
| | | ), |
| | | 1 |
| | | ); |
| | | } |
| | | } |
| | | console.log("start this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows)); |
| | | console.log("numberDetail = " + JSON.stringify(numberDetail)); |
| | | console.log( |
| | | 'start this.detailsSelectedRows = ' + |
| | | JSON.stringify(this.detailsSelectedRows) |
| | | ); |
| | | console.log('numberDetail = ' + JSON.stringify(numberDetail)); |
| | | for (var i in this.detailsData) { |
| | | if (this.detailsData[i].recordId == numberDetail.data.recordId) { |
| | | this.detailsData[i].shipmentNumber = Number(numberDetail.data.shipmentnumber); |
| | | this.detailsData[i].invoiceCount = Number(numberDetail.data.shipmentnumber); |
| | | if (this.detailsSelectedRows.indexOf(this.detailsData[i].recordId) == -1 && numberDetail.data.shipmentnumber != 0) |
| | | this.detailsData[i].shipmentNumber = Number( |
| | | numberDetail.data.shipmentnumber |
| | | ); |
| | | this.detailsData[i].invoiceCount = Number( |
| | | numberDetail.data.shipmentnumber |
| | | ); |
| | | if ( |
| | | this.detailsSelectedRows.indexOf( |
| | | this.detailsData[i].recordId |
| | | ) == -1 && |
| | | numberDetail.data.shipmentnumber != 0 |
| | | ) |
| | | this.detailsSelectedRows.push(this.detailsData[i].recordId); |
| | | } |
| | | } |
| | | |
| | | console.log("end this.detailsSelectedRows = " + JSON.stringify(this.detailsSelectedRows)); |
| | | console.log( |
| | | 'end this.detailsSelectedRows = ' + |
| | | JSON.stringify(this.detailsSelectedRows) |
| | | ); |
| | | this.detailsSelectedRows = [...this.detailsSelectedRows]; |
| | | |
| | | |
| | | console.log('this.detailsSelectedRows = ' + JSON.stringify(this.detailsSelectedRows)); |
| | | console.log( |
| | | 'this.detailsSelectedRows = ' + |
| | | JSON.stringify(this.detailsSelectedRows) |
| | | ); |
| | | for (var i in this.detailsData) { |
| | | this.detailsData[i].invoiceAllprice = 0.00; |
| | | this.detailsData[i].invoiceAllprice = 0.0; |
| | | for (var j in this.detailsSelectedRows) { |
| | | console.log('this.detailsData[i].Id = ' + this.detailsData[i].Id); |
| | | console.log('this.detailsSelectedRows[j] = ' + this.detailsSelectedRows[j]); |
| | | console.log( |
| | | 'this.detailsData[i].Id = ' + this.detailsData[i].Id |
| | | ); |
| | | console.log( |
| | | 'this.detailsSelectedRows[j] = ' + |
| | | this.detailsSelectedRows[j] |
| | | ); |
| | | if (this.detailsData[i].Id == this.detailsSelectedRows[j]) { |
| | | this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber, this.detailsData[i].esdInvoiceUnitprice, '*'); |
| | | console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice); |
| | | this.detailsData[i].invoiceAllprice = this.amend( |
| | | this.detailsData[i].shipmentNumber, |
| | | this.detailsData[i].esdInvoiceUnitprice, |
| | | '*' |
| | | ); |
| | | console.log( |
| | | 'this.detailsData[i].invoiceAllprice = ' + |
| | | this.detailsData[i].invoiceAllprice |
| | | ); |
| | | } |
| | | } |
| | | this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice, this.detailsData[i].invoiceAllprice, '+'); |
| | | this.invoiceAllpriceData[0].invoiceAllprice = this.amend( |
| | | this.invoiceAllpriceData[0].invoiceAllprice, |
| | | this.detailsData[i].invoiceAllprice, |
| | | '+' |
| | | ); |
| | | } |
| | | this.detailsData = [...this.detailsData]; |
| | | this.invoiceAllpriceData = [...this.invoiceAllpriceData]; |
| | | } |
| | | |
| | | detailsGetSelectedRows(event) { |
| | | console.log("detailsGetSelectedRows "); |
| | | this.invoiceAllpriceData[0].invoiceAllprice = 0.00; |
| | | console.log('detailsGetSelectedRows '); |
| | | this.invoiceAllpriceData[0].invoiceAllprice = 0.0; |
| | | let selectedRows = event.detail.selectedRows; |
| | | for (var i in this.detailsData) { |
| | | this.detailsData[i].invoiceAllprice = 0.00; |
| | | this.detailsData[i].invoiceAllprice = 0.0; |
| | | for (var j in selectedRows) { |
| | | if (this.detailsData[i].Id == selectedRows[j].esd.Id) { |
| | | this.detailsData[i].invoiceAllprice = this.amend(this.detailsData[i].shipmentNumber, this.detailsData[i].esdInvoiceUnitprice, '*'); |
| | | console.log('this.detailsData[i].invoiceAllprice = ' + this.detailsData[i].invoiceAllprice); |
| | | this.detailsData[i].invoiceAllprice = this.amend( |
| | | this.detailsData[i].shipmentNumber, |
| | | this.detailsData[i].esdInvoiceUnitprice, |
| | | '*' |
| | | ); |
| | | console.log( |
| | | 'this.detailsData[i].invoiceAllprice = ' + |
| | | this.detailsData[i].invoiceAllprice |
| | | ); |
| | | } |
| | | } |
| | | this.invoiceAllpriceData[0].invoiceAllprice = this.amend(this.invoiceAllpriceData[0].invoiceAllprice, this.detailsData[i].invoiceAllprice, '+'); |
| | | console.log('this.invoiceAllpriceData[0].invoiceAllprice = ' + this.invoiceAllpriceData[0].invoiceAllprice); |
| | | this.invoiceAllpriceData[0].invoiceAllprice = this.amend( |
| | | this.invoiceAllpriceData[0].invoiceAllprice, |
| | | this.detailsData[i].invoiceAllprice, |
| | | '+' |
| | | ); |
| | | console.log( |
| | | 'this.invoiceAllpriceData[0].invoiceAllprice = ' + |
| | | this.invoiceAllpriceData[0].invoiceAllprice |
| | | ); |
| | | } |
| | | console.log('start this.detailsData = ' + JSON.stringify(this.detailsData)); |
| | | console.log( |
| | | 'start this.detailsData = ' + JSON.stringify(this.detailsData) |
| | | ); |
| | | this.detailsData = [...this.detailsData]; |
| | | console.log('end this.detailsData = ' + JSON.stringify(this.detailsData)); |
| | | console.log( |
| | | 'end this.detailsData = ' + JSON.stringify(this.detailsData) |
| | | ); |
| | | this.invoiceAllpriceData = [...this.invoiceAllpriceData]; |
| | | } |
| | | |
| | | ComputePrice(index, number, price) { |
| | | console.log("index = " + index); |
| | | console.log("number = " + number); |
| | | console.log("price = " + price); |
| | | let shipmentAmount = this.amend(number, price, "*"); |
| | | console.log("shipmentAmount = " + shipmentAmount); |
| | | console.log('index = ' + index); |
| | | console.log('number = ' + number); |
| | | console.log('price = ' + price); |
| | | let shipmentAmount = this.amend(number, price, '*'); |
| | | console.log('shipmentAmount = ' + shipmentAmount); |
| | | let sumPrice = 0.0; |
| | | this.data[index].shipmentAmount = shipmentAmount; |
| | | for (var i in this.data) { |
| | | if (this.data[i].shipmentAmount) sumPrice += this.data[i].shipmentAmount; |
| | | if (this.data[i].shipmentAmount) |
| | | sumPrice += this.data[i].shipmentAmount; |
| | | } |
| | | this.sumPrice = sumPrice + "元"; |
| | | this.sumPrice = sumPrice + '元'; |
| | | //存下选择行,不会被清空 |
| | | if (this.selectedRows.indexOf(this.data[index].Id) == -1) |
| | | this.selectedRows.push(this.data[index].Id); |
| | | this.data = [...this.data]; |
| | | this.selectedRows = [...this.selectedRows] |
| | | console.log("this.selectedRows = " + JSON.stringify(this.selectedRows)); |
| | | console.log("this.data = " + JSON.stringify(this.data)); |
| | | this.selectedRows = [...this.selectedRows]; |
| | | console.log('this.selectedRows = ' + JSON.stringify(this.selectedRows)); |
| | | console.log('this.data = ' + JSON.stringify(this.data)); |
| | | } |
| | | |
| | | deepClone(obj) { |
| | |
| | | this.isShowSpinner = true; |
| | | let cloneData = this.deepClone(this.detailsData); |
| | | |
| | | let selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows(); |
| | | let selectedRows = this.template |
| | | .querySelector('c-lex-custom-lightning-datatable') |
| | | .getSelectedRows(); |
| | | console.log('selectedRows = ' + JSON.stringify(selectedRows)); |
| | | |
| | | for (var i in cloneData) { |
| | |
| | | } |
| | | console.log('cloneData = ' + JSON.stringify(cloneData)); |
| | | |
| | | |
| | | |
| | | detailsSave({ |
| | | consumableorderdetails1RecordsLwc: JSON.stringify(cloneData), |
| | | invoiceIdLwc: this.invoiceId, |
| | | orderIdLwc: this.orderId |
| | | }).then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log("r = " + JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | let url = "/lexconinvoiceview?invoiceId=" + this.invoiceId; |
| | | this[NavigationMixin.Navigate]({ |
| | | type: "standard__webPage", |
| | | attributes: { |
| | | url: url, |
| | | }, |
| | | }); |
| | | } else { |
| | | this.showMyToast('保存失败', r.msg, 'Error'); |
| | | } |
| | | }).catch((error) => { |
| | | console.log("error = " + error.message); |
| | | }); |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | console.log('r = ' + JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | let url = '/lexconinvoiceview?invoiceId=' + this.invoiceId; |
| | | this[NavigationMixin.Navigate]({ |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: url |
| | | } |
| | | }); |
| | | } else { |
| | | this.showMyToast('保存失败', r.msg, 'Error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('error = ' + error.message); |
| | | }); |
| | | } |
| | | |
| | | //num1 num2传入两个值 symbol +-*/符号 |
| | |
| | | str2Length; |
| | | //解决整数没有小数点方法 |
| | | try { |
| | | str1Length = str1.split(".")[1].length; |
| | | str1Length = str1.split('.')[1].length; |
| | | } catch (error) { |
| | | str1Length = 0; |
| | | } |
| | | try { |
| | | str2Length = str2.split(".")[1].length; |
| | | str2Length = str2.split('.')[1].length; |
| | | } catch (error) { |
| | | str2Length = 0; |
| | | } |
| | | var step = Math.pow(10, Math.max(str1Length, str2Length)); |
| | | switch (symbol) { |
| | | case "+": |
| | | case '+': |
| | | result = (num1 * step + num2 * step) / step; |
| | | break; |
| | | case "-": |
| | | case '-': |
| | | result = (num1 * step - num2 * step) / step; |
| | | break; |
| | | case "*": |
| | | case '*': |
| | | result = (num1 * step * (num2 * step)) / step / step; |
| | | break; |
| | | case "/": |
| | | case '/': |
| | | result = (num1 * step) / (num2 * step); |
| | | break; |
| | | default: |
| | |
| | | deleteAtt(event) { |
| | | this.isShowSpinner = true; |
| | | //var recordId = event.detail.data.recordId; |
| | | var recordId = event.target.getAttribute("data-fileid"); |
| | | var recordId = event.target.getAttribute('data-fileid'); |
| | | console.log('attid:' + recordId); |
| | | deleteAtt({ |
| | | contentVersionId: recordId |
| | | }).then(r => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | if (r.status == "Success") { |
| | | this.showMyToast('删除成功', '', 'Success'); |
| | | if (this.fileData.length == 1) |
| | | window.location.reload(); |
| | | else |
| | | this.init(); |
| | | } else { |
| | | this.showMyToast('删除失败', r.msg, 'Error'); |
| | | } |
| | | }).catch(error => { |
| | | this.showMyToast('错误', error.message, 'Error'); |
| | | }) |
| | | .then((r) => { |
| | | r = JSON.parse(JSON.stringify(r)); |
| | | if (r.status == 'Success') { |
| | | this.showMyToast('删除成功', '', 'Success'); |
| | | if (this.fileData.length == 1) window.location.reload(); |
| | | else this.init(); |
| | | } else { |
| | | this.showMyToast('删除失败', r.msg, 'Error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.showMyToast('错误', error.message, 'Error'); |
| | | }); |
| | | } |
| | | } |
| | |
| | | <template if:true={showSpinner}> |
| | | <!-- <lightning-spinner size="medium" variant="brand"></lightning-spinner> --> |
| | | <div class="slds-spinner_container"> |
| | | <div role="status" class="slds-spinner slds-spinner_medium slds-spinner_brand"> |
| | | <div |
| | | role="status" |
| | | class="slds-spinner slds-spinner_medium slds-spinner_brand" |
| | | > |
| | | <span class="slds-assistive-text">Loading</span> |
| | | <div class="slds-spinner__dot-a"></div> |
| | | <div class="slds-spinner__dot-b"></div> |
| | |
| | | </template> |
| | | <c-common-toast></c-common-toast> |
| | | <template if:true={showPage}> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;"> |
| | | <div style="padding:10px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | " |
| | | > |
| | | <div style="padding: 10px"> |
| | | <!-- 按钮 --> |
| | | <template if:true={showEditBtn}> |
| | | <!-- <lightning-button style="margin: 5px;" label="编辑" disabled={disabledEditBtn} onclick={editOrder}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" disabled={disabledEditBtn} onclick={editOrder}>编辑</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | disabled={disabledEditBtn} |
| | | onclick={editOrder} |
| | | > |
| | | 编辑 |
| | | </button> |
| | | </template> |
| | | <template if:true={showPrintSheetBtn}> |
| | | <!-- <lightning-button style="margin: 5px;" label="打印配置单" onclick={printOrder}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;" label="打印配置单" onclick={printOrder}>打印配置单</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px" |
| | | label="打印配置单" |
| | | onclick={printOrder} |
| | | > |
| | | 打印配置单 |
| | | </button> |
| | | </template> |
| | | <template if:true={showUploadSheetBtn}> |
| | | <!-- <lightning-button style="margin: 5px;" label="上传配置单" disabled={disabledUploadSheetBtn} onclick={uploadOrder}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;" label="上传配置单" disabled={disabledUploadSheetBtn} onclick={uploadOrder}>上传配置单</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px" |
| | | label="上传配置单" |
| | | disabled={disabledUploadSheetBtn} |
| | | onclick={uploadOrder} |
| | | > |
| | | 上传配置单 |
| | | </button> |
| | | </template> |
| | | <template if:true={showSubOrderbtn}> |
| | | <!-- <lightning-button style="margin: 5px;" label="提交订单" disabled={disabledSubOrderbtn} onclick={submitOrder}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;" label="提交订单" disabled={disabledSubOrderbtn} onclick={submitOrder}>提交订单</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px" |
| | | label="提交订单" |
| | | disabled={disabledSubOrderbtn} |
| | | onclick={submitOrder} |
| | | > |
| | | 提交订单 |
| | | </button> |
| | | </template> |
| | | <template if:true={showSaveOrderbtn1}> |
| | | <!-- <lightning-button style="margin: 5px;" label="保存订单" onclick={saveOrder}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;" label="保存订单" onclick={saveOrder}>保存订单</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px" |
| | | label="保存订单" |
| | | onclick={saveOrder} |
| | | > |
| | | 保存订单 |
| | | </button> |
| | | </template> |
| | | <template if:true={showSaveOrderbtn2}> |
| | | <!-- <lightning-button style="margin: 5px;" label="保存订单" onclick={orderCopy}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;" label="保存订单" onclick={orderCopy}>保存订单</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px" |
| | | label="保存订单" |
| | | onclick={orderCopy} |
| | | > |
| | | 保存订单 |
| | | </button> |
| | | </template> |
| | | <template if:true={showDeleteBtn}> |
| | | <!-- <lightning-button style="margin: 5px;" label="删除" disabled={disabledDeleteBtn} onclick={deleteOrder}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;" label="删除" disabled={disabledDeleteBtn} onclick={deleteOrder}>删除</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px" |
| | | label="删除" |
| | | disabled={disabledDeleteBtn} |
| | | onclick={deleteOrder} |
| | | > |
| | | 删除 |
| | | </button> |
| | | </template> |
| | | <!-- <template if:true={showOfferPriceInputBtn}> |
| | | <lightning-button style="margin: 5px;" label="特价金额录入" disabled={disabledOfferPriceInputBtn} onclick={inputOfferPrice}></lightning-button> |
| | |
| | | </template> --> |
| | | <template if:true={showReapplyBtn}> |
| | | <!-- <lightning-button style="margin: 5px;" label="再申请" onclick={reapplyOrder}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexBorder" style="margin: 5px;" label="再申请" onclick={reapplyOrder}>再申请</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexBorder" |
| | | style="margin: 5px" |
| | | label="再申请" |
| | | onclick={reapplyOrder} |
| | | > |
| | | 再申请 |
| | | </button> |
| | | </template> |
| | | <p style="height: 10px;"></p> |
| | | <p style="height: 10px"></p> |
| | | <!-- 订单信息 --> |
| | | <template if:false={editAble}> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-bottom: 1px solid #d4d4d4; |
| | | padding: 3px; |
| | | " |
| | | > |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | |
| | | </lightning-layout> |
| | | <!-- <p style="font-size: 16px;"><strong>订单信息</strong></p> --> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <lightning-record-view-form record-id={cocId} object-api-name="Consumable_order__c"> |
| | | <table style="width: 100%;"> |
| | | <div style="padding: 10px"> |
| | | <lightning-record-view-form |
| | | record-id={cocId} |
| | | object-api-name="Consumable_order__c" |
| | | > |
| | | <table style="width: 100%"> |
| | | <tbody> |
| | | <tr> |
| | | <td style="width: 10%"></td> |
| | | <td style="width: 40%;"><lightning-output-field class="outputfont" field-name="Name"></lightning-output-field></td> |
| | | <td style="width: 40%;"><lightning-output-field field-name="Order_status__c"></lightning-output-field></td> |
| | | <td style="width: 40%"> |
| | | <lightning-output-field |
| | | class="outputfont" |
| | | field-name="Name" |
| | | ></lightning-output-field> |
| | | </td> |
| | | <td style="width: 40%"> |
| | | <lightning-output-field |
| | | field-name="Order_status__c" |
| | | ></lightning-output-field> |
| | | </td> |
| | | <td style="width: 10%"></td> |
| | | </tr> |
| | | <tr> |
| | | <td></td> |
| | | <td> |
| | | <template if:false={editAble}> |
| | | <lightning-output-field field-name="Total_amount__c"></lightning-output-field> |
| | | <lightning-output-field |
| | | field-name="Total_amount__c" |
| | | ></lightning-output-field> |
| | | </template> |
| | | </td> |
| | | <td> |
| | |
| | | <lightning-formatted-text value={contractName}></lightning-formatted-text> |
| | | </div> --> |
| | | <!-- style="pointer-events: none;" --> |
| | | <lightning-output-field class="showContract" field-name="Order_effective_contact__c" ></lightning-output-field> |
| | | <lightning-output-field |
| | | class="showContract" |
| | | field-name="Order_effective_contact__c" |
| | | ></lightning-output-field> |
| | | </td> |
| | | <!-- <td>合同:<lightning-formatted-text value={coc.Order_effective_contact__r.Name}></lightning-formatted-text></td> --> |
| | | <td></td> |
| | | </tr> |
| | | </tr> |
| | | <tr> |
| | | <td></td> |
| | | <!-- <td> |
| | |
| | | </template> |
| | | </td> --> |
| | | <td> |
| | | <template if:true={showAttUploadDate}> |
| | | <lightning-output-field field-name="Consumable_pdf_insert_day__c"></lightning-output-field> |
| | | <template |
| | | if:true={showAttUploadDate} |
| | | > |
| | | <lightning-output-field |
| | | field-name="Consumable_pdf_insert_day__c" |
| | | ></lightning-output-field> |
| | | </template> |
| | | </td> |
| | | <td></td> |
| | |
| | | <tr> |
| | | <td></td> |
| | | <td> |
| | | <template if:true={showOrderDate}> |
| | | <lightning-output-field field-name="Order_date__c"></lightning-output-field> |
| | | <template |
| | | if:true={showOrderDate} |
| | | > |
| | | <lightning-output-field |
| | | field-name="Order_date__c" |
| | | ></lightning-output-field> |
| | | </template> |
| | | </td> |
| | | <td></td> |
| | |
| | | <tr> |
| | | <td></td> |
| | | <td colspan="2"> |
| | | <lightning-card class="attListTitle" variant="Narrow" title="附件列表" icon-name="utility:attach"> |
| | | <lightning-layout slot="footer" multiple-rows="true"> |
| | | <template for:each={attachmentRecoeds} for:item="item" for:index="index"> |
| | | <lightning-layout-item padding="around-none" size="2" key={item.recordId} style="text-align: left;padding:5px"> |
| | | <lightning-icon title={item.fileFullName} style="margin-left: 20px;" icon-name="doctype:gform" alternative-text={item.fileFullName} size="large"></lightning-icon><br/> |
| | | <lightning-card |
| | | class="attListTitle" |
| | | variant="Narrow" |
| | | title="附件列表" |
| | | icon-name="utility:attach" |
| | | > |
| | | <lightning-layout |
| | | slot="footer" |
| | | multiple-rows="true" |
| | | > |
| | | <template |
| | | for:each={attachmentRecoeds} |
| | | for:item="item" |
| | | for:index="index" |
| | | > |
| | | <lightning-layout-item |
| | | padding="around-none" |
| | | size="2" |
| | | key={item.recordId} |
| | | style=" |
| | | text-align: left; |
| | | padding: 5px; |
| | | " |
| | | > |
| | | <lightning-icon |
| | | title={item.fileFullName} |
| | | style=" |
| | | margin-left: 20px; |
| | | " |
| | | icon-name="doctype:gform" |
| | | alternative-text={item.fileFullName} |
| | | size="large" |
| | | ></lightning-icon |
| | | ><br /> |
| | | <!-- <span style="word-wrap:break-word; word-break:break-all;width:80px;display:flex;" title={item.fileFullName}> |
| | | {item.fileName} |
| | | </span> --> |
| | | <div title={item.fileFullName} style="width: 100px;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;"> |
| | | <div |
| | | title={item.fileFullName} |
| | | style=" |
| | | width: 100px; |
| | | text-overflow: ellipsis; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | " |
| | | > |
| | | {item.fileName} |
| | | </div> |
| | | <p> |
| | | <!-- <a data-fileid ={item.documentId} onclick={previweAtt}> --> |
| | | <a href={item.attUrl} target="_blank"> |
| | | 预览 |
| | | </a> · |
| | | <a href={item.downloadUrl}> |
| | | 下载 |
| | | </a> · |
| | | <a data-fileid ={item.recordId} onclick={deleteAtt}> |
| | | <a |
| | | href={item.attUrl} |
| | | target="_blank" |
| | | > |
| | | 预览 </a |
| | | > · |
| | | <a |
| | | href={item.downloadUrl} |
| | | > |
| | | 下载 </a |
| | | > · |
| | | <a |
| | | data-fileid={item.recordId} |
| | | onclick={deleteAtt} |
| | | > |
| | | 删除 |
| | | </a> |
| | | </p> |
| | |
| | | </template> |
| | | <!-- searchBlock --> |
| | | <template if:true={editAble}> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="padding:10px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div style="padding: 10px"> |
| | | <table> |
| | | <tbody> |
| | | <!-- <tr> |
| | |
| | | <!-- <tr style="height: 10px;"></tr> --> |
| | | <tr> |
| | | <td> |
| | | <div style="color:#696969;font-size:16px;">消耗品名称</div> |
| | | </td> |
| | | <td> |
| | | <lightning-input class="inputFont" variant="label-hidden" label="消耗品名称" value={category1} onchange={category1Change}></lightning-input> |
| | | </td> |
| | | <td></td> |
| | | <td> |
| | | <div style="color:#696969;font-size:16px;">第3分类</div> |
| | | </td> |
| | | <td> |
| | | <lightning-combobox class="inputFont" variant="label-hidden" label="第3分类" value={category3} options={category3Option} onchange={category3Change}></lightning-combobox> |
| | | </td> |
| | | <td style="width:30px;"></td> |
| | | <td style="width:66px;"> |
| | | <div style="color:#696969;font-size:16px;">第4分类</div> |
| | | </td> |
| | | <td > |
| | | <lightning-combobox class="inputFont" variant="label-hidden" label="第4分类" value={category4} options={category4Option} onchange={category4Change}></lightning-combobox> |
| | | </td> |
| | | <td></td> |
| | | <td style="width: 66px;"> |
| | | <div style="color:#696969;font-size:16px;">第5分类</div> |
| | | </td> |
| | | <td style="width: 160px;"> |
| | | <lightning-combobox class="inputFont" variant="label-hidden" label="第5分类" value={category5} options={category5Option} onchange={category5Change}></lightning-combobox> |
| | | </td> |
| | | </tr> |
| | | <tr style="height: 10px;"></tr> |
| | | <tr> |
| | | <td style="width: 100px;"> |
| | | <div style="color:#696969;font-size:16px;"><span style="color: red;">* </span>合同</div> |
| | | </td> |
| | | <td style="width:320px;"> |
| | | <div class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right"> |
| | | <lightning-icon size="x-small" class="iconMargin slds-icon slds-input__icon slds-input__icon_right slds-icon-text-default" icon-name="utility:search" ></lightning-icon> |
| | | <lightning-input class="inputFont" variant="label-hidden" label="合同" placeholder="请选择合同" value={contractName} onchange={changeCon} onclick={showSearchCon}></lightning-input> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | " |
| | | > |
| | | 消耗品名称 |
| | | </div> |
| | | </td> |
| | | <td style="width: 30px;"></td> |
| | | <td style="width:66px;"> |
| | | <template if:true={showHospital}> |
| | | <div style="color:#696969;font-size:16px;"><span style="color: red;">* </span>医院</div> |
| | | </template> |
| | | <td> |
| | | <lightning-input |
| | | class="inputFont" |
| | | variant="label-hidden" |
| | | label="消耗品名称" |
| | | value={category1} |
| | | onchange={category1Change} |
| | | ></lightning-input> |
| | | </td> |
| | | <td colspan="4" style="padding-bottom:5px;padding-top:5px;"> |
| | | <td></td> |
| | | <td> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | " |
| | | > |
| | | 第3分类 |
| | | </div> |
| | | </td> |
| | | <td> |
| | | <lightning-combobox |
| | | class="inputFont" |
| | | variant="label-hidden" |
| | | label="第3分类" |
| | | value={category3} |
| | | options={category3Option} |
| | | onchange={category3Change} |
| | | ></lightning-combobox> |
| | | </td> |
| | | <td style="width: 30px"></td> |
| | | <td style="width: 66px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | " |
| | | > |
| | | 第4分类 |
| | | </div> |
| | | </td> |
| | | <td> |
| | | <lightning-combobox |
| | | class="inputFont" |
| | | variant="label-hidden" |
| | | label="第4分类" |
| | | value={category4} |
| | | options={category4Option} |
| | | onchange={category4Change} |
| | | ></lightning-combobox> |
| | | </td> |
| | | <td></td> |
| | | <td style="width: 66px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | " |
| | | > |
| | | 第5分类 |
| | | </div> |
| | | </td> |
| | | <td style="width: 160px"> |
| | | <lightning-combobox |
| | | class="inputFont" |
| | | variant="label-hidden" |
| | | label="第5分类" |
| | | value={category5} |
| | | options={category5Option} |
| | | onchange={category5Change} |
| | | ></lightning-combobox> |
| | | </td> |
| | | </tr> |
| | | <tr style="height: 10px"></tr> |
| | | <tr> |
| | | <td style="width: 100px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | " |
| | | > |
| | | <span style="color: red" |
| | | >* </span |
| | | >合同 |
| | | </div> |
| | | </td> |
| | | <td style="width: 320px"> |
| | | <div |
| | | class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right" |
| | | > |
| | | <lightning-icon |
| | | size="x-small" |
| | | class="iconMargin slds-icon slds-input__icon slds-input__icon_right slds-icon-text-default" |
| | | icon-name="utility:search" |
| | | ></lightning-icon> |
| | | <lightning-input |
| | | class="inputFont" |
| | | variant="label-hidden" |
| | | label="合同" |
| | | placeholder="请选择合同" |
| | | value={contractName} |
| | | onchange={changeCon} |
| | | onclick={showSearchCon} |
| | | ></lightning-input> |
| | | </div> |
| | | </td> |
| | | <td style="width: 30px"></td> |
| | | <td style="width: 66px"> |
| | | <template if:true={showHospital}> |
| | | <div class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right"> |
| | | <lightning-icon size="x-small" class="iconMargin slds-icon slds-input__icon slds-input__icon_right slds-icon-text-default" icon-name="utility:search" ></lightning-icon> |
| | | <lightning-input class="inputFont" variant="label-hidden" label="医院" placeholder="请选择医院" value={hospitalName} onclick={showSearchHos} onchange={changeHos}></lightning-input> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | " |
| | | > |
| | | <span style="color: red" |
| | | >* </span |
| | | >医院 |
| | | </div> |
| | | </template> |
| | | </td> |
| | | <td style="width: 30px;"></td> |
| | | <td |
| | | colspan="4" |
| | | style=" |
| | | padding-bottom: 5px; |
| | | padding-top: 5px; |
| | | " |
| | | > |
| | | <template if:true={showHospital}> |
| | | <div |
| | | class="slds-form-element__control slds-input-has-icon slds-input-has-icon_right" |
| | | > |
| | | <lightning-icon |
| | | size="x-small" |
| | | class="iconMargin slds-icon slds-input__icon slds-input__icon_right slds-icon-text-default" |
| | | icon-name="utility:search" |
| | | ></lightning-icon> |
| | | <lightning-input |
| | | class="inputFont" |
| | | variant="label-hidden" |
| | | label="医院" |
| | | placeholder="请选择医院" |
| | | value={hospitalName} |
| | | onclick={showSearchHos} |
| | | onchange={changeHos} |
| | | ></lightning-input> |
| | | </div> |
| | | </template> |
| | | </td> |
| | | <td style="width: 30px"></td> |
| | | <td colspan="2"> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" style="width:130px;height:32px;margin-right: 10px;" label="消耗品搜索" onclick={searchProduct}>消耗品搜索</button> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" style="width:80px;height:32px;" label="清空" onclick={clear}>清空</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | style=" |
| | | width: 130px; |
| | | height: 32px; |
| | | margin-right: 10px; |
| | | " |
| | | label="消耗品搜索" |
| | | onclick={searchProduct} |
| | | > |
| | | 消耗品搜索 |
| | | </button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" |
| | | style=" |
| | | width: 80px; |
| | | height: 32px; |
| | | " |
| | | label="清空" |
| | | onclick={clear} |
| | | > |
| | | 清空 |
| | | </button> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | |
| | | </template> |
| | | <!-- 警告提醒 --> |
| | | <template if:true={hasWarning}> |
| | | <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;color:#ff6a00;font-size:17px;"> |
| | | <lightning-icon style="margin: 3px;" icon-name="utility:warning" size="small"></lightning-icon> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-bottom: 1px solid #d4d4d4; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | color: #ff6a00; |
| | | font-size: 17px; |
| | | " |
| | | > |
| | | <lightning-icon |
| | | style="margin: 3px" |
| | | icon-name="utility:warning" |
| | | size="small" |
| | | ></lightning-icon> |
| | | <strong> 警告</strong> |
| | | </div> |
| | | <template for:each={warningMsgs} for:item="msg"> |
| | | <p key={msg} style="color:#ff6a00;padding-left:7px;font-size:16px;margin-bottom:7px;"> ・ {msg}</p> |
| | | <p |
| | | key={msg} |
| | | style=" |
| | | color: #ff6a00; |
| | | padding-left: 7px; |
| | | font-size: 16px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | ・ {msg} |
| | | </p> |
| | | </template> |
| | | </div> |
| | | </template> |
| | | <!-- 报错提醒 --> |
| | | <template if:true={hasError}> |
| | | <div style="border: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;border-radius:5px;margin-bottom:7px;color:red;font-size:17px;"> |
| | | <lightning-icon style="margin: 3px;" icon-name="utility:error" size="small"></lightning-icon> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-bottom: 1px solid #d4d4d4; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | color: red; |
| | | font-size: 17px; |
| | | " |
| | | > |
| | | <lightning-icon |
| | | style="margin: 3px" |
| | | icon-name="utility:error" |
| | | size="small" |
| | | ></lightning-icon> |
| | | <strong> 错误</strong> |
| | | </div> |
| | | <template for:each={errorMsgs} for:item="msg"> |
| | | <p key={msg} style="color:red;padding-left:7px;font-size:16px;margin-bottom:7px;"> ・ {msg}</p> |
| | | <p |
| | | key={msg} |
| | | style=" |
| | | color: red; |
| | | padding-left: 7px; |
| | | font-size: 16px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | ・ {msg} |
| | | </p> |
| | | </template> |
| | | </div> |
| | | </template> |
| | | <!-- 消耗品明细 --> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div style="border-bottom: 1px solid #d4d4d4; padding: 3px"> |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <p style="font-size: 18px"> |
| | |
| | | </lightning-layout> |
| | | <!-- <p style="font-size: 16px;"><strong>消耗品明细</strong></p> --> |
| | | </div> |
| | | <div style="padding:10px;"> |
| | | <div style="padding: 10px"> |
| | | <template if:true={editAble}> |
| | | <c-lex-custom-lightning-datatable class="wrapped-header-datatable" style="word-wrap:break-word; word-break:break-all;" key-field="recordId" data={currentRecord} columns={cols} |
| | | selected-rows={selectRows} onrowselection={checkRows} onchangevalue={conCountChange} onvalueblur={conCountBlur} |
| | | default-sort-direction="asc" sorted-direction={sortDirection} sorted-by={sortedBy} onsort={onHandleSort}></c-lex-custom-lightning-datatable> |
| | | <c-paginator onprevious={prePageClick} onnext={nextPageClick} |
| | | onpageschange={pageSizeChange} onfirst={goFirstPage} onlast={goLastPage} |
| | | page-size-options={pageSizeOptions} previous-button-disabled={previousButtonDisabled} |
| | | next-button-disabled={nextButtonDisabled} record-start={recordStart} |
| | | record-end={recordEnd} total-records={totalRecords}></c-paginator> |
| | | <c-lex-custom-lightning-datatable |
| | | class="wrapped-header-datatable" |
| | | style=" |
| | | word-wrap: break-word; |
| | | word-break: break-all; |
| | | " |
| | | key-field="recordId" |
| | | data={currentRecord} |
| | | columns={cols} |
| | | selected-rows={selectRows} |
| | | onrowselection={checkRows} |
| | | onchangevalue={conCountChange} |
| | | onvalueblur={conCountBlur} |
| | | default-sort-direction="asc" |
| | | sorted-direction={sortDirection} |
| | | sorted-by={sortedBy} |
| | | onsort={onHandleSort} |
| | | ></c-lex-custom-lightning-datatable> |
| | | <c-paginator |
| | | onprevious={prePageClick} |
| | | onnext={nextPageClick} |
| | | onpageschange={pageSizeChange} |
| | | onfirst={goFirstPage} |
| | | onlast={goLastPage} |
| | | page-size-options={pageSizeOptions} |
| | | previous-button-disabled={previousButtonDisabled} |
| | | next-button-disabled={nextButtonDisabled} |
| | | record-start={recordStart} |
| | | record-end={recordEnd} |
| | | total-records={totalRecords} |
| | | ></c-paginator> |
| | | </template> |
| | | <template if:false={editAble}> |
| | | <c-lex-custom-lightning-datatable class="wrapped-header-datatable" style="word-wrap:break-word; word-break:break-all;" hide-checkbox-column key-field="recordId" data={consumableorderdetailsRecordsview} columns={cols}></c-lex-custom-lightning-datatable> |
| | | <c-paginator onprevious={prePageClick} onnext={nextPageClick} |
| | | onpageschange={pageSizeChange} onfirst={goFirstPage} onlast={goLastPage} |
| | | page-size-options={pageSizeOptions} previous-button-disabled={previousButtonDisabled} |
| | | next-button-disabled={nextButtonDisabled} record-start={recordStart} |
| | | record-end={recordEnd} total-records={totalRecords}></c-paginator> |
| | | <c-lex-custom-lightning-datatable |
| | | class="wrapped-header-datatable" |
| | | style=" |
| | | word-wrap: break-word; |
| | | word-break: break-all; |
| | | " |
| | | hide-checkbox-column |
| | | key-field="recordId" |
| | | data={consumableorderdetailsRecordsview} |
| | | columns={cols} |
| | | ></c-lex-custom-lightning-datatable> |
| | | <c-paginator |
| | | onprevious={prePageClick} |
| | | onnext={nextPageClick} |
| | | onpageschange={pageSizeChange} |
| | | onfirst={goFirstPage} |
| | | onlast={goLastPage} |
| | | page-size-options={pageSizeOptions} |
| | | previous-button-disabled={previousButtonDisabled} |
| | | next-button-disabled={nextButtonDisabled} |
| | | record-start={recordStart} |
| | | record-end={recordEnd} |
| | | total-records={totalRecords} |
| | | ></c-paginator> |
| | | </template> |
| | | </div> |
| | | </div> |
| | |
| | | </template> --> |
| | | <!-- 上传附件弹窗 --> |
| | | <template if:true={showAttPop}> |
| | | <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open slds-modal_small" style="border: 1px solid #D4D4D4;"> |
| | | <section |
| | | role="dialog" |
| | | tabindex="-1" |
| | | aria-labelledby="modal-heading-01" |
| | | aria-modal="true" |
| | | aria-describedby="modal-content-id-1" |
| | | class="slds-modal slds-fade-in-open slds-modal_small" |
| | | style="border: 1px solid #d4d4d4" |
| | | > |
| | | <template if:true={showPopSpinner}> |
| | | <lightning-spinner size="medium" variant="brand"></lightning-spinner> |
| | | <lightning-spinner |
| | | size="medium" |
| | | variant="brand" |
| | | ></lightning-spinner> |
| | | </template> |
| | | <div class="slds-modal__container"> |
| | | <header class="slds-modal__header" style="background-color: #F3F3F3;"> |
| | | <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={closePop}> |
| | | <lightning-icon icon-name="utility:close" |
| | | <header |
| | | class="slds-modal__header" |
| | | style="background-color: #f3f3f3" |
| | | > |
| | | <button |
| | | style="" |
| | | class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" |
| | | title="Close" |
| | | onclick={closePop} |
| | | > |
| | | <lightning-icon |
| | | icon-name="utility:close" |
| | | alternative-text="close" |
| | | variant="inverse" |
| | | size="small" ></lightning-icon> |
| | | size="small" |
| | | ></lightning-icon> |
| | | <span class="slds-assistive-text">Close</span> |
| | | </button> |
| | | <h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">上传配置单</h2> |
| | | <h2 |
| | | id="modal-heading-01" |
| | | class="slds-text-heading_medium slds-hyphenate" |
| | | > |
| | | 上传配置单 |
| | | </h2> |
| | | </header> |
| | | <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1" style="border: 1px solid #F3F3F3;"> |
| | | <div |
| | | class="slds-modal__content slds-p-around_medium" |
| | | id="modal-content-id-1" |
| | | style="border: 1px solid #f3f3f3" |
| | | > |
| | | <div class="slds-m-top_medium slds-m-bottom_x-large"> |
| | | <div class="slds-p-around_medium lgc-bg"> |
| | | <lightning-input class="fileUpload" type="file" label="附件上传" accept=".xlsx, .xls, .csv, .png, .doc, .docx, .pdf" onchange={attChange}></lightning-input> |
| | | <lightning-input |
| | | class="fileUpload" |
| | | type="file" |
| | | label="附件上传" |
| | | accept=".xlsx, .xls, .csv, .png, .doc, .docx, .pdf" |
| | | onchange={attChange} |
| | | ></lightning-input> |
| | | </div> |
| | | <p style="font-size: 16px;">已选择文件:{fileName} |
| | | <p style="font-size: 16px"> |
| | | 已选择文件:{fileName} |
| | | |
| | | <template if:true={attDelBtn}> |
| | | <a onclick={removeAtt}>移除</a> |
| | | </template> |
| | |
| | | <footer class="slds-modal__footer"> |
| | | <!-- <lightning-button style="margin-left: 10px;" variant="neutral" label="取消" onclick={closePop}></lightning-button> |
| | | <lightning-button style="margin-left: 10px;" variant="neutral" label="上传" onclick={uploadAtt}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" style="margin-left: 10px;" variant="neutral" label="取消" onclick={closePop}>取消</button> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" style="margin-left: 10px;" variant="neutral" label="上传" onclick={uploadAtt}>上传</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" |
| | | style="margin-left: 10px" |
| | | variant="neutral" |
| | | label="取消" |
| | | onclick={closePop} |
| | | > |
| | | 取消 |
| | | </button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | style="margin-left: 10px" |
| | | variant="neutral" |
| | | label="上传" |
| | | onclick={uploadAtt} |
| | | > |
| | | 上传 |
| | | </button> |
| | | </footer> |
| | | </div> |
| | | </section> |
| | |
| | | </template> |
| | | <!-- 搜索医院 --> |
| | | <template if:true={showAttHosPop}> |
| | | <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open slds-modal_medium" style="border: 1px solid #D4D4D4;"> |
| | | <section |
| | | role="dialog" |
| | | tabindex="-1" |
| | | aria-labelledby="modal-heading-01" |
| | | aria-modal="true" |
| | | aria-describedby="modal-content-id-1" |
| | | class="slds-modal slds-fade-in-open slds-modal_medium" |
| | | style="border: 1px solid #d4d4d4" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <header class="slds-modal__header" style="background-color: #F3F3F3;"> |
| | | <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={closeHospitalPop}> |
| | | <lightning-icon icon-name="utility:close" |
| | | <header |
| | | class="slds-modal__header" |
| | | style="background-color: #f3f3f3" |
| | | > |
| | | <button |
| | | style="" |
| | | class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" |
| | | title="Close" |
| | | onclick={closeHospitalPop} |
| | | > |
| | | <lightning-icon |
| | | icon-name="utility:close" |
| | | alternative-text="close" |
| | | variant="inverse" |
| | | size="small" ></lightning-icon> |
| | | size="small" |
| | | ></lightning-icon> |
| | | <span class="slds-assistive-text">Close</span> |
| | | </button> |
| | | <h2 id="modal-heading-02" class="slds-text-heading_medium slds-hyphenate">经销商医院检索</h2> |
| | | <h2 |
| | | id="modal-heading-02" |
| | | class="slds-text-heading_medium slds-hyphenate" |
| | | > |
| | | 经销商医院检索 |
| | | </h2> |
| | | </header> |
| | | <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-2" style="border: 1px solid #F3F3F3;"> |
| | | <table style="width: 100%;"> |
| | | <div |
| | | class="slds-modal__content slds-p-around_medium" |
| | | id="modal-content-id-2" |
| | | style="border: 1px solid #f3f3f3" |
| | | > |
| | | <table style="width: 100%"> |
| | | <tbody> |
| | | <tr> |
| | | <td style="width: 74px;"><div style="color:#696969;font-size:16px;text-align: left;">医院名称</div></td> |
| | | <td style="width: 60%;"><lightning-input class="inputFont" label="医院名称" variant="label-hidden" placeholder="请输入医院名称" value={searchNameHos} onchange={searchNameHosChange}></lightning-input></td> |
| | | <td style="width: 10px;"></td> |
| | | <td><button class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" style="height: 32px;" label="搜索" onclick={searchHos}>搜索</button></td> |
| | | <td style="width: 74px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | text-align: left; |
| | | " |
| | | > |
| | | 医院名称 |
| | | </div> |
| | | </td> |
| | | <td style="width: 60%"> |
| | | <lightning-input |
| | | class="inputFont" |
| | | label="医院名称" |
| | | variant="label-hidden" |
| | | placeholder="请输入医院名称" |
| | | value={searchNameHos} |
| | | onchange={searchNameHosChange} |
| | | ></lightning-input> |
| | | </td> |
| | | <td style="width: 10px"></td> |
| | | <td> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | style="height: 32px" |
| | | label="搜索" |
| | | onclick={searchHos} |
| | | > |
| | | 搜索 |
| | | </button> |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | <p style="height: 20px;"></p> |
| | | <p style="height: 20px"></p> |
| | | <!-- <p>已选择医院:{chooseHospital}</p> --> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-bottom: 1px solid #d4d4d4; |
| | | padding: 3px; |
| | | " |
| | | > |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <lightning-layout-item |
| | | padding="around-small" |
| | | > |
| | | <p style="font-size: 18px"> |
| | | <strong>搜索结果</strong> |
| | | </p> |
| | |
| | | </lightning-layout> |
| | | <!-- <p style="font-size: 16px;"><strong>搜索结果</strong></p> --> |
| | | </div> |
| | | <div class="myTable" style="padding:10px;"> |
| | | <lightning-datatable class="wrapped-header-datatable" key-field="id" hide-checkbox-column="true" data={hospitalList} columns={hosCols} onrowaction={chooseHos}></lightning-datatable> |
| | | <div class="myTable" style="padding: 10px"> |
| | | <lightning-datatable |
| | | class="wrapped-header-datatable" |
| | | key-field="id" |
| | | hide-checkbox-column="true" |
| | | data={hospitalList} |
| | | columns={hosCols} |
| | | onrowaction={chooseHos} |
| | | ></lightning-datatable> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <footer class="slds-modal__footer"> |
| | | <!-- <lightning-button style="margin-left: 10px;" variant="neutral" label="取消" onclick={closeHospitalPop}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" label="取消" onclick={closeHospitalPop}>取消</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" |
| | | label="取消" |
| | | onclick={closeHospitalPop} |
| | | > |
| | | 取消 |
| | | </button> |
| | | <!-- <lightning-button style="margin-left: 10px;" variant="neutral" label="确认" onclick={confirmHospital}></lightning-button> --> |
| | | </footer> |
| | | </div> |
| | |
| | | </template> |
| | | <!-- 搜索合同 --> |
| | | <template if:true={showConPop}> |
| | | <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open slds-modal_medium" style="border: 1px solid #D4D4D4;"> |
| | | <section |
| | | role="dialog" |
| | | tabindex="-1" |
| | | aria-labelledby="modal-heading-01" |
| | | aria-modal="true" |
| | | aria-describedby="modal-content-id-1" |
| | | class="slds-modal slds-fade-in-open slds-modal_medium" |
| | | style="border: 1px solid #d4d4d4" |
| | | > |
| | | <div class="slds-modal__container"> |
| | | <header class="slds-modal__header" style="background-color: #F3F3F3;"> |
| | | <button style="" class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={closeContractPop}> |
| | | <lightning-icon icon-name="utility:close" |
| | | <header |
| | | class="slds-modal__header" |
| | | style="background-color: #f3f3f3" |
| | | > |
| | | <button |
| | | style="" |
| | | class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" |
| | | title="Close" |
| | | onclick={closeContractPop} |
| | | > |
| | | <lightning-icon |
| | | icon-name="utility:close" |
| | | alternative-text="close" |
| | | variant="inverse" |
| | | size="small" ></lightning-icon> |
| | | size="small" |
| | | ></lightning-icon> |
| | | <span class="slds-assistive-text">Close</span> |
| | | </button> |
| | | <h2 id="modal-heading-03" class="slds-text-heading_medium slds-hyphenate">合同检索</h2> |
| | | <h2 |
| | | id="modal-heading-03" |
| | | class="slds-text-heading_medium slds-hyphenate" |
| | | > |
| | | 合同检索 |
| | | </h2> |
| | | </header> |
| | | <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-3" style="border: 1px solid #F3F3F3;"> |
| | | <table style="width: 100%;"> |
| | | <div |
| | | class="slds-modal__content slds-p-around_medium" |
| | | id="modal-content-id-3" |
| | | style="border: 1px solid #f3f3f3" |
| | | > |
| | | <table style="width: 100%"> |
| | | <tbody> |
| | | <tr> |
| | | <td style="width: 74px;"><div style="color:#696969;font-size:16px;text-align: left;">合同名称</div></td> |
| | | <td style="width: 60%;"><lightning-input class="inputFont" label="合同名称" variant="label-hidden" placeholder="请输入合同名称" value={searchNameCon} onchange={searchNameConChange}></lightning-input></td> |
| | | <td style="width: 10px;"></td> |
| | | <td><button class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" style="height: 32px;" label="搜索" onclick={searchCon}>搜索</button></td> |
| | | <td style="width: 74px"> |
| | | <div |
| | | style=" |
| | | color: #696969; |
| | | font-size: 16px; |
| | | text-align: left; |
| | | " |
| | | > |
| | | 合同名称 |
| | | </div> |
| | | </td> |
| | | <td style="width: 60%"> |
| | | <lightning-input |
| | | class="inputFont" |
| | | label="合同名称" |
| | | variant="label-hidden" |
| | | placeholder="请输入合同名称" |
| | | value={searchNameCon} |
| | | onchange={searchNameConChange} |
| | | ></lightning-input> |
| | | </td> |
| | | <td style="width: 10px"></td> |
| | | <td> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexsearchStyle" |
| | | style="height: 32px" |
| | | label="搜索" |
| | | onclick={searchCon} |
| | | > |
| | | 搜索 |
| | | </button> |
| | | </td> |
| | | <!-- <td><lightning-button label="搜索" onclick={searchCon}></lightning-button></td> --> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | <p style="height: 10px;"></p> |
| | | <p style="height: 10px"></p> |
| | | <!-- <p>已选择合同:{chooseContract}</p> --> |
| | | <div style="border: 1px solid #D4D4D4;border-top: 3px solid #51606E;border-radius:5px;margin-bottom:7px;"> |
| | | <div style="border-bottom: 1px solid #D4D4D4;padding:3px;"> |
| | | <div |
| | | style=" |
| | | border: 1px solid #d4d4d4; |
| | | border-top: 3px solid #51606e; |
| | | border-radius: 5px; |
| | | margin-bottom: 7px; |
| | | " |
| | | > |
| | | <div |
| | | style=" |
| | | border-bottom: 1px solid #d4d4d4; |
| | | padding: 3px; |
| | | " |
| | | > |
| | | <lightning-layout> |
| | | <lightning-layout-item padding="around-small"> |
| | | <lightning-layout-item |
| | | padding="around-small" |
| | | > |
| | | <p style="font-size: 18px"> |
| | | <strong>搜索结果</strong> |
| | | </p> |
| | | </lightning-layout-item> |
| | | </lightning-layout> |
| | | </div> |
| | | <div style="padding:20px;"> |
| | | <lightning-datatable class="wrapped-header-datatable" key-field="id" hide-checkbox-column="true" data={contractList} columns={conCols} onrowaction={chooseCon}></lightning-datatable> |
| | | <div style="padding: 20px"> |
| | | <lightning-datatable |
| | | class="wrapped-header-datatable" |
| | | key-field="id" |
| | | hide-checkbox-column="true" |
| | | data={contractList} |
| | | columns={conCols} |
| | | onrowaction={chooseCon} |
| | | ></lightning-datatable> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <footer class="slds-modal__footer"> |
| | | <!-- <lightning-button style="margin-left: 10px;" variant="neutral" label="取消" onclick={closeContractPop}></lightning-button> --> |
| | | <button class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" label="取消" onclick={closeContractPop}>取消</button> |
| | | <button |
| | | class="slds-button slds-button_neutral slds-button_stretch lexclearStyle" |
| | | label="取消" |
| | | onclick={closeContractPop} |
| | | > |
| | | 取消 |
| | | </button> |
| | | <!-- <lightning-button style="margin-left: 10px;" variant="neutral" label="确认" onclick={confirmContract}></lightning-button> --> |
| | | </footer> |
| | | </div> |
| | |
| | | import { LightningElement,wire,api,track } from 'lwc'; |
| | | import { LightningElement, wire, api, track } from 'lwc'; |
| | | import { CurrentPageReference } from 'lightning/navigation'; |
| | | import { ShowToastEvent } from 'lightning/platformShowToastEvent'; |
| | | import { NavigationMixin } from 'lightning/navigation'; |
| | |
| | | import initContract from '@salesforce/apex/LexSearchContractController.init'; |
| | | import searchContract from '@salesforce/apex/LexSearchContractController.searchContract'; |
| | | import deleteAtt from '@salesforce/apex/LexConsumableController.deleteAtt'; |
| | | //table css |
| | | import { loadStyle } from "lightning/platformResourceLoader"; |
| | | import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable"; |
| | | //table css |
| | | import { loadStyle } from 'lightning/platformResourceLoader'; |
| | | import WrappedHeaderTable from '@salesforce/resourceUrl/lexdatatable'; |
| | | |
| | | export default class LexConsumable extends NavigationMixin(LightningElement) { |
| | | |
| | | //页面基础数据 |
| | | @track editAble; |
| | | @track pageType; |
| | | @track esetId; |
| | | @track keyWords; |
| | | @track coc; |
| | | @track cocId; |
| | | @track userWorkLocation; |
| | | @track accountName; |
| | | @track accountid; |
| | | @track specialCampaign = false; |
| | | @track dealerProductId = []; |
| | | @track category1; |
| | | @track category3 = ''; |
| | | @track category4 = ''; |
| | | @track category5 = ''; |
| | | @track category_Goods; |
| | | @track category3Option = []; |
| | | @track category4Option = []; |
| | | @track category5Option = []; |
| | | @track consumableorderdetailsRecordsview = []; |
| | | @track currentRecord = [];//分页 |
| | | @track selectRows = []; |
| | | @track attachmentRecoeds = []; |
| | | @track contactDealer = []; |
| | | @track proLimitAndDate = []; |
| | | @track agencyProType; |
| | | @track agencyProType1; |
| | | @track OSHFLG = false; |
| | | @track bargainPrice; |
| | | @track showOrderDate = false; |
| | | @track showAttUploadDate = false; |
| | | @track edoffersPrice = false; |
| | | @track editDelCommitBtnDisabled = false; |
| | | @track showEditBtn = false; |
| | | @track disabledEditBtn = false; |
| | | @track showPrintSheetBtn = false; |
| | | @track showUploadSheetBtn = false; |
| | | @track disabledUploadSheetBtn = false; |
| | | @track showSubOrderbtn = false; |
| | | @track disabledSubOrderbtn = false; |
| | | @track showSaveOrderbtn1 = false; |
| | | @track showSaveOrderbtn2 = false; |
| | | @track showDeleteBtn = false; |
| | | @track disabledDeleteBtn = false; |
| | | @track showOfferPriceInputBtn = false; |
| | | @track disabledOfferPriceInputBtn = false; |
| | | @track showReapplyBtn = false; |
| | | @track showHospital = false; |
| | | @track showPage = false; |
| | | @track cansee = false; |
| | | @track showSpinner = true; |
| | | @track showPopSpinner = false; |
| | | stylesLoaded = false; |
| | | //是否一直显示提示 |
| | | @track isNoteStay = true; |
| | | //排序相关 |
| | | @track sortDirection = 'asc'; |
| | | @track sortedBy; |
| | | //分页 |
| | | @track currentPage = 1; |
| | | @track pageSize = 10; |
| | | // @track totalPage = 0; |
| | | @track pageSizeOptions = [10, 25, 50, 100]; |
| | | @track recordStart = 0; |
| | | @track recordEnd = 0; |
| | | //报错提醒 |
| | | // @track hasError = false; |
| | | @track errorMsgs = []; |
| | | // @track hasWarning = false; |
| | | @track warningMsgs = []; |
| | | //附件上传 |
| | | @track showAttPop = false; |
| | | @track filesUploaded = []; |
| | | @track fileName; |
| | | file; |
| | | fileContents; |
| | | fileReader; |
| | | content; |
| | | //医院搜索 |
| | | @track showAttHosPop = false; |
| | | @track hospitalList = []; |
| | | @track searchNameHos; |
| | | @track chooseHospital; |
| | | @track chooseHospitalId; |
| | | @track hospitalId; |
| | | @track hospitalName; |
| | | @track tempidHp; |
| | | @track hosCols = [ |
| | | // {label:'医院名称',fieldName:'Name',type:'button',typeAttributes:{label:{fieldName:'Name'},variant:'base'}}, |
| | | {label:'',type:'button',typeAttributes:{label:'选择'},initialWidth:90,hideDefaultActions: true,wrapText:true}, |
| | | {label:'医院名称',fieldName:'Name',initialWidth:380,wrapText:true,hideDefaultActions: true}, |
| | | {label:'省份',fieldName:'StateMaster',initialWidth:80,hideDefaultActions: true,wrapText:true}, |
| | | {label:'地址',fieldName:'Address__c',hideDefaultActions: true,wrapText:true} |
| | | ]; |
| | | //合同搜索 |
| | | @track contractLabel; |
| | | @track showConPop = false; |
| | | @track contractList = []; |
| | | @track searchNameCon; |
| | | @track chooseContract; |
| | | @track chooseContractId; |
| | | @track contractId; |
| | | @track contractName; |
| | | @track tempidPp; |
| | | @track conCols = [ |
| | | {label:'',type:'button',typeAttributes:{label:'选择'},initialWidth:90,hideDefaultActions: true,wrapText:true}, |
| | | {label:'合同名称',fieldName:'Name',wrapText:true,hideDefaultActions: true}, |
| | | {label:'省份',fieldName:'StateMaster',initialWidth:80,hideDefaultActions: true,wrapText:true}, |
| | | {label:'申请销售课',fieldName:'Sales_Section__c',initialWidth:160,hideDefaultActions: true,wrapText:true}, |
| | | {label:'允许报价期间(开始日)',fieldName:'Contract_Decide_Start_Date__c',initialWidth:175,hideDefaultActions: true,wrapText:true}, |
| | | {label:'允许报价期间(结束日)',fieldName:'Contract_Decide_End_Date__c',initialWidth:175,hideDefaultActions: true,wrapText:true} |
| | | ]; |
| | | //页面基础数据 |
| | | @track editAble; |
| | | @track pageType; |
| | | @track esetId; |
| | | @track keyWords; |
| | | @track coc; |
| | | @track cocId; |
| | | @track userWorkLocation; |
| | | @track accountName; |
| | | @track accountid; |
| | | @track specialCampaign = false; |
| | | @track dealerProductId = []; |
| | | @track category1; |
| | | @track category3 = ''; |
| | | @track category4 = ''; |
| | | @track category5 = ''; |
| | | @track category_Goods; |
| | | @track category3Option = []; |
| | | @track category4Option = []; |
| | | @track category5Option = []; |
| | | @track consumableorderdetailsRecordsview = []; |
| | | @track currentRecord = []; //分页 |
| | | @track selectRows = []; |
| | | @track attachmentRecoeds = []; |
| | | @track contactDealer = []; |
| | | @track proLimitAndDate = []; |
| | | @track agencyProType; |
| | | @track agencyProType1; |
| | | @track OSHFLG = false; |
| | | @track bargainPrice; |
| | | @track showOrderDate = false; |
| | | @track showAttUploadDate = false; |
| | | @track edoffersPrice = false; |
| | | @track editDelCommitBtnDisabled = false; |
| | | @track showEditBtn = false; |
| | | @track disabledEditBtn = false; |
| | | @track showPrintSheetBtn = false; |
| | | @track showUploadSheetBtn = false; |
| | | @track disabledUploadSheetBtn = false; |
| | | @track showSubOrderbtn = false; |
| | | @track disabledSubOrderbtn = false; |
| | | @track showSaveOrderbtn1 = false; |
| | | @track showSaveOrderbtn2 = false; |
| | | @track showDeleteBtn = false; |
| | | @track disabledDeleteBtn = false; |
| | | @track showOfferPriceInputBtn = false; |
| | | @track disabledOfferPriceInputBtn = false; |
| | | @track showReapplyBtn = false; |
| | | @track showHospital = false; |
| | | @track showPage = false; |
| | | @track cansee = false; |
| | | @track showSpinner = true; |
| | | @track showPopSpinner = false; |
| | | stylesLoaded = false; |
| | | //是否一直显示提示 |
| | | @track isNoteStay = true; |
| | | //排序相关 |
| | | @track sortDirection = 'asc'; |
| | | @track sortedBy; |
| | | //分页 |
| | | @track currentPage = 1; |
| | | @track pageSize = 10; |
| | | // @track totalPage = 0; |
| | | @track pageSizeOptions = [10, 25, 50, 100]; |
| | | @track recordStart = 0; |
| | | @track recordEnd = 0; |
| | | //报错提醒 |
| | | // @track hasError = false; |
| | | @track errorMsgs = []; |
| | | // @track hasWarning = false; |
| | | @track warningMsgs = []; |
| | | //附件上传 |
| | | @track showAttPop = false; |
| | | @track filesUploaded = []; |
| | | @track fileName; |
| | | file; |
| | | fileContents; |
| | | fileReader; |
| | | content; |
| | | //医院搜索 |
| | | @track showAttHosPop = false; |
| | | @track hospitalList = []; |
| | | @track searchNameHos; |
| | | @track chooseHospital; |
| | | @track chooseHospitalId; |
| | | @track hospitalId; |
| | | @track hospitalName; |
| | | @track tempidHp; |
| | | @track hosCols = [ |
| | | // {label:'医院名称',fieldName:'Name',type:'button',typeAttributes:{label:{fieldName:'Name'},variant:'base'}}, |
| | | { |
| | | label: '', |
| | | type: 'button', |
| | | typeAttributes: { label: '选择' }, |
| | | initialWidth: 90, |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '医院名称', |
| | | fieldName: 'Name', |
| | | initialWidth: 380, |
| | | wrapText: true, |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: '省份', |
| | | fieldName: 'StateMaster', |
| | | initialWidth: 80, |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '地址', |
| | | fieldName: 'Address__c', |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | } |
| | | ]; |
| | | //合同搜索 |
| | | @track contractLabel; |
| | | @track showConPop = false; |
| | | @track contractList = []; |
| | | @track searchNameCon; |
| | | @track chooseContract; |
| | | @track chooseContractId; |
| | | @track contractId; |
| | | @track contractName; |
| | | @track tempidPp; |
| | | @track conCols = [ |
| | | { |
| | | label: '', |
| | | type: 'button', |
| | | typeAttributes: { label: '选择' }, |
| | | initialWidth: 90, |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '合同名称', |
| | | fieldName: 'Name', |
| | | wrapText: true, |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: '省份', |
| | | fieldName: 'StateMaster', |
| | | initialWidth: 80, |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '申请销售课', |
| | | fieldName: 'Sales_Section__c', |
| | | initialWidth: 160, |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '允许报价期间(开始日)', |
| | | fieldName: 'Contract_Decide_Start_Date__c', |
| | | initialWidth: 175, |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | }, |
| | | { |
| | | label: '允许报价期间(结束日)', |
| | | fieldName: 'Contract_Decide_End_Date__c', |
| | | initialWidth: 175, |
| | | hideDefaultActions: true, |
| | | wrapText: true |
| | | } |
| | | ]; |
| | | |
| | | //消耗品数据col |
| | | get cols(){ |
| | | var cols = []; |
| | | cols.push({label:'消耗品名称',fieldName:'prodName',wrapText:true,hideDefaultActions: true,sortable: true,initialWidth:150}); |
| | | cols.push({label:'规格',fieldName:'packing_list',wrapText:true,hideDefaultActions: true,initialWidth:50,cellAttributes: { alignment: "right" }}); |
| | | cols.push({label:'CFDA状态',fieldName:'prodSFDAStatus',wrapText:true,hideDefaultActions: true,initialWidth:97}); |
| | | cols.push({label:'注册证编码号',fieldName:'approbation_No',wrapText:true,hideDefaultActions: true,initialWidth:120}); |
| | | cols.push({label:'注册证效期',fieldName:'expiration_Date',wrapText:true,hideDefaultActions: true,initialWidth:105}); |
| | | cols.push({label:'第3分类',fieldName:'prodCategory3',wrapText:true,hideDefaultActions: true,initialWidth:78,sortable: true}); |
| | | cols.push({label:'第4分类',fieldName:'prodCategory4',wrapText:true,hideDefaultActions: true,initialWidth:107,sortable: true}); |
| | | cols.push({label:'第5分类',fieldName:'prodCategory5',wrapText:true,hideDefaultActions: true,initialWidth:80,sortable: true}); |
| | | if(this.cansee){ |
| | | cols.push({label:'标准单价',type:'number',typeAttributes:{minimumFractionDigits: 2},fieldName:'prodIntraTradeList',hideDefaultActions: true,initialWidth:80}); |
| | | } |
| | | if(this.editAble){ |
| | | cols.push( |
| | | {label:'采购数量', |
| | | type: "customTableInput",typeAttributes: { |
| | | recordId: { fieldName: "recordId" }, |
| | | inputValue: { fieldName: "consumableCount" }, |
| | | upperLimit: { fieldName: "upperlimit" }, |
| | | lowerLimit: { fieldName: "lowerlimit" }, |
| | | allnumber: { fieldName: "allnumber" }, |
| | | valueType: 'Number' |
| | | //消耗品数据col |
| | | get cols() { |
| | | var cols = []; |
| | | cols.push({ |
| | | label: '消耗品名称', |
| | | fieldName: 'prodName', |
| | | wrapText: true, |
| | | hideDefaultActions: true, |
| | | sortable: true, |
| | | initialWidth: 150 |
| | | }); |
| | | cols.push({ |
| | | label: '规格', |
| | | fieldName: 'packing_list', |
| | | wrapText: true, |
| | | hideDefaultActions: true, |
| | | initialWidth: 50, |
| | | cellAttributes: { alignment: 'right' } |
| | | }); |
| | | cols.push({ |
| | | label: 'CFDA状态', |
| | | fieldName: 'prodSFDAStatus', |
| | | wrapText: true, |
| | | hideDefaultActions: true, |
| | | initialWidth: 97 |
| | | }); |
| | | cols.push({ |
| | | label: '注册证编码号', |
| | | fieldName: 'approbation_No', |
| | | wrapText: true, |
| | | hideDefaultActions: true, |
| | | initialWidth: 120 |
| | | }); |
| | | cols.push({ |
| | | label: '注册证效期', |
| | | fieldName: 'expiration_Date', |
| | | wrapText: true, |
| | | hideDefaultActions: true, |
| | | initialWidth: 105 |
| | | }); |
| | | cols.push({ |
| | | label: '第3分类', |
| | | fieldName: 'prodCategory3', |
| | | wrapText: true, |
| | | hideDefaultActions: true, |
| | | initialWidth: 78, |
| | | sortable: true |
| | | }); |
| | | cols.push({ |
| | | label: '第4分类', |
| | | fieldName: 'prodCategory4', |
| | | wrapText: true, |
| | | hideDefaultActions: true, |
| | | initialWidth: 107, |
| | | sortable: true |
| | | }); |
| | | cols.push({ |
| | | label: '第5分类', |
| | | fieldName: 'prodCategory5', |
| | | wrapText: true, |
| | | hideDefaultActions: true, |
| | | initialWidth: 80, |
| | | sortable: true |
| | | }); |
| | | if (this.cansee) { |
| | | cols.push({ |
| | | label: '标准单价', |
| | | type: 'number', |
| | | typeAttributes: { minimumFractionDigits: 2 }, |
| | | fieldName: 'prodIntraTradeList', |
| | | hideDefaultActions: true, |
| | | initialWidth: 80 |
| | | }); |
| | | } |
| | | if (this.editAble) { |
| | | cols.push({ |
| | | label: '采购数量', |
| | | type: 'customTableInput', |
| | | typeAttributes: { |
| | | recordId: { fieldName: 'recordId' }, |
| | | inputValue: { fieldName: 'consumableCount' }, |
| | | upperLimit: { fieldName: 'upperlimit' }, |
| | | lowerLimit: { fieldName: 'lowerlimit' }, |
| | | allnumber: { fieldName: 'allnumber' }, |
| | | valueType: 'Number' |
| | | }, |
| | | hideDefaultActions: true, |
| | | initialWidth: 80 |
| | | }); |
| | | } else { |
| | | cols.push({ |
| | | label: '采购数量', |
| | | fieldName: 'consumableCount', |
| | | hideDefaultActions: true, |
| | | initialWidth: 80, |
| | | cellAttributes: { alignment: 'right' } |
| | | }); |
| | | } |
| | | cols.push({ |
| | | label: '在库数下限', |
| | | fieldName: 'lowerlimit', |
| | | hideDefaultActions: true, |
| | | initialWidth: 100, |
| | | cellAttributes: { alignment: 'right' } |
| | | }); |
| | | cols.push({ |
| | | label: '在库数上限', |
| | | fieldName: 'upperlimit', |
| | | hideDefaultActions: true, |
| | | initialWidth: 100, |
| | | cellAttributes: { alignment: 'right' } |
| | | }); |
| | | // cols.push({label:'有效期库存(盒)',fieldName:'allnumber',hideDefaultActions: true,initialWidth:105,sortable: true}); |
| | | cols.push({ |
| | | label: '有效期库存(盒)', |
| | | type: 'customInventoryColor', |
| | | typeAttributes: { |
| | | value: { fieldName: 'allnumber' }, |
| | | upperlimit: { fieldName: 'upperlimit' }, |
| | | lowerlimit: { fieldName: 'lowerlimit' }, |
| | | boxPrice: '盒' |
| | | }, |
| | | hideDefaultActions: true,initialWidth:80}); |
| | | }else{ |
| | | cols.push({label:'采购数量',fieldName:'consumableCount',hideDefaultActions: true,initialWidth:80,cellAttributes: { alignment: "right" }}); |
| | | } |
| | | cols.push({label:'在库数下限',fieldName:'lowerlimit',hideDefaultActions: true,initialWidth:100,cellAttributes: { alignment: "right" }}); |
| | | cols.push({label:'在库数上限',fieldName:'upperlimit',hideDefaultActions: true,initialWidth:100,cellAttributes: { alignment: "right" }}); |
| | | // cols.push({label:'有效期库存(盒)',fieldName:'allnumber',hideDefaultActions: true,initialWidth:105,sortable: true}); |
| | | cols.push( |
| | | {label:'有效期库存(盒)', |
| | | type: "customInventoryColor", |
| | | typeAttributes: { |
| | | value: { fieldName: "allnumber" }, |
| | | upperlimit: { fieldName: "upperlimit" }, |
| | | lowerlimit: { fieldName: "lowerlimit" }, |
| | | boxPrice: '盒' |
| | | }, |
| | | hideDefaultActions: true,initialWidth:126}); |
| | | cols.push({label:'有效期库存(个)',fieldName:'allnumber_piece',hideDefaultActions: true,initialWidth:126,cellAttributes: { alignment: "right" }}); |
| | | return cols; |
| | | } |
| | | hideDefaultActions: true, |
| | | initialWidth: 126 |
| | | }); |
| | | cols.push({ |
| | | label: '有效期库存(个)', |
| | | fieldName: 'allnumber_piece', |
| | | hideDefaultActions: true, |
| | | initialWidth: 126, |
| | | cellAttributes: { alignment: 'right' } |
| | | }); |
| | | return cols; |
| | | } |
| | | |
| | | //附件cols |
| | | @track attCols = [ |
| | | {label:'标题',fieldName:'attUrl',type:'url',typeAttributes:{label:{fieldName:'fileName'},target: "_blank"},hideDefaultActions: true}, |
| | | {label:'创建人',fieldName:'ownerUrl',type:'url',typeAttributes:{label:{fieldName:'ownerName'},target: "_blank"},hideDefaultActions: true}, |
| | | {label:'上传日期',fieldName:'updateDate',hideDefaultActions: true}, |
| | | {label:'',type:'tableCellIcon',typeAttributes:{iconName:'utility:delete',recordId:{fieldName : 'recordId'}},initialWidth:50,hideDefaultActions: true} |
| | | ]; |
| | | //附件cols |
| | | @track attCols = [ |
| | | { |
| | | label: '标题', |
| | | fieldName: 'attUrl', |
| | | type: 'url', |
| | | typeAttributes: { |
| | | label: { fieldName: 'fileName' }, |
| | | target: '_blank' |
| | | }, |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: '创建人', |
| | | fieldName: 'ownerUrl', |
| | | type: 'url', |
| | | typeAttributes: { |
| | | label: { fieldName: 'ownerName' }, |
| | | target: '_blank' |
| | | }, |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: '上传日期', |
| | | fieldName: 'updateDate', |
| | | hideDefaultActions: true |
| | | }, |
| | | { |
| | | label: '', |
| | | type: 'tableCellIcon', |
| | | typeAttributes: { |
| | | iconName: 'utility:delete', |
| | | recordId: { fieldName: 'recordId' } |
| | | }, |
| | | initialWidth: 50, |
| | | hideDefaultActions: true |
| | | } |
| | | ]; |
| | | |
| | | //取得所有被勾选的产品id |
| | | getAllChecked(){ |
| | | this.selectRows = []; |
| | | for(var i in this.currentRecord){ |
| | | if(this.currentRecord[i].check){ |
| | | this.selectRows.push(this.currentRecord[i].recordId); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //勾选操作 |
| | | checkRows(event){ |
| | | this.selectRows = []; |
| | | const selectedRows = event.detail.selectedRows; |
| | | for(var i in this.consumableorderdetailsRecordsview){ |
| | | var count = 0; |
| | | for(var j in selectedRows){ |
| | | if(this.consumableorderdetailsRecordsview[i].recordId == selectedRows[j].recordId){ |
| | | count++ |
| | | console.log("checkId:"+selectedRows[j].recordId+'---'+this.consumableorderdetailsRecordsview[i].prodName); |
| | | //取得所有被勾选的产品id |
| | | getAllChecked() { |
| | | this.selectRows = []; |
| | | for (var i in this.currentRecord) { |
| | | if (this.currentRecord[i].check) { |
| | | this.selectRows.push(this.currentRecord[i].recordId); |
| | | } |
| | | } |
| | | if(count == 0){ |
| | | this.consumableorderdetailsRecordsview[i].check = false; |
| | | }else{ |
| | | this.consumableorderdetailsRecordsview[i].check = true; |
| | | this.selectRows.push(this.consumableorderdetailsRecordsview[i].recordId); |
| | | } |
| | | } |
| | | for(var i in this.selectRows){ |
| | | console.log("checkId1:"+this.selectRows[i]); |
| | | for(var i in this.currentRecord){ |
| | | if(this.currentRecord[i].recordId == this.selectRows[i]){ |
| | | console.log("currentRecord:"+this.selectRows[i]); |
| | | } |
| | | } |
| | | |
| | | //勾选操作 |
| | | checkRows(event) { |
| | | this.selectRows = []; |
| | | const selectedRows = event.detail.selectedRows; |
| | | for (var i in this.consumableorderdetailsRecordsview) { |
| | | var count = 0; |
| | | for (var j in selectedRows) { |
| | | if ( |
| | | this.consumableorderdetailsRecordsview[i].recordId == |
| | | selectedRows[j].recordId |
| | | ) { |
| | | count++; |
| | | console.log( |
| | | 'checkId:' + |
| | | selectedRows[j].recordId + |
| | | '---' + |
| | | this.consumableorderdetailsRecordsview[i].prodName |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //采购数量获取 |
| | | conCountChange(event){ |
| | | var recordId = event.detail.data.recordId; |
| | | var conCount = event.detail.data.value; |
| | | console.log('countChange:'+recordId+'---'+conCount); |
| | | for(var i in this.consumableorderdetailsRecordsview){ |
| | | if(this.consumableorderdetailsRecordsview[i].recordId == recordId){ |
| | | this.consumableorderdetailsRecordsview[i].esd.Consumable_count__c = conCount; |
| | | this.consumableorderdetailsRecordsview[i].consumableCount = conCount; |
| | | if(conCount != null && conCount !=0 && conCount!=''){ |
| | | this.consumableorderdetailsRecordsview[i].check = true; |
| | | }else{ |
| | | this.consumableorderdetailsRecordsview[i].check = false; |
| | | this.consumableorderdetailsRecordsview[i].esd.Consumable_count__c = null; |
| | | this.consumableorderdetailsRecordsview[i].consumableCount = null; |
| | | if (count == 0) { |
| | | this.consumableorderdetailsRecordsview[i].check = false; |
| | | } else { |
| | | this.consumableorderdetailsRecordsview[i].check = true; |
| | | this.selectRows.push( |
| | | this.consumableorderdetailsRecordsview[i].recordId |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | this.getAllChecked(); |
| | | for(var i in this.currentRecord){ |
| | | if(this.currentRecord[i].recordId == recordId){ |
| | | console.log("currentRecord1:"+this.currentRecord[i].esd.Consumable_count__c); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //采购数量失焦 |
| | | conCountBlur(event){ |
| | | var conCount = event.detail.data.value; |
| | | var allnumber = event.detail.data.allnumber; |
| | | var upperLimit = event.detail.data.upperLimit; |
| | | var lowerLimit = event.detail.data.lowerLimit; |
| | | console.log('limit:'+conCount+'---'+ allnumber+'---'+lowerLimit+'---'+allnumber); |
| | | if(upperLimit != null && lowerLimit != null && conCount != null && allnumber != null){ |
| | | if(parseInt(allnumber) + parseInt(conCount) > upperLimit){ |
| | | // window.alert("该产品订购数量超出库存上限!"); |
| | | this.showMyToast('该产品订购数量超出库存上限!','','error'); |
| | | } |
| | | if(parseInt(allnumber) + parseInt(conCount) < lowerLimit){ |
| | | // window.alert("该产品订购数量低于库存下限!"); |
| | | this.showMyToast('该产品订购数量低于库存下限!','','error'); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @wire(CurrentPageReference) |
| | | getStateParameters(currentPageReference) { |
| | | console.log('CurrentPageReference'); |
| | | if (currentPageReference) { |
| | | this.pageType = currentPageReference.state?.type; |
| | | this.esetId = currentPageReference.state?.ESetid; |
| | | this.keyWords = currentPageReference.state?.KeyWords; |
| | | console.log('type:'+this.pageType); |
| | | console.log('esetId:'+this.esetId); |
| | | console.log('keyWords:'+this.keyWords); |
| | | } |
| | | } |
| | | |
| | | renderedCallback(){ |
| | | if (!this.stylesLoaded) { |
| | | Promise.all([loadStyle(this, WrappedHeaderTable)]) |
| | | .then(() => { |
| | | console.log("Custom styles loaded"); |
| | | this.stylesLoaded = true; |
| | | }) |
| | | .catch((error) => { |
| | | console.error("Error loading custom styles"); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //页面初始化 |
| | | connectedCallback(){ |
| | | this.showSpinner = true; |
| | | initPage({type:this.pageType, esetId:this.esetId, keywordStr:this.keyWords}) |
| | | .then(result=>{ |
| | | this.isNoteStay = result.isNoteStay; |
| | | if(result.result == 'Success'){ |
| | | this.editAble = result.editAble; |
| | | this.edoffersPrice = result.edoffersPrice; |
| | | this.cansee = result.cansee; |
| | | this.editDelCommitBtnDisabled = result.editDelCommitBtnDisabled; |
| | | this.category3Option = result.category3Option; |
| | | this.category4Option = result.category4Option; |
| | | this.category5Option = result.category5Option; |
| | | this.agencyProType = result.agencyProType; |
| | | this.agencyProType1 = result.agencyProType1; |
| | | this.OSHFLG = result.OSHFLG; |
| | | this.hospitalName = result.hospitalName; |
| | | this.contractName = result.contractName; |
| | | this.contractLabel = '经销商有效合同'; |
| | | this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.attachmentRecoeds = result.attachmentRecoeds; |
| | | console.log("attSize:"+this.attachmentRecoeds.length); |
| | | for(var i in this.attachmentRecoeds){ |
| | | this.attachmentRecoeds[i]['recordId'] = this.attachmentRecoeds[i].Concc.Id; |
| | | this.attachmentRecoeds[i]['documentId'] = this.attachmentRecoeds[i].Concc.ContentDocumentId; |
| | | this.attachmentRecoeds[i]['fileFullName'] = this.attachmentRecoeds[i].Concc.Title; |
| | | var contractionName = this.attachmentRecoeds[i].Concc.Title; |
| | | // var contractionName = '长文件长文件长文件长文件'; |
| | | if(contractionName.length > 25){ |
| | | contractionName = contractionName.substr(0,21) + "..."; |
| | | } |
| | | this.attachmentRecoeds[i]['fileName'] = contractionName; |
| | | this.attachmentRecoeds[i]['ownerName'] = this.attachmentRecoeds[i].Concc.Owner.Name; |
| | | this.attachmentRecoeds[i]['downloadUrl'] = '/sfc/servlet.shepherd/document/download/'+this.attachmentRecoeds[i].Concc.ContentDocumentId+'?operationContext=S1'; |
| | | // var date = this.attachmentRecoeds[i].Concc.CreatedDate; |
| | | // var year = date.getFullYear(); |
| | | // var month = date.getMonth(); |
| | | // var day = date.getDay(); |
| | | // console.log(year+'-'+month+'-'+day); |
| | | this.attachmentRecoeds[i]['updateDate'] = new Date(Date.parse(this.attachmentRecoeds[i].Concc.CreatedDate)).toLocaleString(); |
| | | this.attachmentRecoeds[i]['attUrl'] = '/'+this.attachmentRecoeds[i].Concc.Id; |
| | | this.attachmentRecoeds[i]['ownerUrl'] = '/'+this.attachmentRecoeds[i].Concc.OwnerId; |
| | | } |
| | | this.errorMsgs = result.errorMsgList; |
| | | this.warningMsgs = result.warningMsgList; |
| | | this.userWorkLocation = result.userWorkLocation; |
| | | this.accountName = result.accountName; |
| | | this.accountid = result.accountid; |
| | | this.hospitalId = result.hospitalId; |
| | | this.contractId = result.contractId; |
| | | this.category_Goods = result.category_Goods; |
| | | this.specialCampaign = result.specialCampaign; |
| | | this.dealerProductId = result.dealerProductId; |
| | | this.contactDealer = result.contactDealer; |
| | | this.pageType = result.methodType; |
| | | this.proLimitAndDate = result.proLimitAndDate; |
| | | console.log("proLimitAndDate:"+JSON.stringify(this.proLimitAndDate)); |
| | | this.coc = result.coc; |
| | | this.cocId = this.coc.Id; |
| | | if(this.pageType == 'hospitalorder' && this.agencyProType != 'ET'){ |
| | | this.showHospital = true; |
| | | } |
| | | if(this.coc.Order_status__c == "已提交" || this.coc.Order_status__c == "批准"){ |
| | | this.showOrderDate = true; |
| | | } |
| | | if(this.coc.Consumable_pdf_insert_day__c != null){ |
| | | this.showAttUploadDate = true; |
| | | } |
| | | if(!(this.editAble || this.edoffersPrice)){ |
| | | this.showEditBtn = true; |
| | | this.showOfferPriceInputBtn = true; |
| | | } |
| | | if(this.coc.Order_status__c == "已提交" || this.coc.Order_status__c == "批准" || this.coc.Order_status__c == "驳回"){ |
| | | this.disabledEditBtn = true; |
| | | this.disabledUploadSheetBtn = true; |
| | | this.disabledSubOrderbtn = true; |
| | | this.disabledDeleteBtn = true; |
| | | this.disabledOfferPriceInputBtn = true; |
| | | } |
| | | if(!(this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice)){ |
| | | this.showPrintSheetBtn = true; |
| | | this.showUploadSheetBtn = true; |
| | | this.showSubOrderbtn = true; |
| | | this.showDeleteBtn = true; |
| | | } |
| | | if((this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice) && this.coc.Order_status__c != "驳回"){ |
| | | this.showSaveOrderbtn1 = true; |
| | | } |
| | | if(this.coc.Order_status__c == "驳回" && this.editAble){ |
| | | this.showSaveOrderbtn2 = true; |
| | | } |
| | | if(this.coc.Order_status__c == "驳回" && !this.editAble){ |
| | | this.showReapplyBtn = true; |
| | | } |
| | | this.showSpinner = false; |
| | | this.showPage = true; |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('初始化页面失败',result.errorMsg,'error'); |
| | | } |
| | | for (var i in this.selectRows) { |
| | | console.log('checkId1:' + this.selectRows[i]); |
| | | for (var i in this.currentRecord) { |
| | | if (this.currentRecord[i].recordId == this.selectRows[i]) { |
| | | console.log('currentRecord:' + this.selectRows[i]); |
| | | } |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | } |
| | | } |
| | | |
| | | //采购数量获取 |
| | | conCountChange(event) { |
| | | var recordId = event.detail.data.recordId; |
| | | var conCount = event.detail.data.value; |
| | | console.log('countChange:' + recordId + '---' + conCount); |
| | | for (var i in this.consumableorderdetailsRecordsview) { |
| | | if ( |
| | | this.consumableorderdetailsRecordsview[i].recordId == recordId |
| | | ) { |
| | | this.consumableorderdetailsRecordsview[ |
| | | i |
| | | ].esd.Consumable_count__c = conCount; |
| | | this.consumableorderdetailsRecordsview[i].consumableCount = |
| | | conCount; |
| | | if (conCount != null && conCount != 0 && conCount != '') { |
| | | this.consumableorderdetailsRecordsview[i].check = true; |
| | | } else { |
| | | this.consumableorderdetailsRecordsview[i].check = false; |
| | | this.consumableorderdetailsRecordsview[ |
| | | i |
| | | ].esd.Consumable_count__c = null; |
| | | this.consumableorderdetailsRecordsview[i].consumableCount = |
| | | null; |
| | | } |
| | | } |
| | | } |
| | | this.getAllChecked(); |
| | | for (var i in this.currentRecord) { |
| | | if (this.currentRecord[i].recordId == recordId) { |
| | | console.log( |
| | | 'currentRecord1:' + |
| | | this.currentRecord[i].esd.Consumable_count__c |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //采购数量失焦 |
| | | conCountBlur(event) { |
| | | var conCount = event.detail.data.value; |
| | | var allnumber = event.detail.data.allnumber; |
| | | var upperLimit = event.detail.data.upperLimit; |
| | | var lowerLimit = event.detail.data.lowerLimit; |
| | | console.log( |
| | | 'limit:' + |
| | | conCount + |
| | | '---' + |
| | | allnumber + |
| | | '---' + |
| | | lowerLimit + |
| | | '---' + |
| | | allnumber |
| | | ); |
| | | if ( |
| | | upperLimit != null && |
| | | lowerLimit != null && |
| | | conCount != null && |
| | | allnumber != null |
| | | ) { |
| | | if (parseInt(allnumber) + parseInt(conCount) > upperLimit) { |
| | | // window.alert("该产品订购数量超出库存上限!"); |
| | | this.showMyToast('该产品订购数量超出库存上限!', '', 'error'); |
| | | } |
| | | if (parseInt(allnumber) + parseInt(conCount) < lowerLimit) { |
| | | // window.alert("该产品订购数量低于库存下限!"); |
| | | this.showMyToast('该产品订购数量低于库存下限!', '', 'error'); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @wire(CurrentPageReference) |
| | | getStateParameters(currentPageReference) { |
| | | console.log('CurrentPageReference'); |
| | | if (currentPageReference) { |
| | | this.pageType = currentPageReference.state?.type; |
| | | this.esetId = currentPageReference.state?.ESetid; |
| | | this.keyWords = currentPageReference.state?.KeyWords; |
| | | console.log('type:' + this.pageType); |
| | | console.log('esetId:' + this.esetId); |
| | | console.log('keyWords:' + this.keyWords); |
| | | } |
| | | } |
| | | |
| | | renderedCallback() { |
| | | if (!this.stylesLoaded) { |
| | | Promise.all([loadStyle(this, WrappedHeaderTable)]) |
| | | .then(() => { |
| | | console.log('Custom styles loaded'); |
| | | this.stylesLoaded = true; |
| | | }) |
| | | .catch((error) => { |
| | | console.error('Error loading custom styles'); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //页面初始化 |
| | | connectedCallback() { |
| | | this.showSpinner = true; |
| | | initPage({ |
| | | type: this.pageType, |
| | | esetId: this.esetId, |
| | | keywordStr: this.keyWords |
| | | }) |
| | | .then((result) => { |
| | | this.isNoteStay = result.isNoteStay; |
| | | if (result.result == 'Success') { |
| | | this.editAble = result.editAble; |
| | | this.edoffersPrice = result.edoffersPrice; |
| | | this.cansee = result.cansee; |
| | | this.editDelCommitBtnDisabled = |
| | | result.editDelCommitBtnDisabled; |
| | | this.category3Option = result.category3Option; |
| | | this.category4Option = result.category4Option; |
| | | this.category5Option = result.category5Option; |
| | | this.agencyProType = result.agencyProType; |
| | | this.agencyProType1 = result.agencyProType1; |
| | | this.OSHFLG = result.OSHFLG; |
| | | this.hospitalName = result.hospitalName; |
| | | this.contractName = result.contractName; |
| | | this.contractLabel = '经销商有效合同'; |
| | | this.consumableorderdetailsRecordsview = |
| | | result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.attachmentRecoeds = result.attachmentRecoeds; |
| | | console.log('attSize:' + this.attachmentRecoeds.length); |
| | | for (var i in this.attachmentRecoeds) { |
| | | this.attachmentRecoeds[i]['recordId'] = |
| | | this.attachmentRecoeds[i].Concc.Id; |
| | | this.attachmentRecoeds[i]['documentId'] = |
| | | this.attachmentRecoeds[i].Concc.ContentDocumentId; |
| | | this.attachmentRecoeds[i]['fileFullName'] = |
| | | this.attachmentRecoeds[i].Concc.Title; |
| | | var contractionName = |
| | | this.attachmentRecoeds[i].Concc.Title; |
| | | // var contractionName = '长文件长文件长文件长文件'; |
| | | if (contractionName.length > 25) { |
| | | contractionName = |
| | | contractionName.substr(0, 21) + '...'; |
| | | } |
| | | this.attachmentRecoeds[i]['fileName'] = contractionName; |
| | | this.attachmentRecoeds[i]['ownerName'] = |
| | | this.attachmentRecoeds[i].Concc.Owner.Name; |
| | | this.attachmentRecoeds[i]['downloadUrl'] = |
| | | '/sfc/servlet.shepherd/document/download/' + |
| | | this.attachmentRecoeds[i].Concc.ContentDocumentId + |
| | | '?operationContext=S1'; |
| | | // var date = this.attachmentRecoeds[i].Concc.CreatedDate; |
| | | // var year = date.getFullYear(); |
| | | // var month = date.getMonth(); |
| | | // var day = date.getDay(); |
| | | // console.log(year+'-'+month+'-'+day); |
| | | this.attachmentRecoeds[i]['updateDate'] = new Date( |
| | | Date.parse( |
| | | this.attachmentRecoeds[i].Concc.CreatedDate |
| | | ) |
| | | ).toLocaleString(); |
| | | this.attachmentRecoeds[i]['attUrl'] = |
| | | '/' + this.attachmentRecoeds[i].Concc.Id; |
| | | this.attachmentRecoeds[i]['ownerUrl'] = |
| | | '/' + this.attachmentRecoeds[i].Concc.OwnerId; |
| | | } |
| | | this.errorMsgs = result.errorMsgList; |
| | | this.warningMsgs = result.warningMsgList; |
| | | this.userWorkLocation = result.userWorkLocation; |
| | | this.accountName = result.accountName; |
| | | this.accountid = result.accountid; |
| | | this.hospitalId = result.hospitalId; |
| | | this.contractId = result.contractId; |
| | | this.category_Goods = result.category_Goods; |
| | | this.specialCampaign = result.specialCampaign; |
| | | this.dealerProductId = result.dealerProductId; |
| | | this.contactDealer = result.contactDealer; |
| | | this.pageType = result.methodType; |
| | | this.proLimitAndDate = result.proLimitAndDate; |
| | | console.log( |
| | | 'proLimitAndDate:' + |
| | | JSON.stringify(this.proLimitAndDate) |
| | | ); |
| | | this.coc = result.coc; |
| | | this.cocId = this.coc.Id; |
| | | if ( |
| | | this.pageType == 'hospitalorder' && |
| | | this.agencyProType != 'ET' |
| | | ) { |
| | | this.showHospital = true; |
| | | } |
| | | if ( |
| | | this.coc.Order_status__c == '已提交' || |
| | | this.coc.Order_status__c == '批准' |
| | | ) { |
| | | this.showOrderDate = true; |
| | | } |
| | | if (this.coc.Consumable_pdf_insert_day__c != null) { |
| | | this.showAttUploadDate = true; |
| | | } |
| | | if (!(this.editAble || this.edoffersPrice)) { |
| | | this.showEditBtn = true; |
| | | this.showOfferPriceInputBtn = true; |
| | | } |
| | | if ( |
| | | this.coc.Order_status__c == '已提交' || |
| | | this.coc.Order_status__c == '批准' || |
| | | this.coc.Order_status__c == '驳回' |
| | | ) { |
| | | this.disabledEditBtn = true; |
| | | this.disabledUploadSheetBtn = true; |
| | | this.disabledSubOrderbtn = true; |
| | | this.disabledDeleteBtn = true; |
| | | this.disabledOfferPriceInputBtn = true; |
| | | } |
| | | if ( |
| | | !( |
| | | this.editDelCommitBtnDisabled || |
| | | this.editAble || |
| | | this.edoffersPrice |
| | | ) |
| | | ) { |
| | | this.showPrintSheetBtn = true; |
| | | this.showUploadSheetBtn = true; |
| | | this.showSubOrderbtn = true; |
| | | this.showDeleteBtn = true; |
| | | } |
| | | if ( |
| | | (this.editDelCommitBtnDisabled || |
| | | this.editAble || |
| | | this.edoffersPrice) && |
| | | this.coc.Order_status__c != '驳回' |
| | | ) { |
| | | this.showSaveOrderbtn1 = true; |
| | | } |
| | | if (this.coc.Order_status__c == '驳回' && this.editAble) { |
| | | this.showSaveOrderbtn2 = true; |
| | | } |
| | | if (this.coc.Order_status__c == '驳回' && !this.editAble) { |
| | | this.showReapplyBtn = true; |
| | | } |
| | | this.showSpinner = false; |
| | | this.showPage = true; |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast( |
| | | '初始化页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.showSpinner = false; |
| | | console.log('error:' + error); |
| | | this.showMyToast('初始化页面失败', error, 'error'); |
| | | }); |
| | | } |
| | | |
| | | //排序 |
| | | onHandleSort(event) { |
| | | //将已经选好了的放到前面,不进行排序 |
| | | console.log('sort'); |
| | | if (this.editAble) { |
| | | const { fieldName: sortedBy, sortDirection } = event.detail; |
| | | const cloneData = [...this.currentRecord]; |
| | | cloneData.sort( |
| | | this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1) |
| | | ); |
| | | let index = 0; |
| | | let selectedRows = this.template |
| | | .querySelector('c-lex-custom-lightning-datatable') |
| | | .getSelectedRows(); |
| | | let selectedRowsIds = []; |
| | | for (var i in selectedRows) { |
| | | selectedRowsIds.push(selectedRows[i].recordId); |
| | | } |
| | | console.log('selectedRowsIds = ' + JSON.stringify(selectedRowsIds)); |
| | | for (var i = 0; i < cloneData.length; i++) { |
| | | if (selectedRowsIds.indexOf(cloneData[i].recordId) != -1) { |
| | | if (i != 0) { |
| | | let temp = cloneData[index]; |
| | | cloneData[index] = cloneData[i]; |
| | | cloneData[i] = temp; |
| | | } |
| | | index++; |
| | | } |
| | | } |
| | | this.currentRecord = cloneData; |
| | | this.sortDirection = sortDirection; |
| | | this.sortedBy = sortedBy; |
| | | } else { |
| | | const { fieldName: sortedBy, sortDirection } = event.detail; |
| | | const cloneData = [...this.currentRecord]; |
| | | cloneData.sort( |
| | | this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1) |
| | | ); |
| | | this.currentRecord = cloneData; |
| | | this.sortDirection = sortDirection; |
| | | this.sortedBy = sortedBy; |
| | | } |
| | | } |
| | | |
| | | sortBy(field, reverse, primer) { |
| | | const key = primer |
| | | ? function (x) { |
| | | return primer(x[field]); |
| | | } |
| | | : function (x) { |
| | | return x[field]; |
| | | }; |
| | | |
| | | return function (a, b) { |
| | | a = key(a); |
| | | b = key(b); |
| | | return reverse * ((a > b) - (b > a)); |
| | | }; |
| | | } |
| | | |
| | | //是否有警告 |
| | | get hasWarning() { |
| | | if (this.warningMsgs == null || this.warningMsgs.length == 0) { |
| | | return false; |
| | | } |
| | | if (this.warningMsgs.length > 0) { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | //是否有错误 |
| | | get hasError() { |
| | | if (this.errorMsgs == null || this.errorMsgs.length == 0) { |
| | | return false; |
| | | } |
| | | if (this.errorMsgs.length > 0) { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | //特价change事件 |
| | | offerPriceChange(event) { |
| | | this.coc.Offers_Price__c = event.detail.value; |
| | | } |
| | | |
| | | //消耗品名称change事件 |
| | | category1Change(event) { |
| | | this.category1 = event.detail.value; |
| | | } |
| | | |
| | | //第三分类change事件 |
| | | category3Change(event) { |
| | | this.showSpinner = true; |
| | | this.category3 = event.detail.value; |
| | | this.category4 = ''; |
| | | this.category5 = ''; |
| | | categoryAllload({ |
| | | agencyProTypeStr: this.agencyProType, |
| | | category3Str: this.category3 |
| | | }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.category4Option = result.category4Option; |
| | | this.category5Option = result.category5Option; |
| | | this.showSpinner = false; |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('加载分类失败', result.errorMsg, 'error'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //第四分类change事件 |
| | | category4Change(event) { |
| | | this.showSpinner = true; |
| | | this.category4 = event.detail.value; |
| | | this.category5 = ''; |
| | | categoryload({ |
| | | agencyProTypeStr: this.agencyProType, |
| | | category3Str: this.category3, |
| | | category4Str: this.category4 |
| | | }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.category4Option = result.category4Option; |
| | | this.category5Option = result.category5Option; |
| | | this.showSpinner = false; |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('加载分类失败', result.errorMsg, 'error'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //第五分类change事件 |
| | | category5Change(event) { |
| | | this.category5 = event.detail.value; |
| | | } |
| | | |
| | | //搜索产品 |
| | | searchProduct(event) { |
| | | this.showSpinner = true; |
| | | searchConsumableorderdetails({ |
| | | userWorkLocationStr: this.userWorkLocation, |
| | | agencyProTypeStr: this.agencyProType, |
| | | accountNameStr: this.accountName, |
| | | accountIdStr: this.accountid, |
| | | contractIdStr: this.contractId, |
| | | hospitalIdStr: this.hospitalId, |
| | | category1Str: this.category1, |
| | | category3Str: this.category3, |
| | | category4Str: this.category4, |
| | | category5Str: this.category5, |
| | | category_GoodStr: this.category_Goods, |
| | | specialCampaignStr: this.specialCampaign, |
| | | dealerProductIdStr: JSON.stringify(this.dealerProductId), |
| | | methodTypeStr: this.pageType, |
| | | editAbleStr: this.editAble, |
| | | consumableorderdetailsRecordsviewStr: JSON.stringify( |
| | | this.consumableorderdetailsRecordsview |
| | | ), |
| | | proLimitAndDateList: this.proLimitAndDate |
| | | }) |
| | | .then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.consumableorderdetailsRecordsview = |
| | | result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.showSpinner = false; |
| | | this.errorMsgs = result.errorMsgList; |
| | | this.warningMsgs = result.warningMsgList; |
| | | // this.hasError = result.hasError; |
| | | // this.hasWarning = result.hasWarning; |
| | | this.showMyToast('搜索成功', result.errorMsg, 'success'); |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | if (result.errorMsg == '没有搜索到相关数据') { |
| | | this.showMyToast(result.errorMsg, '', 'error'); |
| | | } else { |
| | | this.showMyToast('搜索失败', result.errorMsg, 'error'); |
| | | } |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('Error:' + error); |
| | | }); |
| | | } |
| | | |
| | | //清除搜索栏 |
| | | clear(event) { |
| | | this.category1 = ''; |
| | | this.category3 = ''; |
| | | this.category4 = ''; |
| | | this.category5 = ''; |
| | | this.showSpinner = true; |
| | | searchConsumableorderdetails({ |
| | | userWorkLocationStr: this.userWorkLocation, |
| | | agencyProTypeStr: this.agencyProType, |
| | | accountNameStr: this.accountName, |
| | | accountIdStr: this.accountid, |
| | | contractIdStr: this.contractId, |
| | | hospitalIdStr: this.hospitalId, |
| | | category1Str: this.category1, |
| | | category3Str: this.category3, |
| | | category4Str: this.category4, |
| | | category5Str: this.category5, |
| | | category_GoodStr: this.category_Goods, |
| | | specialCampaignStr: this.specialCampaign, |
| | | dealerProductIdStr: JSON.stringify(this.dealerProductId), |
| | | methodTypeStr: this.pageType, |
| | | editAbleStr: this.editAble, |
| | | consumableorderdetailsRecordsviewStr: JSON.stringify( |
| | | this.consumableorderdetailsRecordsview |
| | | ), |
| | | proLimitAndDateList: this.proLimitAndDate |
| | | }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.consumableorderdetailsRecordsview = |
| | | result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.showSpinner = false; |
| | | this.showMyToast('搜索成功', result.errorMsg, 'success'); |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | if (result.errorMsg == '没有搜索到相关数据') { |
| | | this.showMyToast(result.errorMsg, '', 'error'); |
| | | } else { |
| | | this.showMyToast('搜索失败', result.errorMsg, 'error'); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //选择所有 |
| | | checkAll(event) { |
| | | for ( |
| | | let i = 0, len = this.consumableorderdetailsRecordsview.length; |
| | | i < len; |
| | | i++ |
| | | ) { |
| | | this.consumableorderdetailsRecordsview[i].check = |
| | | event.target.checked; |
| | | } |
| | | } |
| | | |
| | | //选择 |
| | | check(event) { |
| | | let index = event.target.getAttribute('data-index'); |
| | | this.consumableorderdetailsRecordsview[index].check = |
| | | event.target.checked; |
| | | } |
| | | |
| | | //采购数量change事件 |
| | | // consumableCountChange(event){ |
| | | // let index = event.target.getAttribute("data-index"); |
| | | // var value = event.target.value; |
| | | // this.consumableorderdetailsRecordsview[index].esd.Consumable_count__c = value; |
| | | // if(isNaN(value)){ |
| | | // value=0.00; |
| | | // } |
| | | // if(value != null && value !=0 && value!=''){ |
| | | // this.consumableorderdetailsRecordsview[index].check = true; |
| | | // }else{ |
| | | // this.consumableorderdetailsRecordsview[index].check = false; |
| | | // } |
| | | // } |
| | | |
| | | //保存订单 |
| | | saveOrder(event) { |
| | | this.showSpinner = true; |
| | | console.log('start save'); |
| | | save({ |
| | | contractNameStr: this.contractName, |
| | | cocStr: JSON.stringify(this.coc), |
| | | agencyProTypeStr: this.agencyProType, |
| | | accountidStr: this.accountid, |
| | | consumableorderdetailsRecordsviewStr: JSON.stringify( |
| | | this.consumableorderdetailsRecordsview |
| | | ), |
| | | contactDealerStr: JSON.stringify(this.contactDealer), |
| | | methodTypeStr: this.pageType, |
| | | eSetIdStr: this.esetId, |
| | | hospitalIdStr: this.hospitalId, |
| | | contractIdStr: this.contractId, |
| | | agencyProType1Str: this.agencyProType1, |
| | | OSHFLGStr: this.OSHFLG |
| | | }).then((result) => { |
| | | this.showSpinner = false; |
| | | console.log("error:"+error); |
| | | this.showMyToast('初始化页面失败',error,'error'); |
| | | }) |
| | | } |
| | | |
| | | //排序 |
| | | onHandleSort(event){ |
| | | //将已经选好了的放到前面,不进行排序 |
| | | console.log('sort'); |
| | | if(this.editAble){ |
| | | const { fieldName: sortedBy, sortDirection } = event.detail; |
| | | const cloneData = [...this.currentRecord]; |
| | | cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1)); |
| | | let index = 0; |
| | | let selectedRows = this.template.querySelector('c-lex-custom-lightning-datatable').getSelectedRows(); |
| | | let selectedRowsIds = []; |
| | | for(var i in selectedRows){ |
| | | selectedRowsIds.push(selectedRows[i].recordId); |
| | | } |
| | | console.log('selectedRowsIds = ' + JSON.stringify(selectedRowsIds)); |
| | | for(var i = 0;i < cloneData.length ; i++){ |
| | | if(selectedRowsIds.indexOf(cloneData[i].recordId) != -1){ |
| | | if(i != 0){ |
| | | let temp = cloneData[index]; |
| | | cloneData[index] = cloneData[i]; |
| | | cloneData[i] = temp; |
| | | } |
| | | index++; |
| | | if (result.result == 'Success') { |
| | | this.esetId = result.eSetId; |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: |
| | | '/lexconsumable?ESetid=' + |
| | | this.esetId + |
| | | '&type=' + |
| | | this.pageType |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('保存失败', result.errorMsg, 'error'); |
| | | } |
| | | } |
| | | this.currentRecord = cloneData; |
| | | this.sortDirection = sortDirection; |
| | | this.sortedBy = sortedBy; |
| | | }else{ |
| | | const { fieldName: sortedBy, sortDirection } = event.detail; |
| | | const cloneData = [...this.currentRecord]; |
| | | cloneData.sort(this.sortBy(sortedBy, sortDirection === 'asc' ? 1 : -1)); |
| | | this.currentRecord = cloneData; |
| | | this.sortDirection = sortDirection; |
| | | this.sortedBy = sortedBy; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | sortBy(field, reverse, primer) { |
| | | const key = primer |
| | | ? function (x) { |
| | | return primer(x[field]); |
| | | } |
| | | : function (x) { |
| | | return x[field]; |
| | | }; |
| | | |
| | | return function (a, b) { |
| | | a = key(a); |
| | | b = key(b); |
| | | return reverse * ((a > b) - (b > a)); |
| | | }; |
| | | } |
| | | |
| | | //是否有警告 |
| | | get hasWarning(){ |
| | | if(this.warningMsgs == null || this.warningMsgs.length == 0){ |
| | | return false; |
| | | } |
| | | if(this.warningMsgs.length > 0){ |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | //是否有错误 |
| | | get hasError(){ |
| | | if(this.errorMsgs == null || this.errorMsgs.length == 0){ |
| | | return false; |
| | | } |
| | | if(this.errorMsgs.length > 0){ |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | //特价change事件 |
| | | offerPriceChange(event){ |
| | | this.coc.Offers_Price__c = event.detail.value; |
| | | } |
| | | |
| | | //消耗品名称change事件 |
| | | category1Change(event){ |
| | | this.category1 = event.detail.value; |
| | | } |
| | | |
| | | //第三分类change事件 |
| | | category3Change(event){ |
| | | this.showSpinner = true; |
| | | this.category3 = event.detail.value; |
| | | this.category4 = ''; |
| | | this.category5 = ''; |
| | | categoryAllload({agencyProTypeStr:this.agencyProType, category3Str:this.category3}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.category4Option = result.category4Option; |
| | | this.category5Option = result.category5Option; |
| | | this.showSpinner = false; |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('加载分类失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //第四分类change事件 |
| | | category4Change(event){ |
| | | this.showSpinner = true; |
| | | this.category4 = event.detail.value; |
| | | this.category5 = ''; |
| | | categoryload({agencyProTypeStr:this.agencyProType, category3Str:this.category3, category4Str:this.category4}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.category4Option = result.category4Option; |
| | | this.category5Option = result.category5Option; |
| | | this.showSpinner = false; |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('加载分类失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //第五分类change事件 |
| | | category5Change(event){ |
| | | this.category5 = event.detail.value; |
| | | } |
| | | |
| | | //搜索产品 |
| | | searchProduct(event){ |
| | | this.showSpinner = true; |
| | | searchConsumableorderdetails({userWorkLocationStr:this.userWorkLocation, |
| | | agencyProTypeStr:this.agencyProType, |
| | | accountNameStr:this.accountName, |
| | | accountIdStr:this.accountid, |
| | | contractIdStr:this.contractId, |
| | | hospitalIdStr:this.hospitalId, |
| | | category1Str:this.category1, |
| | | category3Str:this.category3, |
| | | category4Str:this.category4, |
| | | category5Str:this.category5, |
| | | category_GoodStr:this.category_Goods, |
| | | specialCampaignStr:this.specialCampaign, |
| | | dealerProductIdStr:JSON.stringify(this.dealerProductId), |
| | | methodTypeStr:this.pageType, |
| | | editAbleStr:this.editAble, |
| | | consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview), |
| | | proLimitAndDateList : this.proLimitAndDate |
| | | }) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.showSpinner = false; |
| | | this.errorMsgs = result.errorMsgList; |
| | | this.warningMsgs = result.warningMsgList; |
| | | // this.hasError = result.hasError; |
| | | // this.hasWarning = result.hasWarning; |
| | | this.showMyToast('搜索成功',result.errorMsg,'success'); |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | if(result.errorMsg == '没有搜索到相关数据'){ |
| | | this.showMyToast(result.errorMsg,'','error'); |
| | | }else{ |
| | | this.showMyToast('搜索失败',result.errorMsg,'error'); |
| | | } |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | console.log("Error:"+error); |
| | | }) |
| | | } |
| | | |
| | | //清除搜索栏 |
| | | clear(event){ |
| | | this.category1 = ''; |
| | | this.category3 = ''; |
| | | this.category4 = ''; |
| | | this.category5 = ''; |
| | | this.showSpinner = true; |
| | | searchConsumableorderdetails({ |
| | | userWorkLocationStr:this.userWorkLocation, |
| | | agencyProTypeStr:this.agencyProType, |
| | | accountNameStr:this.accountName, |
| | | accountIdStr:this.accountid, |
| | | contractIdStr:this.contractId, |
| | | hospitalIdStr:this.hospitalId, |
| | | category1Str:this.category1, |
| | | category3Str:this.category3, |
| | | category4Str:this.category4, |
| | | category5Str:this.category5, |
| | | category_GoodStr:this.category_Goods, |
| | | specialCampaignStr:this.specialCampaign, |
| | | dealerProductIdStr:JSON.stringify(this.dealerProductId), |
| | | methodTypeStr:this.pageType, |
| | | editAbleStr:this.editAble, |
| | | consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview), |
| | | proLimitAndDateList : this.proLimitAndDate |
| | | }).then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.showSpinner = false; |
| | | this.showMyToast('搜索成功',result.errorMsg,'success'); |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | if(result.errorMsg == '没有搜索到相关数据'){ |
| | | this.showMyToast(result.errorMsg,'','error'); |
| | | }else{ |
| | | this.showMyToast('搜索失败',result.errorMsg,'error'); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //选择所有 |
| | | checkAll(event){ |
| | | for(let i=0, len=this.consumableorderdetailsRecordsview.length; i < len ;i++){ |
| | | this.consumableorderdetailsRecordsview[i].check = event.target.checked; |
| | | } |
| | | } |
| | | |
| | | //选择 |
| | | check(event){ |
| | | let index = event.target.getAttribute("data-index"); |
| | | this.consumableorderdetailsRecordsview[index].check = event.target.checked; |
| | | } |
| | | |
| | | //采购数量change事件 |
| | | // consumableCountChange(event){ |
| | | // let index = event.target.getAttribute("data-index"); |
| | | // var value = event.target.value; |
| | | // this.consumableorderdetailsRecordsview[index].esd.Consumable_count__c = value; |
| | | // if(isNaN(value)){ |
| | | // value=0.00; |
| | | // } |
| | | // if(value != null && value !=0 && value!=''){ |
| | | // this.consumableorderdetailsRecordsview[index].check = true; |
| | | // }else{ |
| | | // this.consumableorderdetailsRecordsview[index].check = false; |
| | | // } |
| | | // } |
| | | |
| | | //保存订单 |
| | | saveOrder(event){ |
| | | this.showSpinner = true; |
| | | console.log('start save'); |
| | | save({ |
| | | contractNameStr:this.contractName, |
| | | cocStr:JSON.stringify(this.coc), |
| | | agencyProTypeStr:this.agencyProType, |
| | | accountidStr:this.accountid, |
| | | consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview), |
| | | contactDealerStr:JSON.stringify(this.contactDealer), |
| | | methodTypeStr:this.pageType, |
| | | eSetIdStr:this.esetId, |
| | | hospitalIdStr : this.hospitalId, |
| | | contractIdStr : this.contractId, |
| | | agencyProType1Str : this.agencyProType1, |
| | | OSHFLGStr : this.OSHFLG |
| | | }).then(result=>{ |
| | | this.showSpinner = false; |
| | | if(result.result == 'Success'){ |
| | | this.esetId = result.eSetId; |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: '/lexconsumable?ESetid=' + this.esetId + '&type=' + this.pageType |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | }else{ |
| | | //保存订单(驳回) |
| | | orderCopy(event) { |
| | | this.showSpinner = true; |
| | | ordrCopy({ |
| | | contractNameStr: this.contractName, |
| | | cocStr: JSON.stringify(this.coc), |
| | | agencyProTypeStr: this.agencyProType, |
| | | accountidStr: this.accountid, |
| | | consumableorderdetailsRecordsviewStr: JSON.stringify( |
| | | this.consumableorderdetailsRecordsview |
| | | ), |
| | | contactDealerStr: JSON.stringify(this.contactDealer), |
| | | methodTypeStr: this.pageType, |
| | | hospitalIdStr: this.hospitalId, |
| | | contractIdStr: this.contractId, |
| | | agencyProType1Str: this.agencyProType1, |
| | | OSHFLGStr: this.OSHFLG |
| | | }).then((result) => { |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('保存失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //保存订单(驳回) |
| | | orderCopy(event){ |
| | | this.showSpinner = true; |
| | | ordrCopy({ |
| | | contractNameStr:this.contractName, |
| | | cocStr:JSON.stringify(this.coc), |
| | | agencyProTypeStr:this.agencyProType, |
| | | accountidStr:this.accountid, |
| | | consumableorderdetailsRecordsviewStr:JSON.stringify(this.consumableorderdetailsRecordsview), |
| | | contactDealerStr:JSON.stringify(this.contactDealer), |
| | | methodTypeStr:this.pageType, |
| | | hospitalIdStr:this.hospitalId, |
| | | contractIdStr : this.contractId, |
| | | agencyProType1Str : this.agencyProType1, |
| | | OSHFLGStr : this.OSHFLG |
| | | }).then(result=>{ |
| | | this.showSpinner = false; |
| | | if(result.result == 'Success'){ |
| | | this.esetId = result.eSetId; |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: '/lexconsumable?ESetid=' + this.esetId + '&type=' + this.pageType |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('保存失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //编辑 |
| | | editOrder(event){ |
| | | setEditAble({eSetidStr:this.esetId}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: result.url |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('编辑失败',result.errorMsg,'error'); |
| | | if (result.result == 'Success') { |
| | | this.esetId = result.eSetId; |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: |
| | | '/lexconsumable?ESetid=' + |
| | | this.esetId + |
| | | '&type=' + |
| | | this.pageType |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('保存失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //打印配置单 |
| | | printOrder(event){ |
| | | var site = window.location.origin; |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: site+'/consumable/PrintConsumblePDF?ESetid='+this.esetId |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } |
| | | |
| | | //上传配置单 |
| | | uploadOrder(event){ |
| | | this.showAttPop = true; |
| | | } |
| | | |
| | | //提交订单 |
| | | submitOrder(event){ |
| | | sorder({eSetidStr:this.esetId,accountidStr:this.accountid}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: result.url |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | }else{ |
| | | this.showSpinner = false; |
| | | this.errorMsgs = result.errorMsgList; |
| | | this.warningMsgs = result.warningMsgList; |
| | | console.log("Error:"+result.errorMsg); |
| | | if(result.errorMsg.indexOf("请上传订货配置单附件") != -1){ |
| | | result.errorMsg = '请上传订货配置单附件'; |
| | | } |
| | | this.showMyToast('提交失败',result.errorMsg,'error'); |
| | | //编辑 |
| | | editOrder(event) { |
| | | setEditAble({ eSetidStr: this.esetId }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: result.url |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('编辑失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | console.log("Error:"+error); |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //删除订单 |
| | | deleteOrder(event){ |
| | | if(!window.confirm('删除是不可恢复的,你确认要删除吗?')){ |
| | | return; |
| | | } |
| | | delConsumable({eSetidStr:this.esetId}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: result.url |
| | | } |
| | | //打印配置单 |
| | | printOrder(event) { |
| | | var site = window.location.origin; |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: |
| | | site + '/consumable/PrintConsumblePDF?ESetid=' + this.esetId |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } |
| | | |
| | | //上传配置单 |
| | | uploadOrder(event) { |
| | | this.showAttPop = true; |
| | | } |
| | | |
| | | //提交订单 |
| | | submitOrder(event) { |
| | | sorder({ eSetidStr: this.esetId, accountidStr: this.accountid }) |
| | | .then((result) => { |
| | | if (result.result == 'Success') { |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: result.url |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } else { |
| | | this.showSpinner = false; |
| | | this.errorMsgs = result.errorMsgList; |
| | | this.warningMsgs = result.warningMsgList; |
| | | console.log('Error:' + result.errorMsg); |
| | | if (result.errorMsg.indexOf('请上传订货配置单附件') != -1) { |
| | | result.errorMsg = '请上传订货配置单附件'; |
| | | } |
| | | this.showMyToast('提交失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('Error:' + error); |
| | | }); |
| | | } |
| | | |
| | | //删除订单 |
| | | deleteOrder(event) { |
| | | if (!window.confirm('删除是不可恢复的,你确认要删除吗?')) { |
| | | return; |
| | | } |
| | | delConsumable({ eSetidStr: this.esetId }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: result.url |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('删除失败', result.errorMsg, 'error'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //特价金额录入 |
| | | inputOfferPrice(event) { |
| | | this.edoffersPrice = true; |
| | | if (!(this.editAble || this.edoffersPrice)) { |
| | | this.showEditBtn = true; |
| | | this.showOfferPriceInputBtn = true; |
| | | } else { |
| | | this.showEditBtn = false; |
| | | this.showOfferPriceInputBtn = false; |
| | | } |
| | | if ( |
| | | !( |
| | | this.editDelCommitBtnDisabled || |
| | | this.editAble || |
| | | this.edoffersPrice |
| | | ) |
| | | ) { |
| | | this.showPrintSheetBtn = true; |
| | | this.showUploadSheetBtn = true; |
| | | this.showSubOrderbtn = true; |
| | | this.showDeleteBtn = true; |
| | | } else { |
| | | this.showPrintSheetBtn = false; |
| | | this.showUploadSheetBtn = false; |
| | | this.showSubOrderbtn = false; |
| | | this.showDeleteBtn = false; |
| | | } |
| | | if ( |
| | | (this.editDelCommitBtnDisabled || |
| | | this.editAble || |
| | | this.edoffersPrice) && |
| | | this.coc.Order_status__c != '驳回' |
| | | ) { |
| | | this.showSaveOrderbtn1 = true; |
| | | } else { |
| | | this.showSaveOrderbtn1 = false; |
| | | } |
| | | } |
| | | |
| | | //再申请 |
| | | reapplyOrder(event) { |
| | | backOrder({ eSetidStr: this.esetId }).then((result) => { |
| | | if (result.result == 'Success') { |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: result.url |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | } else { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('再申请失败', result.errorMsg, 'error'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //附件change事件 |
| | | attChange(event) { |
| | | if (event.target.files.length > 0) { |
| | | this.filesUploaded = event.target.files; |
| | | this.fileName = event.target.files[0].name; |
| | | console.log('this.fileName:' + this.fileName); |
| | | } |
| | | } |
| | | |
| | | //是否显示附件移除 |
| | | get attDelBtn() { |
| | | if ( |
| | | this.fileName != '' && |
| | | this.fileName != null && |
| | | this.fileName != '请选择一个文件上传' |
| | | ) { |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | //关闭附件弹窗 |
| | | closePop() { |
| | | this.showAttPop = false; |
| | | this.filesUploaded = []; |
| | | this.fileName = null; |
| | | } |
| | | |
| | | //移除附件 |
| | | removeAtt() { |
| | | this.filesUploaded = []; |
| | | this.fileName = ''; |
| | | } |
| | | |
| | | //上传附件 |
| | | uploadAtt(event) { |
| | | if (this.filesUploaded.length > 0) { |
| | | this.file = this.filesUploaded[0]; |
| | | if (this.file.size > this.MAX_FILE_SIZE) { |
| | | window.console.log('文件过大'); |
| | | return; |
| | | } |
| | | this.fileReader = new FileReader(); |
| | | |
| | | this.fileReader.onloadend = () => { |
| | | this.fileContents = this.fileReader.result; |
| | | let base64 = 'base64,'; |
| | | this.content = |
| | | this.fileContents.indexOf(base64) + base64.length; |
| | | this.fileContents = this.fileContents.substring(this.content); |
| | | this.saveToFile(); |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('删除失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | } |
| | | this.fileReader.readAsDataURL(this.file); |
| | | } else { |
| | | this.fileName = '请选择一个文件上传'; |
| | | } |
| | | } |
| | | |
| | | //特价金额录入 |
| | | inputOfferPrice(event){ |
| | | this.edoffersPrice = true; |
| | | if(!(this.editAble || this.edoffersPrice)){ |
| | | this.showEditBtn = true; |
| | | this.showOfferPriceInputBtn = true; |
| | | }else{ |
| | | this.showEditBtn = false; |
| | | this.showOfferPriceInputBtn = false; |
| | | } |
| | | if(!(this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice)){ |
| | | this.showPrintSheetBtn = true; |
| | | this.showUploadSheetBtn = true; |
| | | this.showSubOrderbtn = true; |
| | | this.showDeleteBtn = true; |
| | | }else{ |
| | | this.showPrintSheetBtn = false; |
| | | this.showUploadSheetBtn = false; |
| | | this.showSubOrderbtn = false; |
| | | this.showDeleteBtn = false; |
| | | } |
| | | if((this.editDelCommitBtnDisabled || this.editAble || this.edoffersPrice) && this.coc.Order_status__c != "驳回"){ |
| | | this.showSaveOrderbtn1 = true; |
| | | }else{ |
| | | this.showSaveOrderbtn1 = false; |
| | | } |
| | | } |
| | | |
| | | //再申请 |
| | | reapplyOrder(event){ |
| | | backOrder({eSetidStr:this.esetId}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | const config = { |
| | | type: 'standard__webPage', |
| | | attributes: { |
| | | url: result.url |
| | | } |
| | | }; |
| | | this[NavigationMixin.Navigate](config); |
| | | }else{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('再申请失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //附件change事件 |
| | | attChange(event){ |
| | | if(event.target.files.length > 0) { |
| | | this.filesUploaded = event.target.files; |
| | | this.fileName = event.target.files[0].name; |
| | | console.log('this.fileName:'+this.fileName); |
| | | } |
| | | } |
| | | |
| | | //是否显示附件移除 |
| | | get attDelBtn(){ |
| | | if(this.fileName != '' && this.fileName != null && this.fileName != '请选择一个文件上传'){ |
| | | return true; |
| | | }else{ |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | //关闭附件弹窗 |
| | | closePop(){ |
| | | this.showAttPop = false; |
| | | this.filesUploaded = []; |
| | | this.fileName = null; |
| | | } |
| | | |
| | | //移除附件 |
| | | removeAtt(){ |
| | | this.filesUploaded = []; |
| | | this.fileName = ''; |
| | | } |
| | | |
| | | //上传附件 |
| | | uploadAtt(event){ |
| | | if(this.filesUploaded.length > 0) { |
| | | this.file = this.filesUploaded[0]; |
| | | if (this.file.size > this.MAX_FILE_SIZE) { |
| | | window.console.log('文件过大'); |
| | | return ; |
| | | } |
| | | this.fileReader= new FileReader(); |
| | | |
| | | this.fileReader.onloadend = (() => { |
| | | this.fileContents = this.fileReader.result; |
| | | let base64 = 'base64,'; |
| | | this.content = this.fileContents.indexOf(base64) + base64.length; |
| | | this.fileContents = this.fileContents.substring(this.content); |
| | | this.saveToFile(); |
| | | }); |
| | | this.fileReader.readAsDataURL(this.file); |
| | | } |
| | | else { |
| | | this.fileName = '请选择一个文件上传'; |
| | | } |
| | | } |
| | | |
| | | //调用上传附件后台方法 |
| | | saveToFile() { |
| | | this.showPopSpinner = true; |
| | | filesUpload({pId:this.esetId, fileName: this.file.name, base64Data: encodeURIComponent(this.fileContents)}) |
| | | .then(result => { |
| | | this.showPopSpinner = false; |
| | | if(result.result == 'Success'){ |
| | | this.closePop(); |
| | | window.location.reload(); |
| | | }else{ |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('上传失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | .catch(error => { |
| | | this.showPopSpinner = false; |
| | | this.showMyToast('上传失败',error,'error'); |
| | | }); |
| | | } |
| | | |
| | | //删除附件 |
| | | deleteAtt(event){ |
| | | this.showSpinner = true; |
| | | var recordId = event.target.getAttribute("data-fileid"); |
| | | console.log('attid:'+recordId); |
| | | deleteAtt({contentVersionId : recordId, cocId : this.esetId}) |
| | | .then(result=>{ |
| | | this.showSpinner = false; |
| | | if(result.result == 'Success'){ |
| | | window.location.reload(); |
| | | }else{ |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('删除失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | this.showSpinner = false; |
| | | console.log("Error:"+error); |
| | | this.showMyToast('删除失败',JSON.stringify(error),'error'); |
| | | }) |
| | | } |
| | | |
| | | //预览附件 |
| | | previweAtt(event){ |
| | | var recordId = event.target.getAttribute("data-fileid"); |
| | | console.log(recordId); |
| | | this[NavigationMixin.Navigate]({ |
| | | type:'standard__namedPage', |
| | | attributes:{ |
| | | pageName:'filePreview' |
| | | }, |
| | | state:{ |
| | | recordIds: recordId, |
| | | selectedRecordId: recordId |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //打开搜索弹窗,并初始化弹窗 |
| | | showSearchHos(event){ |
| | | initHospital() |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.showAttHosPop = true; |
| | | this.hospitalList = result.attList; |
| | | for(var i in this.hospitalList){ |
| | | if(this.hospitalList[i].State_Master__c){ |
| | | this.hospitalList[i]['StateMaster'] = this.hospitalList[i].State_Master__r.Name; |
| | | } |
| | | } |
| | | }else{ |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('初始化检索医院页面失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | console.log("Error:"+error); |
| | | this.showMyToast('初始化检索医院页面失败',error,'error'); |
| | | }) |
| | | } |
| | | |
| | | //检索医院 |
| | | searchHos(event){ |
| | | searchHospital({searchName:this.searchNameHos, accountId:this.accountid}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.hospitalList = result.attList; |
| | | for(var i in this.hospitalList){ |
| | | if(this.hospitalList[i].State_Master__c){ |
| | | this.hospitalList[i]['StateMaster'] = this.hospitalList[i].State_Master__r.Name; |
| | | } |
| | | } |
| | | }else{ |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('搜索失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | console.log("Error:"+error); |
| | | this.showMyToast('搜索失败',error,'error'); |
| | | }) |
| | | } |
| | | |
| | | //医院名称change |
| | | searchNameHosChange(event){ |
| | | this.searchNameHos = event.detail.value; |
| | | } |
| | | |
| | | //关闭弹窗 |
| | | closeHospitalPop(){ |
| | | this.showAttHosPop = false; |
| | | this.chooseHospital = ''; |
| | | this.chooseHospitalId = ''; |
| | | } |
| | | |
| | | // //选择医院 |
| | | // chooseHos(event){ |
| | | // var hosName = event.target.getAttribute("data-name"); |
| | | // var hosid = event.target.getAttribute("data-hosid"); |
| | | // console.log('hos:'+hosName+'---'+hosid); |
| | | // this.chooseHospital = hosName; |
| | | // this.chooseHospitalId = hosid; |
| | | // } |
| | | |
| | | changeHos(event){ |
| | | this.hospitalName = event.detail.value; |
| | | } |
| | | |
| | | changeCon(event){ |
| | | this.contractName = event.detail.value; |
| | | } |
| | | |
| | | chooseHos(event){ |
| | | const row = event.detail.row; |
| | | this.chooseHospitalId = row.Id; |
| | | this.chooseHospital = row.Name; |
| | | console.log('row.Id:'+row.Id); |
| | | console.log('row.Name:'+row.Name); |
| | | this.confirmHospital(); |
| | | } |
| | | |
| | | //确认选择医院 |
| | | confirmHospital(){ |
| | | if(this.chooseHospital != '' && this.chooseHospital != null){ |
| | | this.hospitalId = this.chooseHospitalId; |
| | | this.tempidHp = this.chooseHospitalId; |
| | | this.hospitalName = this.chooseHospital; |
| | | this.closeHospitalPop(); |
| | | //消除警告 |
| | | var arr = []; |
| | | for(var i in this.warningMsgs){ |
| | | if(this.warningMsgs[i] != '请选择医院'){ |
| | | arr.push(this.warningMsgs[i]); |
| | | } |
| | | } |
| | | this.warningMsgs = arr; |
| | | if(this.tempidHp != 'tempId' && this.tempidHp != ''){ |
| | | searchorderdetails({ |
| | | methodTypeStr : this.pageType, |
| | | accountIdStr : this.accountid, |
| | | hospitalIdStr : this.hospitalId, |
| | | contractIdStr : this.contractId, |
| | | userWorkLocationStr : this.userWorkLocation, |
| | | accountNameStr : this.accountName, |
| | | proLimitAndDateList : this.proLimitAndDate, |
| | | editAbleStr : this.editAble |
| | | }).then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.showMyToast('搜索成功',result.errorMsg,'success'); |
| | | }else{ |
| | | console.log("Error:"+result.errorMsg); |
| | | if(result.errorMsg == '没有搜索到相关数据'){ |
| | | this.showMyToast(result.errorMsg,'','error'); |
| | | }else{ |
| | | this.showMyToast('搜索产品失败',result.errorMsg,'error'); |
| | | } |
| | | } |
| | | //调用上传附件后台方法 |
| | | saveToFile() { |
| | | this.showPopSpinner = true; |
| | | filesUpload({ |
| | | pId: this.esetId, |
| | | fileName: this.file.name, |
| | | base64Data: encodeURIComponent(this.fileContents) |
| | | }) |
| | | .then((result) => { |
| | | this.showPopSpinner = false; |
| | | if (result.result == 'Success') { |
| | | this.closePop(); |
| | | window.location.reload(); |
| | | } else { |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('上传失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | console.log("Error:"+error); |
| | | this.showMyToast('搜索产品失败',error,'error'); |
| | | .catch((error) => { |
| | | this.showPopSpinner = false; |
| | | this.showMyToast('上传失败', error, 'error'); |
| | | }); |
| | | } |
| | | |
| | | //删除附件 |
| | | deleteAtt(event) { |
| | | this.showSpinner = true; |
| | | var recordId = event.target.getAttribute('data-fileid'); |
| | | console.log('attid:' + recordId); |
| | | deleteAtt({ contentVersionId: recordId, cocId: this.esetId }) |
| | | .then((result) => { |
| | | this.showSpinner = false; |
| | | if (result.result == 'Success') { |
| | | window.location.reload(); |
| | | } else { |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('删除失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | this.tempidHp = 'tempId'; |
| | | } |
| | | }else{ |
| | | this.showMyToast('请选择医院','','error'); |
| | | } |
| | | } |
| | | .catch((error) => { |
| | | this.showSpinner = false; |
| | | console.log('Error:' + error); |
| | | this.showMyToast('删除失败', JSON.stringify(error), 'error'); |
| | | }); |
| | | } |
| | | |
| | | //打开合同检索弹窗并初始化 |
| | | showSearchCon(){ |
| | | initContract({ctype:this.agencyProType1}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.showConPop = true; |
| | | this.contractList = result.attList; |
| | | for(var i in this.contractList){ |
| | | if(this.contractList[i].State_Master__c){ |
| | | this.contractList[i]['StateMaster'] = this.contractList[i].State_Master__r.Name; |
| | | } |
| | | //预览附件 |
| | | previweAtt(event) { |
| | | var recordId = event.target.getAttribute('data-fileid'); |
| | | console.log(recordId); |
| | | this[NavigationMixin.Navigate]({ |
| | | type: 'standard__namedPage', |
| | | attributes: { |
| | | pageName: 'filePreview' |
| | | }, |
| | | state: { |
| | | recordIds: recordId, |
| | | selectedRecordId: recordId |
| | | } |
| | | }else{ |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('初始化检索合同页面失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | console.log("Error:"+error); |
| | | this.showMyToast('初始化检索合同页面失败',error,'error'); |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //检索合同 |
| | | searchCon(){ |
| | | searchContract({searchName:this.searchNameCon, accountId:this.accountid, ctype:this.agencyProType1,OSHFLGStr : this.OSHFLG}) |
| | | .then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.contractList = result.attList; |
| | | for(var i in this.contractList){ |
| | | if(this.contractList[i].State_Master__c){ |
| | | this.contractList[i]['StateMaster'] = this.contractList[i].State_Master__r.Name; |
| | | } |
| | | } |
| | | }else{ |
| | | console.log("Error:"+result.errorMsg); |
| | | this.showMyToast('搜索失败',result.errorMsg,'error'); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | console.log("Error:"+error); |
| | | this.showMyToast('搜索失败',error,'error'); |
| | | }) |
| | | } |
| | | |
| | | searchNameConChange(event){ |
| | | this.searchNameCon = event.detail.value; |
| | | } |
| | | |
| | | //关闭弹窗 |
| | | closeContractPop(){ |
| | | this.showConPop = false; |
| | | this.chooseContract = ''; |
| | | this.chooseContractId = ''; |
| | | } |
| | | |
| | | //选择合同 |
| | | // chooseCon(event){ |
| | | // var conName = event.target.getAttribute("data-name"); |
| | | // var conid = event.target.getAttribute("data-hosid"); |
| | | // console.log('hos:'+conName+'---'+conid); |
| | | // this.chooseContract = conName; |
| | | // this.chooseContractId = conid; |
| | | // } |
| | | |
| | | chooseCon(event){ |
| | | const row = event.detail.row; |
| | | this.chooseContractId = row.Id; |
| | | this.chooseContract = row.Name; |
| | | console.log('row.Id:'+row.Id); |
| | | console.log('row.Name:'+row.Name); |
| | | this.confirmContract(); |
| | | } |
| | | |
| | | //确认选择合同 |
| | | confirmContract(){ |
| | | if(this.chooseContract != '' && this.chooseContract != null){ |
| | | this.contractId = this.chooseContractId; |
| | | this.tempidPp = this.chooseContractId; |
| | | this.contractName = this.chooseContract; |
| | | this.closeContractPop(); |
| | | if(this.tempidPp != 'tempId' && this.tempidPp != '' && this.contractId != '' && this.pageType == 'promotionorder'){ |
| | | searchorderdetails({ |
| | | methodTypeStr : this.pageType, |
| | | accountIdStr : this.accountid, |
| | | hospitalIdStr : this.hospitalId, |
| | | contractIdStr : this.contractId, |
| | | userWorkLocationStr : this.userWorkLocation, |
| | | accountNameStr : this.accountName, |
| | | proLimitAndDateList : this.proLimitAndDate, |
| | | editAbleStr : this.editAble |
| | | }).then(result=>{ |
| | | if(result.result == 'Success'){ |
| | | this.consumableorderdetailsRecordsview = result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.showMyToast('搜索成功',result.errorMsg,'success'); |
| | | }else{ |
| | | console.log("Error:"+result.errorMsg); |
| | | if(result.errorMsg == '没有搜索到相关数据'){ |
| | | this.showMyToast(result.errorMsg,'','error'); |
| | | }else{ |
| | | this.showMyToast('搜索产品失败',result.errorMsg,'error'); |
| | | } |
| | | } |
| | | //打开搜索弹窗,并初始化弹窗 |
| | | showSearchHos(event) { |
| | | initHospital() |
| | | .then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.showAttHosPop = true; |
| | | this.hospitalList = result.attList; |
| | | for (var i in this.hospitalList) { |
| | | if (this.hospitalList[i].State_Master__c) { |
| | | this.hospitalList[i]['StateMaster'] = |
| | | this.hospitalList[i].State_Master__r.Name; |
| | | } |
| | | } |
| | | } else { |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast( |
| | | '初始化检索医院页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | .catch(error=>{ |
| | | console.log("Error:"+error); |
| | | this.showMyToast('搜索产品失败',error,'error'); |
| | | .catch((error) => { |
| | | console.log('Error:' + error); |
| | | this.showMyToast('初始化检索医院页面失败', error, 'error'); |
| | | }); |
| | | } |
| | | |
| | | //检索医院 |
| | | searchHos(event) { |
| | | searchHospital({ |
| | | searchName: this.searchNameHos, |
| | | accountId: this.accountid |
| | | }) |
| | | .then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.hospitalList = result.attList; |
| | | for (var i in this.hospitalList) { |
| | | if (this.hospitalList[i].State_Master__c) { |
| | | this.hospitalList[i]['StateMaster'] = |
| | | this.hospitalList[i].State_Master__r.Name; |
| | | } |
| | | } |
| | | } else { |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('搜索失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | this.tempidPp = 'tempId'; |
| | | } |
| | | }else{ |
| | | this.showMyToast('请选择合同','','error'); |
| | | } |
| | | } |
| | | .catch((error) => { |
| | | console.log('Error:' + error); |
| | | this.showMyToast('搜索失败', error, 'error'); |
| | | }); |
| | | } |
| | | |
| | | showMyToast(title, message, variant) { |
| | | console.log('show custom message'); |
| | | var iconName = ''; |
| | | var content = ''; |
| | | if(variant == 'success'){ |
| | | iconName = 'utility:check'; |
| | | }else{ |
| | | iconName = 'utility:error'; |
| | | } |
| | | if(message != ''){ |
| | | content = '<h2><strong>'+title+'<strong/></h2><h5>'+message+'</h5>'; |
| | | }else{ |
| | | content = '<h2><strong>'+title+'<strong/></h2>'; |
| | | } |
| | | this.template.querySelector('c-common-toast'). |
| | | showToast(variant,content,iconName,10000); |
| | | // var mode; |
| | | // if(this.isNoteStay){ |
| | | // mode ='sticky'; |
| | | // }else{ |
| | | // mode = 'dismissable'; |
| | | // } |
| | | // const evt = new ShowToastEvent({ |
| | | // title: title, |
| | | // message: message, |
| | | // variant: variant, |
| | | // mode: mode |
| | | // }); |
| | | // this.dispatchEvent(evt); |
| | | } |
| | | //医院名称change |
| | | searchNameHosChange(event) { |
| | | this.searchNameHos = event.detail.value; |
| | | } |
| | | |
| | | //分页 |
| | | showCurrentReocrd(){ |
| | | var startIndex = 0; |
| | | var endIndex = 0; |
| | | console.log('len:'+this.consumableorderdetailsRecordsview.length); |
| | | if(this.consumableorderdetailsRecordsview != null && this.consumableorderdetailsRecordsview.length > 0){ |
| | | var currentRecord = []; |
| | | var currentCount = 0; |
| | | var mu = this.consumableorderdetailsRecordsview.length % this.pageSize; |
| | | if(this.currentPage == this.totalPage){ |
| | | if(mu != 0){ |
| | | currentCount = mu; |
| | | }else{ |
| | | currentCount = this.pageSize; |
| | | //关闭弹窗 |
| | | closeHospitalPop() { |
| | | this.showAttHosPop = false; |
| | | this.chooseHospital = ''; |
| | | this.chooseHospitalId = ''; |
| | | } |
| | | |
| | | // //选择医院 |
| | | // chooseHos(event){ |
| | | // var hosName = event.target.getAttribute("data-name"); |
| | | // var hosid = event.target.getAttribute("data-hosid"); |
| | | // console.log('hos:'+hosName+'---'+hosid); |
| | | // this.chooseHospital = hosName; |
| | | // this.chooseHospitalId = hosid; |
| | | // } |
| | | |
| | | changeHos(event) { |
| | | this.hospitalName = event.detail.value; |
| | | } |
| | | |
| | | changeCon(event) { |
| | | this.contractName = event.detail.value; |
| | | } |
| | | |
| | | chooseHos(event) { |
| | | const row = event.detail.row; |
| | | this.chooseHospitalId = row.Id; |
| | | this.chooseHospital = row.Name; |
| | | console.log('row.Id:' + row.Id); |
| | | console.log('row.Name:' + row.Name); |
| | | this.confirmHospital(); |
| | | } |
| | | |
| | | //确认选择医院 |
| | | confirmHospital() { |
| | | if (this.chooseHospital != '' && this.chooseHospital != null) { |
| | | this.hospitalId = this.chooseHospitalId; |
| | | this.tempidHp = this.chooseHospitalId; |
| | | this.hospitalName = this.chooseHospital; |
| | | this.closeHospitalPop(); |
| | | //消除警告 |
| | | var arr = []; |
| | | for (var i in this.warningMsgs) { |
| | | if (this.warningMsgs[i] != '请选择医院') { |
| | | arr.push(this.warningMsgs[i]); |
| | | } |
| | | } |
| | | }else{ |
| | | currentCount = this.pageSize; |
| | | } |
| | | console.log('this.totalPage:'+this.totalPage); |
| | | console.log('this.pageSize:'+this.pageSize); |
| | | console.log('mu:'+mu); |
| | | console.log('currentCount:'+currentCount); |
| | | startIndex = (this.currentPage - 1) * this.pageSize; |
| | | endIndex = parseInt(startIndex) + parseInt(currentCount) - 1; |
| | | console.log('startIndex:'+startIndex); |
| | | console.log('endIndex:'+endIndex); |
| | | if(this.editAble){ |
| | | for(var i in this.currentRecord){ |
| | | if(this.currentRecord[i].check){ |
| | | currentRecord.push(this.currentRecord[i]); |
| | | } |
| | | this.warningMsgs = arr; |
| | | if (this.tempidHp != 'tempId' && this.tempidHp != '') { |
| | | searchorderdetails({ |
| | | methodTypeStr: this.pageType, |
| | | accountIdStr: this.accountid, |
| | | hospitalIdStr: this.hospitalId, |
| | | contractIdStr: this.contractId, |
| | | userWorkLocationStr: this.userWorkLocation, |
| | | accountNameStr: this.accountName, |
| | | proLimitAndDateList: this.proLimitAndDate, |
| | | editAbleStr: this.editAble |
| | | }) |
| | | .then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.consumableorderdetailsRecordsview = |
| | | result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.showMyToast( |
| | | '搜索成功', |
| | | result.errorMsg, |
| | | 'success' |
| | | ); |
| | | } else { |
| | | console.log('Error:' + result.errorMsg); |
| | | if (result.errorMsg == '没有搜索到相关数据') { |
| | | this.showMyToast(result.errorMsg, '', 'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '搜索产品失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('Error:' + error); |
| | | this.showMyToast('搜索产品失败', error, 'error'); |
| | | }); |
| | | this.tempidHp = 'tempId'; |
| | | } |
| | | } |
| | | for(var i = startIndex; i <= endIndex; i++){ |
| | | var count = 0; |
| | | for(var j in this.currentRecord){ |
| | | if(this.consumableorderdetailsRecordsview[i].recordId == this.currentRecord[j].recordId){ |
| | | count++; |
| | | } |
| | | } else { |
| | | this.showMyToast('请选择医院', '', 'error'); |
| | | } |
| | | } |
| | | |
| | | //打开合同检索弹窗并初始化 |
| | | showSearchCon() { |
| | | initContract({ ctype: this.agencyProType1 }) |
| | | .then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.showConPop = true; |
| | | this.contractList = result.attList; |
| | | for (var i in this.contractList) { |
| | | if (this.contractList[i].State_Master__c) { |
| | | this.contractList[i]['StateMaster'] = |
| | | this.contractList[i].State_Master__r.Name; |
| | | } |
| | | } |
| | | } else { |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast( |
| | | '初始化检索合同页面失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('Error:' + error); |
| | | this.showMyToast('初始化检索合同页面失败', error, 'error'); |
| | | }); |
| | | } |
| | | |
| | | //检索合同 |
| | | searchCon() { |
| | | searchContract({ |
| | | searchName: this.searchNameCon, |
| | | accountId: this.accountid, |
| | | ctype: this.agencyProType1, |
| | | OSHFLGStr: this.OSHFLG |
| | | }) |
| | | .then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.contractList = result.attList; |
| | | for (var i in this.contractList) { |
| | | if (this.contractList[i].State_Master__c) { |
| | | this.contractList[i]['StateMaster'] = |
| | | this.contractList[i].State_Master__r.Name; |
| | | } |
| | | } |
| | | } else { |
| | | console.log('Error:' + result.errorMsg); |
| | | this.showMyToast('搜索失败', result.errorMsg, 'error'); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('Error:' + error); |
| | | this.showMyToast('搜索失败', error, 'error'); |
| | | }); |
| | | } |
| | | |
| | | searchNameConChange(event) { |
| | | this.searchNameCon = event.detail.value; |
| | | } |
| | | |
| | | //关闭弹窗 |
| | | closeContractPop() { |
| | | this.showConPop = false; |
| | | this.chooseContract = ''; |
| | | this.chooseContractId = ''; |
| | | } |
| | | |
| | | //选择合同 |
| | | // chooseCon(event){ |
| | | // var conName = event.target.getAttribute("data-name"); |
| | | // var conid = event.target.getAttribute("data-hosid"); |
| | | // console.log('hos:'+conName+'---'+conid); |
| | | // this.chooseContract = conName; |
| | | // this.chooseContractId = conid; |
| | | // } |
| | | |
| | | chooseCon(event) { |
| | | const row = event.detail.row; |
| | | this.chooseContractId = row.Id; |
| | | this.chooseContract = row.Name; |
| | | console.log('row.Id:' + row.Id); |
| | | console.log('row.Name:' + row.Name); |
| | | this.confirmContract(); |
| | | } |
| | | |
| | | //确认选择合同 |
| | | confirmContract() { |
| | | if (this.chooseContract != '' && this.chooseContract != null) { |
| | | this.contractId = this.chooseContractId; |
| | | this.tempidPp = this.chooseContractId; |
| | | this.contractName = this.chooseContract; |
| | | this.closeContractPop(); |
| | | if ( |
| | | this.tempidPp != 'tempId' && |
| | | this.tempidPp != '' && |
| | | this.contractId != '' && |
| | | this.pageType == 'promotionorder' |
| | | ) { |
| | | searchorderdetails({ |
| | | methodTypeStr: this.pageType, |
| | | accountIdStr: this.accountid, |
| | | hospitalIdStr: this.hospitalId, |
| | | contractIdStr: this.contractId, |
| | | userWorkLocationStr: this.userWorkLocation, |
| | | accountNameStr: this.accountName, |
| | | proLimitAndDateList: this.proLimitAndDate, |
| | | editAbleStr: this.editAble |
| | | }) |
| | | .then((result) => { |
| | | if (result.result == 'Success') { |
| | | this.consumableorderdetailsRecordsview = |
| | | result.consumableorderdetailsRecordsview; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | this.getAllChecked(); |
| | | this.showMyToast( |
| | | '搜索成功', |
| | | result.errorMsg, |
| | | 'success' |
| | | ); |
| | | } else { |
| | | console.log('Error:' + result.errorMsg); |
| | | if (result.errorMsg == '没有搜索到相关数据') { |
| | | this.showMyToast(result.errorMsg, '', 'error'); |
| | | } else { |
| | | this.showMyToast( |
| | | '搜索产品失败', |
| | | result.errorMsg, |
| | | 'error' |
| | | ); |
| | | } |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('Error:' + error); |
| | | this.showMyToast('搜索产品失败', error, 'error'); |
| | | }); |
| | | this.tempidPp = 'tempId'; |
| | | } |
| | | if(count == 0){ |
| | | currentRecord.push(this.consumableorderdetailsRecordsview[i]); |
| | | } else { |
| | | this.showMyToast('请选择合同', '', 'error'); |
| | | } |
| | | } |
| | | |
| | | showMyToast(title, message, variant) { |
| | | console.log('show custom message'); |
| | | var iconName = ''; |
| | | var content = ''; |
| | | if (variant == 'success') { |
| | | iconName = 'utility:check'; |
| | | } else { |
| | | iconName = 'utility:error'; |
| | | } |
| | | if (message != '') { |
| | | content = |
| | | '<h2><strong>' + |
| | | title + |
| | | '<strong/></h2><h5>' + |
| | | message + |
| | | '</h5>'; |
| | | } else { |
| | | content = '<h2><strong>' + title + '<strong/></h2>'; |
| | | } |
| | | this.template |
| | | .querySelector('c-common-toast') |
| | | .showToast(variant, content, iconName, 10000); |
| | | // var mode; |
| | | // if(this.isNoteStay){ |
| | | // mode ='sticky'; |
| | | // }else{ |
| | | // mode = 'dismissable'; |
| | | // } |
| | | // const evt = new ShowToastEvent({ |
| | | // title: title, |
| | | // message: message, |
| | | // variant: variant, |
| | | // mode: mode |
| | | // }); |
| | | // this.dispatchEvent(evt); |
| | | } |
| | | |
| | | //分页 |
| | | showCurrentReocrd() { |
| | | var startIndex = 0; |
| | | var endIndex = 0; |
| | | console.log('len:' + this.consumableorderdetailsRecordsview.length); |
| | | if ( |
| | | this.consumableorderdetailsRecordsview != null && |
| | | this.consumableorderdetailsRecordsview.length > 0 |
| | | ) { |
| | | var currentRecord = []; |
| | | var currentCount = 0; |
| | | var mu = |
| | | this.consumableorderdetailsRecordsview.length % this.pageSize; |
| | | if (this.currentPage == this.totalPage) { |
| | | if (mu != 0) { |
| | | currentCount = mu; |
| | | } else { |
| | | currentCount = this.pageSize; |
| | | } |
| | | } else { |
| | | currentCount = this.pageSize; |
| | | } |
| | | } |
| | | this.recordStart = startIndex + 1; |
| | | this.recordEnd = endIndex + 1; |
| | | this.currentRecord = currentRecord; |
| | | }else{ |
| | | this.currentPage = 0; |
| | | this.currentRecord = []; |
| | | } |
| | | } |
| | | console.log('this.totalPage:' + this.totalPage); |
| | | console.log('this.pageSize:' + this.pageSize); |
| | | console.log('mu:' + mu); |
| | | console.log('currentCount:' + currentCount); |
| | | startIndex = (this.currentPage - 1) * this.pageSize; |
| | | endIndex = parseInt(startIndex) + parseInt(currentCount) - 1; |
| | | console.log('startIndex:' + startIndex); |
| | | console.log('endIndex:' + endIndex); |
| | | if (this.editAble) { |
| | | for (var i in this.currentRecord) { |
| | | if (this.currentRecord[i].check) { |
| | | currentRecord.push(this.currentRecord[i]); |
| | | } |
| | | } |
| | | } |
| | | for (var i = startIndex; i <= endIndex; i++) { |
| | | var count = 0; |
| | | for (var j in this.currentRecord) { |
| | | if ( |
| | | this.consumableorderdetailsRecordsview[i].recordId == |
| | | this.currentRecord[j].recordId |
| | | ) { |
| | | count++; |
| | | } |
| | | } |
| | | if (count == 0) { |
| | | currentRecord.push( |
| | | this.consumableorderdetailsRecordsview[i] |
| | | ); |
| | | } |
| | | } |
| | | this.recordStart = startIndex + 1; |
| | | this.recordEnd = endIndex + 1; |
| | | this.currentRecord = currentRecord; |
| | | } else { |
| | | this.currentPage = 0; |
| | | this.currentRecord = []; |
| | | } |
| | | } |
| | | |
| | | get prePage(){ |
| | | return this.currentPage - 1; |
| | | } |
| | | get prePage() { |
| | | return this.currentPage - 1; |
| | | } |
| | | |
| | | get nextPage(){ |
| | | return this.currentPage + 1; |
| | | } |
| | | get nextPage() { |
| | | return this.currentPage + 1; |
| | | } |
| | | |
| | | get totalPage(){ |
| | | if(this.consumableorderdetailsRecordsview.length % this.pageSize == 0){ |
| | | return Math.trunc(this.consumableorderdetailsRecordsview.length / this.pageSize); |
| | | }else{ |
| | | return Math.trunc(this.consumableorderdetailsRecordsview.length / this.pageSize) + 1; |
| | | } |
| | | } |
| | | get totalPage() { |
| | | if ( |
| | | this.consumableorderdetailsRecordsview.length % this.pageSize == |
| | | 0 |
| | | ) { |
| | | return Math.trunc( |
| | | this.consumableorderdetailsRecordsview.length / this.pageSize |
| | | ); |
| | | } else { |
| | | return ( |
| | | Math.trunc( |
| | | this.consumableorderdetailsRecordsview.length / |
| | | this.pageSize |
| | | ) + 1 |
| | | ); |
| | | } |
| | | } |
| | | |
| | | get totalRecords(){ |
| | | return this.consumableorderdetailsRecordsview.length; |
| | | } |
| | | get totalRecords() { |
| | | return this.consumableorderdetailsRecordsview.length; |
| | | } |
| | | |
| | | //第一页 |
| | | goFirstPage(){ |
| | | this.currentPage = 1; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | //第一页 |
| | | goFirstPage() { |
| | | this.currentPage = 1; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | |
| | | //最后一页 |
| | | goLastPage(){ |
| | | this.currentPage = this.totalPage; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | //最后一页 |
| | | goLastPage() { |
| | | this.currentPage = this.totalPage; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | |
| | | //上一页 |
| | | prePageClick(){ |
| | | this.currentPage = this.currentPage - 1; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | //上一页 |
| | | prePageClick() { |
| | | this.currentPage = this.currentPage - 1; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | |
| | | //下一页 |
| | | nextPageClick(){ |
| | | this.currentPage = this.currentPage + 1; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | //下一页 |
| | | nextPageClick() { |
| | | this.currentPage = this.currentPage + 1; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | |
| | | //page size change |
| | | pageSizeChange(event){ |
| | | console.log('pagesize:'+event.detail); |
| | | this.pageSize = event.detail; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | |
| | | //上一页按钮是否disable |
| | | get previousButtonDisabled() { |
| | | return this.currentPage == 1 || this.currentPage == 0; |
| | | } |
| | | //page size change |
| | | pageSizeChange(event) { |
| | | console.log('pagesize:' + event.detail); |
| | | this.pageSize = event.detail; |
| | | this.currentPage = 1; |
| | | this.currentRecord = []; |
| | | this.showCurrentReocrd(); |
| | | } |
| | | |
| | | //下一页按钮是否disable |
| | | get nextButtonDisabled() { |
| | | return this.currentPage == this.totalPage; |
| | | } |
| | | //上一页按钮是否disable |
| | | get previousButtonDisabled() { |
| | | return this.currentPage == 1 || this.currentPage == 0; |
| | | } |
| | | |
| | | //下一页按钮是否disable |
| | | get nextButtonDisabled() { |
| | | return this.currentPage == this.totalPage; |
| | | } |
| | | } |
| force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.html
force-app/main/default/lwc/lexConsumableAccount/lexConsumableAccount.js
force-app/main/default/lwc/lexConsumableAccountInfoPrint/lexConsumableAccountInfoPrint.html
force-app/main/default/lwc/lexConsumableAccountInfoPrint/lexConsumableAccountInfoPrint.js
force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.html
force-app/main/default/lwc/lexConsumableOrderManage/lexConsumableOrderManage.js
force-app/main/default/lwc/lexCssUtility/lexCssUtility.css
force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.html
force-app/main/default/lwc/lexCustomAttachmentTypeComp/lexCustomAttachmentTypeComp.js
force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.html
force-app/main/default/lwc/lexCustomDiffReasonComp/lexCustomDiffReasonComp.js
force-app/main/default/lwc/lexCustomInventoryColor/lexCustomInventoryColor.html
force-app/main/default/lwc/lexCustomLightningDatatable/customAgencyOppInput.html
force-app/main/default/lwc/lexCustomLightningDatatable/customInventoryColor.html
force-app/main/default/lwc/lexCustomLightningDatatable/customOutboundCount.html
force-app/main/default/lwc/lexCustomLightningDatatable/customOutputGoods.html
force-app/main/default/lwc/lexCustomLightningDatatable/customReturnGoodInput.html
force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentAmount.html
force-app/main/default/lwc/lexCustomLightningDatatable/customShipmentNumber.html
force-app/main/default/lwc/lexCustomLightningDatatable/customShippingUnitPrice.html
force-app/main/default/lwc/lexCustomLightningDatatable/customTableCellIcon.html
force-app/main/default/lwc/lexCustomLightningDatatable/customTableInput.html
force-app/main/default/lwc/lexCustomLightningDatatable/customdeleteReason.html
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomDiffReason.html
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.html
force-app/main/default/lwc/lexCustomLightningDatatable/lexCustomLightningDatatable.js
force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.html
force-app/main/default/lwc/lexCustomTableInput/lexCustomTableInput.js
force-app/main/default/lwc/lexDealerInquiryModifyState/lexDealerInquiryModifyState.html
force-app/main/default/lwc/lexDealerInquiryModifyState/lexDealerInquiryModifyState.js
force-app/main/default/lwc/lexInventory/lexInventory.html
force-app/main/default/lwc/lexInventory/lexInventory.js
force-app/main/default/lwc/lexLicenceReminder/lexLicenceReminder.html
force-app/main/default/lwc/lexLicenceReminder/lexLicenceReminder.js
force-app/main/default/lwc/lexLookup/lexLookup.html
force-app/main/default/lwc/lexLookup/lexLookup.js
force-app/main/default/lwc/lexNewOrder/lexNewOrder.html
force-app/main/default/lwc/lexNewOrder/lexNewOrder.js
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.css
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.html
force-app/main/default/lwc/lexOutboundorderImport/lexOutboundorderImport.js
force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.html
force-app/main/default/lwc/lexOverdueStock/lexOverdueStock.js
force-app/main/default/lwc/lexProductLimitEdit/lexProductLimitEdit.html
force-app/main/default/lwc/lexProductLimitEdit/lexProductLimitEdit.js
force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.html
force-app/main/default/lwc/lexRemoveBox/lexRemoveBox.js
force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.html
force-app/main/default/lwc/lexReturnGoodCusInput/lexReturnGoodCusInput.js
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.html
force-app/main/default/lwc/lexSaleAndDelivery/lexSaleAndDelivery.js
force-app/main/default/lwc/lexSummonsCreat/lexSummonsCreat.js
force-app/main/default/lwc/lexTableCellIcon/lexTableCellIcon.html
force-app/main/default/lwc/lexTableCellIcon/lexTableCellIcon.js
force-app/main/default/lwc/lexTopPage/lexTopPage.html
force-app/main/default/lwc/lexTopPage/lexTopPage.js
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.html
force-app/main/default/lwc/lexinventoryViewLWC/lexinventoryViewLWC.js
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.html
force-app/main/default/lwc/lwcDatatableUtility/lwcDatatableUtility.js
force-app/main/default/lwc/myCustomTypeDatatable/customName.html
force-app/main/default/lwc/myCustomTypeDatatable/customNumber.html
force-app/main/default/lwc/myCustomTypeDatatable/customUnit.html
force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.html
force-app/main/default/lwc/myCustomTypeDatatable/myCustomTypeDatatable.js
force-app/main/default/permissionsets/Community_LEX_PS.permissionset-meta.xml
force-app/main/default/triggers/ContentDocumentLink.trigger
force-app/main/default/triggers/ContentDocumentTrigger.trigger
manifest/LEXC01packagelexcommunitynew.xml
manifest/LEXC02packagelexcommunityupdate.xml |