public without sharing class TradeCustomerManagerController { public String orderId{get;set;} public String id{get;set;} public String saveYes{get;set;} public TradeCustomerManager__c trade{get;set;} public Order order{get;set;} public List fileList{get;set;} public List fileListNew{get;set;} public List militaryFileList{get;set;} public List personalFileList{get;set;} public Integer personalListSize{get;set;} public Integer militaryListSize{get;set;} public String errorMessage{get;set;} public String fileIdDelete{get;set;} public String fileIdSee{get;set;} public String sendType{get;set;} public Boolean isOnClick{get;set;} public String oppLink{get;set;} public String oppCode{get;set;} public String baseUrl{get;set;} public String isdeleteFile{get;set;} public TradeCustomerManagerController() { //获取url中携带的参数 orderId = System.currentPageReference().getParameters().get('orderId'); id = System.currentPageReference().getParameters().get('id'); } public TradeCustomerManagerController(ApexPages.StandardController stdController) { //获取url中携带的参数 orderId = System.currentPageReference().getParameters().get('orderId'); id = System.currentPageReference().getParameters().get('id'); } public void init() { baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); String path = URL.getCurrentRequestUrl().getPath(); if (path.indexOf('/apex') > 0) { baseUrl += path.substring(0,path.indexOf('/apex')); } else if (path.indexOf('production/') > 0) { baseUrl += '/production'; } saveYes = ''; isOnClick = false; fileList = new List(); personalFileList = new List(); militaryFileList = new List(); fileListNew = new List(); trade = new TradeCustomerManager__c(); if(id != null){ //如果Id不为null 根据Id初始化TradeCustomerManager__c trade = [select Id,useNo__c,userNo__c,placeNo__c,productNo__c,useYes__c,userYes__c,placeYes__c,productYes__c,DealerId__c, customerInfoIsUpdate__c,studyDirection__c,endUser__c,model__c,PCmodel__c,contractNum__c,PCcontractNum__c,oppId__c, isAloneCustomer__c,isPC__c,isAlone__c,isHaveLink__c,peopleLink__c,opportunity__c,militaryLink__c,companyLink__c,oppCodeLink__c, application__c,work__c,watchObject__c,order__c,buyTo__c,OrderIdSave__c,remark__c,isFuelNo__c,isFuelYes__c,productSegment__c from TradeCustomerManager__c where Id=:id]; order = [select Id,EndUserD__c,applicationForm__c,ProductSegment__c,tradeCustomerApplay__c,ApproveStatus__c,DealerId__c from Order where Id =:trade.OrderIdSave__c]; fileList = [select Id,Name,CreatedDate,BodyLength,Body,CreatedById,ParentId from Attachment where ParentId =:id]; for(Attachment att :fileList){ if(att.Name.startsWith('个人信息')){ personalFileList.add(att); }else if (att.Name.startsWith('军事')) { militaryFileList.add(att); } else{ fileListNew.add(att); } } } if(orderId!=null){ //点击新建申请表,查询TradeCustomerManager__c 判断此合同下是否有已经创建的申请表 order = [select Id,EndUserD__c,applicationForm__c,ProductSegment__c,tradeCustomerApplay__c,ApproveStatus__c,DealerId__c from Order where Id =:orderId]; List tradeIsHaveList = [select Id,useNo__c,userNo__c,placeNo__c,productNo__c,useYes__c,userYes__c,placeYes__c,productYes__c, customerInfoIsUpdate__c,studyDirection__c,endUser__c,model__c,PCmodel__c,contractNum__c,PCcontractNum__c,oppId__c,DealerId__c, isAloneCustomer__c,isPC__c,isAlone__c,isHaveLink__c,peopleLink__c,opportunity__c,militaryLink__c,companyLink__c, application__c,work__c,watchObject__c,order__c,buyTo__c,OrderIdSave__c,remark__c,isFuelNo__c,isFuelYes__c,productSegment__c,oppCodeLink__c from TradeCustomerManager__c where order__c=:orderId]; System.debug(tradeIsHaveList.size()); if(tradeIsHaveList != null && tradeIsHaveList.size()!=0){ trade = tradeIsHaveList[0]; fileList = [select Id,Name,CreatedDate,BodyLength,Body,CreatedById from Attachment where ParentId =:trade.Id]; for(Attachment att :fileList){ if(att.Name.startsWith('个人信息')){ personalFileList.add(att); }else if (att.Name.startsWith('军事')) { militaryFileList.add(att); }else{ fileListNew.add(att); } } } trade.endUser__c = order.EndUserD__c; trade.productSegment__c = order.ProductSegment__c; trade.OrderIdSave__c = orderId; trade.DealerId__c = order.DealerId__c; } personalListSize = personalFileList.size(); militaryListSize = militaryFileList.size(); if(String.isNotBlank(trade.Id)){ sendType = 'init'; send(); } System.debug('ApproveStatus__c:'+order.ApproveStatus__c); //检查合同 合同为提交状态 申请表不允许操作 if(order.ApproveStatus__c == 'OrderPass' || order.ApproveStatus__c == 'OrderSubmit'){ isOnClick = true; } } // 保存申请表,必填项验证,更新合同中的申请表是否有效的标记 public void send(){ //a 是否通过必填验证标志 Boolean a = true; errorMessage = '1'; List strList = new List(); //必填项验证 trade.Name = '贸易管理悬念客户(B类)申请表'; if(trade.isAloneCustomer__c == '是' && (trade.customerInfoIsUpdate__c == null || String.isBlank(trade.oppCodeLink__c))){ strList.add('重复客户选择是,客户是否有更新、已被审核通过的询价必填;'); a = false; } else if(trade.isAloneCustomer__c == null){ strList.add('是、否重复客户必须选择一个;'); a = false; } if(trade.work__c == null){ strList.add('职务必填;'); a = false; } if(trade.watchObject__c == null){ strList.add('观察对象必填;'); a = false; } if((trade.productSegment__c == 'IE' || trade.productSegment__c == 'RVI') && trade.application__c == null){ strList.add('工业部门提交,应用领域必填;'); a = false; } if(trade.isHaveLink__c == '是' && trade.peopleLink__c==null){ strList.add('用户是否有个人网址选择是,个人网址链接信息必填;'); a = false; } else if(trade.isHaveLink__c == '否' && trade.companyLink__c == null){ strList.add('用户是否有个人网址选择否,所在单位网址必填;'); a = false; } else if(trade.isHaveLink__c == null){ strList.add('用户是、否有个人网址必须选择一个;'); a = false; } if(trade.isAlone__c == '是' && (trade.model__c == null || trade.contractNum__c == null)){ strList.add('是否单独部品采购选择是,对应IF YES,主机型号、IF YES,主机合同号必填;'); a = false; } else if(trade.isAlone__c == null){ strList.add('是、否单独部品采购必须选择一个;'); a = false; } /*if(trade.isPC__c == '是' && (trade.PCmodel__c == null || trade.PCcontractNum__c == null)){ strList.add('是否PC/显示器采购选择是,对应IF YES,主机型号、IF YES,主机合同号必填;'); a = false; }*/ if(trade.militaryLink__c == null){ strList.add('使用者的军用关联web检索链接必填;'); a = false; } if ((trade.useYes__c || trade.userYes__c || trade.placeYes__c || trade.productYes__c || trade.isFuelYes__c) && (trade.remark__c == null || trade.remark__c == '确认项目有任何一项选yes,备注必填')) { strList.add('确认项目有任何一项选yes,备注必填;'); trade.remark__c = ''; a = false; }else{ if(trade.remark__c == '确认项目有任何一项选yes,备注必填'){ trade.remark__c = ''; } } if(militaryFileList.size()!=0){ Integer i = 0; for(Attachment att:militaryFileList){ if(att.Name.startsWith('军事')){ i++; break; } } if(i == 0){ strList.add('附件命名规则:军事+询价号+使用者个人信息,必须上传军事关联web检索PDF文件;'); a = false; } }else{ strList.add('附件命名规则:军事+询价号+使用者个人信息,必须上传军事关联web检索PDF文件;'); a = false; } if(trade.isHaveLink__c == '是'){ if(personalFileList.size()!=null && personalFileList.size()!=0){ Integer i = 0; for(Attachment att:personalFileList){ if(att.Name.startsWith('个人信息')){ i++; break; } } if(i == 0){ strList.add('附件命名规则:个人信息+询价号+使用者个人信息,用户是否有个人网址选择是,必须上传个人网址PDF文件;'); a = false; } }else{ strList.add('附件命名规则:个人信息+询价号+使用者个人信息,用户是否有个人网址选择是,必须上传个人网址PDF文件;'); a = false; } } trade.order__c = trade.OrderIdSave__c; System.debug(sendType); if(strList!=null && strList.size()!=0){ errorMessage = ''; for(String str:strList){ errorMessage += str + '-'; } } if(sendType != 'init'){ upsert trade; } System.debug(a); System.debug(order.applicationForm__c); if(a != order.applicationForm__c || (errorMessage!= '1' && order.tradeCustomerApplay__c != errorMessage)){ order.applicationForm__c = a; order.tradeCustomerApplay__c = errorMessage; update order; } if(a && sendType=='send'){ saveYes = '保存成功!'; }else{ saveYes = ''; } return; } public PageReference uploadFile(){ sendType = 'uploadFile'; send(); String b = trade.Id; if(b != null && b != ''){ PageReference ref = new Pagereference('/p/attach/NoteAttach?pid=' + trade.Id + '&retURL=%2Fapex/TradeCustomerManager?id='+trade.Id); ref.setRedirect(true); return ref; } return null; } public void deleteFile(){ isdeleteFile = 'YES'; if(fileIdDelete!=null && fileIdDelete !=''){ for(Integer i=0 ; i