/**
|
* 注残出納表をupsert
|
*/
|
trigger NFM010UpsertStatuAchievements on Statu_Achievements__c (after insert, after update) {
|
// SWAG-CE55BX 预测优化 start
|
if (StaticParameter.EscapeOppandStaTrigger) {
|
return;
|
}
|
// SWAG-CE55BX 预测优化 end
|
// CHAN-AZM8SE 2018/8/27 start
|
if (Label.update_Statu_Achievements_Journal.equals('true')) {
|
return;
|
}
|
// CHAN-AZM8SE 2018/8/27 end
|
|
Map<String, Statu_Achievements_Journal__c> stajUpsertMap = new Map<String, Statu_Achievements_Journal__c>();
|
// CHAN-BCPCA3 需要更新或创建的虚拟DN start
|
Map<String, Statu_Achievements_DN__c> staDNUpsertMap
|
= new Map<String, Statu_Achievements_DN__c>();
|
|
// CHAN-BCPCA3 需要更新或创建的虚拟DN end
|
|
List<String> stajOldKeys = new List<String>(); // 发货日変更なし、金額変更がある場合
|
Map<String, Statu_Achievements_Journal__c> stajOldKeyNewMap = new Map<String, Statu_Achievements_Journal__c>();
|
List<String> stajOld2Keys = new List<String>(); // 金額変更なし、发货日変更がある場合
|
Map<String, Statu_Achievements_Journal__c> stajOld2KeyNewMap = new Map<String, Statu_Achievements_Journal__c>();
|
List<String> stajOldKeyDelKeyList = new List<String>(); // 发货日がありからなしに変更した場合、oldが削除対象
|
|
Datetime pNow = Datetime.now();
|
//--------------------CHAN-AZM8SE--START--------------------------------------------------------------------
|
// 累计询价中所有注残的已发货金额
|
//Set<String> oppNo = new Set<String>();
|
//Map<String,Decimal> oppShippedAmount = new Map<String,Decimal>();
|
//Map<String,Decimal> staUnshippedAmount = new Map<String,Decimal>();
|
//Map<String,Decimal> changeAmount = new Map<String,Decimal>();
|
//for(Statu_Achievements__c oppSta : Trigger.new) {
|
// oppNo.add(oppSta.Opp_Number__c);
|
// oppShippedAmount.put(oppSta.Opp_Number__c, 0);
|
// Decimal am = changeAmount.get(oppSta.Opp_Number__c) == null ? 0 : changeAmount.get(oppSta.Opp_Number__c);
|
// Decimal newAm = 0;
|
// if (oppSta.ReturnFlag__c) {
|
// newAm = -(oppSta.ContractAmount__c - (oppSta.UnshippedAmount__c == null ? 0 : oppSta.UnshippedAmount__c));
|
// } else {
|
// newAm = oppSta.ContractAmount__c - (oppSta.UnshippedAmount__c == null ? 0 : oppSta.UnshippedAmount__c);
|
// }
|
// changeAmount.put(oppSta.Opp_Number__c, am + newAm);
|
//}
|
//List<Statu_Achievements__c> oppStaList = [Select Id, Name, Opp_Number__c, ShippedAmount_F__c, ReturnFlag__c
|
// from Statu_Achievements__c where Opp_Number__c In:oppNo];
|
//if (oppStaList != null && oppStaList.size() > 0) {
|
// for (Statu_Achievements__c amountSum : oppStaList) {
|
// oppShippedAmount.put(amountSum.Opp_Number__c, oppShippedAmount.get(amountSum.Opp_Number__c) + amountSum.ShippedAmount_F__c);
|
// if (amountSum.ReturnFlag__c) {
|
// staUnshippedAmount.put(amountSum.Name, (staUnshippedAmount.get(amountSum.Name) ==null ? 0 : staUnshippedAmount.get(amountSum.Name)) + amountSum.ShippedAmount_F__c);
|
// }
|
// }
|
//}
|
|
if (Trigger.isInsert) {
|
// insertの場合、そのまま1レコードStatu_Achievements_Journal__cにinsert
|
for (Statu_Achievements__c sta : Trigger.new) {
|
Statu_Achievements_Journal__c staj = new Statu_Achievements_Journal__c();
|
staj.IF_LastModifiedDateTime__c = pNow;
|
staj.Statu_Achievements__c = sta.id;
|
staj.CurrencyIsoCode = sta.CurrencyIsoCode;
|
if (sta.UnshippedAmount__c == null) {
|
staj.ShippedAmount__c = -sta.ContractAmount__c;
|
} else {
|
staj.ShippedAmount__c = sta.ContractAmount__c - sta.UnshippedAmount__c;
|
}
|
if (sta.ReturnFlag__c) {
|
staj.DeliveryDate__c = sta.LastApproveDate__c;
|
staj.ShippedAmount__c = -staj.ShippedAmount__c;
|
} else {
|
staj.DeliveryDate__c = sta.DeliveryDate__c;
|
}
|
|
// CHAN-BCPCA3 判断是否ZM订单 如果是则生成虚拟DN start
|
//只有ZM17、ZM18订单生成虚拟DN thh 2021-12-02 start
|
System.debug('sta.orderType__c1:' + sta.orderType__c);
|
if ('ZM17'.equals(sta.orderType__c) || 'ZM18'.equals(sta.orderType__c)) {
|
System.debug('sta.orderType__c2:' + sta.orderType__c);
|
Statu_Achievements_DN__c staDN = new Statu_Achievements_DN__c();
|
staDN.orderType__c = sta.orderType__c;
|
staDN.DeliveryDate__c = sta.LastApproveDate__c;
|
if (sta.orderType__c.equals('ZM17')) {
|
staDN.ShippedAmount_ZM__c = sta.UnshippedAmount__c - sta.ContractAmount__c ;
|
} else {
|
staDN.ShippedAmount_ZM__c = sta.ContractAmount__c - sta.UnshippedAmount__c ;
|
}
|
staDN.Statu_Achievements__c = sta.id;
|
if (staDN.DeliveryDate__c == null) continue;
|
staDN.DNKey__c = sta.Name + ':' +
|
datetime.newInstance(
|
staDN.DeliveryDate__c.year(),
|
staDN.DeliveryDate__c.month(),
|
staDN.DeliveryDate__c.day()
|
).format('yyyyMMdd');
|
|
staDNUpsertMap.put(staDN.DNKey__c, staDN);
|
continue;
|
}
|
//只有ZM17、ZM18订单生成虚拟DN thh 2021-12-02 end
|
// CHAN-BCPCA3 判断是否ZM订单 如果是则生成虚拟DN end
|
|
if (staj.DeliveryDate__c == null) continue;
|
staj.SoNo_DeliveryDate_Text__c = sta.Name + ':' +
|
datetime.newInstance(
|
staj.DeliveryDate__c.year(), staj.DeliveryDate__c.month(), staj.DeliveryDate__c.day()
|
).format('yyyyMMdd');
|
|
stajUpsertMap.put(staj.SoNo_DeliveryDate_Text__c, staj);
|
}
|
} else {
|
// updateの場合、发货日、发货金额 有变化才是对象
|
Map<Id, Decimal> staAmountMap = new Map<Id, Decimal>();
|
List<Id> staIds = new List<String>();
|
|
// CHAN-BCPCA3 同一条ZM17,ZM18 注残所有调整金额 start
|
Map<Id, Decimal> staDNALAmountMap = new Map<Id, Decimal>();
|
// CHAN-BCPCA3 同一条ZM17, ZM18 注残所有调整金额 end
|
|
//HWAG-B4PCZ5 start 2018-09-19 更新对应询价的共享规则
|
List<OpportunityShare> osList = new List<OpportunityShare>();
|
list<Statu_Achievements__c> tmpSAlist =
|
[select id, DeliveryDate__c, FSE_GI_LeaderID__c, FSE_SP_Leader_id__c
|
, Opportunity__c
|
, Opportunity__r.Hospital__r.FSE_GI_Main_Leader__r.IsActive
|
, Opportunity__r.Hospital__r.FSE_SP_Main_Leader__r.IsActive
|
, ForecastAccuracyObject__c , Opportunity__r.ownerId
|
, Opportunity__r.OCM_man_province__c // CHAN-B6H4NT 2018/11/14
|
// SWAG-B7LADC 2018/12/21 start
|
, Opportunity__r.Hospital__r.FSE_ENG_Main_Leader__r.Id
|
, Opportunity__r.Hospital__r.FSE_ENG_Main_Leader__r.IsActive
|
, Opportunity__r.Hospital__r.FSE_ENG_Vice_Leader__c
|
, Opportunity__r.Hospital__r.FSE_GI_Vice_Leader__c
|
, Opportunity__r.Hospital__r.FSE_SP_Vice_Leader__c
|
// SWAG-B7LADC 2018/12/21 end
|
from Statu_Achievements__c where id in: Trigger.new];
|
|
// SWAG-B7LADC 2018/12/21 获取出对应医院所有的副担当,并检索出其ID start
|
list<ID> FSE_SPVicelist = new list<ID>();
|
list<ID> FSE_GIVicelist = new list<ID>();
|
list<ID> FSE_ENGVicelist = new list<ID>();
|
map<id, string> FSE_SPViceIDtoNameMap = new map<id, string>();
|
map<id, string> FSE_GIViceIDtoNameMap = new map<id, string>();
|
map<id, string> FSE_ENGViceIDtoNameMap = new map<id, string>();
|
list<string> FSE_SP_ViceNameList = new list<string>();
|
list<string> FSE_GI_ViceNameList = new list<string>();
|
list<string> FSE_ENG_ViceNameList = new list<string>();
|
Map<id, Map<string, list<String>>> sAIDtoVICENameMap = new Map<id, Map<string, list<String>>>();
|
for (Statu_Achievements__c temSta : tmpSAlist) {
|
Statu_Achievements__c OldSta = Trigger.oldMap.get(temSta.id);
|
if ((temSta.DeliveryDate__c != null && temSta.ForecastAccuracyObject__c)
|
&& (StaticParameter.EscapeNFM010UpsertStatuAchievementsTrigger ||
|
OldSta.DeliveryDate__c == null || label.Statu_Achievements_share.equals('true'))) {
|
Map<String, List<String>> FSETypetoNameMap = new Map<String, List<String>> ();
|
if (temSta.Opportunity__r.Hospital__r.FSE_ENG_Vice_Leader__c != null) {
|
|
list<string> currentFSE_ENGUserNameList = new list<string>();
|
for (String UsrName : temSta.Opportunity__r.Hospital__r.FSE_ENG_Vice_Leader__c.split('[,\\,]')) {
|
FSE_ENG_ViceNameList.add(UsrName);
|
currentFSE_ENGUserNameList.add(UsrName);
|
}
|
FSETypetoNameMap.put('FSE_ENG', currentFSE_ENGUserNameList);
|
|
}
|
|
if (temSta.Opportunity__r.Hospital__r.FSE_GI_Vice_Leader__c != null) {
|
list<string> currentFSE_GIUserNameList = new list<string>();
|
for (String UsrName : temSta.Opportunity__r.Hospital__r.FSE_GI_Vice_Leader__c.split('[,\\,]')) {
|
FSE_GI_ViceNameList.add(UsrName);
|
currentFSE_GIUserNameList.add(UsrName);
|
}
|
FSETypetoNameMap.put('FSE_GI', currentFSE_GIUserNameList);
|
}
|
if (temSta.Opportunity__r.Hospital__r.FSE_SP_Vice_Leader__c != null) {
|
list<string> currentFSE_SPUserNameList = new list<string>();
|
for (String UsrName : temSta.Opportunity__r.Hospital__r.FSE_SP_Vice_Leader__c.split('[,\\,]')) {
|
FSE_SP_ViceNameList.add(UsrName);
|
currentFSE_SPUserNameList.add(UsrName);
|
}
|
FSETypetoNameMap.put('FSE_SP', currentFSE_SPUserNameList);
|
|
}
|
sAIDtoVICENameMap.put(temSta.id, FSETypetoNameMap);
|
}
|
}
|
//throw new ControllerUtil.myException( 'a' + FSE_ENG_ViceNameList + FSE_GI_ViceNameList +FSE_SP_ViceNameList);
|
|
list<user> allViceUserList =
|
[select id, Alias__c
|
from user
|
where IsActive = true
|
and (Alias__c in: FSE_ENG_ViceNameList
|
or Alias__c in: FSE_GI_ViceNameList
|
or Alias__c in: FSE_SP_ViceNameList )];
|
system.debug('allViceUserList------:' + allViceUserList);
|
for (User tempUser : allViceUserList) {
|
if (FSE_ENG_ViceNameList.contains(tempUser.Alias__c)) {
|
FSE_ENGVicelist.add(tempUser.id);
|
FSE_ENGViceIDtoNameMap.put(tempUser.id, tempUser.Alias__c);
|
}
|
if (FSE_SP_ViceNameList.contains(tempUser.Alias__c)) {
|
FSE_SPVicelist.add(tempUser.id);
|
FSE_SPViceIDtoNameMap.put(tempUser.id, tempUser.Alias__c);
|
}
|
if (FSE_GI_ViceNameList.contains(tempUser.Alias__c)) {
|
FSE_GIVicelist.add(tempUser.id);
|
FSE_GIViceIDtoNameMap.put(tempUser.id, tempUser.Alias__c);
|
}
|
}
|
system.debug('FSE_GIVicelist------:' + FSE_GIVicelist);
|
system.debug('FSE_SPVicelist------:' + FSE_SPVicelist);
|
system.debug('FSE_ENGVicelist------:' + FSE_ENGVicelist);
|
|
|
// SWAG-B7LADC 2018/12/21 获取出对应医院所有的副担当,并检索出其ID end
|
|
for (Statu_Achievements__c sta : tmpSAlist) {
|
Statu_Achievements__c OldSta = Trigger.oldMap.get(sta.id);
|
//system.debug('OldSta:'+OldSta.DeliveryDate__c);
|
//throw new ControllerUtil.myException('sta.Opportunity__r.OCM_man_province__c:' + sta.Opportunity__r.OCM_man_province__c);
|
if ( sta.Opportunity__r.OCM_man_province__c != null &&
|
!sta.Opportunity__r.OCM_man_province__c.equals('能量') && // CHAN-B6H4NT 2018/11/14
|
(sta.DeliveryDate__c != null && sta.ForecastAccuracyObject__c)
|
&& (StaticParameter.EscapeNFM010UpsertStatuAchievementsTrigger ||
|
OldSta.DeliveryDate__c == null || label.Statu_Achievements_share.equals('true'))) {
|
if (sta.FSE_GI_LeaderID__c != null
|
&& sta.FSE_GI_LeaderID__c != sta.Opportunity__r.ownerId &&
|
sta.Opportunity__r.Hospital__r.FSE_GI_Main_Leader__r.IsActive) {
|
osList.add(new OpportunityShare(
|
UserOrGroupId = sta.FSE_GI_LeaderID__c,
|
OpportunityId = sta.Opportunity__c, OpportunityAccessLevel = 'Edit'
|
));
|
}
|
if (sta.FSE_SP_Leader_id__c != null
|
&& sta.FSE_SP_Leader_id__c != sta.Opportunity__r.ownerId &&
|
sta.Opportunity__r.Hospital__r.FSE_SP_Main_Leader__r.IsActive) {
|
osList.add(new OpportunityShare(
|
UserOrGroupId = sta.FSE_SP_Leader_id__c,
|
OpportunityId = sta.Opportunity__c, OpportunityAccessLevel = 'Edit'
|
));
|
}
|
|
|
for (ID FSEGIID : FSE_GIVicelist) {
|
|
if (FSEGIID != sta.Opportunity__r.ownerId
|
&& FSE_GIViceIDtoNameMap.get(FSEGIID) != null
|
&& sta.Opportunity__r.Hospital__r.FSE_GI_Vice_Leader__c != null
|
&& sAIDtoVICENameMap.get(sta.id) != null
|
&& sAIDtoVICENameMap.get(sta.id).get('FSE_GI') != null
|
&& sAIDtoVICENameMap.get(sta.id).get('FSE_GI').contains(FSE_GIViceIDtoNameMap.get(FSEGIID))
|
) {
|
osList.add(new OpportunityShare(
|
UserOrGroupId = FSEGIID,
|
OpportunityId = sta.Opportunity__c, OpportunityAccessLevel = 'Edit'
|
));
|
|
}
|
}
|
for (ID FSESPID : FSE_SPVicelist) {
|
if (FSESPID != sta.Opportunity__r.ownerId
|
&& FSE_SPViceIDtoNameMap.get(FSESPID) != null
|
&& sta.Opportunity__r.Hospital__r.FSE_SP_Vice_Leader__c != null
|
&& sAIDtoVICENameMap.get(sta.id) != null
|
&& sAIDtoVICENameMap.get(sta.id).get('FSE_SP') != null
|
&& sAIDtoVICENameMap.get(sta.id).get('FSE_SP').contains(FSE_SPViceIDtoNameMap.get(FSESPID))
|
) {
|
osList.add(new OpportunityShare(
|
UserOrGroupId = FSESPID,
|
OpportunityId = sta.Opportunity__c, OpportunityAccessLevel = 'Edit'
|
));
|
|
}
|
}
|
osList.add(new OpportunityShare(
|
UserOrGroupId = Label.Group_ServiceManagementID ,
|
OpportunityId = sta.Opportunity__c, OpportunityAccessLevel = 'Read'
|
));
|
}
|
if (sta.Opportunity__r.OCM_man_province__c != null &&
|
sta.Opportunity__r.OCM_man_province__c.equals('能量') && // CHAN-B6H4NT 2018/11/14
|
(sta.DeliveryDate__c != null && sta.ForecastAccuracyObject__c)
|
&& (StaticParameter.EscapeNFM010UpsertStatuAchievementsTrigger ||
|
OldSta.DeliveryDate__c == null || label.Statu_Achievements_share.equals('true'))) {
|
if (sta.Opportunity__r.Hospital__r.FSE_ENG_Main_Leader__r.Id != null
|
&& sta.Opportunity__r.Hospital__r.FSE_ENG_Main_Leader__r.Id != sta.Opportunity__r.ownerId &&
|
sta.Opportunity__r.Hospital__r.FSE_ENG_Main_Leader__r.IsActive) {
|
osList.add(new OpportunityShare(
|
UserOrGroupId = sta.Opportunity__r.Hospital__r.FSE_ENG_Main_Leader__r.Id,
|
OpportunityId = sta.Opportunity__c, OpportunityAccessLevel = 'Edit'
|
));
|
}
|
for (ID FSEENGID : FSE_ENGVicelist) {
|
if (FSEENGID != sta.Opportunity__r.ownerId
|
&& FSE_ENGViceIDtoNameMap.get(FSEENGID) != null
|
&& sta.Opportunity__r.Hospital__r.FSE_ENG_Vice_Leader__c != null
|
&& sAIDtoVICENameMap.get(sta.id) != null
|
&& sAIDtoVICENameMap.get(sta.id).get('FSE_ENG') != null
|
&& sAIDtoVICENameMap.get(sta.id).get('FSE_ENG').contains(FSE_ENGViceIDtoNameMap.get(FSEENGID))
|
|
) {
|
osList.add(new OpportunityShare(
|
UserOrGroupId = FSEENGID,
|
OpportunityId = sta.Opportunity__c, OpportunityAccessLevel = 'Edit'
|
));
|
|
}
|
}
|
}
|
}
|
if (osList.size() > 0) {
|
upsert osList;
|
}
|
//HWAG-B4PCZ5 end 2018-09-19 更新对应询价的共享规则
|
|
for (Statu_Achievements__c sta : Trigger.new) {
|
//Statu_Achievements__c oldTemp = Trigger.oldMap.get(sta.Id);
|
//if (oldTemp.UnshippedAmount__c == sta.UnshippedAmount__c) {
|
// continue;
|
//}
|
Statu_Achievements_Journal__c staj = new Statu_Achievements_Journal__c();
|
staj.IF_LastModifiedDateTime__c = pNow;
|
staj.Statu_Achievements__c = sta.id;
|
staj.CurrencyIsoCode = sta.CurrencyIsoCode;
|
if (sta.UnshippedAmount__c == null) {
|
staj.ShippedAmount__c = sta.ContractAmount__c;
|
} else {
|
staj.ShippedAmount__c = sta.ContractAmount__c - sta.UnshippedAmount__c;
|
}
|
//CHAN-BAN9DG 2019/03/27 start 注释为原有逻辑 退货注残出纳表的发货日从注残最终审判日改为发货日
|
//if (sta.ReturnFlag__c) {
|
// staj.ShippedAmount__c = -staj.ShippedAmount__c;
|
// staj.DeliveryDate__c = sta.LastApproveDate__c;
|
//} else {
|
// staj.DeliveryDate__c = sta.DeliveryDate__c;
|
//}
|
if (sta.ReturnFlag__c) {
|
staj.ShippedAmount__c = -staj.ShippedAmount__c;
|
|
}
|
staj.DeliveryDate__c = sta.DeliveryDate__c;
|
|
// CHAN-BAN9DG 2019/03/27 end 注释为原有逻辑
|
|
// CHAN-BCPCA3 判断是否ZM订单 如果是则生成虚拟DN start
|
//只有ZM17、ZM18订单生成虚拟DN thh 2021-12-02 start
|
if ('ZM17'.equals(sta.orderType__c) || 'ZM18'.equals(sta.orderType__c)) {
|
Statu_Achievements_DN__c staDN = new Statu_Achievements_DN__c();
|
staDN.orderType__c = sta.orderType__c;
|
staDN.DeliveryDate__c = sta.LastApproveDate__c;
|
if (sta.orderType__c.equals('ZM17')) {
|
staDN.ShippedAmount_ZM__c = sta.UnshippedAmount__c - sta.ContractAmount__c ;
|
} else {
|
staDN.ShippedAmount_ZM__c = sta.ContractAmount__c - sta.UnshippedAmount__c ;
|
}
|
staDN.Statu_Achievements__c = sta.id;
|
if (staDN.DeliveryDate__c == null) continue;
|
staDN.DNKey__c = sta.Name + ':' +
|
datetime.newInstance(
|
staDN.DeliveryDate__c.year(),
|
staDN.DeliveryDate__c.month(),
|
staDN.DeliveryDate__c.day()
|
).format('yyyyMMdd');
|
|
staIds.add(sta.Id);
|
staDNUpsertMap.put(staDN.DNKey__c, staDN);
|
staDNALAmountMap.put(sta.Id, 0);
|
continue;
|
}
|
//只有ZM17、ZM18订单生成虚拟DN thh 2021-12-02 end
|
// CHAN-BCPCA3 判断是否ZM订单 如果是则生成虚拟DN end
|
if (staj.DeliveryDate__c == null) continue;
|
if (staj.DeliveryDate__c != null) {
|
staj.SoNo_DeliveryDate_Text__c = sta.Name + ':' +
|
datetime.newInstance(
|
staj.DeliveryDate__c.year(),
|
staj.DeliveryDate__c.month(),
|
staj.DeliveryDate__c.day()
|
).format('yyyyMMdd');
|
}
|
staIds.add(sta.Id);
|
stajUpsertMap.put(staj.SoNo_DeliveryDate_Text__c, staj);
|
staAmountMap.put(sta.Id, 0);
|
}
|
|
// CHAN-BCPCA3 检索该注残下现有的虚拟DN 并计算 虚拟DN值 start
|
/*
|
*
|
*/
|
List<Statu_Achievements_DN__c> staDNList =
|
[Select Id, Statu_Achievements__c, DeliveryDate__c, ShippedAmount_ZM__c, DNKey__c,orderType__c
|
from Statu_Achievements_DN__c
|
where Statu_Achievements__r.Id in : staIds];
|
|
if (staDNList != null && staDNList.size() > 0) {
|
for (Statu_Achievements_DN__c staDN : staDNList) {
|
if (staDN.orderType__c == null)
|
continue;
|
staDNALAmountMap.put(staDN.Statu_Achievements__c, staDN.ShippedAmount_ZM__c
|
+ staDNALAmountMap.get(staDN.Statu_Achievements__c));
|
if (staDNUpsertMap.containsKey(staDN.DNKey__c)) {
|
Statu_Achievements_DN__c tempStaDN = staDNUpsertMap.get(staDN.DNKey__c);
|
tempStaDN.ShippedAmount_ZM__c += staDN.ShippedAmount_ZM__c;
|
}
|
}
|
}
|
for (String staDNKey : staDNUpsertMap.keySet()) {
|
Statu_Achievements_DN__c tempStaDN = staDNUpsertMap.get(staDNKey);
|
tempStaDN.ShippedAmount_ZM__c = tempStaDN.ShippedAmount_ZM__c
|
- staDNALAmountMap.get(tempStaDN.Statu_Achievements__c);
|
}
|
// CHAN-BCPCA3 检索该注残下现有的虚拟DN 并计算 虚拟DN值 end
|
List<Statu_Achievements_Journal__c> stajList = [Select Id, Statu_Achievements__c, DeliveryDate__c, ShippedAmount__c, SoNo_DeliveryDate_Text__c
|
from Statu_Achievements_Journal__c where Statu_Achievements__r.Id in : staIds];
|
if (stajList != null && stajList.size() > 0) {
|
for (Statu_Achievements_Journal__c sajc : stajList) {
|
staAmountMap.put(sajc.Statu_Achievements__c, sajc.ShippedAmount__c
|
+ staAmountMap.get(sajc.Statu_Achievements__c));
|
if (stajUpsertMap.containsKey(sajc.SoNo_DeliveryDate_Text__c)) {
|
Statu_Achievements_Journal__c tempStaj = stajUpsertMap.get(sajc.SoNo_DeliveryDate_Text__c);
|
tempStaj.ShippedAmount__c += sajc.ShippedAmount__c;
|
}
|
}
|
}
|
for (String stajKey : stajUpsertMap.keySet()) {
|
Statu_Achievements_Journal__c tempStaj = stajUpsertMap.get(stajKey);
|
tempStaj.ShippedAmount__c = tempStaj.ShippedAmount__c - staAmountMap.get(tempStaj.Statu_Achievements__c);
|
}
|
}
|
|
// SoNo_DeliveryDate_Text__c にて upsert
|
if (stajUpsertMap.size() > 0) {
|
ControllerUtil.upsertStatuAchievementsJournalByKey(stajUpsertMap.values());
|
}
|
|
// CHAN-BCPCA3 插入并更新虚拟DN数据 start
|
if (staDNUpsertMap.size() > 0) {
|
ControllerUtil.upsertStatuAchievementsDNByKey(staDNUpsertMap.values());
|
}
|
|
// CHAN-BCPCA3 插入并更新虚拟DN数据 end
|
// 削除
|
//ControllerUtil.deleteStatuAchievementsJournalByKey(stajOldKeyDelKeyList);
|
//--------------------CHAN-AZM8SE--END--------------------------------------------------------------------
|
}
|