import { LightningElement, track, wire,api } from 'lwc';
|
import { CurrentPageReference } from "lightning/navigation";
|
import { CloseActionScreenEvent } from 'lightning/actions';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import RT_ConOrderDetail2_Delivery from '@salesforce/label/c.RT_ConOrderDetail2_Delivery';
|
|
import RT_ConOrder_Delivery from '@salesforce/label/c.RT_ConOrder_Delivery';
|
import init from '@salesforce/apex/LexConsumableOrder.initConsumableOrder';
|
import updateConsumableOrder from '@salesforce/apex/LexConsumableOrder.updateConsumableOrder';
|
import selectDeteails from '@salesforce/apex/LexConsumableOrder.selectDeteails';
|
import create from '@salesforce/apex/LexConsumableOrder.create';
|
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
|
import {loadStyle} from 'lightning/platformResourceLoader';
|
export default class lexSAPSendTest extends LightningElement {
|
@api recordId;
|
IsLoading=true;
|
ConsumableOrder;
|
ConsumableOrderdetails;
|
|
|
@wire(CurrentPageReference)
|
getStateParameters(currentPageReference) {
|
if (currentPageReference) {
|
const urlValue = currentPageReference.state.recordId;
|
if (urlValue) {
|
let str = `${urlValue}`;
|
this.recordId = str;
|
console.log(this.recordId);
|
}
|
}
|
}
|
|
connectedCallback(){
|
Promise.all([
|
loadStyle(this, lwcCSS)
|
]);
|
init({
|
recordId: this.recordId
|
}).then(result => {
|
if (result != null) {
|
this.ConsumableOrder = result;
|
console.log('ConsumableOrder');
|
console.log(this.ConsumableOrder);
|
this.SAPSendTest().then(result=>{
|
this.IsLoading=false;
|
this.dispatchEvent(new CloseActionScreenEvent());
|
});
|
}
|
}).catch(error => {
|
const eventInItError = new ShowToastEvent({
|
message:
|
error.message,
|
variant : 'error',
|
mode :'sticky'
|
});
|
this.dispatchEvent(eventInItError);
|
});
|
|
}
|
|
async SAPSendTest(){
|
if (this.ConsumableOrder.Order_status__c === '已提交') {
|
this.showToast('请先审批订单','error');
|
return;
|
}else if (this.ConsumableOrder.Order_status__c === '草案中') {
|
this.showToast('请先批准订单','error');
|
return;
|
};
|
var Owner = this.ConsumableOrder.OwnerId;
|
console.log('RT_ConOrder_Delivery'+RT_ConOrder_Delivery);
|
var resultdet = await updateConsumableOrder({Id: this.ConsumableOrder.Id,recordTypeid: RT_ConOrder_Delivery});
|
if(resultdet !='success'){
|
this.showToast(resultdet,error);
|
}
|
|
this.ConsumableOrderdetails = await selectDeteails({recordId:this.recordId});
|
if(this.ConsumableOrderdetails.length>0) {
|
for (var i = 0; i < this.ConsumableOrderdetails.length; i++) {
|
var esd = this.ConsumableOrderdetails[i];
|
var countNum = esd.Consumable_count__c;
|
var OrderNnme = esd.Name;
|
var OrderId = esd.Consumable_order__c;
|
var ForeignTrade = esd.Intra_Trade_List_RMB__c;
|
var AssetModel = esd.Asset_Model_No__c;
|
var orderPro = esd.Consumable_product__c;
|
for (var j = 1; j <=countNum; j++) {
|
let rac = {
|
sobjectType: 'Consumable_order_details2__c',
|
Name: '',
|
Consumable_order_minor__c: OrderId,
|
RecordTypeId: RT_ConOrderDetail2_Delivery, // 替换为正确的 Record Type Id
|
Asset_Model_No__c: AssetModel,
|
Intra_Trade_List_RMB__c: ForeignTrade,
|
Deliver_date__c: new Date(),
|
Sterilization_limit__c: '',
|
Guarantee_period_for_products__c: '',
|
Consumable_product__c: orderPro,
|
TracingCode__c: '',
|
SerialLotNo__c: '',
|
Bar_Code__c: '',
|
OwnerId: '' // 替换为正确的 Owner Id
|
};
|
if(j.toString().length == 1){
|
rac.Name = OrderNnme + '00'+ j;
|
}else if (j.toString().length == 2){
|
rac.Name = OrderNnme + '0'+ j;
|
}else{rac.Name = OrderNnme + j;}
|
var NewDate=new Date();
|
NewDate.setFullYear(NewDate.getFullYear()+5);
|
NewDate.setDate(NewDate.getDate()-1);
|
rac.Deliver_date__c = new Date();
|
rac.Sterilization_limit__c = NewDate;
|
rac.Guarantee_period_for_products__c = new Date();
|
rac.Consumable_product__c=orderPro;
|
var rtingC = this.tringcodestr();
|
rac.TracingCode__c = rtingC.toString();
|
rac.SerialLotNo__c = rtingC.toString();
|
rac.Bar_Code__c = (new Date()).valueOf() + "250" + rtingC.toString();
|
rac.OwnerId = Owner;
|
var result = await create({rac: rac});
|
if(result !='success'){
|
this.showToast(result,result);
|
return;
|
}
|
}
|
}
|
this.showToast('测试成功','success');
|
setInterval(() => {
|
window.location.reload();
|
}, 3000);
|
}
|
}
|
|
showToast(msg, type) {
|
if(type == 'success'){
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type
|
});
|
this.dispatchEvent(event);
|
}else{
|
const event = new ShowToastEvent({
|
message: msg,
|
variant: type,
|
mode:'Sticky'
|
});
|
this.dispatchEvent(event);
|
}
|
this.dispatchEvent(new CloseActionScreenEvent());
|
}
|
tringcodestr(){
|
let result = '';
|
for (let i = 0; i < 5; i++) {
|
let ranNum = Math.ceil(Math.random() * 25); // 生成一个0到25的数字
|
result = result + String.fromCharCode(65 + ranNum); // 大写字母'A'的ASCII是65,A~Z的ASCII码就是65 + 0~25
|
}
|
// result = '250' + result;
|
return result;
|
}
|
|
|
}
|