From af7b716a60d889acea95560abba0e46eee008b8f Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期三, 05 七月 2023 13:54:50 +0800
Subject: [PATCH] backup0705
---
force-app/main/default/classes/LexConsumableController.cls | 4940 ++++++++++++++++++++++++++++++++---------------------------
1 files changed, 2,692 insertions(+), 2,248 deletions(-)
diff --git a/force-app/main/default/classes/LexConsumableController.cls b/force-app/main/default/classes/LexConsumableController.cls
index c6f9846..0584d06 100644
--- a/force-app/main/default/classes/LexConsumableController.cls
+++ b/force-app/main/default/classes/LexConsumableController.cls
@@ -1,2271 +1,2715 @@
public without sharing class LexConsumableController {
- /*****************妞滅储鐢�******************/
- public static Consumable_order__c coc { get; set; } // FIMXE Consumable_order__c 銇偆銉炽偣銈裤兂銈广�乻ql澶氥仚銇�
- public static String category1 { get; set; }
- public static String category5 { get; set; }
- public static String category4 { get; set; }
- public static String category3 { get; set; }
- public static String category_Goods { get; set; }
- public static Boolean specialCampaign { get; set; }
- public static Boolean cansee { get; set; }
- //缁忛攢鍟嗗悎鍚屽悕绉�
- public static String contractName { get; set; }
- //缁忛攢鍟嗗悎鍚孖D
- public static String contractId { get; set; }
- //缁忛攢鍟嗗畾浠锋煡鐪嬫潈闄�
- public static Boolean dealerPricesee { get; set; }
- /*****************鐢婚潰鍒濆鍖栫敤********************************/
- /******20160313_add**************/
- //public String idCheck {get;set;}
- public static Boolean editAble { get; set; }
- public static Boolean edoffersPrice { get; set; }
- public static String statusEdit { get; set; }
- public static Boolean returnOrder { get; set; }
- public static String searchDone { get; set; }
- //鏆傜敤20160323
- public static Decimal disCount = 0;
- //鎬讳环鏍艰绠楃粨鏋�
- public static Decimal sumPrice { get; set; }
- //鑷畾涔夌壒浠烽噾棰�
- public static Decimal bargainPrice { get; set; }
- //浜у搧涓婁笅闄�
- public static String[] proLimitAndDate = new List<String>{};
- /*****************鐢婚潰琛ㄧずBean******************/
- private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
- public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsview { get; set; }
- public static Integer ConsumableorderdetailsCount {
- get {
- return consumableorderdetailsRecords == null ? 0 : consumableorderdetailsRecords.size();
- }
+ /*****************妞滅储鐢�******************/
+ public static Consumable_order__c coc { get; set; } // FIMXE Consumable_order__c 銇偆銉炽偣銈裤兂銈广�乻ql澶氥仚銇�
+ public static String category1 { get; set; }
+ public static String category5 { get; set; }
+ public static String category4 { get; set; }
+ public static String category3 { get; set; }
+ public static String category_Goods { get; set; }
+ public static Boolean specialCampaign { get; set; }
+ public static Boolean cansee { get; set; }
+ //缁忛攢鍟嗗悎鍚屽悕绉�
+ public static String contractName { get; set; }
+ //缁忛攢鍟嗗悎鍚孖D
+ public static String contractId { get; set; }
+ //缁忛攢鍟嗗畾浠锋煡鐪嬫潈闄�
+ public static Boolean dealerPricesee { get; set; }
+ /*****************鐢婚潰鍒濆鍖栫敤********************************/
+ /******20160313_add**************/
+ //public String idCheck {get;set;}
+ public static Boolean editAble { get; set; }
+ public static Boolean edoffersPrice { get; set; }
+ public static String statusEdit { get; set; }
+ public static Boolean returnOrder { get; set; }
+ public static String searchDone { get; set; }
+ //鏆傜敤20160323
+ public static Decimal disCount = 0;
+ //鎬讳环鏍艰绠楃粨鏋�
+ public static Decimal sumPrice { get; set; }
+ //鑷畾涔夌壒浠烽噾棰�
+ public static Decimal bargainPrice { get; set; }
+ //浜у搧涓婁笅闄�
+ public static String[] proLimitAndDate = new List<String>{};
+ /*****************鐢婚潰琛ㄧずBean******************/
+ private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsview {
+ get;
+ set;
+ }
+ public static Integer ConsumableorderdetailsCount {
+ get {
+ return consumableorderdetailsRecords == null
+ ? 0
+ : consumableorderdetailsRecords.size();
}
- public static Integer ConsumableorderdetailsviewCount {
- get {
- return consumableorderdetailsRecordsview == null ? 0 : consumableorderdetailsRecordsview.size();
- }
+ }
+ public static Integer ConsumableorderdetailsviewCount {
+ get {
+ return consumableorderdetailsRecordsview == null
+ ? 0
+ : consumableorderdetailsRecordsview.size();
}
- public static List<String> lower = new List<String>();
- //闄勪欢
- public static List<ConsumableorderdetailsInfo> attachmentRecoeds { get; set; }
- public static List<String> DealerProductId { get; set; }
- public static Boolean editDelCommitBtnDisabled { get; private set; }
- public static Boolean saveBtnDisabled { get; private set; }
- public static Boolean sorderBtnDisabled { get; private set; }
- public static String decisionCode { get; set; }
- // 淇濆瓨鍚庡姩浣滐細 1.妫�绱� 2.鎺掑簭
- public static String baseUrl { get; private set; }
- public static String sortKey { get; set; }
- public static String preSortKey { get; private set; }
- public static Boolean sortOrderAsc { get; private set; }
- public static String[] sortOrder { get; private set; }
- private static List<String> contactDealer = new List<String>();
- private static String[] columus = new List<String>{
- 'Consumable_Product__r.Name',
- 'Consumable_Product__r.Asset_Model_No__c',
- 'Consumable_Product__r.Intra_Trade_List_RMB__c',
- '',
- '',
- 'Consumable_Product__r.Category3__c',
- 'Consumable_Product__r.Category4__c',
- 'Consumable_Product__r.Category5__c'
- };
- private static String[] columus_no = new List<String>{
- 'Product2__c.Name',
- 'Product2__c.Asset_Model_No__c',
- 'Product2__c.Intra_Trade_List_RMB__c',
- '',
- '',
- 'Category3__c',
- 'Category4__c',
- 'Category5__c'
- };
- // 宸查�夋嫨浜у搧鏄庣粏
- private static List<Attachment> attachmentinfo = new List<Attachment>();
- /*****************銈姐兗銉堟檪鍐嶆绱㈡潯浠讹紙鐢婚潰銇嬨倝銇叆鍔涙潯浠躲倰鐒¤銇欍倠銇熴倎锛�******************/
- private static String cate1ForSort = null;
- private static String accountid = null;
- private static String accountName = null;
- // 浜у搧 ID
- public static String ESetId { get; set; }
- private static String userId = '';
- //private String[] ProidListAll = new String[]{};
- public static List<SelectOption> categoryOptionList { get; set; }
- public static List<SelectOption> category4OptionList { get; set; }
- public static List<SelectOption> category5OptionList { get; set; }
- public static List<CusOption> category3Option { get; set; }
- public static List<CusOption> category4Option { get; set; }
- public static List<CusOption> category5Option { get; set; }
- private static Map<Id, Dealer_Product__c> DealerProductMap = new Map<Id, Dealer_Product__c>();
- public static List<String> orderzaikuId = new List<String>();
- //鍒嗛〉鍔熻兘
- public static Integer size { get; set; }
- public static Integer pageLimit { get; set; }
- public static Integer noOfRecords { get; set; }
- public static ApexPages.StandardSetController con { get; set; }
- public static String soql { get; set; }
- // 鐧诲綍鑰呭伐浣滃湴
- 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 methodType { get; set; }
- public static String hospitalName { get; set; }
- public static String hospitalId { get; set; }
- public static String tempidHp { get; set; }
- public static String tempidPp { get; set; }
- private static List<String> hpids = new List<String>();
- private static Boolean isfirst = false;
- //鎶ラ敊鍜岃鍛婁俊鎭�
- public static List<String> errorMsgList = new List<String>();
- public static List<String> warningMsgList = new List<String>();
- //鏋勯�犳柟娉�
- public LexConsumableController() {
- baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
- consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
- DealerProductId = new List<String>();
- attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
- consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>();
+ }
+ public static List<String> lower = new List<String>();
+ //闄勪欢
+ public static List<ConsumableorderdetailsInfo> attachmentRecoeds { get; set; }
+ public static List<String> DealerProductId { get; set; }
+ public static Boolean editDelCommitBtnDisabled { get; private set; }
+ public static Boolean saveBtnDisabled { get; private set; }
+ public static Boolean sorderBtnDisabled { get; private set; }
+ public static String decisionCode { get; set; }
+ // 淇濆瓨鍚庡姩浣滐細 1.妫�绱� 2.鎺掑簭
+ public static String baseUrl { get; private set; }
+ public static String sortKey { get; set; }
+ public static String preSortKey { get; private set; }
+ public static Boolean sortOrderAsc { get; private set; }
+ public static String[] sortOrder { get; private set; }
+ private static List<String> contactDealer = new List<String>();
+ private static String[] columus = new List<String>{
+ 'Consumable_Product__r.Name',
+ 'Consumable_Product__r.Asset_Model_No__c',
+ 'Consumable_Product__r.Intra_Trade_List_RMB__c',
+ '',
+ '',
+ 'Consumable_Product__r.Category3__c',
+ 'Consumable_Product__r.Category4__c',
+ 'Consumable_Product__r.Category5__c'
+ };
+ private static String[] columus_no = new List<String>{
+ 'Product2__c.Name',
+ 'Product2__c.Asset_Model_No__c',
+ 'Product2__c.Intra_Trade_List_RMB__c',
+ '',
+ '',
+ 'Category3__c',
+ 'Category4__c',
+ 'Category5__c'
+ };
+ // 宸查�夋嫨浜у搧鏄庣粏
+ private static List<Attachment> attachmentinfo = new List<Attachment>();
+ /*****************銈姐兗銉堟檪鍐嶆绱㈡潯浠讹紙鐢婚潰銇嬨倝銇叆鍔涙潯浠躲倰鐒¤銇欍倠銇熴倎锛�******************/
+ private static String cate1ForSort = null;
+ private static String accountid = null;
+ private static String accountName = null;
+ // 浜у搧 ID
+ public static String ESetId { get; set; }
+ private static String userId = '';
+ //private String[] ProidListAll = new String[]{};
+ public static List<SelectOption> categoryOptionList { get; set; }
+ public static List<SelectOption> category4OptionList { get; set; }
+ public static List<SelectOption> category5OptionList { get; set; }
+ public static List<CusOption> category3Option { get; set; }
+ public static List<CusOption> category4Option { get; set; }
+ public static List<CusOption> category5Option { get; set; }
+ private static Map<Id, Dealer_Product__c> DealerProductMap = new Map<Id, Dealer_Product__c>();
+ public static List<String> orderzaikuId = new List<String>();
+ //鍒嗛〉鍔熻兘
+ public static Integer size { get; set; }
+ public static Integer pageLimit { get; set; }
+ public static Integer noOfRecords { get; set; }
+ public static ApexPages.StandardSetController con { get; set; }
+ public static String soql { get; set; }
+ // 鐧诲綍鑰呭伐浣滃湴
+ 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 methodType { get; set; }
+ public static String hospitalName { get; set; }
+ public static String hospitalId { get; set; }
+ public static String tempidHp { get; set; }
+ public static String tempidPp { get; set; }
+ private static List<String> hpids = new List<String>();
+ private static Boolean isfirst = false;
+ //鎶ラ敊鍜岃鍛婁俊鎭�
+ public static List<String> errorMsgList = new List<String>();
+ public static List<String> warningMsgList = new List<String>();
+ //鏋勯�犳柟娉�
+ public LexConsumableController() {
+ baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ DealerProductId = new List<String>();
+ attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>();
+ editAble = false;
+ edoffersPrice = false;
+ returnOrder = false;
+ categoryOptionList = new List<SelectOption>();
+ category4OptionList = new List<SelectOption>();
+ category5OptionList = new List<SelectOption>();
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize);
+ }
+
+ private static void initStandardController() {
+ con = new ApexPages.StandardSetController(Database.getQueryLocator(soql));
+ con.setPageSize(size);
+ noOfRecords = con.getResultSize();
+ }
+
+ public static List<Product2__c> product2s() {
+ return (List<Product2__c>) con.getRecords();
+ }
+
+ private static List<ConsumableorderdetailsInfo> getPageInfo() {
+ List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+ Map<String, String> selectedIdMap = new Map<String, String>();
+
+ for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) {
+ if (ass.check == true) {
+ selectedIdMap.put(ass.Prod.id, ass.Prod.id);
+ reSet.add(ass);
+ }
+ }
+
+ consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>();
+ if (editAble) {
+ consumableorderdetailsRecordsview = reSet;
+ }
+ Integer pagestartNo = (con.getPageNumber() * size) - size;
+ Integer pageendNo = (con.getPageNumber() * size) > noOfRecords
+ ? noOfRecords
+ : (con.getPageNumber() * size - 1);
+ Integer addNo = 0;
+ for (
+ Integer i = pagestartNo; i < consumableorderdetailsRecords.size(); i++
+ ) {
+ Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
+ 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;
+ }
+ //consumableorderdetailsRecords[i].esd.Dealer_Custom_Price__c = consumableorderdetailsRecords[i].Prod.Intra_Trade_List_RMB__c * disCount / 100;
+ consumableorderdetailsRecordsview.add(consumableorderdetailsRecords[i]);
+ addNo++;
+ }
+ // if (addNo >= size)
+ // break;
+ }
+ return consumableorderdetailsRecordsview;
+ }
+
+ @AuraEnabled
+ public static Results init(String type, String esetId, String keywordStr) {
+ Results results = new Results();
+ results.isNoteStay = LexUtility.getIsNoteStay();
+ errorMsgList = new List<String>();
+ warningMsgList = new List<String>();
+ baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ DealerProductId = new List<String>();
+ attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>();
+ editAble = false;
+ edoffersPrice = false;
+ returnOrder = false;
+ categoryOptionList = new List<SelectOption>();
+ category4OptionList = new List<SelectOption>();
+ category5OptionList = new List<SelectOption>();
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize);
+ ESetId = esetId;
+ methodType = type;
+ 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);
+ try {
+ sortKey = '1';
+ preSortKey = '1';
+ sortOrderAsc = false;
+ sortOrder = new String[8];
+ sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' };
+ cate1ForSort = '';
+ decisionCode = '';
+ sumPrice = 0;
+ specialCampaign = false;
+ if (
+ ESetId != null &&
+ ESetId != '' &&
+ statusEdit == '' &&
+ statusEdit == null
+ ) {
editAble = false;
- edoffersPrice = false;
- returnOrder = false;
- categoryOptionList = new List<SelectOption>();
- category4OptionList = new List<SelectOption>();
- category5OptionList = new List<SelectOption>();
- size = Integer.valueOf(System.Label.orderdetLimitsize);
- pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize);
- }
-
- private static void initStandardController() {
- con = new ApexPages.StandardSetController(Database.getQueryLocator(soql));
- con.setPageSize(size);
- noOfRecords = con.getResultSize();
- }
-
- public static List<Product2__c> product2s() {
- return (List<Product2__c>) con.getRecords();
- }
-
- private static List<ConsumableorderdetailsInfo> getPageInfo() {
- List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
- Map<String, String> selectedIdMap = new Map<String, String>();
-
- for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) {
- if (ass.check == true) {
- selectedIdMap.put(ass.Prod.id, ass.Prod.id);
- reSet.add(ass);
- }
- }
-
- consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>();
- if (editAble) {
- consumableorderdetailsRecordsview = reSet;
- }
- Integer pagestartNo = (con.getPageNumber() * size) - size;
- Integer pageendNo = (con.getPageNumber() * size) > noOfRecords ? noOfRecords : (con.getPageNumber() * size - 1);
- Integer addNo = 0;
- for (Integer i = pagestartNo; i < consumableorderdetailsRecords.size(); i++) {
- Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
- 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;
- }
- //consumableorderdetailsRecords[i].esd.Dealer_Custom_Price__c = consumableorderdetailsRecords[i].Prod.Intra_Trade_List_RMB__c * disCount / 100;
- consumableorderdetailsRecordsview.add(consumableorderdetailsRecords[i]);
- addNo++;
- }
- // if (addNo >= size)
- // break;
- }
- return consumableorderdetailsRecordsview;
- }
-
- @AuraEnabled
- public static Results init(String type, String esetId, String keywordStr) {
- Results results = new Results();
- results.isNoteStay = LexUtility.getIsNoteStay();
- errorMsgList = new List<String>();
- warningMsgList = new List<String>();
- baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
- consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
- DealerProductId = new List<String>();
- attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
- consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>();
- editAble = false;
- edoffersPrice = false;
- returnOrder = false;
- categoryOptionList = new List<SelectOption>();
- category4OptionList = new List<SelectOption>();
- category5OptionList = new List<SelectOption>();
- size = Integer.valueOf(System.Label.orderdetLimitsize);
- pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize);
- ESetId = esetId;
- methodType = type;
- 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);
- try {
- sortKey = '1';
- preSortKey = '1';
- sortOrderAsc = false;
- sortOrder = new String[8];
- sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' };
- cate1ForSort = '';
- decisionCode = '';
- sumPrice = 0;
- specialCampaign = false;
- if (ESetId != null && ESetId != '' && statusEdit == '' && statusEdit == null) {
- editAble = false;
- } else if ((ESetId == null || ESetId == '') && (statusEdit == '' || statusEdit == null)) {
- editAble = true;
- } else if (ESetId != null && ESetId != '' && statusEdit != '' && statusEdit != null) {
- editAble = true;
- }
- 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 ];
- 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){
- agencyProType1 = 'OSH';
- }
- else if(String.isBlank(Useracc[0].UserPro_Type__c)){
- agencyProType1 = 'ET';
- }
- //lt 20230526 瀹夊窘涓ょエ鍒� end
- if (String.isBlank(Useracc[0].UserPro_Type__c)) {
- agencyProType = 'ET';
- }
- //閿欒淇℃伅鎻愮ず
- if (String.isNotBlank(methodType) && methodType.equals('hospitalorder') && agencyProType == 'ET') {
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鎮ㄦ病鏈夎璐у尰闄㈢壒浠蜂骇鍝佺殑鏉冮檺!'));
- errorMsgList.add('鎮ㄦ病鏈夎璐у尰闄㈢壒浠蜂骇鍝佺殑鏉冮檺!');
- }
- contactDealer = new List<String>();
- Date dateToday = Date.today();
- //鏌ヨ缁忛攢鍟嗕笅鎵�鏈夋湁鏁堝悎鍚�
- List<Account> contractList = [
- SELECT Id, Name, RecordType.DeveloperName
- FROM Account
- WHERE
- 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
- ];
- for (Account contract : contractList) {
- contactDealer.add(contract.Id);
- }
- DealerProductMap = new Map<Id, Dealer_Product__c>();
- DealerProductId = getDealerProductId();
- Account accountInfo = [
- SELECT Name, Dealer_discount__c, Product_Limit_Date__c, Product_Limit_DateENG__c
- FROM account
- WHERE id = :accountid
- ];
- accountName = accountInfo.Name;
- String product_Limit;
- if (agencyProType == 'ET') {
- product_Limit = accountInfo.Product_Limit_Date__c;
- } else {
- product_Limit = accountInfo.Product_Limit_DateENG__c;
- }
- if (product_Limit != null && product_Limit != '') {
- proLimitAndDate = product_Limit.split(',');
- }
- saveBtnDisabled = false;
- sorderBtnDisabled = false;
- coc = new Consumable_order__c();
- consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
- if (String.isBlank(agencyProType)) {
- //return ;
- }
- List<Product2__c> Product2Selected = new List<Product2__c>();
- Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
- //缁忛攢鍟嗗湪搴撴暟鎹�
- List<Consumable_order_details2__c> countDel = [
- SELECT
- Id,
- Bar_Code__c,
- Name,
- Inventory_date__c,
- Consumable_Product__c,
- Consumable_Product__r.Asset_Model_No__c,
- Recordtypeid,
- Box_Piece__c,
- hospitalSpecialOffer__c,
- promotionorder__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 Isoverdue__c = 1
- AND Arrive_Owner_Work_Location__c = :userWorkLocation
- AND Dealer_Info_text__c = :accountName
- ];
- if (ESetId == null || ESetId == '') {
- //鑾峰彇缁忛攢鍟嗛粯璁ょ殑涓�涓悎鍚�
- List<Account> contract = [
- SELECT id, Name, State_Master__c, State_Master__r.Name
- FROM Account
- WHERE
- ParentId = :accountid
- 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
- ];
- if (contract.size() == 1) {
- contractName = contract[0].Name;
- contractId = contract[0].Id;
- }
- editDelCommitBtnDisabled = true;
- List<String> DealerProductId = new List<String>();
- soql = makeSoql('', '', '', '', '', false, DealerProductId);
- size = Integer.valueOf(System.Label.orderdetLimitsize);
- initStandardController();
- product2Selected = Database.query(soql);
-
- for (Integer i = 0; i < product2Selected.size(); i++) {
- consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(product2Selected[i]));
- MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
- }
- //鍙湁鍦ㄥ崗璁璐ф椂浼氳蛋杩欎釜for寰幆 鍏朵粬涓ょ璁㈣揣妯″紡閮借蛋鐨剆earchorderdetails鏂规硶
- if (String.isBlank(methodType) || (!methodType.equals('promotionorder') && !methodType.equals('hospitalorder'))) {
- for (Integer i = 0; i < countDel.size(); i++) {
- if (countDel[i].promotionorder__c == false && countDel[i].hospitalSpecialOffer__c == false) {
- if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- MidMap.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- }
- }
- consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
- //缁忛攢鍟嗗畾浠� 璁$畻
- for (ConsumableorderdetailsInfo bss : MidMap.values()) {
- bss.sortBy = sortOrderAsc;
- 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;
- if (DealerProductMap.containsKey(bss.Prod.Id)) {
- bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id).Special_Campaign_Price__c;
- bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id).Campaign_EndDate__c;
- bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id).OrderGoods_Limit__c;
- }
- consumableorderdetailsRecords.add(bss);
- }
- consumableorderdetailsRecords.sort();
- if (methodType != null && methodType != '' && (methodType.equals('hospitalorder') || methodType.equals('promotionorder'))) {
- searchorderdetails(methodType,accountid,hospitalId,contractId,userWorkLocation,accountName,proLimitAndDate,editAble);
- isfirst = true;
- }
- getPageInfo();
- } else {
- if (methodType != null && methodType.equals('hospitalorder')) {
- List<Consumable_order__c> oclist = [
- SELECT orderPattern__c, Order_ForHospital__c, Order_ForHospital__r.Name
- FROM Consumable_order__c
- WHERE id = :ESetid
- ];
- if (oclist.get(0).orderPattern__c.equals('hospitalorder')) {
- hospitalName = oclist.get(0).Order_ForHospital__r.Name;
- hospitalId = oclist.get(0).Order_ForHospital__c;
- }
- }
- List<Consumable_Orderdetails__c> ConsumableorderdetailsSelected = new List<Consumable_Orderdetails__c>();
- //淇敼
- List<Consumable_order__c> qs = new List<Consumable_order__c>();
- qs = [
- SELECT
- Id,
- Name,
- Order_status__c,
- Consumable_pdf_insert_day__c,
- Dealer_Info__c,
- Deliver_date__c,
- Order_Reason__c,
- Order_date__c,
- Contract_application_decision__c,
- Total_amount__c,
- Offers_Price__c,
- Order_effective_contact__c,
- Order_effective_contact__r.Name
- FROM Consumable_order__c
- WHERE Id = :ESetId AND Order_Owner_WorkLocal__c = :userWorkLocation
- ];
- if (qs.size() > 0) {
- coc = qs[0];
- decisionCode = coc.Contract_application_decision__c;
- contractName = coc.Order_effective_contact__r.Name;
- contractId = coc.Order_effective_contact__r.Id;
- }
- if (qs[0].Order_status__c == '宸叉彁浜�' || qs[0].Order_status__c == '鎵瑰噯' || qs[0].Order_status__c == '闄勪欢涓婁紶瀹屾垚') {
- saveBtnDisabled = true;
- sorderBtnDisabled = true;
- editDelCommitBtnDisabled = false;
- }
- // 閬告姙娓堛伩銇槑缁嗐倰鍙栧緱
- ConsumableorderdetailsSelected = [
- SELECT
- Id,
- Name,
- Consumable_order__c,
- Consumable_Product__r.Name__c,
- Consumable_Product__c,
- Consumable_Product__r.Name,
- Consumable_Count__c,
- Consumable_Product__r.Category3__c,
- Consumable_Product__r.Category4__c,
- Consumable_Product__r.Category5__c,
- Consumable_Product__r.Intra_Trade_List_RMB__c,
- Consumable_Product__r.Asset_Model_No__c,
- Sum_of_money__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_Orderdetails__c
- WHERE
- recordtypeid = :System.Label.RT_ConOrderDetail1_Order
- AND Consumable_order__c = :ESetId
- AND Order_Owner_WorkLocal__c = :userWorkLocation
- AND Consumable_order__r.Dealer_Info__c = :accountid
- ];
- for (Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected) {
- if(cdc1.Consumable_Product__c != null){
- orderzaikuId.add(cdc1.Consumable_Product__c);
- }
- }
- soql = makeSoqlorderdet();
- System.debug('soql:'+soql);
- size = orderzaikuId.size();
- initStandardController();
- product2Selected = Database.query(soql);
- for (Integer i = 0; i < product2Selected.size(); i++) {
- MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
- }
- for (Integer i = 0; i < countDel.size(); i++) {
- //add by rentx 2020-12-09
- if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) {
- if (countDel[i].hospitalSpecialOffer__c == true) {
- //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
- if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- MidMap.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- } else if (String.isBlank(methodType) || methodType.equals('promotionorder')) {
- if (countDel[i].promotionorder__c == true) {
- if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- MidMap.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- } else if (
- String.isBlank(methodType) || (!methodType.equals('promotionorder') && !methodType.equals('hospitalorder'))
- ) {
- if (countDel[i].promotionorder__c == false && countDel[i].hospitalSpecialOffer__c == false) {
- if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- MidMap.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- }
- }
- consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
- //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
- for (ConsumableorderdetailsInfo bss : MidMap.values()) {
- 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;
- if (DealerProductMap.containsKey(bss.Prod.Id)) {
- bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id).Special_Campaign_Price__c;
- bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id).Campaign_EndDate__c;
- bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id).OrderGoods_Limit__c;
- }
- consumableorderdetailsRecords.add(bss);
- }
- for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
- ass.sortBy = sortOrderAsc;
- for (Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected) {
- sumPrice += cdc1.Sum_of_money__c;
- if (ass.prod.Id == cdc1.Consumable_Product__c) {
- ass.check = true;
- ass.esd = cdc1;
- }
- }
- }
- //闄勪欢
- // attachmentinfo = [SELECT Id, Name, OwnerId, Owner.Name FROM Attachment WHERE parentid = :ESetId];
- // if (attachmentinfo.size() > 0) {
- // for (Integer i = 0; i < attachmentinfo.size(); i++) {
- // 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]));
- }
- }
- //
- consumableorderdetailsRecords.sort();
- getPageInfo();
- }
- //璁$畻搴撳瓨涓娿�佷笅闄�
- productLimtAndDate();
- lowerRecord();
- //鏄庣粏鎺掑簭
- 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 + bss.allnumber > bss.upperlimit) {
- upper.add(bss.esd.Consumable_Product__r.Name__c);
- }
- }
- }
- }
- if (upper.size() > 0) {
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺瓒呭嚭搴撳瓨涓婇檺!'));
- warningMsgList.add('瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺瓒呭嚭搴撳瓨涓婇檺!');
- for (Integer i = 0; i < upper.size(); i++) {
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, upper[i]));
- warningMsgList.add(upper[i]);
- }
- }
- if (lower.size() > 0) {
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺浣庝簬搴撳瓨涓嬮檺!'));
- warningMsgList.add('瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺浣庝簬搴撳瓨涓嬮檺!');
- for (Integer i = 0; i < lower.size(); i++) {
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, lower[i]));
- warningMsgList.add(lower[i]);
- }
- }
- //浠锋牸鏌ョ湅鏉冮檺
- Schema.DescribeFieldResult dfr = Product2__c.Intra_Trade_List_RMB__c.getDescribe();
- cansee = dfr.isAccessible();
- AggregateResult[] categoryList = [
- SELECT Count(id), Category3_text__c c3c
- FROM Product2__c
- WHERE Estimation_Entry_Possibility__c = '鈼�' AND Product_Type__c LIKE :agencyProType AND Category3_text__c != NULL
- GROUP BY Category3_text__c
- ];
- //categoty3
- // categoryOptionList = new List<SelectOption>();
- category3Option = new List<CusOption>();
- // categoryOptionList.add(new SelectOption('', '-鏃�-'));
- 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));
- }
- //categoty4
- // category4OptionList = new List<SelectOption>();
- category4Option = new List<CusOption>();
- // category4OptionList.add(new SelectOption('', '-鏃�-'));
- category4Option.add(new CusOption('-鏃�-',''));
- //categoty5
- // category5OptionList = new List<SelectOption>();
- category5Option = new List<CusOption>();
- // category5OptionList.add(new SelectOption('', '-鏃�-'));
- category5Option.add(new CusOption('-鏃�-',''));
- //return msg
- consumableorderdetailsRecordsview = consumableorderdetailsRecords;
- getConsumableShowTableFieldValue();
- results.result = 'Success';
- results.coc = coc;
- results.editAble = editAble;
- results.edoffersPrice = edoffersPrice;
- results.editDelCommitBtnDisabled = EditDelCommitBtnDisabled;
- results.category3Option = category3Option;
- results.category4Option = category4Option;
- results.category5Option = category5Option;
- results.hospitalName = hospitalName;
- results.contractName = contractName;
- results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview;
- results.attachmentRecoeds = attachmentRecoeds;
- results.cansee = cansee;
- results.agencyProType = agencyProType;
- results.agencyProType1 = agencyProType1;
- results.OSHFLG = OSHFLG;
- results.userWorkLocation = userWorkLocation;
- results.accountName = accountName;
- results.category_Goods = category_Goods;
- results.specialCampaign = specialCampaign;
- results.dealerProductId = DealerProductId;
- results.accountid = accountid;
- results.hospitalId = hospitalId;
- results.contractId = contractId;
- results.contactDealer = contactDealer;
- results.errorMsgList = errorMsgList;
- results.warningMsgList = warningMsgList;
- results.methodType = methodType;
- results.proLimitAndDate = proLimitAndDate;
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- @AuraEnabled
- public static Results categoryAllload(String agencyProTypeStr, String category3Str){
- Results results = new Results();
- agencyProType = agencyProTypeStr;
- category3 = category3Str;
- try {
- AggregateResult[] category4List = [
- SELECT Count(id), Category4_text__c c4c
- FROM Product2__c
- WHERE
- Estimation_Entry_Possibility__c = '鈼�'
- AND Product_Type__c LIKE :agencyProType
- AND Category3_text__c = :category3
- AND Category4_text__c != NULL
- AND Category5_text__c != NULL
- GROUP BY Category4_text__c
- ];
- // category4OptionList = new List<SelectOption>();
- category4Option = new List<CusOption>();
- // category4OptionList.add(new SelectOption('', '-鏃�-'));
- category4Option.add(new CusOption('-鏃�-', ''));
- for (AggregateResult category4Search : category4List) {
- String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
- // category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4));
- category4Option.add(new CusOption(deliverycnt4, deliverycnt4));
- }
- AggregateResult[] category5List = [
- SELECT Count(id), Category5_text__c c5c
- FROM Product2__c
- WHERE
- Estimation_Entry_Possibility__c = '鈼�'
- AND Product_Type__c LIKE :agencyProType
- AND Category3_text__c = :category3
- AND Category4_text__c != NULL
- AND Category5_text__c != NULL
- GROUP BY Category5_text__c
- ];
- // category5OptionList = new List<SelectOption>();
- category5Option = new List<CusOption>();
- // category5OptionList.add(new SelectOption('', '-鏃�-'));
- category5Option.add(new CusOption('-鏃�-', ''));
- for (AggregateResult category5Search : category5List) {
- String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
- // category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
- category5Option.add(new CusOption(deliverycnt5, deliverycnt5));
- }
- results.category4Option = category4Option;
- results.category5Option = category5Option;
- results.result = 'Success';
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- @AuraEnabled
- public static Results categoryload(String agencyProTypeStr, String category3Str, String category4Str){
- Results results = new Results();
- agencyProType = agencyProTypeStr;
- category3 = category3Str;
- category4 = category4Str;
- try {
- AggregateResult[] category4List = [
- SELECT Count(id), Category4_text__c c4c
- FROM Product2__c
- WHERE
- Estimation_Entry_Possibility__c = '鈼�'
- AND Product_Type__c LIKE :agencyProType
- AND Category3_text__c = :category3
- AND Category4_text__c != NULL
- AND Category5_text__c != NULL
- GROUP BY Category4_text__c
- ];
- // category4OptionList = new List<SelectOption>();
- category4Option = new List<CusOption>();
- // category4OptionList.add(new SelectOption('', '-鏃�-'));
- category4Option.add(new CusOption('-鏃�-', ''));
- for (AggregateResult category4Search : category4List) {
- String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
- // category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4));
- category4Option.add(new CusOption(deliverycnt4, deliverycnt4));
- }
-
- AggregateResult[] category5List = [
- SELECT Count(id), Category5_text__c c5c
- FROM Product2__c
- WHERE
- Estimation_Entry_Possibility__c = '鈼�'
- AND Product_Type__c LIKE :agencyProType
- AND Category3_text__c = :category3
- AND Category4_text__c = :category4
- AND Category5_text__c != NULL
- GROUP BY Category5_text__c
- ];
- // category5OptionList = new List<SelectOption>();
- category5Option = new List<CusOption>();
- // category5OptionList.add(new SelectOption('', '-鏃�-'));
- category5Option.add(new CusOption('-鏃�-', ''));
- for (AggregateResult category5Search : category5List) {
- String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
- // category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
- category5Option.add(new CusOption(deliverycnt5, deliverycnt5));
- }
- results.category4Option = category4Option;
- results.category5Option = category5Option;
- results.result = 'Success';
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- // 鐢婚潰鍒濆鍖�
- public static void lowerRecord() {
- List<ConsumableorderdetailsInfo> lowerRecord = new List<ConsumableorderdetailsInfo>();
- //搴撳瓨鏄庣粏鍙栧緱
- Map<String, ConsumableorderdetailsInfo> midMaprecord = new Map<String, ConsumableorderdetailsInfo>();
- List<Product2__c> product2Selected = [
- SELECT Id, Name, Name__c, Intra_Trade_List_RMB__c, Asset_Model_No__c
- FROM Product2__c
- WHERE Pro2_Dealer_Object__c = TRUE AND Estimation_Entry_Possibility__c = '鈼�'
+ } else if (
+ (ESetId == null || ESetId == '') &&
+ (statusEdit == '' ||
+ statusEdit == null)
+ ) {
+ editAble = true;
+ } else if (
+ ESetId != null &&
+ ESetId != '' &&
+ statusEdit != '' &&
+ statusEdit != null
+ ) {
+ editAble = true;
+ }
+ 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
+ ];
+ 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) {
+ agencyProType1 = 'OSH';
+ } else if (String.isBlank(Useracc[0].UserPro_Type__c)) {
+ agencyProType1 = 'ET';
+ }
+ //lt 20230526 瀹夊窘涓ょエ鍒� end
+ if (String.isBlank(Useracc[0].UserPro_Type__c)) {
+ agencyProType = 'ET';
+ }
+ //閿欒淇℃伅鎻愮ず
+ if (
+ String.isNotBlank(methodType) &&
+ methodType.equals('hospitalorder') &&
+ agencyProType == 'ET'
+ ) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鎮ㄦ病鏈夎璐у尰闄㈢壒浠蜂骇鍝佺殑鏉冮檺!'));
+ errorMsgList.add('鎮ㄦ病鏈夎璐у尰闄㈢壒浠蜂骇鍝佺殑鏉冮檺!');
+ }
+ contactDealer = new List<String>();
+ Date dateToday = Date.today();
+ //鏌ヨ缁忛攢鍟嗕笅鎵�鏈夋湁鏁堝悎鍚�
+ List<Account> contractList = [
+ SELECT Id, Name, RecordType.DeveloperName
+ FROM Account
+ WHERE
+ 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
+ ];
+ for (Account contract : contractList) {
+ contactDealer.add(contract.Id);
+ }
+ DealerProductMap = new Map<Id, Dealer_Product__c>();
+ DealerProductId = getDealerProductId();
+ Account accountInfo = [
+ SELECT
+ Name,
+ Dealer_discount__c,
+ Product_Limit_Date__c,
+ Product_Limit_DateENG__c
+ FROM account
+ WHERE id = :accountid
+ ];
+ accountName = accountInfo.Name;
+ String product_Limit;
+ if (agencyProType == 'ET') {
+ product_Limit = accountInfo.Product_Limit_Date__c;
+ } else {
+ product_Limit = accountInfo.Product_Limit_DateENG__c;
+ }
+ if (product_Limit != null && product_Limit != '') {
+ proLimitAndDate = product_Limit.split(',');
+ }
+ saveBtnDisabled = false;
+ sorderBtnDisabled = false;
+ coc = new Consumable_order__c();
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ if (String.isBlank(agencyProType)) {
+ //return ;
+ }
+ List<Product2__c> Product2Selected = new List<Product2__c>();
+ Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
+ //缁忛攢鍟嗗湪搴撴暟鎹�
+ List<Consumable_order_details2__c> countDel = [
+ SELECT
+ Id,
+ Bar_Code__c,
+ Name,
+ Inventory_date__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Recordtypeid,
+ Box_Piece__c,
+ hospitalSpecialOffer__c,
+ promotionorder__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 Isoverdue__c = 1
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ AND Dealer_Info_text__c = :accountName
+ ];
+ if (ESetId == null || ESetId == '') {
+ //鑾峰彇缁忛攢鍟嗛粯璁ょ殑涓�涓悎鍚�
+ List<Account> contract = [
+ SELECT id, Name, State_Master__c, State_Master__r.Name
+ FROM Account
+ WHERE
+ ParentId = :accountid
+ 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
];
+ if (contract.size() == 1) {
+ contractName = contract[0].Name;
+ contractId = contract[0].Id;
+ }
+ editDelCommitBtnDisabled = true;
+ List<String> DealerProductId = new List<String>();
+ soql = makeSoql('', '', '', '', '', false, DealerProductId);
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ initStandardController();
+ product2Selected = Database.query(soql);
+
for (Integer i = 0; i < product2Selected.size(); i++) {
- lowerRecord.add(new ConsumableorderdetailsInfo(product2Selected[i]));
- //鍏堟妸ConsumableorderdetailsRecords 鍋氭垚map
- midMaprecord.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
+ consumableorderdetailsRecords.add(
+ new ConsumableorderdetailsInfo(product2Selected[i])
+ );
+ MidMap.put(
+ product2Selected[i].Id,
+ new ConsumableorderdetailsInfo(product2Selected[i])
+ );
}
- List<Consumable_order_details2__c> countDel = [
+ //鍙湁鍦ㄥ崗璁璐ф椂浼氳蛋杩欎釜for寰幆 鍏朵粬涓ょ璁㈣揣妯″紡閮借蛋鐨剆earchorderdetails鏂规硶
+ if (
+ String.isBlank(methodType) ||
+ (!methodType.equals('promotionorder') &&
+ !methodType.equals('hospitalorder'))
+ ) {
+ for (Integer i = 0; i < countDel.size(); i++) {
+ if (
+ countDel[i].promotionorder__c == false &&
+ countDel[i].hospitalSpecialOffer__c == false
+ ) {
+ if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = MidMap.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ MidMap.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ }
+ }
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ //缁忛攢鍟嗗畾浠� 璁$畻
+ for (ConsumableorderdetailsInfo bss : MidMap.values()) {
+ bss.sortBy = sortOrderAsc;
+ 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;
+ if (DealerProductMap.containsKey(bss.Prod.Id)) {
+ bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id)
+ .Special_Campaign_Price__c;
+ bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id)
+ .Campaign_EndDate__c;
+ bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id)
+ .OrderGoods_Limit__c;
+ }
+ consumableorderdetailsRecords.add(bss);
+ }
+ consumableorderdetailsRecords.sort();
+ if (
+ methodType != null &&
+ methodType != '' &&
+ (methodType.equals('hospitalorder') ||
+ methodType.equals('promotionorder'))
+ ) {
+ searchorderdetails(
+ methodType,
+ accountid,
+ hospitalId,
+ contractId,
+ userWorkLocation,
+ accountName,
+ proLimitAndDate,
+ editAble
+ );
+ isfirst = true;
+ }
+ getPageInfo();
+ } else {
+ if (methodType != null && methodType.equals('hospitalorder')) {
+ List<Consumable_order__c> oclist = [
SELECT
- Id,
- Bar_Code__c,
- Name,
- Inventory_date__c,
- Consumable_Product__c,
- Consumable_Product__r.Asset_Model_No__c,
- Recordtypeid,
- Guarantee_period_for_products__c,
- Isoverdue__c,
- Box_Piece__c,
- hospitalSpecialOffer__c,
- promotionorder__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 Isoverdue__c = 1
- AND Arrive_Owner_Work_Location__c = :userWorkLocation
- //AND Consumable_order_minor__r.Dealer_Info__c = :accountid
- AND Dealer_Info_text__c = :accountName
+ orderPattern__c,
+ Order_ForHospital__c,
+ Order_ForHospital__r.Name
+ FROM Consumable_order__c
+ WHERE id = :ESetid
+ ];
+ if (oclist.get(0).orderPattern__c.equals('hospitalorder')) {
+ hospitalName = oclist.get(0).Order_ForHospital__r.Name;
+ hospitalId = oclist.get(0).Order_ForHospital__c;
+ }
+ }
+ List<Consumable_Orderdetails__c> ConsumableorderdetailsSelected = new List<Consumable_Orderdetails__c>();
+ //淇敼
+ List<Consumable_order__c> qs = new List<Consumable_order__c>();
+ qs = [
+ SELECT
+ Id,
+ Name,
+ Order_status__c,
+ Consumable_pdf_insert_day__c,
+ Dealer_Info__c,
+ Deliver_date__c,
+ Order_Reason__c,
+ Order_date__c,
+ Contract_application_decision__c,
+ Total_amount__c,
+ Offers_Price__c,
+ Order_effective_contact__c,
+ Order_effective_contact__r.Name
+ FROM Consumable_order__c
+ WHERE Id = :ESetId AND Order_Owner_WorkLocal__c = :userWorkLocation
];
+ if (qs.size() > 0) {
+ coc = qs[0];
+ decisionCode = coc.Contract_application_decision__c;
+ contractName = coc.Order_effective_contact__r.Name;
+ contractId = coc.Order_effective_contact__r.Id;
+ }
+ if (
+ qs[0].Order_status__c == '宸叉彁浜�' ||
+ qs[0].Order_status__c == '鎵瑰噯' ||
+ qs[0].Order_status__c == '闄勪欢涓婁紶瀹屾垚'
+ ) {
+ saveBtnDisabled = true;
+ sorderBtnDisabled = true;
+ editDelCommitBtnDisabled = false;
+ }
+ // 閬告姙娓堛伩銇槑缁嗐倰鍙栧緱
+ ConsumableorderdetailsSelected = [
+ SELECT
+ Id,
+ Name,
+ Consumable_order__c,
+ Consumable_Product__r.Name__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Name,
+ Consumable_Count__c,
+ Consumable_Product__r.Category3__c,
+ Consumable_Product__r.Category4__c,
+ Consumable_Product__r.Category5__c,
+ Consumable_Product__r.Intra_Trade_List_RMB__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Sum_of_money__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_Orderdetails__c
+ WHERE
+ recordtypeid = :System.Label.RT_ConOrderDetail1_Order
+ AND Consumable_order__c = :ESetId
+ AND Order_Owner_WorkLocal__c = :userWorkLocation
+ AND Consumable_order__r.Dealer_Info__c = :accountid
+ ];
+ for (Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected) {
+ if (cdc1.Consumable_Product__c != null) {
+ orderzaikuId.add(cdc1.Consumable_Product__c);
+ }
+ }
+ soql = makeSoqlorderdet();
+ System.debug('soql:' + soql);
+ size = orderzaikuId.size();
+ initStandardController();
+ product2Selected = Database.query(soql);
+ for (Integer i = 0; i < product2Selected.size(); i++) {
+ MidMap.put(
+ product2Selected[i].Id,
+ new ConsumableorderdetailsInfo(product2Selected[i])
+ );
+ }
for (Integer i = 0; i < countDel.size(); i++) {
- //add by rentx 2020-12-09
- if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) {
- if (countDel[i].hospitalSpecialOffer__c == true) {
- //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
- if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = midMaprecord.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
- midMaprecord.put(countDel[i].Consumable_Product__c, Jstage);
- }
+ //add by rentx 2020-12-09
+ if (
+ String.isNotBlank(methodType) && methodType.equals('hospitalorder')
+ ) {
+ if (countDel[i].hospitalSpecialOffer__c == true) {
+ //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
+ if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = MidMap.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
}
- } else if (String.isBlank(methodType) || methodType.equals('promotionorder')) {
- if (countDel[i].promotionorder__c == true) {
- if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = midMaprecord.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- midMaprecord.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- } else if (String.isBlank(methodType) || (!methodType.equals('promotionorder') && !methodType.equals('hospitalorder'))) {
- if (countDel[i].promotionorder__c == false && countDel[i].hospitalSpecialOffer__c == false) {
- if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = midMaprecord.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- midMaprecord.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
+ MidMap.put(countDel[i].Consumable_Product__c, Jstage);
+ }
}
+ } else if (
+ String.isBlank(methodType) || methodType.equals('promotionorder')
+ ) {
+ if (countDel[i].promotionorder__c == true) {
+ if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = MidMap.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ MidMap.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ } else if (
+ String.isBlank(methodType) ||
+ (!methodType.equals('promotionorder') &&
+ !methodType.equals('hospitalorder'))
+ ) {
+ if (
+ countDel[i].promotionorder__c == false &&
+ countDel[i].hospitalSpecialOffer__c == false
+ ) {
+ if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = MidMap.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ MidMap.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ }
}
- lowerRecord = new List<ConsumableorderdetailsInfo>();
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
//鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
- for (ConsumableorderdetailsInfo bss : midMaprecord.values()) {
- lowerRecord.add(bss);
- }
- allProductLimt(lowerRecord);
- for (ConsumableorderdetailsInfo bss : lowerRecord) {
- if (bss.allnumber < bss.lowerlimit) {
- lower.add(bss.Prod.Name__c);
- }
- }
- }
-
- //搴撳瓨涓婁笅闄�
- 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++) {
- nowName = proLimitAndDate[i];
- if (nowName.indexOf('|') >= 0) {
- nowRightAsstModelNo = nowName.subString(0, nowName.indexOf('|'));
- nowName = nowName.subString(nowName.indexOf('|') + 1);
- }
- productLimt.put(nowRightAsstModelNo, nowName);
+ for (ConsumableorderdetailsInfo bss : MidMap.values()) {
+ 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;
+ if (DealerProductMap.containsKey(bss.Prod.Id)) {
+ bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id)
+ .Special_Campaign_Price__c;
+ bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id)
+ .Campaign_EndDate__c;
+ bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id)
+ .OrderGoods_Limit__c;
+ }
+ consumableorderdetailsRecords.add(bss);
}
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)
- );
+ ass.sortBy = sortOrderAsc;
+ for (
+ Consumable_Orderdetails__c cdc1 : ConsumableorderdetailsSelected
+ ) {
+ sumPrice += cdc1.Sum_of_money__c;
+ if (ass.prod.Id == cdc1.Consumable_Product__c) {
+ ass.check = true;
+ ass.esd = cdc1;
}
- }
- }
-
- //鍏ㄩ儴搴撳瓨涓婁笅闄�
- private static void allProductLimt(List<ConsumableorderdetailsInfo> lowerRecord) {
- String nowName = null, nowRightAsstModelNo = null;
- 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);
- }
- productLimt.put(nowRightAsstModelNo, nowName);
- }
- for (ConsumableorderdetailsInfo ass : lowerRecord) {
- 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)
- );
- }
- }
- }
-
- @AuraEnabled
- public static Results searchConsumableorderdetails(
- String userWorkLocationStr,
- String agencyProTypeStr,
- String accountNameStr,
- String accountIdStr,
- String hospitalIdStr,
- String contractIdStr,
- String category1Str,
- String category3Str,
- String category4Str,
- String category5Str,
- String category_GoodStr,
- Boolean specialCampaignStr,
- String dealerProductIdStr,
- String methodTypeStr,
- String consumableorderdetailsRecordsviewStr,
- Boolean editAbleStr,
- List<String> proLimitAndDateList
- ){
- Results results = new Results();
- errorMsgList = new List<String>();
- warningMsgList = new List<String>();
- userWorkLocation = userWorkLocationStr;
- agencyProType = agencyProTypeStr;
- accountName = accountNameStr;
- accountid = accountIdStr;
- hospitalId = hospitalIdStr;
- contractId = contractIdStr;
- category1 = category1Str;
- category3 = category3Str;
- category4 = category4Str;
- category5 = category5Str;
- category_Goods = category_GoodStr;
- specialCampaign = specialCampaignStr;
- methodType = methodTypeStr;
- editAble = editAbleStr;
- proLimitAndDate = proLimitAndDateList;
- 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 {
- searchDone = 'searchDone';
- sortKey = '1';
- preSortKey = '1';
- sortOrderAsc = false;
- sortOrder = new String[7];
- sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' };
- Map<String, String> selectedIdMap = new Map<String, String>();
- List<ConsumableorderdetailsInfo> derdetailsRecords = new List<ConsumableorderdetailsInfo>();
- Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
- List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
- List<Consumable_order_details2__c> countDel = [
- SELECT
- Id,
- Bar_Code__c,
- Name,
- Inventory_date__c,
- Consumable_Product__c,
- Consumable_Product__r.Asset_Model_No__c,
- Recordtypeid,
- Box_Piece__c,
- //add by rentx 2020-12-09
- hospitalSpecialOffer__c,
- promotionorder__c
- //add by rentx 2020-12-09
- 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 Arrive_Owner_Work_Location__c = :userWorkLocation
- AND Dealer_Info_text__c = :accountName
- ];
- List<Product2__c> product2Selected = new List<Product2__c>();
- consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
- soql = makeSoql(category1, category_Goods, category3, category4, category5, specialCampaign, DealerProductId);
- size = Integer.valueOf(System.Label.orderdetLimitsize);
- initStandardController();
- 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]));
- }
- for (Integer i = 0; i < countDel.size(); i++) {
- //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
- if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) {
- if (countDel[i].hospitalSpecialOffer__c == true) {
- if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- MidMap.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- } else if (String.isBlank(methodType) || methodType.equals('promotionorder')) {
- if (countDel[i].promotionorder__c == true) {
- if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- MidMap.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- } else if (String.isBlank(methodType) || (!methodType.equals('promotionorder') && !methodType.equals('hospitalorder'))) {
- if (countDel[i].promotionorder__c == false && countDel[i].hospitalSpecialOffer__c == false) {
- if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- MidMap.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- }
- }
- //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecordsa0l0l0000000byXAAQ
- for (ConsumableorderdetailsInfo bss : MidMap.values()) {
- if (selectedIdMap.containsKey(bss.Prod.id)) {
- continue;
- } else {
- if (DealerProductMap.containsKey(bss.Prod.Id)) {
- bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id).Special_Campaign_Price__c;
- bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id).Campaign_EndDate__c;
- bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id).OrderGoods_Limit__c;
- }
- bss.sortBy = sortOrderAsc;
- 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;
- consumableorderdetailsRecords.add(bss);
- }
- }
- consumableorderdetailsRecords.sort();
- productLimtAndDate();
- getPageInfo();
- sortKey = '1';
- preSortKey = '1';
- sortOrderAsc = false;
- sortOrder = new String[7];
- sortOrder = new List<String>{ ' ', ' ', '銆�', '', '', '', '', '' };
- cate1ForSort = category1;
- // 鏄剧ず鏁版嵁鏉℃暟淇℃伅
- // makeMessage();
- results.errorMsgList = errorMsgList;
- results.warningMsgList = warningMsgList;
- if(consumableorderdetailsRecords.size() > 0){
- getConsumableShowTableFieldValue();
- results.result = 'Success';
- results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview;
- results.errorMsg = '鎼滅储鍒�' + consumableorderdetailsRecords.size() + '浠朵骇鍝�';
- }else {
- getConsumableShowTableFieldValue();
- results.result = 'Fail';
- results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview;
- results.errorMsg = '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�';
- }
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- //鍖婚櫌--妫�绱�
- @AuraEnabled
- public static Results searchorderdetails(
- String methodTypeStr,
- String accountIdStr,
- String hospitalIdStr,
- String contractIdStr,
- String userWorkLocationStr,
- String accountNameStr,
- List<String> proLimitAndDateList,
- Boolean editAbleStr
- ){
- Results results = new Results();
- methodType = methodTypeStr;
- accountId = accountIdStr;
- hospitalId = hospitalIdStr;
- contractId = contractIdStr;
- userWorkLocation = userWorkLocationStr;
- accountName = accountNameStr;
- proLimitAndDate = proLimitAndDateList;
- editAble = editAbleStr;
- size = Integer.valueOf(System.Label.orderdetLimitsize);
- pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize);
- try {
- 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 = \'鈼媆' ';
- if (methodType.equals('hospitalorder')) {
- //鍖婚櫌id 鏈夊��
- List<hospitalprice__c> hplist = [
- SELECT id, product__c
- FROM hospitalprice__c
- WHERE account__c = :accountid AND hospital__c = :hospitalId
- ];
- if (hplist != null && hplist.size() > 0) {
- List<String> hpids = new List<String>();
- for (hospitalprice__c hc : hplist) {
- hpids.add(hc.product__c);
- }
-
- if (hpids != null && hpids.size() > 0) {
- soql += ' AND Id in : hpids ';
- }
- } else {
- //璇ュ尰闄笅娌℃湁绗﹀悎鍖婚櫌鐗逛环鐨勪骇鍝�
- soql += ' AND Id = null ';
- }
- } else if (methodType.equals('promotionorder')) {
- List<Dealer_Product__c> dpclist = [
- SELECT Id, Dealer_Product2__c
- FROM Dealer_Product__c
- WHERE Dealer_Contact__c = :contractId AND (Special_Discount__c != NULL OR Special_Campaign_Price__c != NULL)
- ];
- if (dpclist != null && dpclist.size() > 0) {
- String ids = '(';
- for (Dealer_Product__c hc : dpclist) {
- hpids.add(hc.Dealer_Product2__c);
- ids += '\'' + hc.Dealer_Product2__c + '\',';
- }
- ids = ids.substring(0, ids.length() - 1) + ')';
- if (hpids != null && hpids.size() > 0) {
- // soql += ' AND Id in : hpids ';
- soql += ' AND Id in ' + ids;
- }
- } else {
- //璇ョ粡閿�鍟嗕笅娌℃湁淇冮攢浠锋牸鐨勪骇鍝�
- soql += ' AND Id = null ';
- }
- }
- size = Integer.valueOf(System.Label.orderdetLimitsize);
- initStandardController();
- List<Product2__c> product2Selected = new List<Product2__c>();
- Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
- Map<String, String> selectedIdMap = new Map<String, String>();
- consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
- product2Selected = Database.query(soql);
- for (Integer i = 0; i < product2Selected.size(); i++) {
- MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
- }
- List<Consumable_order_details2__c> countDel = [
- SELECT
- Id,
- Bar_Code__c,
- Name,
- Inventory_date__c,
- Consumable_Product__c,
- Consumable_Product__r.Asset_Model_No__c,
- Recordtypeid,
- Box_Piece__c,
- hospitalSpecialOffer__c,
- promotionorder__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 Arrive_Owner_Work_Location__c = :userWorkLocation
- //AND Consumable_order_minor__r.Dealer_Info__c = :accountid
- AND Dealer_Info_text__c = :accountName
- ];
- for (Integer i = 0; i < countDel.size(); i++) {
- if (methodType.equals('hospitalorder')) {
- if (countDel[i].hospitalSpecialOffer__c == true) {
- //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
- if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
- MidMap.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- } else if (methodType.equals('promotionorder')) {
- if (countDel[i].promotionorder__c == true) {
- //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
- if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
- ConsumableorderdetailsInfo Jstage = MidMap.get(countDel[i].Consumable_Product__c);
- if (countDel[i].Box_Piece__c == '鐩�') {
- Jstage.allnumber = Jstage.allnumber + 1;
- } else {
- Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
- }
- //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
- MidMap.put(countDel[i].Consumable_Product__c, Jstage);
- }
- }
- }
- }
- //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecordsa0l0l0000000byXAAQ
- for (ConsumableorderdetailsInfo bss : MidMap.values()) {
- if (selectedIdMap.containsKey(bss.Prod.id)) {
- continue;
- } else {
- if (DealerProductMap.containsKey(bss.Prod.Id)) {
- bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id).Special_Campaign_Price__c;
- bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id).Campaign_EndDate__c;
- bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id).OrderGoods_Limit__c;
- }
- bss.sortBy = sortOrderAsc;
- 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;
- consumableorderdetailsRecords.add(bss);
- }
- }
- consumableorderdetailsRecords.sort();
- productLimtAndDate();
- getPageInfoForHos();
- sortKey = '1';
- preSortKey = '1';
- sortOrderAsc = false;
- sortOrder = new String[7];
- sortOrder = new List<String>{ ' ', ' ', '銆�', '', '', '', '', '' };
- cate1ForSort = category1;
- // 鏄剧ず鏁版嵁鏉℃暟淇℃伅
- noOfRecords = consumableorderdetailsRecords.size();
- getConsumableShowTableFieldValue();
- results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview;
- if(consumableorderdetailsRecordsview.size() > 0){
- results.result = 'Success';
- results.errorMsg = '鍏辨悳绱㈠埌'+consumableorderdetailsRecordsview.size()+'鏉℃暟鎹�';
- }else {
- results.result = 'Fail';
- results.errorMsg = '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�';
- }
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- //鐢ㄦ埛鍒囨崲鍖婚櫌鏃跺彇娑堥�変腑鐨勪骇鍝�
- private static List<ConsumableorderdetailsInfo> getPageInfoForHos() {
- List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
- Map<String, String> selectedIdMap = new Map<String, String>();
- consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>();
- if (editAble) {
- consumableorderdetailsRecordsview = reSet;
- }
- Integer pagestartNo = (con.getPageNumber() * size) - size;
- Integer pageendNo = (con.getPageNumber() * size) > noOfRecords ? noOfRecords : (con.getPageNumber() * size - 1);
- Integer addNo = 0;
- for (Integer i = pagestartNo; i < consumableorderdetailsRecords.size(); i++) {
- Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
- 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;
- }
- consumableorderdetailsRecordsview.add(consumableorderdetailsRecords[i]);
- addNo++;
- }
- // if (addNo >= size){
- // break;
- // }
- }
- return consumableorderdetailsRecordsview;
- }
- //add by rentx 2020-12-03 end =====================================================================================================================
- //鐗逛环
- public static void OffersPrice() {
- edoffersPrice = true;
- }
-
- //寰楀埌淇冮攢浜у搧Id
- private static List<String> getDealerProductId() {
- List<String> ProductId = new List<String>();
- Map<String, String> DealerProductIdMap = new Map<String, String>();
- Date dateToday = Date.today();
- List<Dealer_Product__c> DealerProductList = [
- SELECT
- Id,
- Name,
- Dealer_Product2__c,
- Special_Campaign_Price__c,
- Campaign_StartDate__c,
- Campaign_EndDate__c,
- Dealer_Contact__c,
- OrderGoods_Limit__c
- FROM Dealer_Product__c
- WHERE
- Dealer_Contact__c IN :contactDealer
- AND Campaign_StartDate__c <= :dateToday
- AND Campaign_EndDate__c >= :dateToday
- AND Special_Campaign_Price__c != NULL
- ];
- for (Dealer_Product__c dealerProduct : DealerProductList) {
- if (DealerProductIdMap.containsKey(dealerProduct.Dealer_Product2__c)) {
- continue;
- } else {
- ProductId.add(dealerProduct.Dealer_Product2__c);
- DealerProductIdMap.put(dealerProduct.Dealer_Product2__c, dealerProduct.Dealer_Product2__c);
- }
- }
- return ProductId;
- }
-
- private static String makeSoql(
- String CateName,
- String CateCode,
- String Category3,
- String Category4,
- String Category5,
- Boolean specialCampaign,
- List<String> DealerProductId
- ) {
- 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 = \'鈼媆' ';
- // add begin ================================================================================================
- if (methodType != null && methodType.equals('hospitalorder')) {
- //濡傛灉鏄尰闄㈢壒浠�
- //1.鍒ゆ柇 鍖婚櫌id鏄惁鏈夊�� 濡傛灉鏈夊�� 鍒欐牴鎹尰闄d鍘� 鍖婚櫌鐗逛环琛ㄤ腑鑾峰彇浜у搧id
- //鍖婚櫌id 鏈夊��
- if (hospitalId == null || hospitalId == '') {
- soql += ' and id = null ';
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鍖婚櫌'));
- warningMsgList.add('璇烽�夋嫨鍖婚櫌');
- } else {
- List<hospitalprice__c> hplist = [
- SELECT id, product__c
- FROM hospitalprice__c
- WHERE account__c = :accountid AND hospital__c = :hospitalId
- ];
- if (hplist != null && hplist.size() > 0) {
- hpids = new List<String>();
- for (hospitalprice__c hc : hplist) {
- hpids.add(hc.product__c);
- }
- if (hpids != null && hpids.size() > 0) {
- soql += ' AND Id in : hpids ';
- }
- } else {
- //璇ュ尰闄笅娌℃湁绗﹀悎鍖婚櫌鐗逛环鐨勪骇鍝�
- soql += ' AND Id = null ';
- return soql;
- }
- }
- }
- //淇冮攢璁㈣揣
- if (methodType != null && methodType.equals('promotionorder')) {
- if (contractId == null || contractId == '') {
- soql += ' and id = null ';
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鍚堝悓'));
- warningMsgList.add('璇烽�夋嫨鍚堝悓');
- } else {
- //1.鏌ヨ鎵�鏈夌粡閿�鍟嗕骇鍝�
- List<Dealer_Product__c> dpclist = [
- SELECT Id, Dealer_Product2__c
- FROM Dealer_Product__c
- WHERE Dealer_Contact__c = :contractId AND (Special_Discount__c != NULL OR Special_Campaign_Price__c != NULL)
- ];
-
- if (dpclist != null && dpclist.size() > 0) {
- hpids = new List<String>();
- for (Dealer_Product__c hc : dpclist) {
- hpids.add(hc.Dealer_Product2__c);
- }
- if (hpids != null && hpids.size() > 0) {
- soql += ' AND Id in : hpids ';
- }
- } else {
- //璇ョ粡閿�鍟嗕笅娌℃湁淇冮攢浠锋牸鐨勪骇鍝�
- soql += ' AND Id = null ';
- return soql;
- }
- }
- }
- //add end ===================================================================================================
- if (!String.isBlank(CateName)) {
- soql +=
- ' AND (Name__c like \'%' +
- String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) +
- '%\' or Asset_Model_No__c like \'%' +
- String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) +
- '%\')';
- }
- if (!String.isBlank(Category3)) {
- soql += ' AND Category3__c = \'' + Category3 + '\'';
- }
- if (!String.isBlank(Category4)) {
- soql += ' AND Category4__c = \'' + Category4 + '\'';
- }
- if (!String.isBlank(Category5)) {
- soql += ' AND Category5__c = \'' + Category5 + '\'';
- }
- if (agencyProType == 'ET') {
- soql += ' AND Pro2_Dealer_Object__c = true';
- }
- if (agencyProType == 'ENG') {
- soql += ' AND Pro2_Dealer_ENG__c = true';
- }
- soql += ' AND Intra_Trade_List_RMB__c > 0 ';
- System.debug('soql +++++++++++ ' + soql);
- return soql;
- }
-
- private static String makeSoqlorderdet() {
- String sqlTail = '(\'';
- for (Integer i = 0; i < orderzaikuId.size(); i++) {
- if (i < orderzaikuId.size() - 1) {
- sqlTail += orderzaikuId[i] + '\',\'';
- } else {
- sqlTail += orderzaikuId[i] + '\')';
- }
- }
- 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);
- if (orderzaikuId.size() > 0) {
- soql += ' AND Id in' + sqlTail;
- }
- return soql;
- }
-
- // 缂栬緫鎸夐挳
- @AuraEnabled
- public static Results setEditAble(String eSetidStr){
- Results results = new Results();
- ESetId = eSetidStr;
- try {
- statusEdit = 'Redirect';
- List<Consumable_order__c> oclist = [SELECT orderPattern__c FROM Consumable_order__c WHERE id = :ESetid];
- String url = '/lexconsumable?ESetid=' + ESetid + '&KeyWords=' + statusEdit + '&type=' + oclist.get(0).orderPattern__c;
- results.result = 'Success';
- results.url = url;
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- // 鍐嶇敵璇�
- @AuraEnabled
- public static Results backOrder(String eSetidStr) {
- Results results = new Results();
- ESetId = eSetidStr;
- statusEdit = 'Redirect';
- returnOrder = true;
- try {
- statusEdit = 'Redirect';
- List<Consumable_order__c> oclist = [SELECT orderPattern__c FROM Consumable_order__c WHERE id = :ESetid];
- String url = '/lexconsumable?ESetid=' + ESetid + '&KeyWords=' + statusEdit + '&type=' + oclist.get(0).orderPattern__c;
- results.result = 'Success';
- results.url = url;
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- //涓婁紶闄勪欢
- @AuraEnabled
- public static Results filesUpload(String pId, String fileName, String base64Data) {
- Results results = new Results();
- try {
- base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
- ContentVersion cv = new ContentVersion();
- cv.Title = fileName;
- cv.PathOnClient = '/' + fileName;
- cv.FirstPublishLocationId = pId;
- cv.VersionData = EncodingUtil.base64Decode(base64Data);
- cv.IsMajorVersion = true;
- insert cv;
- 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';
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- //鍒犻櫎鎸夐挳
- @AuraEnabled
- public static Results delConsumable(String eSetidStr){
- Results results = new Results();
- ESetId = eSetidStr;
- try {
- Consumable_order__c cord = new Consumable_order__c(Id = ESetId);
- List<Consumable_Orderdetails__c> orderdetails1 = [
- SELECT Id
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c = :EsetId
- ];
- delete orderdetails1;
- delete cord;
- results.result = 'Success';
- results.url = '/lexconsumableordermanage';
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- // 鎻愪氦鎸夐挳
- @AuraEnabled
- public static Results sorder(String eSetidStr,String accountidStr){
- Results results = new Results();
- errorMsgList = new List<String>();
- warningMsgList = new List<String>();
- ESetId = eSetidStr;
- accountid = accountidStr;
- Savepoint sp = Database.setSavepoint();
- try {
- Map<Id, String> prodMap = new Map<Id, String>();
- Consumable_order__c P = new Consumable_order__c();
- P = new Consumable_order__c();
- p.Id = ESetId;
- p.Order_date__c = Date.today();
- p.Order_status__c = '闄勪欢涓婁紶瀹屾垚';
- for (Consumable_Orderdetails__c cod1 : [
- SELECT Consumable_product__r.Product2__c, Consumable_product__r.Name__c
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c = :ESetId
- ]) {
- prodMap.put(cod1.Consumable_product__r.Product2__c, cod1.Consumable_product__r.Name__c);
- }
- // GZW 鎻愪氦浜у搧鏃犳晥 鍑洪敊璇秷鎭�
- System.debug(prodMap);
- Map<String, String> chkMap = OpportunityWebService.MapCheckProRegisterDecide(prodMap, accountid, '');
- System.debug(chkMap);
- if (chkMap.size() > 0) {
- if (chkMap.containsKey('agency')) {
- // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍖荤枟鍣ㄦ缁忚惀璁稿彲璇併��'));
- errorMsgList.add('绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍖荤枟鍣ㄦ缁忚惀璁稿彲璇併��');
- }
- for (String proId : prodMap.keySet()) {
- if (chkMap.containsKey(proId)) {
- if (chkMap.get(proId) == '1') {
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.Error, '浜у搧 ' + prodMap.get(proId) + ' 娌℃湁鏈夋晥鐨勬敞鍐岃瘉銆�')
- // );
- errorMsgList.add('浜у搧 ' + prodMap.get(proId) + ' 娌℃湁鏈夋晥鐨勬敞鍐岃瘉銆�');
- } else if (chkMap.get(proId) == '2') {
- // ApexPages.addmessage(
- // new ApexPages.message(ApexPages.severity.Error, '浜у搧 ' + prodMap.get(proId) + ' 瓒呰繃缁忛攢鍟嗙粡钀ヨ寖鍥淬��')
- // );
- errorMsgList.add('浜у搧 ' + prodMap.get(proId) + ' 瓒呰繃缁忛攢鍟嗙粡钀ヨ寖鍥淬��');
- }
- }
- }
- results.result = 'Fail';
- results.errorMsg = '';
- results.errorMsgList = errorMsgList;
- results.warningMsgList = warningMsgList;
- return results;
- }
- update p;
- Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest();
- psr.setObjectId(ESetId);
- Approval.ProcessResult submitResult = Approval.process(psr);
- results.result = 'Success';
- results.url = '/lexconsumableordermanage';
- } catch (Exception e) {
- Database.rollback(sp);
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- // 椹冲洖璁㈠崟copy
- @AuraEnabled
- public static Results ordrCopy(
- String contractNameStr,
- String cocStr,
- String agencyProTypeStr,
- String accountidStr,
- String consumableorderdetailsRecordsviewStr,
- String contactDealerStr,
- String methodTypeStr,
- String hospitalIdStr,
- String contractIdStr,
- String agencyProType1Str,
- Boolean OSHFLGStr
- ) {
- ESetId = '';
- return save(contractNameStr,cocStr,agencyProTypeStr,accountidStr,consumableorderdetailsRecordsviewStr,contactDealerStr,methodTypeStr,ESetId,hospitalIdStr,contractIdStr,agencyProType1Str,OSHFLGStr);
- }
-
- //淇濆瓨鎸夐挳
- @AuraEnabled
- public static Results save(
- String contractNameStr,
- String cocStr,
- String agencyProTypeStr,
- String accountidStr,
- String consumableorderdetailsRecordsviewStr,
- String contactDealerStr,
- String methodTypeStr,
- String eSetIdStr,
- String hospitalIdStr,
- String contractIdStr,
- String agencyProType1Str,
- Boolean OSHFLGStr
- ){
- Results results = new Results();
- errorMsgList = new List<String>();
- warningMsgList = new List<String>();
- contractName = contractNameStr;
- agencyProType = agencyProTypeStr;
- accountid = accountidStr;
- methodType = methodTypeStr;
- ESetId = eSetIdStr;
- hospitalId = hospitalIdStr;
- 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){
- String offerStr = String.valueOf(coc.Offers_Price__c);
- bargainPrice = Decimal.valueOf(offerStr.replace(',',''));
- }
- Savepoint sp = Database.setSavepoint();
- try {
- if (String.isEmpty(contractName)) {
- // coc.Order_effective_contact__c.addError('璇烽�夋嫨鍚堝悓');
- results.result = 'Fail';
- results.errorMsg = '璇烽�夋嫨鍚堝悓';
- return results;
- }
- List<Account> contract = [
- SELECT Id, Name, Contract_Department_Class__c, Contract_Quote_Decide_Flag__c
- FROM account
- WHERE
- Name = :contractName
- 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
- ];
- if (contract.size() <= 0) {
- // coc.Order_effective_contact__c.addError('涓嶅瓨鍦ㄧ殑鍚堝悓锛岃閲嶆柊纭銆�');
- results.result = 'Fail';
- results.errorMsg = '涓嶅瓨鍦ㄧ殑鍚堝悓锛岃閲嶆柊纭銆�';
- return results;
- } else {
- if (String.isEmpty(contract[0].Contract_Quote_Decide_Flag__c)) {
- // coc.Order_effective_contact__c.addError('鍚堝悓鏃犳晥锛岃閲嶆柊纭銆�');
- results.result = 'Fail';
- results.errorMsg = '鍚堝悓鏃犳晥锛岃閲嶆柊纭銆�';
- return results;
- }
- }
- Integer FLG = 0;
- Integer Count = 0;
- //add by rentx 2020-11-25
- List<String> tpids = new List<String>();
- //add by rentx 2020-11-25
- for (ConsumableorderdetailsInfo CheckCount : consumableorderdetailsRecordsview) {
- FLG = FLG + 1;
- if (CheckCount.check == false) {
- Count = Count + 1;
- }
- if (CheckCount.check == true) {
- //add by rentx 2020-11-25
- tpids.add(CheckCount.Prod.Id);
- //add by rentx 2020-11-25
- if (CheckCount.esd.Consumable_Count__c == null || CheckCount.esd.Consumable_Count__c == 0) {
- // CheckCount.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�');
- results.result = 'Fail';
- results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�';
- return results;
- }
- if (
- CheckCount.orderGoods_Limit > 0 &&
- math.mod(Integer.valueOf(CheckCount.esd.Consumable_Count__c), Integer.valueOf(CheckCount.orderGoods_Limit)) > 0
- ) {
- // CheckCount.esd.Consumable_Count__c.addError('璇疯緭鍏ヤ績閿�鏁伴噺鐨勫�嶆暟');
- results.result = 'Fail';
- results.errorMsg = '璇疯緭鍏ヤ績閿�鏁伴噺鐨勫�嶆暟';
- return results;
- }
- }
- }
- if (Count == FLG) {
- results.result = 'Fail';
- results.errorMsg = '璇烽�夋嫨鎵�闇�娑堣�楀搧';
- return results;
- }
- //=======================================鍖婚櫌鐗逛环,鏈夐噾棰濈殑璇濆彇閲戦
- 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
- ];
- for (hospitalprice__c dealerProduct : hplist) {
- if (dealerProduct.mPrice__c != null) {
- dealerHospitalmMap.put('' + dealerProduct.hospital__c + dealerProduct.product__c,dealerProduct.mPrice__c);
- }
- }
- //淇冮攢璁㈣揣 鏍规嵁缁忛攢鍟嗕骇鍝佷腑鐨勬暟鎹绠楅噾棰�
- //=======================================浜у搧鐗规畩鎶樻墸
- Map<String, Decimal> dealerPDiscountMap = new Map<String, Decimal>();
- Map<String, Decimal> dealerMPDiscountMap = new Map<String, Decimal>();
- //1.鑾峰彇鏈夊紑濮嬬粨鏉熸棩鐨勪骇鍝�
- Date dateToday = Date.today();
- List<Dealer_Product__c> haveDateList = [
- SELECT
- Id,
- Name,
- Dealer_Product2__c,
- Special_Campaign_Price__c,
- Campaign_StartDate__c,
- Campaign_EndDate__c,
- Dealer_Contact__c,
- OrderGoods_Limit__c,
- Special_Discount__c
- FROM Dealer_Product__c
- WHERE
- Dealer_Contact__c IN :contactDealer
- AND Campaign_StartDate__c <= :dateToday
- AND Campaign_EndDate__c >= :dateToday
- AND (Special_Discount__c != NULL
- OR Special_Campaign_Price__c != NULL)
- ];
- //2.鑾峰彇娌℃湁寮�濮嬬粨鏉熸棩鐨勪骇鍝�
- List<Dealer_Product__c> DealerProductList = [
- SELECT
- Id,
- Name,
- Dealer_Product2__c,
- Special_Campaign_Price__c,
- Campaign_StartDate__c,
- Campaign_EndDate__c,
- Dealer_Contact__c,
- Special_Discount__c,
- OrderGoods_Limit__c
- FROM Dealer_Product__c
- WHERE Dealer_Contact__c IN :contactDealer AND (Special_Discount__c != NULL OR Special_Campaign_Price__c != NULL)
- ];
- for (Dealer_Product__c dealerProduct : DealerProductList) {
- //濡傛灉淇冮攢浠锋牸涓簄ull 鍒欒缃壒娈婃姌鎵�(鐧惧垎姣�)鍒伴泦鍚�
- if (dealerProduct.Special_Campaign_Price__c == null) {
- dealerPDiscountMap.put(
- '' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c,
- dealerProduct.Special_Discount__c
- );
- } else {
- dealerMPDiscountMap.put(
- '' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c,
- dealerProduct.Special_Campaign_Price__c
- );
- }
- }
- //杩欐牱鍋氭槸涓轰簡璁$畻淇冮攢浠锋牸鏃� 浼樺厛璁$畻淇冮攢寮�濮嬬粨鏉熸棩涓嶄负绌虹殑浜у搧
- //濡傛灉璇ラ泦鍚堟湁鍊� 鍒欒鏄庨渶瑕佹牴鎹綋鍓嶇殑閲戦鎴栬�呮姌鎵f潵璁$畻
- if (haveDateList != null && haveDateList.size() > 0) {
- for (Dealer_Product__c dealerProduct : haveDateList) {
- if (dealerProduct.Special_Campaign_Price__c == null) {
- dealerPDiscountMap.put(
- '' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c,
- dealerProduct.Special_Discount__c
- );
- dealerMPDiscountMap.remove('' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c);
- } else {
- dealerMPDiscountMap.put(
- '' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c,
- dealerProduct.Special_Campaign_Price__c
- );
- dealerPDiscountMap.remove('' + dealerProduct.Dealer_Contact__c + dealerProduct.Dealer_Product2__c);
- }
- }
- }
- //=======================================缁忛攢鍟嗗悎鍚屾姌鎵�
- List<Account> at = [
- SELECT id, Name, State_Master__c, State_Master__r.Name, Sales_Section__c, Dealer_discount__c
- FROM Account
- WHERE
- Name = :contractName
- 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
- ];
- if (at.size() > 0 && at[0].Dealer_discount__c != null) {
- disCount = at[0].Dealer_discount__c;
- } else {
- disCount = 100;
- }
- Consumable_order__c P = new Consumable_order__c();
- List<Consumable_Orderdetails__c> Ins = new List<Consumable_Orderdetails__c>();
- //鏂板缓璁㈠崟鏃�
- if (String.isBlank(ESetId)) {
- Integer i = 1;
- Integer Roll = 0;
- p.Name = '*';
- p.Order_status__c = '鑽夋涓�';
- p.Dealer_Info__c = accountid;
- p.Order_ProType__c = agencyProType;
- p.Offers_Price__c = coc.Offers_Price__c;
- p.Order_date__c = coc.Order_date__c;
- p.Order_effective_contact__c = contract[0].Id;
- p.Order_Reason__c = coc.Order_Reason__c;
- p.RecordTypeid = System.Label.RT_ConOrder_Order;
- p.Overrule_order__c = coc.Id;
- if (String.isNotBlank(methodType)) {
- p.orderPattern__c = methodType;
- }
- insert p;
- List<Consumable_order__c> Consumable_order = [SELECT Name, orderPattern__c FROM Consumable_order__c WHERE id = :p.id];
- for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) {
- Roll = Roll + 1;
- if (ass.check == true) {
- if (ass.esd.Consumable_Count__c == null || ass.esd.Consumable_Count__c == 0) {
- // ass.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�');
- results.result = 'Fail';
- results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�';
- return results;
- } else {
- Consumable_Orderdetails__c InsAfterDel = new Consumable_Orderdetails__c();
- String str = string.valueOf(i);
- if (str.length() == 1) {
- str = '0' + str;
- }
- InsAfterDel.Name = Consumable_order[0].Name + '-' + str;
- InsAfterDel.Consumable_Count__c = ass.esd.Consumable_Count__c;
- InsAfterDel.Consumable_order__c = p.id;
- InsAfterDel.Consumable_Product__c = ass.Prod.id;
- InsAfterDel.Box_Piece__c = '鐩�';
- //鍗忚璁㈣揣
- if (methodType.equals('agreementorder')) {
- Consumable_order[0].orderPattern__c = 'agreementorder';
-
- InsAfterDel.Intra_Trade_List_RMB__c = ass.Prod.Intra_Trade_List_RMB__c * disCount / 100;
- //=====================================================================================update by rentx 2020-11-25
- } else if (methodType.equals('promotionorder')) {
- Consumable_order[0].orderPattern__c = 'promotionorder';
- //淇冮攢璁㈣揣
- //濡傛灉淇冮攢浠锋牸涓嶄负null 鍒欑洿鎺ヤ娇鐢ㄤ績閿�浠锋牸鏉ヨ绠楅噾棰�
- if (dealerMPDiscountMap.containsKey('' + contract[0].Id + ass.Prod.Id)) {
- InsAfterDel.Intra_Trade_List_RMB__c = dealerMPDiscountMap.get('' + contract[0].Id + ass.Prod.Id);
- system.debug('cai 0' + InsAfterDel.Intra_Trade_List_RMB__c);
- } else if (dealerPDiscountMap.containsKey('' + contract[0].Id + ass.Prod.Id)) {
- InsAfterDel.Intra_Trade_List_RMB__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);
- }
- //=====================================================================================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) {
- //鐩存帴鏍规嵁淇冮攢閲戦璁$畻
- 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;
- system.debug('cai 2' + InsAfterDel.Intra_Trade_List_RMB__c);
- InsAfterDel.Purchase_Unitprtprice_From__c = '淇冮攢';
- InsAfterDel.Special_Campaign_Price__c = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c;
- }
- InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
- i++;
- Ins.add(InsAfterDel);
- }
- }
- }
- ESetId = p.id;
- if (Consumable_order.size() > 0) {
- update Consumable_order;
- }
- }
- //淇敼涔嬪悗 淇濆瓨璁㈠崟
- if (Ins.size() > 0) {
- insert Ins;
- } else {
- //淇敼,鑾峰彇娑堣�楀搧璁㈠崟
- List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
- cocinfo = [
- SELECT Id, Name, Order_status__c, Dealer_Info__c, Deliver_date__c, Order_Reason__c, Offers_Price__c
- FROM Consumable_order__c
- WHERE Id = :ESetId
- ];
- if (cocinfo.size() > 0) {
- p = cocinfo[0];
- }
- p.Name = coc.Name;
- p.Dealer_Info__c = accountid;
- p.Order_ProType__c = agencyProType;
- p.Order_date__c = coc.Order_date__c;
- p.Order_effective_contact__c = contract[0].Id;
- p.Order_Reason__c = coc.Order_Reason__c;
- if (bargainPrice != null) {
- p.Offers_Price__c = bargainPrice;
- }
- update p;
- List<Consumable_order__c> Consumable_order = [SELECT Name, orderPattern__c FROM Consumable_order__c WHERE id = :p.id];
- List<Consumable_Orderdetails__c> qs = new List<Consumable_Orderdetails__c>();
- qs = [
- SELECT Id
- FROM Consumable_Orderdetails__c
- WHERE Consumable_order__c = :ESetId AND Consumable_order__r.Dealer_Info__c = :accountid
- ];
- if (qs.size() > 0) {
- delete qs;
- }
- Integer i = 1;
- for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview) {
- if (ass.check == true) {
- Consumable_Orderdetails__c InsAfterDel = new Consumable_Orderdetails__c();
- if (ass.esd.Consumable_Count__c == null || ass.esd.Consumable_Count__c == 0) {
- // ass.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�');
- results.result = 'Fail';
- results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�';
- return results;
- } else {
- String str = string.valueOf(i);
- if (str.length() == 1) {
- str = '0' + str;
- }
- InsAfterDel.Name = Consumable_order[0].Name + '-' + str;
- InsAfterDel.Consumable_Count__c = ass.esd.Consumable_Count__c;
- InsAfterDel.Consumable_order__c = ESetId;
- InsAfterDel.Consumable_Product__c = ass.Prod.id;
- InsAfterDel.Box_Piece__c = '鐩�';
- //鍗忚璁㈣揣
- if (methodType.equals('agreementorder')) {
- Consumable_order[0].orderPattern__c = 'agreementorder';
- InsAfterDel.Intra_Trade_List_RMB__c = ass.Prod.Intra_Trade_List_RMB__c * disCount / 100;
- } else if (methodType.equals('promotionorder')) {
- Consumable_order[0].orderPattern__c = 'promotionorder';
- //淇冮攢璁㈣揣
- if (dealerMPDiscountMap.containsKey('' + contract[0].Id + ass.Prod.Id)) {
- InsAfterDel.Intra_Trade_List_RMB__c = dealerMPDiscountMap.get('' + contract[0].Id + ass.Prod.Id);
- } else if (dealerPDiscountMap.containsKey('' + contract[0].Id + ass.Prod.Id)) {
- InsAfterDel.Intra_Trade_List_RMB__c =
- ass.Prod.Intra_Trade_List_RMB__c *
- dealerPDiscountMap.get('' + contract[0].Id + ass.Prod.Id) /
- 100;
- }
- } else if (methodType.equals('hospitalorder')) {
- 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) {
- //鐩存帴鏍规嵁淇冮攢閲戦璁$畻
- 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;
- InsAfterDel.Purchase_Unitprtprice_From__c = '淇冮攢';
- InsAfterDel.Special_Campaign_Price__c = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c;
- }
- // ==================================================涔嬪墠鐨勪績閿�璁㈣揣鐨勯�昏緫
- InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
- i++;
- Ins.add(InsAfterDel);
- }
- }
- }
- if (Ins.size() > 0) {
- insert Ins;
- }
- }
- results.result = 'Success';
- results.eSetId = ESetId;
- } catch (Exception e) {
- Database.rollback(sp);
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- //鍒犻櫎闄勪欢
- @AuraEnabled
- 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];
- 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;
- update c;
- }
- results.result = 'Success';
- } catch (Exception e) {
- results.result = 'Fail';
- results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
- }
- return results;
- }
-
- public static void getConsumableShowTableFieldValue(){
- for(ConsumableorderdetailsInfo con :consumableorderdetailsRecordsview){
- if(con.Prod != null){
- con.recordId = con.Prod.Id;
- if(!con.oldCheck){
- con.prodName = con.Prod.Name__c;
- // System.debug('ProdName:'+con.Prod.Id+'---'+con.Prod.Name__c);
- }
- con.prodSFDAStatus = con.Prod.SFDA_Status__c;
- con.prodCategory3 = con.Prod.Category3__c;
- con.prodCategory4 = con.Prod.Category4__c;
- con.prodCategory5 = con.Prod.Category5__c;
- con.prodIntraTradeList = con.Prod.Intra_Trade_List_RMB__c;
- }
- if(con.esd != null){
- // if(con.oldCheck){
- // con.prodName = con.esd.Consumable_Product__r.Name__c;
- // }
- con.consumableCount = con.esd.Consumable_count__c;
- }
- }
- }
-
- public class ConsumableorderdetailsInfo implements Comparable {
- @AuraEnabled
- public Boolean check { get; set; }
- @AuraEnabled
- public Boolean oldCheck { get; set; }
- @AuraEnabled
- public Consumable_Orderdetails__c esd { get; set; }
- @AuraEnabled
- public Product2__c Prod { get; set; }
- @AuraEnabled
- public Integer packing_list { get; set; }
- @AuraEnabled
- public Date expiration_Date { get; set; }
- @AuraEnabled
- public String approbation_No { get; set; }
- @AuraEnabled
- public Decimal allnumber { get; set; }
- @AuraEnabled
- public Decimal allnumber_piece { get; set; }
- @AuraEnabled
- public Decimal oldConsumableCount { get; set; }
- @AuraEnabled
- public Boolean canSelect { get; set; }
- @AuraEnabled
- public ContentVersion Concc { get; set; }
- @AuraEnabled
- public Boolean sortBy { get; set; }
- @AuraEnabled
- public Decimal upperlimit { get; set; }
- @AuraEnabled
- public Decimal lowerlimit { get; set; }
- @AuraEnabled
- public Decimal SpecialCampaignPrice { get; set; }
- @AuraEnabled
- public Decimal orderGoods_Limit { get; set; }
- @AuraEnabled
- public Date Campaign_EndDate { get; set; }
- @AuraEnabled
- public String recordId { get; set; }
- @AuraEnabled
- public String prodName { get; set; }
- @AuraEnabled
- public String prodSFDAStatus { get; set; }
- @AuraEnabled
- public String prodCategory3 { get; set; }
- @AuraEnabled
- public String prodCategory4 { get; set; }
- @AuraEnabled
- public String prodCategory5 { get; set; }
- @AuraEnabled
- public Decimal prodIntraTradeList { get; set; }
- @AuraEnabled
- public Decimal consumableCount { get; set; }
-
-
- // 宸插瓨浜у搧鏄庣粏
- public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) {
- check = true;
- oldCheck = true;
- esd = e;
- Prod = e.Consumable_Product__r;
- oldConsumableCount = e.Consumable_Count__c;
- canSelect = true;
- allnumber = 0;
- allnumber_piece = 0;
- }
-
- public ConsumableorderdetailsInfo(Product2__c e) {
- check = false;
- oldCheck = false;
- esd = new Consumable_Orderdetails__c();
- Prod = e;
- oldConsumableCount = null;
- canSelect = true;
- allnumber = 0;
- allnumber_piece = 0;
+ }
}
//闄勪欢
- public ConsumableorderdetailsInfo(ContentVersion e) {
- Concc = e;
- }
- // 鎺掑簭Consumable_order__c
- public Integer compareTo(Object compareTo) {
- ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo;
- Integer returnValue = 0;
- if (check == true) {
- if (sortBy == false) {
- if (allnumber > compareToesd.allnumber) {
- returnValue = -1;
- } else if (allnumber < compareToesd.allnumber) {
- returnValue = 1;
- }
- return returnValue;
- } else {
- if (allnumber > compareToesd.allnumber) {
- returnValue = 1;
- } else if (allnumber < compareToesd.allnumber) {
- returnValue = -1;
- }
- return returnValue;
- }
- } else {
- if (sortBy == false) {
- if (allnumber > compareToesd.allnumber) {
- returnValue = -1;
- } else if (allnumber < compareToesd.allnumber) {
- returnValue = 1;
- }
- return returnValue;
- } else {
- if (allnumber > compareToesd.allnumber) {
- returnValue = 1;
- } else if (allnumber < compareToesd.allnumber) {
- returnValue = -1;
- }
- return returnValue;
- }
+ // attachmentinfo = [SELECT Id, Name, OwnerId, Owner.Name FROM Attachment WHERE parentid = :ESetId];
+ // if (attachmentinfo.size() > 0) {
+ // for (Integer i = 0; i < attachmentinfo.size(); i++) {
+ // attachmentRecoeds.add(new ConsumableorderdetailsInfo(attachmentinfo[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]));
}
+ }
}
- }
-
- public class Results {
- @AuraEnabled
- public String result;
- @AuraEnabled
- public String errorMsg;
- @AuraEnabled
- public String eSetId;
- @AuraEnabled
- public String agencyProType;
- @AuraEnabled
- public String userWorkLocation;
- @AuraEnabled
- public String accountName;
- @AuraEnabled
- public String accountid;
- @AuraEnabled
- public String hospitalId;
- @AuraEnabled
- public String contractId;
- @AuraEnabled
- public String category_Goods;
- @AuraEnabled
- public Consumable_order__c coc;
- @AuraEnabled
- public Boolean edoffersPrice;
- @AuraEnabled
- public Boolean editDelCommitBtnDisabled;
- @AuraEnabled
- public Boolean editAble;
- @AuraEnabled
- public String hospitalName;
- @AuraEnabled
- public String contractName;
- @AuraEnabled
- public List<CusOption> category3Option;
- @AuraEnabled
- public List<CusOption> category4Option;
- @AuraEnabled
- public List<CusOption> category5Option;
- @AuraEnabled
- public List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsview;
- @AuraEnabled
- public List<ConsumableorderdetailsInfo> attachmentRecoeds;
- @AuraEnabled
- public Boolean cansee;
- @AuraEnabled
- public List<String> errorMsgList;
- @AuraEnabled
- public List<String> warningMsgList;
- @AuraEnabled
- public Boolean hasWarning;
- @AuraEnabled
- public Boolean hasError;
- @AuraEnabled
- public Boolean specialCampaign;
- @AuraEnabled
- public List<String> dealerProductId;
- @AuraEnabled
- public List<String> contactDealer;
- @AuraEnabled
- public String url;
- @AuraEnabled
- public String methodType;
- @AuraEnabled
- public List<String> proLimitAndDate;
- @AuraEnabled
- public Boolean isNoteStay;
- @AuraEnabled
- public Boolean OSHFLG;
- @AuraEnabled
- public String agencyProType1;
- }
-
- public class CusOption {
- CusOption(String label, String value) {
- this.label = label;
- this.value = value;
+ //
+ consumableorderdetailsRecords.sort();
+ getPageInfo();
+ }
+ //璁$畻搴撳瓨涓娿�佷笅闄�
+ productLimtAndDate();
+ lowerRecord();
+ //鏄庣粏鎺掑簭
+ 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 + bss.allnumber > bss.upperlimit) {
+ upper.add(bss.esd.Consumable_Product__r.Name__c);
+ }
+ }
}
-
- @AuraEnabled
- public String label;
- @AuraEnabled
- public String value;
+ }
+ if (upper.size() > 0) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺瓒呭嚭搴撳瓨涓婇檺!'));
+ warningMsgList.add('瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺瓒呭嚭搴撳瓨涓婇檺!');
+ for (Integer i = 0; i < upper.size(); i++) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, upper[i]));
+ warningMsgList.add(upper[i]);
+ }
+ }
+ if (lower.size() > 0) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺浣庝簬搴撳瓨涓嬮檺!'));
+ warningMsgList.add('瀛樺湪浠ヤ笅浜у搧璁㈣揣鏁伴噺浣庝簬搴撳瓨涓嬮檺!');
+ for (Integer i = 0; i < lower.size(); i++) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, lower[i]));
+ warningMsgList.add(lower[i]);
+ }
+ }
+ //浠锋牸鏌ョ湅鏉冮檺
+ Schema.DescribeFieldResult dfr = Product2__c.Intra_Trade_List_RMB__c.getDescribe();
+ cansee = dfr.isAccessible();
+ AggregateResult[] categoryList = [
+ SELECT Count(id), Category3_text__c c3c
+ FROM Product2__c
+ WHERE
+ Estimation_Entry_Possibility__c = '鈼�'
+ AND Product_Type__c LIKE :agencyProType
+ AND Category3_text__c != NULL
+ GROUP BY Category3_text__c
+ ];
+ //categoty3
+ // categoryOptionList = new List<SelectOption>();
+ category3Option = new List<CusOption>();
+ // categoryOptionList.add(new SelectOption('', '-鏃�-'));
+ 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));
+ }
+ //categoty4
+ // category4OptionList = new List<SelectOption>();
+ category4Option = new List<CusOption>();
+ // category4OptionList.add(new SelectOption('', '-鏃�-'));
+ category4Option.add(new CusOption('-鏃�-', ''));
+ //categoty5
+ // category5OptionList = new List<SelectOption>();
+ category5Option = new List<CusOption>();
+ // category5OptionList.add(new SelectOption('', '-鏃�-'));
+ category5Option.add(new CusOption('-鏃�-', ''));
+ //return msg
+ consumableorderdetailsRecordsview = consumableorderdetailsRecords;
+ getConsumableShowTableFieldValue();
+ results.result = 'Success';
+ results.coc = coc;
+ results.editAble = editAble;
+ results.edoffersPrice = edoffersPrice;
+ results.editDelCommitBtnDisabled = EditDelCommitBtnDisabled;
+ results.category3Option = category3Option;
+ results.category4Option = category4Option;
+ results.category5Option = category5Option;
+ results.hospitalName = hospitalName;
+ results.contractName = contractName;
+ results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview;
+ results.attachmentRecoeds = attachmentRecoeds;
+ results.cansee = cansee;
+ results.agencyProType = agencyProType;
+ results.agencyProType1 = agencyProType1;
+ results.OSHFLG = OSHFLG;
+ results.userWorkLocation = userWorkLocation;
+ results.accountName = accountName;
+ results.category_Goods = category_Goods;
+ results.specialCampaign = specialCampaign;
+ results.dealerProductId = DealerProductId;
+ results.accountid = accountid;
+ results.hospitalId = hospitalId;
+ results.contractId = contractId;
+ results.contactDealer = contactDealer;
+ results.errorMsgList = errorMsgList;
+ results.warningMsgList = warningMsgList;
+ results.methodType = methodType;
+ results.proLimitAndDate = proLimitAndDate;
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
}
-}
\ No newline at end of file
+ return results;
+ }
+
+ @AuraEnabled
+ public static Results categoryAllload(
+ String agencyProTypeStr,
+ String category3Str
+ ) {
+ Results results = new Results();
+ agencyProType = agencyProTypeStr;
+ category3 = category3Str;
+ try {
+ AggregateResult[] category4List = [
+ SELECT Count(id), Category4_text__c c4c
+ FROM Product2__c
+ WHERE
+ Estimation_Entry_Possibility__c = '鈼�'
+ AND Product_Type__c LIKE :agencyProType
+ AND Category3_text__c = :category3
+ AND Category4_text__c != NULL
+ AND Category5_text__c != NULL
+ GROUP BY Category4_text__c
+ ];
+ // category4OptionList = new List<SelectOption>();
+ category4Option = new List<CusOption>();
+ // category4OptionList.add(new SelectOption('', '-鏃�-'));
+ category4Option.add(new CusOption('-鏃�-', ''));
+ for (AggregateResult category4Search : category4List) {
+ String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
+ // category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4));
+ category4Option.add(new CusOption(deliverycnt4, deliverycnt4));
+ }
+ AggregateResult[] category5List = [
+ SELECT Count(id), Category5_text__c c5c
+ FROM Product2__c
+ WHERE
+ Estimation_Entry_Possibility__c = '鈼�'
+ AND Product_Type__c LIKE :agencyProType
+ AND Category3_text__c = :category3
+ AND Category4_text__c != NULL
+ AND Category5_text__c != NULL
+ GROUP BY Category5_text__c
+ ];
+ // category5OptionList = new List<SelectOption>();
+ category5Option = new List<CusOption>();
+ // category5OptionList.add(new SelectOption('', '-鏃�-'));
+ category5Option.add(new CusOption('-鏃�-', ''));
+ for (AggregateResult category5Search : category5List) {
+ String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
+ // category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
+ category5Option.add(new CusOption(deliverycnt5, deliverycnt5));
+ }
+ results.category4Option = category4Option;
+ results.category5Option = category5Option;
+ results.result = 'Success';
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ @AuraEnabled
+ public static Results categoryload(
+ String agencyProTypeStr,
+ String category3Str,
+ String category4Str
+ ) {
+ Results results = new Results();
+ agencyProType = agencyProTypeStr;
+ category3 = category3Str;
+ category4 = category4Str;
+ try {
+ AggregateResult[] category4List = [
+ SELECT Count(id), Category4_text__c c4c
+ FROM Product2__c
+ WHERE
+ Estimation_Entry_Possibility__c = '鈼�'
+ AND Product_Type__c LIKE :agencyProType
+ AND Category3_text__c = :category3
+ AND Category4_text__c != NULL
+ AND Category5_text__c != NULL
+ GROUP BY Category4_text__c
+ ];
+ // category4OptionList = new List<SelectOption>();
+ category4Option = new List<CusOption>();
+ // category4OptionList.add(new SelectOption('', '-鏃�-'));
+ category4Option.add(new CusOption('-鏃�-', ''));
+ for (AggregateResult category4Search : category4List) {
+ String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
+ // category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4));
+ category4Option.add(new CusOption(deliverycnt4, deliverycnt4));
+ }
+
+ AggregateResult[] category5List = [
+ SELECT Count(id), Category5_text__c c5c
+ FROM Product2__c
+ WHERE
+ Estimation_Entry_Possibility__c = '鈼�'
+ AND Product_Type__c LIKE :agencyProType
+ AND Category3_text__c = :category3
+ AND Category4_text__c = :category4
+ AND Category5_text__c != NULL
+ GROUP BY Category5_text__c
+ ];
+ // category5OptionList = new List<SelectOption>();
+ category5Option = new List<CusOption>();
+ // category5OptionList.add(new SelectOption('', '-鏃�-'));
+ category5Option.add(new CusOption('-鏃�-', ''));
+ for (AggregateResult category5Search : category5List) {
+ String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
+ // category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
+ category5Option.add(new CusOption(deliverycnt5, deliverycnt5));
+ }
+ results.category4Option = category4Option;
+ results.category5Option = category5Option;
+ results.result = 'Success';
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ // 鐢婚潰鍒濆鍖�
+ public static void lowerRecord() {
+ List<ConsumableorderdetailsInfo> lowerRecord = new List<ConsumableorderdetailsInfo>();
+ //搴撳瓨鏄庣粏鍙栧緱
+ Map<String, ConsumableorderdetailsInfo> midMaprecord = new Map<String, ConsumableorderdetailsInfo>();
+ List<Product2__c> product2Selected = [
+ SELECT Id, Name, Name__c, Intra_Trade_List_RMB__c, Asset_Model_No__c
+ FROM Product2__c
+ WHERE
+ Pro2_Dealer_Object__c = TRUE
+ AND Estimation_Entry_Possibility__c = '鈼�'
+ ];
+ for (Integer i = 0; i < product2Selected.size(); i++) {
+ lowerRecord.add(new ConsumableorderdetailsInfo(product2Selected[i]));
+ //鍏堟妸ConsumableorderdetailsRecords 鍋氭垚map
+ midMaprecord.put(
+ product2Selected[i].Id,
+ new ConsumableorderdetailsInfo(product2Selected[i])
+ );
+ }
+ List<Consumable_order_details2__c> countDel = [
+ SELECT
+ Id,
+ Bar_Code__c,
+ Name,
+ Inventory_date__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Recordtypeid,
+ Guarantee_period_for_products__c,
+ Isoverdue__c,
+ Box_Piece__c,
+ hospitalSpecialOffer__c,
+ promotionorder__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 Isoverdue__c = 1
+ AND Arrive_Owner_Work_Location__c = :userWorkLocation
+ //AND Consumable_order_minor__r.Dealer_Info__c = :accountid
+ AND Dealer_Info_text__c = :accountName
+ ];
+ for (Integer i = 0; i < countDel.size(); i++) {
+ //add by rentx 2020-12-09
+ if (String.isNotBlank(methodType) && methodType.equals('hospitalorder')) {
+ if (countDel[i].hospitalSpecialOffer__c == true) {
+ //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
+ if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = midMaprecord.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ midMaprecord.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ } else if (
+ String.isBlank(methodType) || methodType.equals('promotionorder')
+ ) {
+ if (countDel[i].promotionorder__c == true) {
+ if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = midMaprecord.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ midMaprecord.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ } else if (
+ String.isBlank(methodType) ||
+ (!methodType.equals('promotionorder') &&
+ !methodType.equals('hospitalorder'))
+ ) {
+ if (
+ countDel[i].promotionorder__c == false &&
+ countDel[i].hospitalSpecialOffer__c == false
+ ) {
+ if (midMaprecord.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = midMaprecord.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ midMaprecord.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ }
+ }
+ lowerRecord = new List<ConsumableorderdetailsInfo>();
+ //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
+ for (ConsumableorderdetailsInfo bss : midMaprecord.values()) {
+ lowerRecord.add(bss);
+ }
+ allProductLimt(lowerRecord);
+ for (ConsumableorderdetailsInfo bss : lowerRecord) {
+ if (bss.allnumber < bss.lowerlimit) {
+ lower.add(bss.Prod.Name__c);
+ }
+ }
+ }
+
+ //搴撳瓨涓婁笅闄�
+ 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++) {
+ nowName = proLimitAndDate[i];
+ 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
+ )
+ );
+ }
+ }
+ }
+
+ //鍏ㄩ儴搴撳瓨涓婁笅闄�
+ private static void allProductLimt(
+ List<ConsumableorderdetailsInfo> lowerRecord
+ ) {
+ String nowName = null, nowRightAsstModelNo = null;
+ 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);
+ }
+ productLimt.put(nowRightAsstModelNo, nowName);
+ }
+ for (ConsumableorderdetailsInfo ass : lowerRecord) {
+ 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
+ )
+ );
+ }
+ }
+ }
+
+ @AuraEnabled
+ public static Results searchConsumableorderdetails(
+ String userWorkLocationStr,
+ String agencyProTypeStr,
+ String accountNameStr,
+ String accountIdStr,
+ String hospitalIdStr,
+ String contractIdStr,
+ String category1Str,
+ String category3Str,
+ String category4Str,
+ String category5Str,
+ String category_GoodStr,
+ Boolean specialCampaignStr,
+ String dealerProductIdStr,
+ String methodTypeStr,
+ String consumableorderdetailsRecordsviewStr,
+ Boolean editAbleStr,
+ List<String> proLimitAndDateList
+ ) {
+ Results results = new Results();
+ errorMsgList = new List<String>();
+ warningMsgList = new List<String>();
+ userWorkLocation = userWorkLocationStr;
+ agencyProType = agencyProTypeStr;
+ accountName = accountNameStr;
+ accountid = accountIdStr;
+ hospitalId = hospitalIdStr;
+ contractId = contractIdStr;
+ category1 = category1Str;
+ category3 = category3Str;
+ category4 = category4Str;
+ category5 = category5Str;
+ category_Goods = category_GoodStr;
+ specialCampaign = specialCampaignStr;
+ methodType = methodTypeStr;
+ editAble = editAbleStr;
+ proLimitAndDate = proLimitAndDateList;
+ 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 {
+ searchDone = 'searchDone';
+ sortKey = '1';
+ preSortKey = '1';
+ sortOrderAsc = false;
+ sortOrder = new String[7];
+ sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' };
+ Map<String, String> selectedIdMap = new Map<String, String>();
+ List<ConsumableorderdetailsInfo> derdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
+ List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+ List<Consumable_order_details2__c> countDel = [
+ SELECT
+ Id,
+ Bar_Code__c,
+ Name,
+ Inventory_date__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Recordtypeid,
+ Box_Piece__c,
+ //add by rentx 2020-12-09
+ hospitalSpecialOffer__c,
+ promotionorder__c
+ //add by rentx 2020-12-09
+ 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 Arrive_Owner_Work_Location__c = :userWorkLocation
+ AND Dealer_Info_text__c = :accountName
+ ];
+ List<Product2__c> product2Selected = new List<Product2__c>();
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ soql = makeSoql(
+ category1,
+ category_Goods,
+ category3,
+ category4,
+ category5,
+ specialCampaign,
+ DealerProductId
+ );
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ initStandardController();
+ 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])
+ );
+ }
+ for (Integer i = 0; i < countDel.size(); i++) {
+ //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
+ if (
+ String.isNotBlank(methodType) && methodType.equals('hospitalorder')
+ ) {
+ if (countDel[i].hospitalSpecialOffer__c == true) {
+ if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = MidMap.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ MidMap.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ } else if (
+ String.isBlank(methodType) || methodType.equals('promotionorder')
+ ) {
+ if (countDel[i].promotionorder__c == true) {
+ if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = MidMap.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ MidMap.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ } else if (
+ String.isBlank(methodType) ||
+ (!methodType.equals('promotionorder') &&
+ !methodType.equals('hospitalorder'))
+ ) {
+ if (
+ countDel[i].promotionorder__c == false &&
+ countDel[i].hospitalSpecialOffer__c == false
+ ) {
+ if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = MidMap.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ MidMap.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ }
+ }
+ //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecordsa0l0l0000000byXAAQ
+ for (ConsumableorderdetailsInfo bss : MidMap.values()) {
+ if (selectedIdMap.containsKey(bss.Prod.id)) {
+ continue;
+ } else {
+ if (DealerProductMap.containsKey(bss.Prod.Id)) {
+ bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id)
+ .Special_Campaign_Price__c;
+ bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id)
+ .Campaign_EndDate__c;
+ bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id)
+ .OrderGoods_Limit__c;
+ }
+ bss.sortBy = sortOrderAsc;
+ 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;
+ consumableorderdetailsRecords.add(bss);
+ }
+ }
+ consumableorderdetailsRecords.sort();
+ productLimtAndDate();
+ getPageInfo();
+ sortKey = '1';
+ preSortKey = '1';
+ sortOrderAsc = false;
+ sortOrder = new String[7];
+ sortOrder = new List<String>{ ' ', ' ', '銆�', '', '', '', '', '' };
+ cate1ForSort = category1;
+ // 鏄剧ず鏁版嵁鏉℃暟淇℃伅
+ // makeMessage();
+ results.errorMsgList = errorMsgList;
+ results.warningMsgList = warningMsgList;
+ if (consumableorderdetailsRecords.size() > 0) {
+ getConsumableShowTableFieldValue();
+ results.result = 'Success';
+ results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview;
+ results.errorMsg =
+ '鎼滅储鍒�' +
+ consumableorderdetailsRecords.size() +
+ '浠朵骇鍝�';
+ } else {
+ getConsumableShowTableFieldValue();
+ results.result = 'Fail';
+ results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview;
+ results.errorMsg = '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�';
+ }
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鍖婚櫌--妫�绱�
+ @AuraEnabled
+ public static Results searchorderdetails(
+ String methodTypeStr,
+ String accountIdStr,
+ String hospitalIdStr,
+ String contractIdStr,
+ String userWorkLocationStr,
+ String accountNameStr,
+ List<String> proLimitAndDateList,
+ Boolean editAbleStr
+ ) {
+ Results results = new Results();
+ methodType = methodTypeStr;
+ accountId = accountIdStr;
+ hospitalId = hospitalIdStr;
+ contractId = contractIdStr;
+ userWorkLocation = userWorkLocationStr;
+ accountName = accountNameStr;
+ proLimitAndDate = proLimitAndDateList;
+ editAble = editAbleStr;
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ pageLimit = Integer.valueOf(System.Label.orderdetPageLimitsize);
+ try {
+ 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 = \'鈼媆' ';
+ if (methodType.equals('hospitalorder')) {
+ //鍖婚櫌id 鏈夊��
+ List<hospitalprice__c> hplist = [
+ SELECT id, product__c
+ FROM hospitalprice__c
+ WHERE account__c = :accountid AND hospital__c = :hospitalId
+ ];
+ if (hplist != null && hplist.size() > 0) {
+ List<String> hpids = new List<String>();
+ for (hospitalprice__c hc : hplist) {
+ hpids.add(hc.product__c);
+ }
+
+ if (hpids != null && hpids.size() > 0) {
+ soql += ' AND Id in : hpids ';
+ }
+ } else {
+ //璇ュ尰闄笅娌℃湁绗﹀悎鍖婚櫌鐗逛环鐨勪骇鍝�
+ soql += ' AND Id = null ';
+ }
+ } else if (methodType.equals('promotionorder')) {
+ List<Dealer_Product__c> dpclist = [
+ SELECT Id, Dealer_Product2__c
+ FROM Dealer_Product__c
+ WHERE
+ Dealer_Contact__c = :contractId
+ AND (Special_Discount__c != NULL
+ OR Special_Campaign_Price__c != NULL)
+ ];
+ if (dpclist != null && dpclist.size() > 0) {
+ String ids = '(';
+ for (Dealer_Product__c hc : dpclist) {
+ hpids.add(hc.Dealer_Product2__c);
+ ids += '\'' + hc.Dealer_Product2__c + '\',';
+ }
+ ids = ids.substring(0, ids.length() - 1) + ')';
+ if (hpids != null && hpids.size() > 0) {
+ // soql += ' AND Id in : hpids ';
+ soql += ' AND Id in ' + ids;
+ }
+ } else {
+ //璇ョ粡閿�鍟嗕笅娌℃湁淇冮攢浠锋牸鐨勪骇鍝�
+ soql += ' AND Id = null ';
+ }
+ }
+ size = Integer.valueOf(System.Label.orderdetLimitsize);
+ initStandardController();
+ List<Product2__c> product2Selected = new List<Product2__c>();
+ Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
+ Map<String, String> selectedIdMap = new Map<String, String>();
+ consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+ product2Selected = Database.query(soql);
+ for (Integer i = 0; i < product2Selected.size(); i++) {
+ MidMap.put(
+ product2Selected[i].Id,
+ new ConsumableorderdetailsInfo(product2Selected[i])
+ );
+ }
+ List<Consumable_order_details2__c> countDel = [
+ SELECT
+ Id,
+ Bar_Code__c,
+ Name,
+ Inventory_date__c,
+ Consumable_Product__c,
+ Consumable_Product__r.Asset_Model_No__c,
+ Recordtypeid,
+ Box_Piece__c,
+ hospitalSpecialOffer__c,
+ promotionorder__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 Arrive_Owner_Work_Location__c = :userWorkLocation
+ //AND Consumable_order_minor__r.Dealer_Info__c = :accountid
+ AND Dealer_Info_text__c = :accountName
+ ];
+ for (Integer i = 0; i < countDel.size(); i++) {
+ if (methodType.equals('hospitalorder')) {
+ if (countDel[i].hospitalSpecialOffer__c == true) {
+ //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
+ if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = MidMap.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ } else if (methodType.equals('promotionorder')) {
+ if (countDel[i].promotionorder__c == true) {
+ //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
+ if (MidMap.containsKey(countDel[i].Consumable_Product__c)) {
+ ConsumableorderdetailsInfo Jstage = MidMap.get(
+ countDel[i].Consumable_Product__c
+ );
+ if (countDel[i].Box_Piece__c == '鐩�') {
+ Jstage.allnumber = Jstage.allnumber + 1;
+ } else {
+ Jstage.allnumber_piece = Jstage.allnumber_piece + 1;
+ }
+ //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+ MidMap.put(countDel[i].Consumable_Product__c, Jstage);
+ }
+ }
+ }
+ }
+ //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecordsa0l0l0000000byXAAQ
+ for (ConsumableorderdetailsInfo bss : MidMap.values()) {
+ if (selectedIdMap.containsKey(bss.Prod.id)) {
+ continue;
+ } else {
+ if (DealerProductMap.containsKey(bss.Prod.Id)) {
+ bss.SpecialCampaignPrice = DealerProductMap.get(bss.Prod.Id)
+ .Special_Campaign_Price__c;
+ bss.Campaign_EndDate = DealerProductMap.get(bss.Prod.Id)
+ .Campaign_EndDate__c;
+ bss.orderGoods_Limit = DealerProductMap.get(bss.Prod.Id)
+ .OrderGoods_Limit__c;
+ }
+ bss.sortBy = sortOrderAsc;
+ 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;
+ consumableorderdetailsRecords.add(bss);
+ }
+ }
+ consumableorderdetailsRecords.sort();
+ productLimtAndDate();
+ getPageInfoForHos();
+ sortKey = '1';
+ preSortKey = '1';
+ sortOrderAsc = false;
+ sortOrder = new String[7];
+ sortOrder = new List<String>{ ' ', ' ', '銆�', '', '', '', '', '' };
+ cate1ForSort = category1;
+ // 鏄剧ず鏁版嵁鏉℃暟淇℃伅
+ noOfRecords = consumableorderdetailsRecords.size();
+ getConsumableShowTableFieldValue();
+ results.consumableorderdetailsRecordsview = consumableorderdetailsRecordsview;
+ if (consumableorderdetailsRecordsview.size() > 0) {
+ results.result = 'Success';
+ results.errorMsg =
+ '鍏辨悳绱㈠埌' +
+ consumableorderdetailsRecordsview.size() +
+ '鏉℃暟鎹�';
+ } else {
+ results.result = 'Fail';
+ results.errorMsg = '娌℃湁鎼滅储鍒扮浉鍏虫暟鎹�';
+ }
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鐢ㄦ埛鍒囨崲鍖婚櫌鏃跺彇娑堥�変腑鐨勪骇鍝�
+ private static List<ConsumableorderdetailsInfo> getPageInfoForHos() {
+ List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+ Map<String, String> selectedIdMap = new Map<String, String>();
+ consumableorderdetailsRecordsview = new List<ConsumableorderdetailsInfo>();
+ if (editAble) {
+ consumableorderdetailsRecordsview = reSet;
+ }
+ Integer pagestartNo = (con.getPageNumber() * size) - size;
+ Integer pageendNo = (con.getPageNumber() * size) > noOfRecords
+ ? noOfRecords
+ : (con.getPageNumber() * size - 1);
+ Integer addNo = 0;
+ for (
+ Integer i = pagestartNo; i < consumableorderdetailsRecords.size(); i++
+ ) {
+ Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
+ 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;
+ }
+ consumableorderdetailsRecordsview.add(consumableorderdetailsRecords[i]);
+ addNo++;
+ }
+ // if (addNo >= size){
+ // break;
+ // }
+ }
+ return consumableorderdetailsRecordsview;
+ }
+ //add by rentx 2020-12-03 end =====================================================================================================================
+ //鐗逛环
+ public static void OffersPrice() {
+ edoffersPrice = true;
+ }
+
+ //寰楀埌淇冮攢浜у搧Id
+ private static List<String> getDealerProductId() {
+ List<String> ProductId = new List<String>();
+ Map<String, String> DealerProductIdMap = new Map<String, String>();
+ Date dateToday = Date.today();
+ List<Dealer_Product__c> DealerProductList = [
+ SELECT
+ Id,
+ Name,
+ Dealer_Product2__c,
+ Special_Campaign_Price__c,
+ Campaign_StartDate__c,
+ Campaign_EndDate__c,
+ Dealer_Contact__c,
+ OrderGoods_Limit__c
+ FROM Dealer_Product__c
+ WHERE
+ Dealer_Contact__c IN :contactDealer
+ AND Campaign_StartDate__c <= :dateToday
+ AND Campaign_EndDate__c >= :dateToday
+ AND Special_Campaign_Price__c != NULL
+ ];
+ for (Dealer_Product__c dealerProduct : DealerProductList) {
+ if (DealerProductIdMap.containsKey(dealerProduct.Dealer_Product2__c)) {
+ continue;
+ } else {
+ ProductId.add(dealerProduct.Dealer_Product2__c);
+ DealerProductIdMap.put(
+ dealerProduct.Dealer_Product2__c,
+ dealerProduct.Dealer_Product2__c
+ );
+ }
+ }
+ return ProductId;
+ }
+
+ private static String makeSoql(
+ String CateName,
+ String CateCode,
+ String Category3,
+ String Category4,
+ String Category5,
+ Boolean specialCampaign,
+ List<String> DealerProductId
+ ) {
+ 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 = \'鈼媆' ';
+ // add begin ================================================================================================
+ if (methodType != null && methodType.equals('hospitalorder')) {
+ //濡傛灉鏄尰闄㈢壒浠�
+ //1.鍒ゆ柇 鍖婚櫌id鏄惁鏈夊�� 濡傛灉鏈夊�� 鍒欐牴鎹尰闄d鍘� 鍖婚櫌鐗逛环琛ㄤ腑鑾峰彇浜у搧id
+ //鍖婚櫌id 鏈夊��
+ if (hospitalId == null || hospitalId == '') {
+ soql += ' and id = null ';
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鍖婚櫌'));
+ warningMsgList.add('璇烽�夋嫨鍖婚櫌');
+ } else {
+ List<hospitalprice__c> hplist = [
+ SELECT id, product__c
+ FROM hospitalprice__c
+ WHERE account__c = :accountid AND hospital__c = :hospitalId
+ ];
+ if (hplist != null && hplist.size() > 0) {
+ hpids = new List<String>();
+ for (hospitalprice__c hc : hplist) {
+ hpids.add(hc.product__c);
+ }
+ if (hpids != null && hpids.size() > 0) {
+ soql += ' AND Id in : hpids ';
+ }
+ } else {
+ //璇ュ尰闄笅娌℃湁绗﹀悎鍖婚櫌鐗逛环鐨勪骇鍝�
+ soql += ' AND Id = null ';
+ return soql;
+ }
+ }
+ }
+ //淇冮攢璁㈣揣
+ if (methodType != null && methodType.equals('promotionorder')) {
+ if (contractId == null || contractId == '') {
+ soql += ' and id = null ';
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '璇烽�夋嫨鍚堝悓'));
+ warningMsgList.add('璇烽�夋嫨鍚堝悓');
+ } else {
+ //1.鏌ヨ鎵�鏈夌粡閿�鍟嗕骇鍝�
+ List<Dealer_Product__c> dpclist = [
+ SELECT Id, Dealer_Product2__c
+ FROM Dealer_Product__c
+ WHERE
+ Dealer_Contact__c = :contractId
+ AND (Special_Discount__c != NULL
+ OR Special_Campaign_Price__c != NULL)
+ ];
+
+ if (dpclist != null && dpclist.size() > 0) {
+ hpids = new List<String>();
+ for (Dealer_Product__c hc : dpclist) {
+ hpids.add(hc.Dealer_Product2__c);
+ }
+ if (hpids != null && hpids.size() > 0) {
+ soql += ' AND Id in : hpids ';
+ }
+ } else {
+ //璇ョ粡閿�鍟嗕笅娌℃湁淇冮攢浠锋牸鐨勪骇鍝�
+ soql += ' AND Id = null ';
+ return soql;
+ }
+ }
+ }
+ //add end ===================================================================================================
+ if (!String.isBlank(CateName)) {
+ soql +=
+ ' AND (Name__c like \'%' +
+ String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) +
+ '%\' or Asset_Model_No__c like \'%' +
+ String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) +
+ '%\')';
+ }
+ if (!String.isBlank(Category3)) {
+ soql += ' AND Category3__c = \'' + Category3 + '\'';
+ }
+ if (!String.isBlank(Category4)) {
+ soql += ' AND Category4__c = \'' + Category4 + '\'';
+ }
+ if (!String.isBlank(Category5)) {
+ soql += ' AND Category5__c = \'' + Category5 + '\'';
+ }
+ if (agencyProType == 'ET') {
+ soql += ' AND Pro2_Dealer_Object__c = true';
+ }
+ if (agencyProType == 'ENG') {
+ soql += ' AND Pro2_Dealer_ENG__c = true';
+ }
+ soql += ' AND Intra_Trade_List_RMB__c > 0 ';
+ System.debug('soql +++++++++++ ' + soql);
+ return soql;
+ }
+
+ private static String makeSoqlorderdet() {
+ String sqlTail = '(\'';
+ for (Integer i = 0; i < orderzaikuId.size(); i++) {
+ if (i < orderzaikuId.size() - 1) {
+ sqlTail += orderzaikuId[i] + '\',\'';
+ } else {
+ sqlTail += orderzaikuId[i] + '\')';
+ }
+ }
+ 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);
+ if (orderzaikuId.size() > 0) {
+ soql += ' AND Id in' + sqlTail;
+ }
+ return soql;
+ }
+
+ // 缂栬緫鎸夐挳
+ @AuraEnabled
+ public static Results setEditAble(String eSetidStr) {
+ Results results = new Results();
+ ESetId = eSetidStr;
+ try {
+ statusEdit = 'Redirect';
+ List<Consumable_order__c> oclist = [
+ SELECT orderPattern__c
+ FROM Consumable_order__c
+ WHERE id = :ESetid
+ ];
+ String url =
+ '/lexconsumable?ESetid=' +
+ ESetid +
+ '&KeyWords=' +
+ statusEdit +
+ '&type=' +
+ oclist.get(0).orderPattern__c;
+ results.result = 'Success';
+ results.url = url;
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ // 鍐嶇敵璇�
+ @AuraEnabled
+ public static Results backOrder(String eSetidStr) {
+ Results results = new Results();
+ ESetId = eSetidStr;
+ statusEdit = 'Redirect';
+ returnOrder = true;
+ try {
+ statusEdit = 'Redirect';
+ List<Consumable_order__c> oclist = [
+ SELECT orderPattern__c
+ FROM Consumable_order__c
+ WHERE id = :ESetid
+ ];
+ String url =
+ '/lexconsumable?ESetid=' +
+ ESetid +
+ '&KeyWords=' +
+ statusEdit +
+ '&type=' +
+ oclist.get(0).orderPattern__c;
+ results.result = 'Success';
+ results.url = url;
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //涓婁紶闄勪欢
+ @AuraEnabled
+ public static Results filesUpload(
+ String pId,
+ String fileName,
+ String base64Data
+ ) {
+ Results results = new Results();
+ try {
+ base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
+ ContentVersion cv = new ContentVersion();
+ cv.Title = fileName;
+ cv.PathOnClient = '/' + fileName;
+ cv.FirstPublishLocationId = pId;
+ cv.VersionData = EncodingUtil.base64Decode(base64Data);
+ cv.IsMajorVersion = true;
+ insert cv;
+ 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';
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鍒犻櫎鎸夐挳
+ @AuraEnabled
+ public static Results delConsumable(String eSetidStr) {
+ Results results = new Results();
+ ESetId = eSetidStr;
+ try {
+ Consumable_order__c cord = new Consumable_order__c(Id = ESetId);
+ List<Consumable_Orderdetails__c> orderdetails1 = [
+ SELECT Id
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :EsetId
+ ];
+ delete orderdetails1;
+ delete cord;
+ results.result = 'Success';
+ results.url = '/lexconsumableordermanage';
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ // 鎻愪氦鎸夐挳
+ @AuraEnabled
+ public static Results sorder(String eSetidStr, String accountidStr) {
+ Results results = new Results();
+ errorMsgList = new List<String>();
+ warningMsgList = new List<String>();
+ ESetId = eSetidStr;
+ accountid = accountidStr;
+ Savepoint sp = Database.setSavepoint();
+ try {
+ Map<Id, String> prodMap = new Map<Id, String>();
+ Consumable_order__c P = new Consumable_order__c();
+ P = new Consumable_order__c();
+ p.Id = ESetId;
+ p.Order_date__c = Date.today();
+ p.Order_status__c = '闄勪欢涓婁紶瀹屾垚';
+ for (Consumable_Orderdetails__c cod1 : [
+ SELECT Consumable_product__r.Product2__c, Consumable_product__r.Name__c
+ FROM Consumable_Orderdetails__c
+ WHERE Consumable_order__c = :ESetId
+ ]) {
+ prodMap.put(
+ cod1.Consumable_product__r.Product2__c,
+ cod1.Consumable_product__r.Name__c
+ );
+ }
+ // GZW 鎻愪氦浜у搧鏃犳晥 鍑洪敊璇秷鎭�
+ System.debug(prodMap);
+ Map<String, String> chkMap = OpportunityWebService.MapCheckProRegisterDecide(
+ prodMap,
+ accountid,
+ ''
+ );
+ System.debug(chkMap);
+ if (chkMap.size() > 0) {
+ if (chkMap.containsKey('agency')) {
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍖荤枟鍣ㄦ缁忚惀璁稿彲璇併��'));
+ errorMsgList.add('绗竴缁忛攢鍟嗘病鏈夋湁鏁堢殑鍖荤枟鍣ㄦ缁忚惀璁稿彲璇併��');
+ }
+ for (String proId : prodMap.keySet()) {
+ if (chkMap.containsKey(proId)) {
+ if (chkMap.get(proId) == '1') {
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.Error, '浜у搧 ' + prodMap.get(proId) + ' 娌℃湁鏈夋晥鐨勬敞鍐岃瘉銆�')
+ // );
+ errorMsgList.add(
+ '浜у搧 ' + prodMap.get(proId) + ' 娌℃湁鏈夋晥鐨勬敞鍐岃瘉銆�'
+ );
+ } else if (chkMap.get(proId) == '2') {
+ // ApexPages.addmessage(
+ // new ApexPages.message(ApexPages.severity.Error, '浜у搧 ' + prodMap.get(proId) + ' 瓒呰繃缁忛攢鍟嗙粡钀ヨ寖鍥淬��')
+ // );
+ errorMsgList.add(
+ '浜у搧 ' + prodMap.get(proId) + ' 瓒呰繃缁忛攢鍟嗙粡钀ヨ寖鍥淬��'
+ );
+ }
+ }
+ }
+ results.result = 'Fail';
+ results.errorMsg = '';
+ results.errorMsgList = errorMsgList;
+ results.warningMsgList = warningMsgList;
+ return results;
+ }
+ update p;
+ Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest();
+ psr.setObjectId(ESetId);
+ Approval.ProcessResult submitResult = Approval.process(psr);
+ results.result = 'Success';
+ results.url = '/lexconsumableordermanage';
+ } catch (Exception e) {
+ Database.rollback(sp);
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ // 椹冲洖璁㈠崟copy
+ @AuraEnabled
+ public static Results ordrCopy(
+ String contractNameStr,
+ String cocStr,
+ String agencyProTypeStr,
+ String accountidStr,
+ String consumableorderdetailsRecordsviewStr,
+ String contactDealerStr,
+ String methodTypeStr,
+ String hospitalIdStr,
+ String contractIdStr,
+ String agencyProType1Str,
+ Boolean OSHFLGStr
+ ) {
+ ESetId = '';
+ return save(
+ contractNameStr,
+ cocStr,
+ agencyProTypeStr,
+ accountidStr,
+ consumableorderdetailsRecordsviewStr,
+ contactDealerStr,
+ methodTypeStr,
+ ESetId,
+ hospitalIdStr,
+ contractIdStr,
+ agencyProType1Str,
+ OSHFLGStr
+ );
+ }
+
+ //淇濆瓨鎸夐挳
+ @AuraEnabled
+ public static Results save(
+ String contractNameStr,
+ String cocStr,
+ String agencyProTypeStr,
+ String accountidStr,
+ String consumableorderdetailsRecordsviewStr,
+ String contactDealerStr,
+ String methodTypeStr,
+ String eSetIdStr,
+ String hospitalIdStr,
+ String contractIdStr,
+ String agencyProType1Str,
+ Boolean OSHFLGStr
+ ) {
+ Results results = new Results();
+ errorMsgList = new List<String>();
+ warningMsgList = new List<String>();
+ contractName = contractNameStr;
+ agencyProType = agencyProTypeStr;
+ accountid = accountidStr;
+ methodType = methodTypeStr;
+ ESetId = eSetIdStr;
+ hospitalId = hospitalIdStr;
+ 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) {
+ String offerStr = String.valueOf(coc.Offers_Price__c);
+ bargainPrice = Decimal.valueOf(offerStr.replace(',', ''));
+ }
+ Savepoint sp = Database.setSavepoint();
+ try {
+ if (String.isEmpty(contractName)) {
+ // coc.Order_effective_contact__c.addError('璇烽�夋嫨鍚堝悓');
+ results.result = 'Fail';
+ results.errorMsg = '璇烽�夋嫨鍚堝悓';
+ return results;
+ }
+ List<Account> contract = [
+ SELECT
+ Id,
+ Name,
+ Contract_Department_Class__c,
+ Contract_Quote_Decide_Flag__c
+ FROM account
+ WHERE
+ Name = :contractName
+ 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
+ ];
+ if (contract.size() <= 0) {
+ // coc.Order_effective_contact__c.addError('涓嶅瓨鍦ㄧ殑鍚堝悓锛岃閲嶆柊纭銆�');
+ results.result = 'Fail';
+ results.errorMsg = '涓嶅瓨鍦ㄧ殑鍚堝悓锛岃閲嶆柊纭銆�';
+ return results;
+ } else {
+ if (String.isEmpty(contract[0].Contract_Quote_Decide_Flag__c)) {
+ // coc.Order_effective_contact__c.addError('鍚堝悓鏃犳晥锛岃閲嶆柊纭銆�');
+ results.result = 'Fail';
+ results.errorMsg = '鍚堝悓鏃犳晥锛岃閲嶆柊纭銆�';
+ return results;
+ }
+ }
+ Integer FLG = 0;
+ Integer Count = 0;
+ //add by rentx 2020-11-25
+ List<String> tpids = new List<String>();
+ //add by rentx 2020-11-25
+ for (
+ ConsumableorderdetailsInfo CheckCount : consumableorderdetailsRecordsview
+ ) {
+ FLG = FLG + 1;
+ if (CheckCount.check == false) {
+ Count = Count + 1;
+ }
+ if (CheckCount.check == true) {
+ //add by rentx 2020-11-25
+ tpids.add(CheckCount.Prod.Id);
+ //add by rentx 2020-11-25
+ if (
+ CheckCount.esd.Consumable_Count__c == null ||
+ CheckCount.esd.Consumable_Count__c == 0
+ ) {
+ // CheckCount.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�');
+ results.result = 'Fail';
+ results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�';
+ return results;
+ }
+ if (
+ CheckCount.orderGoods_Limit > 0 &&
+ math.mod(
+ Integer.valueOf(CheckCount.esd.Consumable_Count__c),
+ Integer.valueOf(CheckCount.orderGoods_Limit)
+ ) > 0
+ ) {
+ // CheckCount.esd.Consumable_Count__c.addError('璇疯緭鍏ヤ績閿�鏁伴噺鐨勫�嶆暟');
+ results.result = 'Fail';
+ results.errorMsg = '璇疯緭鍏ヤ績閿�鏁伴噺鐨勫�嶆暟';
+ return results;
+ }
+ }
+ }
+ if (Count == FLG) {
+ results.result = 'Fail';
+ results.errorMsg = '璇烽�夋嫨鎵�闇�娑堣�楀搧';
+ return results;
+ }
+ //=======================================鍖婚櫌鐗逛环,鏈夐噾棰濈殑璇濆彇閲戦
+ 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
+ ];
+ for (hospitalprice__c dealerProduct : hplist) {
+ if (dealerProduct.mPrice__c != null) {
+ dealerHospitalmMap.put(
+ '' + dealerProduct.hospital__c + dealerProduct.product__c,
+ dealerProduct.mPrice__c
+ );
+ }
+ }
+ //淇冮攢璁㈣揣 鏍规嵁缁忛攢鍟嗕骇鍝佷腑鐨勬暟鎹绠楅噾棰�
+ //=======================================浜у搧鐗规畩鎶樻墸
+ Map<String, Decimal> dealerPDiscountMap = new Map<String, Decimal>();
+ Map<String, Decimal> dealerMPDiscountMap = new Map<String, Decimal>();
+ //1.鑾峰彇鏈夊紑濮嬬粨鏉熸棩鐨勪骇鍝�
+ Date dateToday = Date.today();
+ List<Dealer_Product__c> haveDateList = [
+ SELECT
+ Id,
+ Name,
+ Dealer_Product2__c,
+ Special_Campaign_Price__c,
+ Campaign_StartDate__c,
+ Campaign_EndDate__c,
+ Dealer_Contact__c,
+ OrderGoods_Limit__c,
+ Special_Discount__c
+ FROM Dealer_Product__c
+ WHERE
+ Dealer_Contact__c IN :contactDealer
+ AND Campaign_StartDate__c <= :dateToday
+ AND Campaign_EndDate__c >= :dateToday
+ AND (Special_Discount__c != NULL
+ OR Special_Campaign_Price__c != NULL)
+ ];
+ //2.鑾峰彇娌℃湁寮�濮嬬粨鏉熸棩鐨勪骇鍝�
+ List<Dealer_Product__c> DealerProductList = [
+ SELECT
+ Id,
+ Name,
+ Dealer_Product2__c,
+ Special_Campaign_Price__c,
+ Campaign_StartDate__c,
+ Campaign_EndDate__c,
+ Dealer_Contact__c,
+ Special_Discount__c,
+ OrderGoods_Limit__c
+ FROM Dealer_Product__c
+ WHERE
+ Dealer_Contact__c IN :contactDealer
+ AND (Special_Discount__c != NULL
+ OR Special_Campaign_Price__c != NULL)
+ ];
+ for (Dealer_Product__c dealerProduct : DealerProductList) {
+ //濡傛灉淇冮攢浠锋牸涓簄ull 鍒欒缃壒娈婃姌鎵�(鐧惧垎姣�)鍒伴泦鍚�
+ if (dealerProduct.Special_Campaign_Price__c == null) {
+ dealerPDiscountMap.put(
+ '' +
+ dealerProduct.Dealer_Contact__c +
+ dealerProduct.Dealer_Product2__c,
+ dealerProduct.Special_Discount__c
+ );
+ } else {
+ dealerMPDiscountMap.put(
+ '' +
+ dealerProduct.Dealer_Contact__c +
+ dealerProduct.Dealer_Product2__c,
+ dealerProduct.Special_Campaign_Price__c
+ );
+ }
+ }
+ //杩欐牱鍋氭槸涓轰簡璁$畻淇冮攢浠锋牸鏃� 浼樺厛璁$畻淇冮攢寮�濮嬬粨鏉熸棩涓嶄负绌虹殑浜у搧
+ //濡傛灉璇ラ泦鍚堟湁鍊� 鍒欒鏄庨渶瑕佹牴鎹綋鍓嶇殑閲戦鎴栬�呮姌鎵f潵璁$畻
+ if (haveDateList != null && haveDateList.size() > 0) {
+ for (Dealer_Product__c dealerProduct : haveDateList) {
+ if (dealerProduct.Special_Campaign_Price__c == null) {
+ dealerPDiscountMap.put(
+ '' +
+ dealerProduct.Dealer_Contact__c +
+ dealerProduct.Dealer_Product2__c,
+ dealerProduct.Special_Discount__c
+ );
+ dealerMPDiscountMap.remove(
+ '' +
+ dealerProduct.Dealer_Contact__c +
+ dealerProduct.Dealer_Product2__c
+ );
+ } else {
+ dealerMPDiscountMap.put(
+ '' +
+ dealerProduct.Dealer_Contact__c +
+ dealerProduct.Dealer_Product2__c,
+ dealerProduct.Special_Campaign_Price__c
+ );
+ dealerPDiscountMap.remove(
+ '' +
+ dealerProduct.Dealer_Contact__c +
+ dealerProduct.Dealer_Product2__c
+ );
+ }
+ }
+ }
+ //=======================================缁忛攢鍟嗗悎鍚屾姌鎵�
+ List<Account> at = [
+ SELECT
+ id,
+ Name,
+ State_Master__c,
+ State_Master__r.Name,
+ Sales_Section__c,
+ Dealer_discount__c
+ FROM Account
+ WHERE
+ Name = :contractName
+ 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
+ ];
+ if (at.size() > 0 && at[0].Dealer_discount__c != null) {
+ disCount = at[0].Dealer_discount__c;
+ } else {
+ disCount = 100;
+ }
+ Consumable_order__c P = new Consumable_order__c();
+ List<Consumable_Orderdetails__c> Ins = new List<Consumable_Orderdetails__c>();
+ //鏂板缓璁㈠崟鏃�
+ if (String.isBlank(ESetId)) {
+ Integer i = 1;
+ Integer Roll = 0;
+ p.Name = '*';
+ p.Order_status__c = '鑽夋涓�';
+ p.Dealer_Info__c = accountid;
+ p.Order_ProType__c = agencyProType;
+ p.Offers_Price__c = coc.Offers_Price__c;
+ p.Order_date__c = coc.Order_date__c;
+ p.Order_effective_contact__c = contract[0].Id;
+ p.Order_Reason__c = coc.Order_Reason__c;
+ p.RecordTypeid = System.Label.RT_ConOrder_Order;
+ p.Overrule_order__c = coc.Id;
+ if (String.isNotBlank(methodType)) {
+ p.orderPattern__c = methodType;
+ }
+ insert p;
+ List<Consumable_order__c> Consumable_order = [
+ SELECT Name, orderPattern__c
+ FROM Consumable_order__c
+ WHERE id = :p.id
+ ];
+ for (
+ ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview
+ ) {
+ Roll = Roll + 1;
+ if (ass.check == true) {
+ if (
+ ass.esd.Consumable_Count__c == null ||
+ ass.esd.Consumable_Count__c == 0
+ ) {
+ // ass.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�');
+ results.result = 'Fail';
+ results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�';
+ return results;
+ } else {
+ Consumable_Orderdetails__c InsAfterDel = new Consumable_Orderdetails__c();
+ String str = string.valueOf(i);
+ if (str.length() == 1) {
+ str = '0' + str;
+ }
+ InsAfterDel.Name = Consumable_order[0].Name + '-' + str;
+ InsAfterDel.Consumable_Count__c = ass.esd.Consumable_Count__c;
+ InsAfterDel.Consumable_order__c = p.id;
+ InsAfterDel.Consumable_Product__c = ass.Prod.id;
+ InsAfterDel.Box_Piece__c = '鐩�';
+ //鍗忚璁㈣揣
+ if (methodType.equals('agreementorder')) {
+ Consumable_order[0].orderPattern__c = 'agreementorder';
+
+ InsAfterDel.Intra_Trade_List_RMB__c =
+ ass.Prod.Intra_Trade_List_RMB__c *
+ disCount /
+ 100;
+ //=====================================================================================update by rentx 2020-11-25
+ } else if (methodType.equals('promotionorder')) {
+ Consumable_order[0].orderPattern__c = 'promotionorder';
+ //淇冮攢璁㈣揣
+ //濡傛灉淇冮攢浠锋牸涓嶄负null 鍒欑洿鎺ヤ娇鐢ㄤ績閿�浠锋牸鏉ヨ绠楅噾棰�
+ if (
+ dealerMPDiscountMap.containsKey(
+ '' + contract[0].Id + ass.Prod.Id
+ )
+ ) {
+ InsAfterDel.Intra_Trade_List_RMB__c = dealerMPDiscountMap.get(
+ '' + contract[0].Id + ass.Prod.Id
+ );
+ system.debug('cai 0' + InsAfterDel.Intra_Trade_List_RMB__c);
+ } else if (
+ dealerPDiscountMap.containsKey(
+ '' + contract[0].Id + ass.Prod.Id
+ )
+ ) {
+ InsAfterDel.Intra_Trade_List_RMB__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);
+ }
+ //=====================================================================================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
+ ) {
+ //鐩存帴鏍规嵁淇冮攢閲戦璁$畻
+ 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;
+ system.debug('cai 2' + InsAfterDel.Intra_Trade_List_RMB__c);
+ InsAfterDel.Purchase_Unitprtprice_From__c = '淇冮攢';
+ InsAfterDel.Special_Campaign_Price__c = DealerProductMap.get(
+ ass.Prod.Id
+ )
+ .Special_Campaign_Price__c;
+ }
+ InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
+ i++;
+ Ins.add(InsAfterDel);
+ }
+ }
+ }
+ ESetId = p.id;
+ if (Consumable_order.size() > 0) {
+ update Consumable_order;
+ }
+ }
+ //淇敼涔嬪悗 淇濆瓨璁㈠崟
+ if (Ins.size() > 0) {
+ insert Ins;
+ } else {
+ //淇敼,鑾峰彇娑堣�楀搧璁㈠崟
+ List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
+ cocinfo = [
+ SELECT
+ Id,
+ Name,
+ Order_status__c,
+ Dealer_Info__c,
+ Deliver_date__c,
+ Order_Reason__c,
+ Offers_Price__c
+ FROM Consumable_order__c
+ WHERE Id = :ESetId
+ ];
+ if (cocinfo.size() > 0) {
+ p = cocinfo[0];
+ }
+ p.Name = coc.Name;
+ p.Dealer_Info__c = accountid;
+ p.Order_ProType__c = agencyProType;
+ p.Order_date__c = coc.Order_date__c;
+ p.Order_effective_contact__c = contract[0].Id;
+ p.Order_Reason__c = coc.Order_Reason__c;
+ if (bargainPrice != null) {
+ p.Offers_Price__c = bargainPrice;
+ }
+ update p;
+ List<Consumable_order__c> Consumable_order = [
+ SELECT Name, orderPattern__c
+ FROM Consumable_order__c
+ WHERE id = :p.id
+ ];
+ List<Consumable_Orderdetails__c> qs = new List<Consumable_Orderdetails__c>();
+ qs = [
+ SELECT Id
+ FROM Consumable_Orderdetails__c
+ WHERE
+ Consumable_order__c = :ESetId
+ AND Consumable_order__r.Dealer_Info__c = :accountid
+ ];
+ if (qs.size() > 0) {
+ delete qs;
+ }
+ Integer i = 1;
+ for (
+ ConsumableorderdetailsInfo ass : consumableorderdetailsRecordsview
+ ) {
+ if (ass.check == true) {
+ Consumable_Orderdetails__c InsAfterDel = new Consumable_Orderdetails__c();
+ if (
+ ass.esd.Consumable_Count__c == null ||
+ ass.esd.Consumable_Count__c == 0
+ ) {
+ // ass.esd.Consumable_Count__c.addError('璇疯緭鍏ラ噰璐暟閲�');
+ results.result = 'Fail';
+ results.errorMsg = '璇疯緭鍏ラ噰璐暟閲�';
+ return results;
+ } else {
+ String str = string.valueOf(i);
+ if (str.length() == 1) {
+ str = '0' + str;
+ }
+ InsAfterDel.Name = Consumable_order[0].Name + '-' + str;
+ InsAfterDel.Consumable_Count__c = ass.esd.Consumable_Count__c;
+ InsAfterDel.Consumable_order__c = ESetId;
+ InsAfterDel.Consumable_Product__c = ass.Prod.id;
+ InsAfterDel.Box_Piece__c = '鐩�';
+ //鍗忚璁㈣揣
+ if (methodType.equals('agreementorder')) {
+ Consumable_order[0].orderPattern__c = 'agreementorder';
+ InsAfterDel.Intra_Trade_List_RMB__c =
+ ass.Prod.Intra_Trade_List_RMB__c *
+ disCount /
+ 100;
+ } else if (methodType.equals('promotionorder')) {
+ Consumable_order[0].orderPattern__c = 'promotionorder';
+ //淇冮攢璁㈣揣
+ if (
+ dealerMPDiscountMap.containsKey(
+ '' + contract[0].Id + ass.Prod.Id
+ )
+ ) {
+ InsAfterDel.Intra_Trade_List_RMB__c = dealerMPDiscountMap.get(
+ '' + contract[0].Id + ass.Prod.Id
+ );
+ } else if (
+ dealerPDiscountMap.containsKey(
+ '' + contract[0].Id + ass.Prod.Id
+ )
+ ) {
+ InsAfterDel.Intra_Trade_List_RMB__c =
+ ass.Prod.Intra_Trade_List_RMB__c *
+ dealerPDiscountMap.get('' + contract[0].Id + ass.Prod.Id) /
+ 100;
+ }
+ } else if (methodType.equals('hospitalorder')) {
+ 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
+ ) {
+ //鐩存帴鏍规嵁淇冮攢閲戦璁$畻
+ 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;
+ InsAfterDel.Purchase_Unitprtprice_From__c = '淇冮攢';
+ InsAfterDel.Special_Campaign_Price__c = DealerProductMap.get(
+ ass.Prod.Id
+ )
+ .Special_Campaign_Price__c;
+ }
+ // ==================================================涔嬪墠鐨勪績閿�璁㈣揣鐨勯�昏緫
+ InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
+ i++;
+ Ins.add(InsAfterDel);
+ }
+ }
+ }
+ if (Ins.size() > 0) {
+ insert Ins;
+ }
+ }
+ results.result = 'Success';
+ results.eSetId = ESetId;
+ } catch (Exception e) {
+ Database.rollback(sp);
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ //鍒犻櫎闄勪欢
+ @AuraEnabled
+ 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
+ ];
+ 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;
+ update c;
+ }
+ results.result = 'Success';
+ } catch (Exception e) {
+ results.result = 'Fail';
+ results.errorMsg = e.getLineNumber() + '---' + e.getMessage();
+ }
+ return results;
+ }
+
+ public static void getConsumableShowTableFieldValue() {
+ for (ConsumableorderdetailsInfo con : consumableorderdetailsRecordsview) {
+ if (con.Prod != null) {
+ con.recordId = con.Prod.Id;
+ if (!con.oldCheck) {
+ con.prodName = con.Prod.Name__c;
+ // System.debug('ProdName:'+con.Prod.Id+'---'+con.Prod.Name__c);
+ }
+ con.prodSFDAStatus = con.Prod.SFDA_Status__c;
+ con.prodCategory3 = con.Prod.Category3__c;
+ con.prodCategory4 = con.Prod.Category4__c;
+ con.prodCategory5 = con.Prod.Category5__c;
+ con.prodIntraTradeList = con.Prod.Intra_Trade_List_RMB__c;
+ }
+ if (con.esd != null) {
+ // if(con.oldCheck){
+ // con.prodName = con.esd.Consumable_Product__r.Name__c;
+ // }
+ con.consumableCount = con.esd.Consumable_count__c;
+ }
+ }
+ }
+
+ public class ConsumableorderdetailsInfo implements Comparable {
+ @AuraEnabled
+ public Boolean check { get; set; }
+ @AuraEnabled
+ public Boolean oldCheck { get; set; }
+ @AuraEnabled
+ public Consumable_Orderdetails__c esd { get; set; }
+ @AuraEnabled
+ public Product2__c Prod { get; set; }
+ @AuraEnabled
+ public Integer packing_list { get; set; }
+ @AuraEnabled
+ public Date expiration_Date { get; set; }
+ @AuraEnabled
+ public String approbation_No { get; set; }
+ @AuraEnabled
+ public Decimal allnumber { get; set; }
+ @AuraEnabled
+ public Decimal allnumber_piece { get; set; }
+ @AuraEnabled
+ public Decimal oldConsumableCount { get; set; }
+ @AuraEnabled
+ public Boolean canSelect { get; set; }
+ @AuraEnabled
+ public ContentVersion Concc { get; set; }
+ @AuraEnabled
+ public Boolean sortBy { get; set; }
+ @AuraEnabled
+ public Decimal upperlimit { get; set; }
+ @AuraEnabled
+ public Decimal lowerlimit { get; set; }
+ @AuraEnabled
+ public Decimal SpecialCampaignPrice { get; set; }
+ @AuraEnabled
+ public Decimal orderGoods_Limit { get; set; }
+ @AuraEnabled
+ public Date Campaign_EndDate { get; set; }
+ @AuraEnabled
+ public String recordId { get; set; }
+ @AuraEnabled
+ public String prodName { get; set; }
+ @AuraEnabled
+ public String prodSFDAStatus { get; set; }
+ @AuraEnabled
+ public String prodCategory3 { get; set; }
+ @AuraEnabled
+ public String prodCategory4 { get; set; }
+ @AuraEnabled
+ public String prodCategory5 { get; set; }
+ @AuraEnabled
+ public Decimal prodIntraTradeList { get; set; }
+ @AuraEnabled
+ public Decimal consumableCount { get; set; }
+
+ // 宸插瓨浜у搧鏄庣粏
+ public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) {
+ check = true;
+ oldCheck = true;
+ esd = e;
+ Prod = e.Consumable_Product__r;
+ oldConsumableCount = e.Consumable_Count__c;
+ canSelect = true;
+ allnumber = 0;
+ allnumber_piece = 0;
+ }
+
+ public ConsumableorderdetailsInfo(Product2__c e) {
+ check = false;
+ oldCheck = false;
+ esd = new Consumable_Orderdetails__c();
+ Prod = e;
+ oldConsumableCount = null;
+ canSelect = true;
+ allnumber = 0;
+ allnumber_piece = 0;
+ }
+ //闄勪欢
+ public ConsumableorderdetailsInfo(ContentVersion e) {
+ Concc = e;
+ }
+ // 鎺掑簭Consumable_order__c
+ public Integer compareTo(Object compareTo) {
+ ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo;
+ Integer returnValue = 0;
+ if (check == true) {
+ if (sortBy == false) {
+ if (allnumber > compareToesd.allnumber) {
+ returnValue = -1;
+ } else if (allnumber < compareToesd.allnumber) {
+ returnValue = 1;
+ }
+ return returnValue;
+ } else {
+ if (allnumber > compareToesd.allnumber) {
+ returnValue = 1;
+ } else if (allnumber < compareToesd.allnumber) {
+ returnValue = -1;
+ }
+ return returnValue;
+ }
+ } else {
+ if (sortBy == false) {
+ if (allnumber > compareToesd.allnumber) {
+ returnValue = -1;
+ } else if (allnumber < compareToesd.allnumber) {
+ returnValue = 1;
+ }
+ return returnValue;
+ } else {
+ if (allnumber > compareToesd.allnumber) {
+ returnValue = 1;
+ } else if (allnumber < compareToesd.allnumber) {
+ returnValue = -1;
+ }
+ return returnValue;
+ }
+ }
+ }
+ }
+
+ public class Results {
+ @AuraEnabled
+ public String result;
+ @AuraEnabled
+ public String errorMsg;
+ @AuraEnabled
+ public String eSetId;
+ @AuraEnabled
+ public String agencyProType;
+ @AuraEnabled
+ public String userWorkLocation;
+ @AuraEnabled
+ public String accountName;
+ @AuraEnabled
+ public String accountid;
+ @AuraEnabled
+ public String hospitalId;
+ @AuraEnabled
+ public String contractId;
+ @AuraEnabled
+ public String category_Goods;
+ @AuraEnabled
+ public Consumable_order__c coc;
+ @AuraEnabled
+ public Boolean edoffersPrice;
+ @AuraEnabled
+ public Boolean editDelCommitBtnDisabled;
+ @AuraEnabled
+ public Boolean editAble;
+ @AuraEnabled
+ public String hospitalName;
+ @AuraEnabled
+ public String contractName;
+ @AuraEnabled
+ public List<CusOption> category3Option;
+ @AuraEnabled
+ public List<CusOption> category4Option;
+ @AuraEnabled
+ public List<CusOption> category5Option;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsview;
+ @AuraEnabled
+ public List<ConsumableorderdetailsInfo> attachmentRecoeds;
+ @AuraEnabled
+ public Boolean cansee;
+ @AuraEnabled
+ public List<String> errorMsgList;
+ @AuraEnabled
+ public List<String> warningMsgList;
+ @AuraEnabled
+ public Boolean hasWarning;
+ @AuraEnabled
+ public Boolean hasError;
+ @AuraEnabled
+ public Boolean specialCampaign;
+ @AuraEnabled
+ public List<String> dealerProductId;
+ @AuraEnabled
+ public List<String> contactDealer;
+ @AuraEnabled
+ public String url;
+ @AuraEnabled
+ public String methodType;
+ @AuraEnabled
+ public List<String> proLimitAndDate;
+ @AuraEnabled
+ public Boolean isNoteStay;
+ @AuraEnabled
+ public Boolean OSHFLG;
+ @AuraEnabled
+ public String agencyProType1;
+ }
+
+ public class CusOption {
+ CusOption(String label, String value) {
+ this.label = label;
+ this.value = value;
+ }
+
+ @AuraEnabled
+ public String label;
+ @AuraEnabled
+ public String value;
+ }
+}
--
Gitblit v1.9.1