From f24a5026dbfb2981e234ce46ed503584c03ce420 Mon Sep 17 00:00:00 2001
From: 涂煌豪 <tuhuanghao@prec-tech.com>
Date: 星期一, 18 四月 2022 17:49:35 +0800
Subject: [PATCH] SelectAssetEstimateVMController
---
force-app/main/default/classes/NewQuoteIraiController.cls | 152 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 146 insertions(+), 6 deletions(-)
diff --git a/force-app/main/default/classes/NewQuoteIraiController.cls b/force-app/main/default/classes/NewQuoteIraiController.cls
index 6524d45..bb3c8ea 100644
--- a/force-app/main/default/classes/NewQuoteIraiController.cls
+++ b/force-app/main/default/classes/NewQuoteIraiController.cls
@@ -8,6 +8,12 @@
public Boolean productStatusUpdated {get;set;} // 鐘舵厠鏇存柊銆亄!$Label.Status_Update} 銈掓娂涓嬨仐銇熴亱銇┿亞銇�
public Boolean changedAfterPrint {get;set;} // true 銇牬鍚堛�佺敾闈€伀 confirm 銉°儍銈汇兗銈搞亴琛ㄧず銇椼伨銇欍�俼uoId銈掓柊銇椼亜insert銆傚垽瀹氥伅js銇仸瀹熸柦
+ //lastbuy 2022/3/10 fy start
+ public Boolean filg { get; set; }
+ public Integer flglastbuy { get; set; }
+ public String errorProductmodel { get; set; }
+ //lastbuy 2022/3/10 fy end
+
public String excel_text {get;set;}
public Integer select_index {get;set;} // excelImport灏傜敤銇с仚銇屻�乯s銇仸鍒跺尽銇欍倠銇撱仺銇仾銈嬨伄銇с�乀ODO katsu 鍓婇櫎浜堝畾
public String Product_text {get;set;}
@@ -98,6 +104,14 @@
// 璇环id
oppid = System.currentPageReference().getParameters().get('oppid');
+ QuoteIrai__c quoteiraiobj = new QuoteIrai__c();
+ if(oppid==null&&tenderid==null&&quoId!=null&&leadid==null&&agencyoppid==null){
+ quoteiraiobj = [select id,Note__c from QuoteIrai__c where id=:quoId];
+ if(quoteiraiobj.Note__c!=null){
+ String[] quosub=quoteiraiobj.Note__c.split('/');
+ oppid=quosub[quosub.size()-1];
+ }
+ }
system.debug('oppid:++++'+oppid);
// 鎶ヤ环id
String oppquoid = System.currentPageReference().getParameters().get('oppquoid');
@@ -208,8 +222,8 @@
// 宸茬粡瀛樺湪鎶ヤ环
if (String.isNotBlank(oppquoid)) {
// 鎶ヤ环鍟嗗搧鍙栧緱
- // CHAN-BHNBX6 2019/11/20 START
- List<QuoteLineItem> qlis = [select id,PricebookEntry.Product2Id,Quantity__c,CurrencyIsoCode,GuaranteePeriod__c from QuoteLineItem where QuoteId = :oppquoid];
+ // CHAN-BHNBX6 2019/11/20 START//fy lastbuy 20220310 PricebookEntry.Product2.LastbuyProductFLG__c
+ List<QuoteLineItem> qlis = [select id,PricebookEntry.Product2Id,PricebookEntry.Product2.LastbuyProductFLG__c,Quantity__c,CurrencyIsoCode,GuaranteePeriod__c from QuoteLineItem where QuoteId = :oppquoid];
// CHAN-BHNBX6 2019/11/20 END
List<String> productids = new List<String>();
for (QuoteLineItem qli : qlis) {
@@ -325,9 +339,9 @@
FROM QuoteIrai__c Where Id =:quoId];
// CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 End
// CHAN-BHNBX6 2019/11/20 START
- List<QuoteIraiLineItem__c> items =
+ List<QuoteIraiLineItem__c> items = //lastbuy 2022/3/10 fy start LastbuyProductFLG__c
[Select Id,Asset_Model_No__c,SFDA_Status__c,Name__c,BSS_Category__c,QuoteIrai__r.Quote_Print_Date__c,
- Qty_Unit__c,Quantity__c,Product2__r.SFDA_Status__c,ProductCode__c,ListPrice__c,
+ Qty_Unit__c,Quantity__c,Product2__r.SFDA_Status__c,ProductCode__c,ListPrice__c,Product2__r.LastbuyProductFLG__c,
Product2__r.Sales_Possibility__c,Product2__r.Name,Product2__c,ServicePrice__c,NoDiscountTotal__c,GuaranteePeriod__c
From QuoteIraiLineItem__c where QuoteIrai__c = :quoId Order by Item_Order__c, Id];
// CHAN-BHNBX6 2019/11/20 END
@@ -1160,6 +1174,31 @@
}
public boolean dataCheck(){
+ //20220310 fy lastbuy start
+ if (quoId!=null){
+ if(!ReservedProductVerification()){
+ if(flglastbuy==1){
+ errorflg = true;
+ errormessage = '棰勭暀浜у搧琛ㄤ腑娌℃湁璇ヨ浠凤紝璇烽�氳繃鏈儴绐楀彛鑱旂郴钀ヤ笟绠$悊璇�' ;
+ return false;
+ }else if(flglastbuy==2){
+ errorflg = true;
+ errormessage = errorProductmodel+'浜у搧鏁伴噺涓嶅彲瓒呰繃浜у搧棰勭暀鏁伴噺' ;
+ return false;
+ }else if(flglastbuy==3){
+ errorflg = true;
+ errormessage = '棰勭暀浜у搧'+errorProductmodel+'鏈綍鍏ラ鐣欎骇鍝佽〃';
+ return false;
+ }
+ // else if(flglastbuy==4){
+ // errorflg = true;
+ // errormessage = '璇ユ姤浠峰鎵樺瓨鍦ㄩ鐣欎骇鍝�';
+ // return false;
+ // }
+ }
+ }
+
+ //20220310 fy lastbuy end
system.debug('鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆Welcome to dataCheck class!!鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆');
errorflg = false;
errormessage = null;
@@ -1184,8 +1223,8 @@
if (error == true){
if (quoId != null) {
Map<String,QuoteIraiLineItem__c> itemmap = new Map<String,QuoteIraiLineItem__c>();
- for (QuoteIraiLineItem__c item : [
- Select Id,Product2__r.SFDA_Status__c,Product2__r.Name,Product2__c
+ for (QuoteIraiLineItem__c item : [//lastbuy 2022/3/10 fy start LastbuyProductFLG__c
+ Select Id,Product2__r.SFDA_Status__c,Product2__r.Name,Product2__c,Product2__r.LastbuyProductFLG__c
From QuoteIraiLineItem__c where QuoteIrai__c = :quoId Order by Item_Order__c, Id]) {
itemmap.put(item.Product2__c,item);
}
@@ -1399,6 +1438,107 @@
return true;
}
+ //lastbuy 2022/3/10 fy start
+ public boolean ReservedProductVerification() {
+ filg=true;
+ Map<string,QuoteIraiLineItem__c> quotlinitMap = new Map<string,QuoteIraiLineItem__c>();
+ List<Id> lastProductFLGListId = new List<Id>();
+ List<QuoteIraiLineItem__c> lastProductFLGList = new List<QuoteIraiLineItem__c>();
+ List<QuoteIraiLineItem__c> act = new List<QuoteIraiLineItem__c>();
+ List<QuoteIraiLineItem__c> act2 = new List<QuoteIraiLineItem__c>();
+ Map<string,string> actMap = new Map<string,string>();
+ for(QELine aaa :activities){
+ System.debug('131313131!!!'+aaa.pageObject.Product2__r.LastbuyProductFLG__c);
+ if(aaa.pageObject.Product2__c!=null&&aaa.pageObject.Quantity__c!=null){
+ actMap.put(aaa.pageObject.Product2__c,aaa.Asset_Model);
+ act.add(aaa.pageObject);
+ }
+ }
+ act2=act.deepClone();
+ Map<String,QuoteIraiLineItem__c> map1 = new Map<String,QuoteIraiLineItem__c>();
+ System.debug('activities1111111111112涓烘墍褰撲负澶氬!!!'+activities);
+ integer i =0;
+ for(QuoteIraiLineItem__c pspsc :act2){
+ if(pspsc.Product2__c!=null&&pspsc.Quantity__c!=null){
+ if(map1.containsKey(pspsc.Product2__c)){
+ QuoteIraiLineItem__c quoteLine = map1.get(pspsc.Product2__c);
+ quoteLine.Quantity__c =quoteLine.Quantity__c+pspsc.Quantity__c;
+ map1.put(pspsc.Product2__c,quoteLine);
+ System.debug('2222222!!!'+quoteLine);
+ }else{
+ map1.put(pspsc.Product2__c,pspsc);
+ }
+ System.debug('5555555!!!'+pspsc);
+ System.debug('34499879!!!'+activities);
+ }
+ }
+ System.debug('3434343!!!'+activities);
+ System.debug('5656565!!!'+map1);
+ List<Product2> productlist = [select id,LastbuyProductFLG__c from Product2 where id in:map1.keySet()];
+ Map<String,boolean> productMap = new Map<String,boolean>();
+ System.debug('9999999666!!!'+productlist);
+ if(productlist!=null&&productlist.size()!=0){
+ for(Product2 product : productlist){
+ productMap.put(product.id,product.LastbuyProductFLG__c);
+ }
+ }
+ for (QuoteIraiLineItem__c value : map1.values()) {
+ if(productMap.get(value.Product2__c)){
+ lastProductFLGListId.add(value.Product2__c);
+ quotlinitMap.put(value.Product2__c,value);
+ lastProductFLGList.add(value);
+ }
+ }
+ System.debug('activities++++!!!'+activities);
+ System.debug('activities!!!'+map1.values());
+ System.debug('oppId!!!'+oppId);
+ System.debug('lastProductFLGList!!!'+lastProductFLGListId);
+ if(lastProductFLGListId!=null&&lastProductFLGListId.size()!=0){
+ // if(oppid==null){
+ // flglastbuy=4;
+ // filg=false;
+ // return filg;
+ // }
+ List<LastbuyProduct__c> LastbuyObjList=[select id,LastbuyQuantity__c,InquiryCode__c,ProductName__c,effectiveFLG__c from LastbuyProduct__c where InquiryCode__c= : oppid and ProductName__c in :lastProductFLGListId and effectiveFLG__c = true];
+ Map<string,LastbuyProduct__c> LastbuyObjMap = new Map<string,LastbuyProduct__c>();
+ System.debug('LastbuyObjList+++++!!!'+LastbuyObjList);
+ if(LastbuyObjList!=null&&LastbuyObjList.size()!=0){
+ for(LastbuyProduct__c lastbuypr :LastbuyObjList){
+ LastbuyObjMap.put(lastbuypr.ProductName__c,lastbuypr);
+ }
+ }else{
+ flglastbuy=1;
+ filg=false;
+ return filg;
+ }
+ System.debug('LastbuyObjMap!!!'+LastbuyObjMap);
+ System.debug('lastProductFLGList+++++++!!!'+lastProductFLGList);
+ if(lastProductFLGList!=null&&lastProductFLGList.size()!=0){
+ for(QuoteIraiLineItem__c lastbuypr :lastProductFLGList){
+ Decimal quoteLItemNum=0;
+ if(LastbuyObjMap.containsKey(lastbuypr.Product2__c)){
+ quoteLItemNum=LastbuyObjMap.get(lastbuypr.Product2__c).LastbuyQuantity__c;
+ System.debug('quoteLItemNum!!!'+quoteLItemNum);
+ System.debug('lastbuypr.pageObject.Quantity__c+++!!!'+lastbuypr.Quantity__c);
+ if(lastbuypr.Quantity__c>quoteLItemNum){actMap.get(lastbuypr.Product2__c);
+ errorProductmodel=actMap.get(lastbuypr.Product2__c);
+ flglastbuy=2;
+ filg=false;
+ break;
+ }
+ }else{
+ errorProductmodel=actMap.get(lastbuypr.Product2__c);
+ flglastbuy=3;
+ filg=false;
+ break;
+ }
+ }
+ }
+ }
+ system.debug('filg====='+filg);
+ return filg;
+ }
+
// CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 Start
public class QuoteBean {
// 浜у搧鏍囧噯瀹氫环鎬婚
--
Gitblit v1.9.1