From 25f056535350a0b80bad50d2cc45311998e5d1cd Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期一, 09 十月 2023 18:28:00 +0800
Subject: [PATCH] 近期修改
---
force-app/main/default/classes/lexPCLLostReportLwcController.cls | 631 +++++++++++++++++++++++++++++----------------------------
1 files changed, 319 insertions(+), 312 deletions(-)
diff --git a/force-app/main/default/classes/lexPCLLostReportLwcController.cls b/force-app/main/default/classes/lexPCLLostReportLwcController.cls
index 1c42b9f..9e33408 100644
--- a/force-app/main/default/classes/lexPCLLostReportLwcController.cls
+++ b/force-app/main/default/classes/lexPCLLostReportLwcController.cls
@@ -31,30 +31,11 @@
public static integer secondNum {get; set;}
// add tcm 20211122 end
- @AuraEnabled
- public static LostReport getLostReport(){
- try {
- return LostReport;
- } catch (Exception e) {
- throw new AuraHandledException(e.getMessage());
- }
- }
-
- @AuraEnabled( cacheable = true )
- public static List< Account > getAccounts() {
-
- return [ SELECT Id, Name, Industry FROM Account LIMIT 10 ];
-
- }
-
- @AuraEnabled( cacheable = true )
- public static void saveAccounts(List<Account> accList){
- Insert accList;
- /*if(accList.size()>0 && accList != null){
- insert accList;
- }*/
- }
-
+ @AuraEnabled(cacheable=true)
+ public static Id getUserProfileId() {
+ Id profileId = [SELECT ProfileId FROM User WHERE Id = :UserInfo.getUserId()].ProfileId;
+ return profileId;
+ }
@AuraEnabled
public static String getPickList(String objectName, String fieldName) {
List<Map<String, String>> lstPickvals = new List<Map<String, String>>();
@@ -70,6 +51,8 @@
Map<string,List<Map<String, String>>> pickList = new Map<string,List<Map<String, String>>>();
List<Map<String, String>> zhuji = new List<Map<String, String>>();
List<Map<String, String>> jingzi = new List<Map<String, String>>();
+ List<Map<String, String>> xixiaoji = new List<Map<String, String>>();
+ List<Map<String, String>> guangyuan = new List<Map<String, String>>();
List<Map<String, String>> xiaojingzhong = new List<Map<String, String>>();
List<Map<String, String>> nengliang = new List<Map<String, String>>();
List<Map<String, String>> qita = new List<Map<String, String>>();
@@ -80,19 +63,25 @@
nengliang.add(empty);
qita.add(empty);
for (Integer i = 0; i < lstPickvals.size(); i++) {
- if ((i >= 0 && i <= 6) || i == 36) {
+ if ((i >= 0 && i <= 6) || i == 38) {
zhuji.add(lstPickvals[i]);
}
- if ((i >= 7 && i <= 23) || i == 36) {
+ if ((i >= 7 && i <= 23) || i == 38) {
jingzi.add(lstPickvals[i]);
}
- if ((i >= 24 && i <= 29) || i == 35) {
+ if ((i >= 24 && i <= 29) || i == 35|| i == 38) {
xiaojingzhong.add(lstPickvals[i]);
}
- if ((i >= 30 && i <= 34) || i == 36) {
+ if ((i >= 30 && i <= 34) || i == 38) {
nengliang.add(lstPickvals[i]);
}
if (i == 36) {
+ guangyuan.add(lstPickvals[i]);
+ }
+ if (i == 37) {
+ xixiaoji.add(lstPickvals[i]);
+ }
+ if (i == 38) {
qita.add(lstPickvals[i]);
}
}
@@ -100,30 +89,11 @@
pickList.put('闀滃瓙', jingzi);
pickList.put('灏忛暅绉�', xiaojingzhong);
pickList.put('鑳介噺', nengliang);
+ pickList.put('娲楁秷鏈�', xixiaoji);
+ pickList.put('鍏夋簮', guangyuan);
pickList.put('鍏朵粬', qita);
return JSON.serialize(pickList);
}
- @AuraEnabled
- public static String getPickListByFilter(String objectName,String fieldName,String controlFieldName,String controlFieldValue){
- try {
- Schema.DescribeFieldResult fieldDescribe = Schema.getGlobalDescribe().get(objectName).getDescribe().fields.getMap().get(fieldName).getDescribe();
- // 濡傛灉璇ュ瓧娈典负閫夐」鍒楄〃绫诲瀷锛屽垯鑾峰彇閫夐」鍒楄〃
- List<Schema.PicklistEntry> picklistValues = fieldDescribe.getPicklistValues();
- // 鏍规嵁鎺у埗瀛楁鐨勫�肩瓫閫夊嚭瀵瑰簲鐨勯�夐」
- List<Map<String, Object>> lstPickvals = new List<Map<String, Object>>();
- for (Schema.PicklistEntry entry : picklistValues) {
- if (entry.isActive() && entry.getValue().startsWith(controlFieldValue)) {
- lstPickvals.add(new Map<String, Object>{'label' => entry.getValue(), 'value' => entry.getValue()});
- }
- }
- String jsonStr = JSON.serialize(lstPickvals);
- return jsonStr;
- } catch (Exception e) {
- throw new AuraHandledException(e.getMessage());
- }
- }
-
-
@AuraEnabled
public static Map<string,object> init (string oppId1,string lostReportId1,string pageStatus1,string lostType1,string submitFlag1){
try {
@@ -193,13 +163,15 @@
Lost_Reason_Sub__c,Lost_By_Company__c,
LostTotalAmount__c,LostType__c,
Report_Status__c,Sales_assistant__c,
+ TotalAmountLost__c,
InclusionUltrasound__c, //20230506 lt DB202304618804 鍖呭惈瓒呭0
+ ModifyAfterApproval__c,Approved_Day__c,//20230814 lt DB202308068183 澶卞崟鎶ュ憡瀹℃壒鑺傜偣澧炲姞鍔╃悊瀹℃壒鑺傜偣 add
Opportunity__c, Opportunity__r.Sales_assistant_ID__c,
Opportunity__r.Sales_manager_departmentID__c,
Manager_sales__c,recordtypeid,recordtype.DeveloperName
from Lost_cancel_report__c
where id =: lostReportId limit 1];
-
+ System.debug('chenjingwu' + lostReportList);
if(lostReportList.size() == 0) {
pageStatus = null;
maps.put('message', '鎮ㄦ病鏈夋煡鐪嬭繖涓け鍗�/閮ㄥ垎澶卞崟鎶ュ憡鐨勬潈闄愶紒');
@@ -216,7 +188,18 @@
lostReportList[0].LostType__c ='閮ㄥ垎澶卞崟';
}
// 鏉冮檺锛屽鏋滃綋鍓嶇姸鎬佷笉鏄崏妗堜腑锛岄偅涔堥渶瑕佽烦杞埌鍙椤甸潰
- if(!'鑽夋'.equals(lostReportList[0].Report_Status__c) && userinfo.getProfileId() != (ID) '00e10000000Y3o5AAC') {
+ //鍘燂細!'鑽夋'.equals(lostReportList[0].Report_Status__c) && userinfo.getProfileId() != (ID) '00e10000000Y3o5AAC'
+
+ // 20230814 lt DB202308068183 澶卞崟鎶ュ憡瀹℃壒鑺傜偣澧炲姞鍔╃悊瀹℃壒鑺傜偣 end 鏀筰f鏉′欢
+ if(
+ !('鑽夋'.equals(lostReportList[0].Report_Status__c)
+ || userinfo.getProfileId() == (ID) '00e10000000Y3o5AAC'
+ ||('鎵瑰噯'.equals(lostReportList[0].Report_Status__c) &&
+ (userinfo.getProfileId() == (ID) '00e10000000xnp2AAA' ||
+ userinfo.getProfileId() == (ID) '00e10000000xnpRAAQ' ||
+ userinfo.getProfileId() == (ID) '00e10000000xnpHAAQ'))
+ )
+ ){
pageStatus = 'View';
}
oppId = lostReportList[0].Opportunity__c;
@@ -225,11 +208,12 @@
[
select id, LostPrice__c, Lost_By_Company__c,
Lost_reason_main__c,Lost_Reason_Sub__c,Name,Agency__c, AgencyMannual__c,
- // ProductCategory__c,ProductClass__c,
- Lost_cancel_report__c,Lost_By_Company_Mannual__c,
+ Lost_cancel_report__c,Lost_By_Company_Mannual__c,ChannelSpecificReasons__c,
( select id,PCLLostBrand__c,LostProduct__c,
+ LostProduct__r.Name,
LostProductMannual__c, //SWAG-C6P9PX lt 20210913 add
- ProductCategory__c,ProductClass__c, //add tcm 20211123
+ ProductCategory__c,
+ ProductClass__c, //add tcm 20211123
Quantity__c,Name, LostBrandName__c
from PCLLostBrand__c.PCLLostBrandProduct__r)
from PCLLostBrand__c
@@ -248,8 +232,11 @@
system.debug('check products:'+ (templostBrand.PCLLostBrandProduct__r != null) + '|' + (templostBrand.PCLLostBrandProduct__r.size() > 0));
if (templostBrand.PCLLostBrandProduct__r != null && templostBrand.PCLLostBrandProduct__r.size() > 0) {
for( PCLLostProduct__c tempProduct: templostBrand.PCLLostBrandProduct__r) {
-
- tempProductList.add(new PCLLostProducts(productCount,tempProduct));
+ PCLLostProducts pro = new PCLLostProducts(productCount,tempProduct);
+ if(tempProduct.LostProduct__r.Name != null){
+ pro.productName = tempProduct.LostProduct__r.Name;
+ }
+ tempProductList.add(pro);
productCount++;
}
} else {
@@ -262,10 +249,15 @@
newProduct.LostProductss.LostBrandName__c = templostBrand.Lost_By_Company__c;
}
system.debug('aaa4+++'+templostBrand.Lost_By_Company_Mannual__c);
+
tempProductList.add(newProduct);
productCount++;
}
- LostBrandList.add( new LostBrand(brandCount,tempProductList, templostBrand));
+ LostBrand br = new LostBrand(brandCount,tempProductList, templostBrand);
+ if(tempLostBrand.ChannelSpecificReasons__c != null){
+ br.reasonFlag = true;
+ }
+ LostBrandList.add(br);
brandCount++;
}
@@ -276,6 +268,68 @@
brandNo = 0;
// 璇诲彇绔炰簤瀵规墜鍝佺墝
// BrandmapSet();
+
+ if (lostReportId != null) {
+ // List<ProcessInstance> pros = [
+ // SELECT
+ // ProcessDefinition.Name,
+ // (
+ // SELECT
+ // Id,
+ // StepStatus,
+ // IsPending,
+ // Comments,
+ // CreatedDate,
+ // Actor.Name,
+ // OriginalActor.Name,
+ // ProcessNode.Name FROM StepsAndWorkitems order by IsPending DESC, CreatedDate DESC
+ // )
+ // FROM ProcessInstance where TargetObjectId =:LostReport.lostReport.id order by CreatedDate DESC
+ // ];
+ // List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>();
+ // for(ProcessInstance pro: pros){
+ // items.add(pro.StepsAndWorkitems);
+ // }
+ // LostReport.approvalHistorys = items;
+ List<ProcessInstance> pros = [
+ SELECT
+ ProcessDefinition.Name,
+ (
+ SELECT
+ Id,
+ StepStatus,
+ IsPending,
+ Comments,
+ CreatedDate,
+ Actor.Name,
+ OriginalActor.Name,
+ ProcessNode.Name FROM StepsAndWorkitems order by IsPending DESC, CreatedDate DESC
+ )
+ FROM ProcessInstance where TargetObjectId =:LostReport.lostReport.id order by CreatedDate DESC
+ ];
+ if(pros.size() > 0){
+
+ List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>();
+ maps.put('allowUserId',pros[0].StepsAndWorkitems[0].OriginalActor.Id);
+ maps.put('userProfileId',UserInfo.getProfileId());
+ for(ProcessInstance pro: pros){
+ items.addAll(pro.StepsAndWorkitems);
+ }
+ for(ProcessInstanceHistory pro: pros[0].StepsAndWorkitems){
+ if(pro.StepStatus == 'Started'){
+ maps.put('submitUserId',pro.OriginalActorId);
+ }
+ }
+ LostReport.approvalHistorys = items;
+ }else{
+ List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>();
+ LostReport.approvalHistorys = items;
+ }
+
+ }else{
+ List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>();
+ LostReport.approvalHistorys = items;
+ }
if(string.isNotEmpty(submitFlag)) {
maps.put('message', '鎻愪氦鎴愬姛锛�');
maps.put('LostReport', LostReport);
@@ -286,177 +340,8 @@
// Map<String,String> ele = new Map<String,String>();
// LostReport.LostBrands[0].columns.add();
maps.put('LostReport', LostReport);
+ maps.put('userId',UserInfo.getUserId());
return maps;
- }
- //鍐欏埌js
- // 缂栬緫 鍙湁绯荤粺绠$悊鍛樻垨鑰呰崏妗堜腑鍙互缂栬緫
- @AuraEnabled
- public static String edit2(){
- if( userinfo.getProfileId() == (ID) '00e10000000Y3o5AAC' ||
- '鑽夋'.equals(LostReport.LostReport.Report_Status__c)
- ) {
- pageStatus = 'Edit';
- init1();
- }
- else{
- return '鍙湁鍦ㄨ崏妗堜腑鎵嶈兘杩涜缂栬緫锛�';
- }
- return null;
- }
- // 璁剧疆鍝佺墝
- @AuraEnabled
- public static void setBrand(){
- list<LostBrand> LostBrandlist = LostReport.LostBrands;
- LostBrand tempBrand = LostBrandlist.get(setBrandNo);
- string brandName = tempBrand.lostBrand.Lost_By_Company__c;
- // fy SWAG-CCC6F6 start
- if(!'鍏朵粬'.equals(tempBrand.lostBrand.Lost_By_Company_Mannual__c)){
- tempBrand.lostBrand.Lost_By_Company_Mannual__c = null;
- }
- system.debug('aaa5+++'+tempBrand.lostBrand.Lost_By_Company_Mannual__c);
- // fy SWAG-CCC6F6 end
- // ID compID = CompetitionMap.get(brandName);
- for(PCLLostProducts tempLostProduct : tempBrand.LostProducts ) {
- // test
- // tempLostProduct.LostProductss.Competitor__c = compID;
- tempLostProduct.LostProductss.LostBrandName__c = brandName;
- tempLostProduct.LostProductss.LostProduct__c = null;
- tempLostProduct.LostProductss.LostProductMannual__c = null;
- tempLostProduct.LostProductss.Quantity__c = null;
- tempLostProduct.LostProductss.ProductClass__c = null;
- tempLostProduct.LostProductss.ProductCategory__c = null;
- tempLostProduct.bool=false;
- }
- }
- // 璁剧疆鍝佺墝
- @AuraEnabled
- public static void setbrandmannual(){
- list<LostBrand> LostBrandlist = LostReport.LostBrands;
- LostBrand tempBrand = LostBrandlist.get(setBrandNo);
- string brandName = tempBrand.lostBrand.Lost_By_Company__c;
- String brandNameMannual = tempBrand.lostBrand.Lost_By_Company_Mannual__c;
- // ID compID = CompetitionMap.get(brandName);
- for(PCLLostProducts tempLostProduct : tempBrand.LostProducts ) {
- // test
- // tempLostProduct.LostProductss.Competitor__c = compID;
- system.debug('aaaa3++'+brandNameMannual);
- if ('鍏朵粬'.equals(brandName) && brandNameMannual != null && !''.equals(brandNameMannual)) {
- tempLostProduct.LostProductss.LostBrandName__c = brandNameMannual;
- // tempLostProduct.LostProductss.LostProduct__c = null;
- // tempLostProduct.LostProductss.LostProductMannual__c = null;
- // tempLostProduct.LostProductss.Quantity__c = null;
- // tempLostProduct.LostProductss.ProductClass__c = null;
- // tempLostProduct.LostProductss.ProductCategory__c = null;
- // tempLostProduct.bool=false;
- }
- }
- }
- // 淇濆瓨
- // @AuraEnabled
- // public static String save(LostReport report){
- // try {
- // if(!dataEntry(report)) {
- // return null;
- // }
-
- // // brandCount = LostReport.LostBrands.size();
- // pageStatus = 'View';
- // return '淇濆瓨鎴愬姛锛�';
- // } catch (Exception e) {
- // return e.getMessage();
- // }
- // }
- //璇诲彇骞舵瀯寤虹珵浜夊鎵嬪搧鐗�
- // public void BrandmapSet(){
- // CompetitionMap = new map<string, id>();
- // list <Competition_Company__c> competitionList
- // = [select id,name from Competition_Company__c];
- // for(Competition_Company__c tempComp : competitionList ) {
- // CompetitionMap.put(tempComp.name, tempComp.id);
- // }
-
- // }
- // 鏁版嵁妫�鏌�
- @AuraEnabled
- public static boolean DataCheck(LostReport report){
- LostReport = report;
- boolean dataCheck = true;
- if(string.isBlank(LostReport.LostReport.LostType__c))
- {
- LostReport.LostReport.LostType__c.addError('蹇呴』濉啓澶卞崟绫诲瀷锛�');
- dataCheck = false;
- }
- for(LostBrand tempLostBrand : LostReport.LostBrands ) {
- system.debug('aaaa1++'+tempLostBrand.lostBrand.Lost_By_Company_Mannual__c);
- if(string.isblank(tempLostBrand.lostBrand.Lost_By_Company__c)) {
- tempLostBrand.lostBrand.Lost_By_Company__c.addError('璇峰~鍐欏け鍗曞搧鐗岋紒');
- dataCheck = false;
- }// fy SWAG-CCC6F6 start
- else if('鍏朵粬'.equals(tempLostBrand.lostBrand.Lost_By_Company__c)&&string.isblank(tempLostBrand.lostBrand.Lost_By_Company_Mannual__c)){
- tempLostBrand.lostBrand.Lost_By_Company_Mannual__c.addError('璇峰~鍐欏け鍗曞搧鐗岋紙鎵嬪姩锛夛紒');
- dataCheck = false;
- }// fy SWAG-CCC6F6 end
- system.debug('aaaa2++'+tempLostBrand.lostBrand.Lost_By_Company_Mannual__c);
- if(tempLostBrand.lostBrand.LostPrice__c == null) {
- tempLostBrand.lostBrand.LostPrice__c.addError('澶卞崟閲戦蹇呭~锛�');
- dataCheck = false;
- }
- if(string.isblank(tempLostBrand.lostBrand.Lost_reason_main__c )) {
- tempLostBrand.lostBrand.Lost_reason_main__c.addError('澶卞崟鐞嗙敱(涓�)蹇呭~锛�');
- dataCheck = false;
- }
- if(string.isblank(tempLostBrand.lostBrand.Agency__c )) {
- tempLostBrand.lostBrand.Agency__c.addError('涓爣缁忛攢鍟嗗繀濉紒');
- dataCheck = false;
- }
- // 妫�鏌ユ槸鍚︽湁瓒呰繃1涓湁鏁扮殑浜у搧
- integer productCount = 0;
- for( PCLLostProducts temlostProduct : tempLostBrand.LostProducts) {
- if (temlostProduct.LostProductss.LostProduct__c != null || temlostProduct.LostProductss.LostProductMannual__c != null) {
- System.debug('澶卞崟鍨嬪彿' + temlostProduct.LostProductss.LostProduct__c);
- System.debug('澶卞崟鍨嬪彿鎵嬪姩' + temlostProduct.LostProductss.LostProductMannual__c);
- productCount ++;
- }
- // update tcm 20211123 start
- if((temlostProduct.LostProductss.LostProduct__c!=null || temlostProduct.LostProductss.LostProductMannual__c!=null)&&(temlostProduct.LostProductss.Quantity__c==null || temlostProduct.LostProductss.Quantity__c ==0)) {
- temlostProduct.LostProductss.Quantity__c.addError('璇峰~鍐欏け鍗曟暟閲忥紒');
- dataCheck = false;
- }
- if((temlostProduct.LostProductss.LostProduct__c!=null || temlostProduct.LostProductss.LostProductMannual__c!=null)&&temlostProduct.LostProductss.ProductCategory__c==null) {
- if (temlostProduct.LostProductss.ProductClass__c==null) {
- temlostProduct.LostProductss.ProductClass__c.addError('澶卞崟浜у搧绫诲埆蹇呭~锛�');
- temlostProduct.LostProductss.ProductCategory__c.addError('澶卞崟浜у搧蹇呭~锛�');
- }else {
- temlostProduct.LostProductss.ProductCategory__c.addError('澶卞崟浜у搧蹇呭~锛�');
- }
- dataCheck = false;
- }
- // 褰撳け鍗曞搧鐗屽悕涓哄叾浠栨椂,鎶ラ敊瀛楁涓哄け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛� thh 2022-01-17 start
- if ((temlostProduct.LostProductss.LostProduct__c==null && temlostProduct.LostProductss.LostProductMannual__c==null)&&(temlostProduct.LostProductss.ProductCategory__c!=null||temlostProduct.LostProductss.Quantity__c!=null)) {
- if(tempLostBrand.lostBrand.Lost_By_Company__c != '鍏朵粬'){
- temlostProduct.LostProductss.LostProduct__c.addError('澶卞崟瀵规墜鍨嬪彿鎴栧け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛夊繀濉紒');
- } else{
- temlostProduct.LostProductss.LostProductMannual__c.addError('澶卞崟瀵规墜鍨嬪彿鎴栧け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛夊繀濉紒');
- }
- dataCheck = false;
- }
- // 褰撳け鍗曞搧鐗屽悕涓哄叾浠栨椂,鎶ラ敊瀛楁涓哄け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛� thh 2022-01-17 end
- // update tcm 20211123 end
- }
- // 褰撳け鍗曞搧鐗屽悕涓哄叾浠栨椂,鎶ラ敊瀛楁涓哄け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛� thh 2022-01-17 start
- if (productCount == 0 && tempLostBrand.LostProducts != null && tempLostBrand.LostProducts.size() > 0) {
- if(tempLostBrand.lostBrand.Lost_By_Company__c != '鍏朵粬'){
- tempLostBrand.LostProducts[0].LostProductss.LostProduct__c.addError('鑷冲皯褰曞叆1鏉″け鍗曞鎵嬪瀷鍙蜂俊鎭紒');
- }else{
- tempLostBrand.LostProducts[0].LostProductss.LostProductMannual__c.addError('鑷冲皯褰曞叆1鏉″け鍗曞鎵嬪瀷鍙蜂俊鎭紒');
- }
- dataCheck = false;
- }
- // 褰撳け鍗曞搧鐗屽悕涓哄叾浠栨椂,鎶ラ敊瀛楁涓哄け鍗曞鎵嬪瀷鍙凤紙鎵嬪姩锛� thh 2022-01-17 end
- }
-
-
- return dataCheck;
}
@AuraEnabled
public static String searchBrands(){
@@ -481,20 +366,28 @@
String jsonStr = JSON.serialize(lstPickvals);
return jsonStr;
}
- public static list<LostBrand> brandcopy(LostReport report){
- list<LostBrand> tempbrands = new list<LostBrand>();
- for(LostBrand tempbrand: report.LostBrands) {
- LostBrand LostBrand =
- new LostBrand(tempbrand.lineNo,tempbrand.LostProducts );
- LostBrand.lostBrand = tempbrand.lostBrand.clone();
- LostBrand.lostBrand.id = tempbrand.lostBrand.id;
- tempbrands.add(LostBrand);
+ @AuraEnabled
+ public static string searchBatchIfForProduct(String productName){
+ try {
+ List<BatchIF_Transfer__c> transfer = [select
+ Internal_value__c
+ from BatchIF_Transfer__c
+ where Dropped_Flag__c = false
+ and Table__c = 'PCLLostBrand__c' and Column__c = 'Lost_By_Company__c' and External_value__c =: productName];
+ if(transfer.size() > 0){
+ return transfer[0].Internal_value__c;
+ }else{
+ return null;
+ }
+
+ } catch (Exception e) {
+ throw new AuraHandledException(e.getMessage());
}
- return tempbrands;
}
// 鏁版嵁褰曞叆
@AuraEnabled
- public static Map<String,String> dataEntry(String report1){
+ public static Map<String,String> dataEntry(String report1,List<Id> deleteBrandIdList,List<Id> deleteProductIdList){
+ // LostReport report = (LostReport)JSON.deserializeUntyped(report1, LostReport.class);
LostReport report = (LostReport)JSON.deserialize(report1, LostReport.class);
Map<String,String> messageMap = new Map <String,String>();
system.debug('save---start:');
@@ -506,12 +399,22 @@
report.lostReport.recordTypeID = report.lostReport.LostType__c== '澶卞崟'?Schema.SObjectType.Lost_cancel_report__c.getRecordTypeInfosByDeveloperName().get('PCL_Lost_report').getRecordTypeId() : Schema.SObjectType.Lost_cancel_report__c.getRecordTypeInfosByDeveloperName().get('PCL_PartLost_report').getRecordTypeId();
report.lostReport.LostTotalAmount__c = 0;
report.lostReport.of_lost_system_processor__c = 0;
+ report.lostReport.TotalAmountLost__c = 0;
report.lostReport.Lost_reason_main__c = null;
report.lostReport.Lost_Reason_Sub__c = null;
report.lostReport.Lost_By_Company__c = null;
+ //鎵瑰噯鏃ヤ笉涓虹┖鏃剁粰淇敼鍚庡啀鎵瑰噯璧嬪��
+ if(report.lostReport.Approved_Day__c != null){
+ report.lostReport.ModifyAfterApproval__c = true;
+ }
for(LostBrand tempLostBrand : report.LostBrands) {
if(string.isNotBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) {
report.lostReport.LostTotalAmount__c += tempLostBrand.lostBrand.LostPrice__c;
+ Decimal med = tempLostBrand.lostBrand.LostPrice__c/1.13/1000;
+ Decimal med1 = med.setScale(2);
+ // System.debug('---lt123涓嶅惈绋庢暟鍊�(浜哄伐)Decimal---'+med);
+ // System.debug('---lt123涓嶅惈绋庢暟鍊�(浜哄伐)Decimal涓や綅灏忔暟---'+med1);
+ report.lostReport.TotalAmountLost__c += med1;
report.lostReport.Lost_reason_main__c =
report.lostReport.Lost_reason_main__c == null
? tempLostBrand.lostBrand.Lost_reason_main__c
@@ -543,30 +446,32 @@
map<string,PCLLostProduct__c> upsertLostProductMap = new map<string,PCLLostProduct__c>();
// 闇�瑕佸垹鎺夌殑澶卞崟鍝佺墝
list<PCLLostProduct__c> deleteLostProductList = new list<PCLLostProduct__c>();
+ Integer lineNo = 0;
for(LostBrand tempLostBrand : report.LostBrands ) {
// 濡傛灉鏈夊け鍗曞搧鐗岋紝閭d箞灏辫鎻掑叆鏇存柊锛�
system.debug('tempLostBrand.lostBrand.Lost_By_Company__c:'+tempLostBrand.lostBrand.Lost_By_Company__c);
if(string.isNotBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) {
- upsertLostBrandMap.put(tempLostBrand.lineNo,tempLostBrand.lostBrand);
- tempLostBrand.lostBrand.Lost_cancel_report__c = report.lostReport.id;
+ upsertLostBrandMap.put(lineNo,tempLostBrand.lostBrand);
+ tempLostBrand.lostBrand.Lost_cancel_report__c = report.lostReport.Id;
tempLostBrand.lostBrand.Name = tempLostBrand.lostBrand.Lost_By_Company__c;
integer tempNo = 0;
for( PCLLostProducts tempLostProduct : tempLostBrand.LostProducts) {
system.debug('Name:'+ tempLostProduct.LostProductss.Name );
if(tempLostProduct.LostProductss.Quantity__c !=null && tempLostProduct.LostProductss.Quantity__c >0) {
tempLostProduct.LostProductss.Name = tempLostBrand.lostBrand.Name + tempLostProduct.LostProductss.Quantity__c;
- upsertLostProductMap.put(tempLostBrand.lineNo +':'+ tempNo,tempLostProduct.LostProductss);
- }else if(string.isNotBlank(tempLostProduct.LostProductss.id)) {
+ upsertLostProductMap.put(lineNo +':'+ tempNo,tempLostProduct.LostProductss);
+ }else if(string.isNotBlank(tempLostProduct.LostProductss.Id)) {
deleteLostProductList.add(tempLostProduct.LostProductss);
}
tempNo++;
}
}
// 濡傛灉娌℃湁鍝佺墝锛屼絾鏄湁id锛� 杩欐牱鏁版嵁闇�瑕佸垹闄�
- else if(string.isNotBlank(tempLostBrand.lostBrand.id)) {
- deleteLostBrandMap.put(tempLostBrand.lineNo,tempLostBrand.lostBrand);
+ else if(string.isNotBlank(tempLostBrand.lostBrand.Id )) {
+ deleteLostBrandMap.put(lineNo,tempLostBrand.lostBrand);
// 杩欓噷鍙兘闇�瑕佷篃鍒ゆ柇涓�涓嬪け鍗曞瀷鍙锋湁娌℃湁闇�瑕佸垹鎺�
}
+ lineNo++;
}
if(upsertLostBrandMap.size()>0) {
upsert upsertLostBrandMap.values();
@@ -574,7 +479,7 @@
for( string productNo :upsertLostProductMap.keyset()) {
PCLLostProduct__c tempLostProduct = upsertLostProductMap.get(productNo);
integer brandNo = integer.valueof(productNo.split(':')[0]);
- tempLostProduct.PCLLostBrand__c = upsertLostBrandMap.get(brandNo).id;
+ tempLostProduct.PCLLostBrand__c = upsertLostBrandMap.get(brandNo).Id;
}
if(upsertLostProductMap.size()>0) {
upsert upsertLostProductMap.values();
@@ -582,13 +487,20 @@
if(deleteLostBrandMap.size()>0) {
delete deleteLostBrandMap.values();
for(PCLLostBrand__c pcl: deleteLostBrandMap.values()) {
- pcl.id = null;
+ pcl.Id = null;
}
+ }
+ if (deleteProductIdList.size()>0) {
+ database.delete(deleteProductIdList);
+
+ }
+ if (deleteBrandIdList.size()>0) {
+ database.delete(deleteBrandIdList);
}
if(deleteLostProductList.size()>0) {
delete deleteLostProductList;
for(PCLLostProduct__c pclp: deleteLostProductList) {
- pclp.id = null;
+ pclp.Id = null;
}
}
if(deleteBrandIDSet.size() > 0) {
@@ -615,12 +527,57 @@
}
}
}
+
+ List<ProcessInstance> pros = [
+ SELECT
+ ProcessDefinition.Name,
+ (
+ SELECT
+ Id,
+ StepStatus,
+ IsPending,
+ Comments,
+ CreatedDate,
+ Actor.Name,
+ OriginalActor.Name,
+ ProcessNode.Name FROM StepsAndWorkitems order by IsPending DESC, CreatedDate DESC
+ )
+ FROM ProcessInstance where TargetObjectId =:reportId order by CreatedDate DESC
+ ];
+ List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>();
+ for(ProcessInstance pro: pros){
+ items.addAll(pro.StepsAndWorkitems);
+ }
+ if(items.size() > 0){
+ report.approvalHistorys = items;
+ }else{
+ List<ProcessInstanceHistory> items1 = new List<ProcessInstanceHistory>();
+ report.approvalHistorys = items1;
+ }
+
+
+
+
// lostReportId = report.lostReport.id;
system.debug('save---end:');
- }catch (Exception ex) {
+ messageMap.put('LostReport',JSON.serialize(report));
+ }catch (Exception e) {
Database.rollback(sp);
// 杩欓噷闇�瑕佸啓涓�浜涙姤閿欎俊鎭�
- messageMap.put('error', ex.getMessage());
+ // if (e.getMessage().contains(',')) {
+ // System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ // String exc = '' + e.getMessage();
+ // Integer left = exc.indexOf(':') + 1;
+ // Integer right = exc.lastIndexOf(':');
+ // String str = exc.substring(left,right);
+ // left = str.indexOf(',') + 1;
+ // String newStr = str.substring(left);
+ // messageMap.put('error', ''+ newStr);
+ // }else {
+ // messageMap.put('error', ''+ e.getMessage());
+ // }
+
+ messageMap.put('error', ''+ e.getMessage());
return messageMap;
}
return messageMap;
@@ -629,31 +586,66 @@
// 鎻愪氦
@AuraEnabled
- public static Map<string,Object> submit(String report1,String reportId){
- LostReport report = (LostReport)JSON.deserialize(report1, LostReport.class);
+ public static Map<string,Object> submit(String reportStatus,Boolean modifyAfterApproval,String reportId){
+ // LostReport report = (LostReport)JSON.deserialize(report1, LostReport.class);
Map<string,string> messages = new Map<string,string>();
- if(!'鑽夋'.equals(report.lostReport.Report_Status__c) ) {
+ if(!'鑽夋'.equals(reportStatus) && modifyAfterApproval == false) {
messages.put('error', '鍙湁鍦ㄨ崏妗堜腑鎵嶈兘鎻愪氦鐢宠锛�');
return messages;
}
Map<string,Object> objs = new Map<string,Object>();
+ Lost_cancel_report__c report = new Lost_cancel_report__c();
Savepoint sp = Database.setSavepoint();
try{
- report.lostReport.Id = reportId;
- report.lostReport.Report_Status__c = '鎻愪氦';
- update report.lostReport;
- Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest();
- psr.setObjectId(reportId);
- Approval.ProcessResult submitResult = Approval.process(psr);
+ report.Id = reportId;
+ report.Report_Status__c = '鎻愪氦';
+ update report;
+ // Approval.ProcessSubmitRequest psr = new Approval.ProcessSubmitRequest();
+ // psr.setObjectId(reportId);
+ // Approval.ProcessResult submitResult = Approval.process(psr);
objs.put('uri', '/apex/PCLLostReportPage');
objs.put('Id', reportId);
objs.put('pageStatus', 'View');
objs.put('submitFlag', '1');
+ List<ProcessInstance> pros = [
+ SELECT
+ ProcessDefinition.Name,
+ (
+ SELECT
+ Id,
+ StepStatus,
+ IsPending,
+ Comments,
+ CreatedDate,
+ Actor.Name,
+ OriginalActor.Name,
+ ProcessNode.Name FROM StepsAndWorkitems order by IsPending DESC, CreatedDate DESC
+ )
+ FROM ProcessInstance where TargetObjectId =:reportId order by CreatedDate DESC
+ ];
+
+ List<ProcessInstanceHistory> items = new List<ProcessInstanceHistory>();
+ for(ProcessInstance pro:pros){
+ items.addAll(pro.StepsAndWorkitems);
+ }
+
+ objs.put('approvalHistorys',items);
return objs;
- }catch(exception ex) {
+ }catch(exception e) {
Database.rollback(sp);
- messages.put('error', ex.getMessage());
- return messages;
+ if (e.getMessage().contains(',')) {
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ String exc = '' + e.getMessage();
+ Integer left = exc.indexOf(':') + 1;
+ Integer right = exc.lastIndexOf(':');
+ String str = exc.substring(left,right);
+ left = str.indexOf(',') + 1;
+ String newStr = str.substring(left);
+ objs.put('error', ''+ newStr);
+ }else {
+ objs.put('error', ''+ e.getMessage());
+ }
+ return objs;
}
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -669,51 +661,17 @@
return lostBrand;
}
- // 鍒犻櫎鍝佺墝 杩欎釜鏈夊弬鏁癰randNo锛屾墠鐭ラ亾鏄垹闄ら偅涓搧鐗�
@AuraEnabled
- public static String Remove(){
- system.debug('RemoveBrandNo:'+RemoveBrandNo);
- list<LostBrand> tempLostBrands = new List<lostBrand>();
- Integer i = 0;
- for(integer j = 0; j< LostReport.LostBrands.size(); j++ ) {
- LostBrand templostBrand = LostReport.LostBrands.get(j);
- if(j != RemoveBrandNo) {
- templostBrand.lineNo = i;
- tempLostBrands.add(templostBrand);
- i++;
- }else if(!string.isBlank(templostBrand.lostBrand.id)) {
- deleteBrandIDSet.add(templostBrand.lostBrand.id);
- }
- }
-
- LostReport.LostBrands = tempLostBrands;
-
- brandCount = LostReport.LostBrands.size();
- return null;
- }
- // 娣诲姞鍨嬪彿锛� 杩欎釜鏈夊弬鏁癰randNo锛屾墠鐭ラ亾鏄坊鍔犲埌閭d釜鍝佺墝
- // update tcm 20211125 娣诲姞鍨嬪彿鏃惰嚜鍔ㄥ甫鍑哄搧鐗� start
- @AuraEnabled
- public static String addProduct(){
- system.debug('brandNo:'+brandNo);
- LostBrand tempLostBrand = LostReport.LostBrands.get(brandNo);
- // PCLLostProduct__c plp = new PCLLostProduct__c(Competitor__c=CompetitionMap.get(LostReport.LostBrands[brandNo].lostBrand.Lost_By_Company__c));
- string brandName = tempLostBrand.lostBrand.Lost_By_Company__c;
- PCLLostProduct__c plp = new PCLLostProduct__c();
- plp.LostBrandName__c = brandName;
- tempLostBrand.LostProducts.add(new PCLLostProducts(tempLostBrand.LostProducts.size(),plp));
- tempLostBrand.ProductSize = tempLostBrand.LostProducts.size();
- return null;
- }
- @AuraEnabled
- public static PCLLostProducts getLostProduct(){
+ public static PCLLostProducts getNewLostProduct(Integer lineNo2){
+ PCLLostProducts pro = null;
try {
- PCLLostProduct__c plp = new PCLLostProduct__c();
- return new PCLLostProducts(0,plp);
+ pro = new PCLLostProducts(lineNo2);
} catch (Exception e) {
- throw new AuraHandledException(e.getMessage());
+ System.debug(e.getMessage());
}
+ return pro;
}
+
// update tcm 20211125 娣诲姞鍨嬪彿鏃惰嚜鍔ㄥ甫鍑哄搧鐗� end
// 椤甸潰鐨勬暟鎹粨鏋�
public class LostReport {
@@ -721,17 +679,22 @@
public Lost_cancel_report__c lostReport { get; set; }
@AuraEnabled
public list<LostBrand> LostBrands { get; set; }
+ @AuraEnabled
+ public list<ProcessInstanceHistory> approvalHistorys { get; set; }
public LostReport(){
lostReport = new Lost_cancel_report__c();
LostBrands = new list<LostBrand> {new LostBrand(0)};
+ approvalHistorys = new list<ProcessInstanceHistory>();
}
public LostReport(Lost_cancel_report__c lostReport){
this.lostReport = lostReport;
LostBrands = new list<LostBrand> {new LostBrand(0)};
+ approvalHistorys = new list<ProcessInstanceHistory>();
}
public LostReport(Lost_cancel_report__c lostReport, list<LostBrand> LostBrands){
this.lostReport = lostReport;
this.LostBrands = LostBrands;
+ approvalHistorys = new list<ProcessInstanceHistory>();
}
}
@@ -744,9 +707,14 @@
public list<PCLLostProducts> LostProducts;
@AuraEnabled
public Integer ProductSize;
+ @AuraEnabled
+ public Boolean reasonFlag = false;
+ @AuraEnabled
+ public String brandTitle;
public LostBrand( integer lineNo ){
lostBrand = new PCLLostBrand__c();
this.lineNo = lineNo;
+ this.brandTitle = '澶卞崟鍝佺墝' + (lineNo + 1);
LostProducts = new list<PCLLostProducts> {new PCLLostProducts()};
ProductSize = 1;
lostBrand = new PCLLostBrand__c();
@@ -754,12 +722,14 @@
public LostBrand( integer lineNo, list<PCLLostProducts> LostProducts ){
lostBrand = new PCLLostBrand__c();
this.lineNo = lineNo;
+ this.brandTitle = '澶卞崟鍝佺墝' + (lineNo + 1);
this.LostProducts = LostProducts;
ProductSize = LostProducts.size();
}
public LostBrand( integer lineNo, list<PCLLostProducts> LostProducts, PCLLostBrand__c lostBrand){
this.lostBrand = lostBrand;
this.lineNo = lineNo;
+ this.brandTitle = '澶卞崟鍝佺墝' + (lineNo + 1);
this.LostProducts = LostProducts;
ProductSize = LostProducts.size();
}
@@ -772,6 +742,8 @@
public PCLLostProduct__c LostProductss;
@AuraEnabled
public Boolean bool;
+ @AuraEnabled
+ public String productName;
@AuraEnabled
public List<Map<String, String>> productOptions = new List<Map<String, String>>();
public PCLLostProducts() {
@@ -798,11 +770,12 @@
public static void search() {
if (LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c==null) {
LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null;
- LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=null;
LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false;
}else {
- Product2 prd = [select Id,ProductClass__c, ProductCategory__c from Product2 where Id =:LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c];
+ Product2 prd = [select Id,ProductClass__c
+ , ProductCategory__c
+ from Product2 where Id =:LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c];
if (prd.ProductCategory__c!=null) {
LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=prd.ProductClass__c;
LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c;
@@ -815,20 +788,54 @@
}
}
}
- // add tcm 20211118 end
-
@AuraEnabled
- public static List<Product2> searchProduct(){
+ public static string searchProduct(String lostProduct){
+ Product2 prd = null;
try {
- List<Product2> products = [
- select
- Id,name
- from Product2
- where Brand_Name__c = 'STORZ' limit 10
- ];
- return products;
+ prd = [select Id
+ ,ProductClass__c
+ , ProductCategory__c
+ from Product2 where Id =:lostProduct];
} catch (Exception e) {
throw new AuraHandledException(e.getMessage());
}
+ return JSON.serialize(prd);
}
+
+ // add tcm 20211118 end
+
+ @AuraEnabled
+ public static String submitForApproval(String recordId, String comments,String action){
+ try {
+ List<ProcessInstanceWorkitem> workItems = [
+ SELECT Id, ProcessInstanceId
+ FROM ProcessInstanceWorkitem
+ WHERE ProcessInstance.TargetObjectId = :recordId
+ ];
+ Approval.ProcessWorkitemRequest req = new Approval.ProcessWorkitemRequest();
+ req.setWorkitemId(workItems.get(0).Id);
+ req.setAction(action);
+ req.setComments(comments);
+
+
+ Approval.ProcessResult result = Approval.process(req);
+ return null;
+ } catch (Exception e) {
+ return e.getMessage();
+ }
+
+ }
+
+ @AuraEnabled
+ public static String reassignStep(String recordId, String newActorId ){
+ try {
+ List<ProcessInstanceWorkItem> workItemList = [SELECT ActorId FROM ProcessInstanceWorkitem WHERE ProcessInstance.TargetObjectId = : recordId];
+ ApprovalHistoryUtil.reassignStep(workItemList, newActorId);
+ return null;
+ } catch (Exception e) {
+ return e.getMessage();
+ }
+
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.1